package com.ld.igds.phone35.service.impl; import com.alibaba.fastjson.JSONObject; import com.ld.igds.common.CoreCommonService; import com.ld.igds.constant.RespCodeEnum; import com.ld.igds.grain.dto.GrainData; import com.ld.igds.grain.dto.GrainLay; import com.ld.igds.grain.dto.GrainParam; import com.ld.igds.grain.dto.GrainPoint; import com.ld.igds.grain.service.CoreGrainService; import com.ld.igds.models.Depot; import com.ld.igds.phone35.constant.Phone35Constant; import com.ld.igds.phone35.dto.*; import com.ld.igds.phone35.param.Phone35DepotCommonParam; import com.ld.igds.phone35.param.Phone35Request; import com.ld.igds.phone35.service.Phone35Service; import com.ld.igds.phone35.util.Phone35Util; import com.ld.igds.phone35.util.PhoneRespUtil; import org.apache.commons.lang3.StringUtils; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; import java.util.ArrayList; import java.util.List; /** * 粮情展示 * * @author chen */ @Service public class Phone35ServiceImpl5301 implements Phone35Service { @Autowired private Phone35Util phone35Util; @Autowired private CoreGrainService coreGrainService; @Autowired private CoreCommonService coreCommonService; @Override public String getInterfaceId() { return Phone35Constant.API_PHONE_5301; } @SuppressWarnings("unchecked") @Override public PhoneResponse execute(Phone35Request req, Phone35AuthUser phone35AuthUser) throws Exception { Phone35DepotCommonParam param = JSONObject.parseObject(req.getData().toString(), Phone35DepotCommonParam.class); if (null == param) { return PhoneRespUtil.error(RespCodeEnum.CODE_1111, "参数有误,请重试!!"); } //参数验证 if (StringUtils.isEmpty(param.getDeptId()) || StringUtils.isEmpty(param.getDepotId())) { return PhoneRespUtil.error(RespCodeEnum.CODE_1111, "参数有误,请重试!!"); } GrainParam grainParam = new GrainParam(); grainParam.setDeptId(param.getDeptId()); grainParam.setDepotId(param.getDepotId()); grainParam.setCompanyId(phone35AuthUser.getCompanyId()); grainParam.setLimit(1);//设置默认只获取一条数据 //查询粮情数据 List list = coreGrainService.listGrainData(grainParam); Depot depot = coreCommonService.getCacheDepot(phone35AuthUser.getCompanyId(), param.getDepotId()); if (null == list || list.isEmpty()) { return PhoneRespUtil.error(RespCodeEnum.CODE_2000, req, "该仓库暂无粮情数据!"); } //取最近时间的粮情数据 GrainData grainData = list.get(0); //转换响应数据 Dto5302 dto = new Dto5302(); dto.setDepotId(grainData.getDepotId()); dto.setDepotName(phone35Util.getDepotName(phone35AuthUser.getCompanyId(), dto.getDepotId())); dto.setDepotType(depot.getDepotType()); dto.setReceiveDate(grainData.getReceiveDate()); dto.setTempIn(grainData.getTempIn()); dto.setHumidityIn(grainData.getHumidityIn()); dto.setTempOut(grainData.getTempOut()); dto.setHumidityOut(grainData.getHumidityOut()); dto.setTempMax(grainData.getTempMax()); dto.setTempMin(grainData.getTempMin()); dto.setTempAve(grainData.getTempAve()); dto.setCable(grainData.getCable().replaceAll(",","-")); if(StringUtils.isNotEmpty(grainData.getCableCir())){ dto.setCableCir(grainData.getCableCir().replaceAll(",", "-")); } List listPoints = new ArrayList<>(); DtoPoint5302 dtoPoint5302; for (GrainPoint point : grainData.getListPoints()) { dtoPoint5302 = new DtoPoint5302(); dtoPoint5302.setX(point.getX()); dtoPoint5302.setY(point.getY()); dtoPoint5302.setZ(point.getZ()); dtoPoint5302.setFz(point.getFz()); dtoPoint5302.setTemp(point.getTemp()); listPoints.add(dtoPoint5302); } dto.setPoints(listPoints); List listDetail = new ArrayList<>(); DtoDetail5302 dtoDetail5302; for (GrainLay lay : grainData.getListLays()) { dtoDetail5302 = new DtoDetail5302(); dtoDetail5302.setFz(lay.getFz()); dtoDetail5302.setFzName(lay.getFz() + "层"); dtoDetail5302.setTempMax(lay.getTempMax()); dtoDetail5302.setTempMin(lay.getTempMin()); dtoDetail5302.setTempAve(lay.getTempAve()); listDetail.add(dtoDetail5302); } dto.setDetails(listDetail); return PhoneRespUtil.success(dto, req); } }