package com.ld.igds.phone.service.impl; import com.alibaba.fastjson.JSONObject; import com.ld.igds.constant.RespCodeEnum; import com.ld.igds.grain.service.CoreGrainService; 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.phone.constant.PhoneConstant; import com.ld.igds.phone.dto.*; import com.ld.igds.phone.param.ParamDepot; import com.ld.igds.phone.param.PhoneRequest; import com.ld.igds.phone.service.PhoneService; import com.ld.igds.phone.util.PhoneRespUtil; import com.ld.igds.phone.util.PhoneUtil; import com.ld.igds.util.DateUtil; 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 ServiceImpl5310 implements PhoneService { @Autowired private PhoneUtil phoneUtil; @Autowired private CoreGrainService coreGrainService; @Override public String getInterfaceId() { return PhoneConstant.API_PHONE_5310; } @SuppressWarnings("unchecked") @Override public PhoneResponse execute(PhoneRequest req, AuthUser authUser) throws Exception { ParamDepot param = JSONObject.parseObject(req.getData().toString(), ParamDepot.class); GrainParam grainParam = new GrainParam(); grainParam.setDepotId(param.getDepotId()); grainParam.setCompanyId(authUser.getCompanyId()); //设置查询时间,月的第一天到最后一天 grainParam.setStart(DateUtil.getMonthFirst(param.getDateTime())); grainParam.setEnd(DateUtil.getNextMonthFirst(param.getDateTime())); //查询粮情数据 List list = coreGrainService.listGrainData(grainParam); if (null == list || list.isEmpty()) { return PhoneRespUtil.error(RespCodeEnum.CODE_1005, req, "该仓库暂无粮情数据!"); } //返回数据封装 List dtoList = new ArrayList<>(); Dto5302 dto; List listPoints; List listDetail; DtoPoint5302 dtoPoint5302; DtoDetail5302 dtoDetail5302; for (GrainData grainData : list) { dto = new Dto5302(); dto.setDepotId(grainData.getDepotId()); dto.setDepotName(phoneUtil.getDepotName(authUser.getCompanyId(),dto.getDepotId())); dto.setDepotType(param.getType()); 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(",","-")); listPoints = new ArrayList<>(); for (GrainPoint point : grainData.getListPoints()) { if("02".equals(param.getType()) || "04".equals(param.getType())){ //筒仓时 point.setFz(point.getFz()+1); point.setZ(point.getZ()+1); } 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); listDetail = new ArrayList<>(); 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); dtoList.add(dto); } return PhoneRespUtil.success(dtoList, req); } }