From 9a68feaae561aee105a14430f86dc231c7c6c04b Mon Sep 17 00:00:00 2001 From: jiangping <jp@doumee.com> Date: 星期五, 20 十二月 2024 19:47:31 +0800 Subject: [PATCH] 最新版本541200007 --- server/visits/dmvisit_service/src/main/java/com/doumee/service/business/impl/thrid/BoardServiceImpl.java | 246 ++++++++++++++++++++++++++++++++++++++++++------- 1 files changed, 210 insertions(+), 36 deletions(-) diff --git a/server/visits/dmvisit_service/src/main/java/com/doumee/service/business/impl/thrid/BoardServiceImpl.java b/server/visits/dmvisit_service/src/main/java/com/doumee/service/business/impl/thrid/BoardServiceImpl.java index ac195f5..28bf9dd 100644 --- a/server/visits/dmvisit_service/src/main/java/com/doumee/service/business/impl/thrid/BoardServiceImpl.java +++ b/server/visits/dmvisit_service/src/main/java/com/doumee/service/business/impl/thrid/BoardServiceImpl.java @@ -1,5 +1,7 @@ package com.doumee.service.business.impl.thrid; +import com.alibaba.fastjson.JSONObject; +import com.alibaba.fastjson.TypeReference; import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; import com.doumee.biz.system.SystemDictDataBiz; import com.doumee.core.constants.ResponseStatus; @@ -14,12 +16,11 @@ import com.doumee.core.haikang.model.param.respose.*; import com.doumee.core.haikang.service.HKCarOpenService; import com.doumee.core.haikang.service.HKService; +import com.doumee.core.tms.model.TMSContants; import com.doumee.core.tms.model.request.TmsFacrotyCodeListRequest; import com.doumee.core.tms.model.request.TmsOutQtyAndVehicleQtyRequest; -import com.doumee.core.tms.model.response.TmsDistributionOfDeliveryLocResponse; -import com.doumee.core.tms.model.response.TmsInventoryListResponse; -import com.doumee.core.tms.model.response.TmsOutQtyAndVehicleQtyResponse; -import com.doumee.core.tms.model.response.TmsTotalAndReportVehicleQtyResponse; +import com.doumee.core.tms.model.request.TmsSevenArrivalDetailsRequest; +import com.doumee.core.tms.model.response.*; import com.doumee.core.utils.Constants; import com.doumee.core.utils.DateUtil; import com.doumee.core.utils.Utils; @@ -42,6 +43,7 @@ import org.apache.commons.lang3.StringUtils; import org.springframework.beans.BeanUtils; import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.beans.factory.annotation.Value; import org.springframework.stereotype.Service; import java.math.BigDecimal; @@ -88,6 +90,9 @@ private PlatformGroupMapper platformGroupMapper; @Autowired private TmsService tmsService; + + @Value("${debug_model}") + private Boolean isDebug; /** * 鑾峰彇鍖哄煙鏍戝舰缁撴瀯鏁版嵁 * @return @@ -1042,7 +1047,7 @@ .isNotNull(PlatformLog::getParam3) .ne(PlatformLog::getParam3,Constants.ZERO+"")); if(platformLogList!=null && platformLogList.size()>0){ - return new BigDecimal((double)(platformLogList.stream().map(m->Long.valueOf(m.getParam3())).reduce(Long.valueOf(0),Long::sum))/(double)60); + return new BigDecimal((double)(platformLogList.stream().map(m->Long.valueOf(m.getParam3())).reduce(Long.valueOf(0),Long::sum))/(double)3600); } } return r; @@ -1861,6 +1866,9 @@ curtotalNum += Constants.formatIntegerNum(workEfficiencyVO.getWorkNum()) ; } workEfficiencyVO.setTotalWorkNum(curtotalNum);//绱鍊� + if(System.currentTimeMillis() < curTime){ + workEfficiencyVO.setTotalWorkNum(0); + } workEfficiencyVOList.add(workEfficiencyVO); } return workEfficiencyVOList; @@ -2042,7 +2050,7 @@ } } /** - * 鍑哄簱鑳藉姏鏉庢案鍒� + * 鍑哄簱鑳藉姏 * @return */ @Override @@ -2058,13 +2066,17 @@ if(paramList!=null){ String startDate = DateUtil.formatDate(new Date(),"yyyy-MM-dd"); String endDate = DateUtil.formatDate(new Date(),"yyyy-MM-dd"); + if(isDebug){ + startDate = "2024-12-01"; + endDate = "2024-12-05"; + } for(TmsFactoryParam p : paramList){ WholeProvinceZxtDetailVO t = new WholeProvinceZxtDetailVO(); t.setFactoryName(p.getName()); t.setCurrentNum(new BigDecimal(0)); t.setUseRate(new BigDecimal(0)); - t.setTotalNum(Constants.formatBigdecimal(p.getNum2()));//鎬诲嚭搴撹兘鍔� - if(StringUtils.isBlank(p.getCode())){ + t.setTotalNum(Constants.formatBigdecimal(p.getParam3()));//8灏忔椂鍑哄簱鑳藉姏 + if(StringUtils.isNotBlank(p.getCode())){ param.setFacrotyCodeList(new ArrayList<>()); param.setDateStart(startDate); param.setDateEnd(endDate); @@ -2086,11 +2098,62 @@ return result; } /** + * 鍏ㄨ韩鍑哄簱鑳藉姏 + * @return + */ + @Override + public WholeProvinceBoardVO centerProvinceData(String factoryCode){ + WholeProvinceBoardVO data = new WholeProvinceBoardVO(); + data.setMaxAbility(new BigDecimal(0)); + data.setHoursAbility(new BigDecimal(0)); + List<TmsFactoryParam> paramList = factoryList(); + String code = null; + if(paramList!=null){ + //澶勭悊鏈�澶у嚭搴撹兘鍔涘拰8灏忔椂鍑哄簱鑳藉姏 + for(TmsFactoryParam param : paramList){ + if(StringUtils.isNotBlank(factoryCode)){ + if(StringUtils.equals(param.getCode(),factoryCode)){ + data.setHoursAbility(data.getHoursAbility().add(Constants.formatBigdecimal(param.getParam3()))); + data.setMaxAbility(data.getMaxAbility().add(Constants.formatBigdecimal(param.getNum2()))); + code = param.getCode(); + break; + } + }else{ + data.setHoursAbility(data.getHoursAbility().add(Constants.formatBigdecimal(param.getParam3()))); + data.setMaxAbility(data.getMaxAbility().add(Constants.formatBigdecimal(param.getNum2()))); + } + } + } + if(isDebug){ + data.setCurrentPlanNum(new BigDecimal(1220)); + data.setCurrentOrderNum(new BigDecimal(32340)); + data.setCrrentOutNum(new BigDecimal(3450)); + data.setCrrentRestNum(new BigDecimal(456450)); + } + Date date = new Date(); + TmsOutQtyAndVehicleQtyRequest param = new TmsOutQtyAndVehicleQtyRequest(); + param.setDateEnd(DateUtil.getShortTime(date)); + param.setDateStart(DateUtil.getShortTime(date)); + if(StringUtils.isNotBlank(code)){ + param.setFacrotyCodeList(new ArrayList<>()); + param.getFacrotyCodeList().add(code);//鏌ヨ鎸囧畾鍘傚尯 + } + List<TmsOutQtyAndVehicleQtyResponse> listSame= tmsService.getOutQtyAndVehicleQty(param);//鍘诲勾鍚屾湡 + if(listSame!=null ){ + for(TmsOutQtyAndVehicleQtyResponse model : listSame){ + data.setCrrentOutNum(data.getCrrentOutNum().add(Constants.formatBigdecimal(model.getTotalOutQty())));//浠婃棩鍑哄簱閲� + data.setCrrentOutCarNum(data.getCrrentOutCarNum()+(Constants.formatIntegerNum(model.getVehicleQty())));//浠婃棩鍑哄簱杞︽ + } + } + return data; + + } + /** * 鍑哄簱鑳藉姏鏉庢案鍒� * @return */ @Override - public TotalOutQtyNumVO totalOutQtyNum(int queryType){ + public TotalOutQtyNumVO totalOutQtyNum(int type,String code){ TotalOutQtyNumVO data = new TotalOutQtyNumVO(); data.setCurrentInNum(new BigDecimal(0)); data.setLastInNum(new BigDecimal(0)); @@ -2100,6 +2163,68 @@ data.setLastOutNum(new BigDecimal(0)); data.setSameOutNum(new BigDecimal(0)); + Date sameStart = DateUtil.getBeginDayOfMonth(-1); + Date sameEnd = DateUtil.getEndDayOfMonth(-1); + Date curStart = DateUtil.getBeginDayOfMonth(0); + Date curEnd = DateUtil.getEndDayOfMonth(0); + Date lastStart = DateUtil.getBeginDayOfLastMonth(); + Date lastEnd = DateUtil.getEndDayOfLastMonth(); + if(type ==1){ + //鏈懆 + sameStart= DateUtil.getBeginDayOfWeek(-1); + sameEnd= DateUtil.getEndDayOfWeek(-1); + curStart= DateUtil.getBeginDayOfWeek(0); + curEnd= DateUtil.getEndDayOfWeek(0); + lastStart = DateUtil.getBeginDayOfLastWeek(); + lastEnd= DateUtil.getEndDayOfLastWeek(); + }else if(type == 2){ + curStart= DateUtil.getBeginDayOfYear(0); + curEnd= DateUtil.getEndDayOfYear(0); + lastStart= DateUtil.getBeginDayOfYear(-1); + lastEnd= DateUtil.getEndDayOfYear(-1); + sameStart = null; + sameEnd =null; + } + TmsOutQtyAndVehicleQtyRequest param = new TmsOutQtyAndVehicleQtyRequest(); + if(StringUtils.isNotBlank(code)){ + param.setFacrotyCodeList(new ArrayList<>()); + param.getFacrotyCodeList().add(code); + } + if(type !=2){ + //鏈勾鐨勪笉闇�瑕佹煡鍘诲勾鍚屽懆鏈� + param.setDateEnd(DateUtil.getShortTime(sameEnd)); + param.setDateStart(DateUtil.getShortTime(sameStart)); + List<TmsOutQtyAndVehicleQtyResponse> listSame= tmsService.getOutQtyAndVehicleQty(param);//鍘诲勾鍚屾湡 + if(listSame!=null ){ + for(TmsOutQtyAndVehicleQtyResponse model : listSame){ + data.setSameOutNum(data.getSameOutNum().add(Constants.formatBigdecimal(model.getOutSideProvinceOutQty()))); + data.setSameInNum(data.getSameInNum().add(Constants.formatBigdecimal(model.getInSideProvinceOutQty()))); + } + } + } + param.setDateEnd(DateUtil.getShortTime(curEnd)); + param.setDateStart(DateUtil.getShortTime(curStart)); + List<TmsOutQtyAndVehicleQtyResponse> listCur = tmsService.getOutQtyAndVehicleQty(param);//鏈懆鏈� + if(listCur!=null ){ + for(TmsOutQtyAndVehicleQtyResponse model : listCur){ + data.setCurrentOutNum(data.getCurrentOutNum().add(Constants.formatBigdecimal(model.getOutSideProvinceOutQty()))); + data.setCurrentInNum(data.getCurrentInNum().add(Constants.formatBigdecimal(model.getInSideProvinceOutQty()))); + data.setTotalCarNum(data.getTotalCarNum()+Constants.formatIntegerNum(model.getVehicleQty()));//绱杞︽ + } + } + param.setDateEnd(DateUtil.getShortTime(lastEnd)); + param.setDateStart(DateUtil.getShortTime(lastStart)); + List<TmsOutQtyAndVehicleQtyResponse> listLast = tmsService.getOutQtyAndVehicleQty(param);//涓婂懆鏈� + if(listCur!=null ){ + for(TmsOutQtyAndVehicleQtyResponse model : listLast){ + data.setLastOutNum(data.getLastOutNum().add(Constants.formatBigdecimal(model.getOutSideProvinceOutQty()))); + data.setLastInNum(data.getLastInNum().add(Constants.formatBigdecimal(model.getInSideProvinceOutQty()))); + } + } + if(type == 2){//鏈勾鐨� + data.setSameOutNum(data.getLastOutNum()); + data.setSameInNum(data.getLastInNum()); + } return data; } /** @@ -2107,36 +2232,26 @@ * @return */ @Override - public List<WholeProvinceMapVO> mapYearAndMonthOutList(){ + public List<WholeProvinceMapVO> mapYearAndMonthOutList(String code){ List<WholeProvinceMapVO> result = new ArrayList<>(); - List<TmsFactoryParam> paramList =factoryList(); - if(paramList!=null && paramList.size()>0){ - List<String> codes = new ArrayList<>(); - for(TmsFactoryParam p : paramList){ - if(StringUtils.isBlank(p.getCode())){ - continue; - } - codes.add(p.getCode()); - } - if(codes.size()>0){ - TmsFacrotyCodeListRequest param = new TmsFacrotyCodeListRequest(); - param.setFacrotyCodeList(codes); - List<TmsDistributionOfDeliveryLocResponse> response = tmsService.getDistributionOfDeliveryLocations(param);//鏌ヨ鍑哄簱閲� - if(response!=null &&response.size()>0){ - for(TmsDistributionOfDeliveryLocResponse model : response){ - WholeProvinceMapVO tt = getFromProvinceResultList(model ,result); - if(tt == null){ - tt =new WholeProvinceMapVO(); - tt.setMonthNum( Constants.formatBigdecimal0Float(model.getMonthOutboundQuantity())); - tt.setYearNum( Constants.formatBigdecimal0Float(model.getYearOutboundQuantity())); - tt.setProvinceCode(model.getFromProvinceCode()); - tt.setProvinceName(model.getFromProvinceName()); - result.add(tt); - } - } + TmsFacrotyCodeListRequest param = new TmsFacrotyCodeListRequest(); + if(StringUtils.isNotBlank(code)){ + param.setFacrotyCodeList(new ArrayList<>()); + param.getFacrotyCodeList().add(code); + } + List<TmsDistributionOfDeliveryLocResponse> response = tmsService.getDistributionOfDeliveryLocations(param);//鏌ヨ鍑哄簱閲� + if(response!=null &&response.size()>0){ + for(TmsDistributionOfDeliveryLocResponse model : response){ + WholeProvinceMapVO tt = getFromProvinceResultList(model ,result); + if(tt == null){ + tt =new WholeProvinceMapVO(); + tt.setMonthNum( Constants.formatBigdecimal0Float(model.getMonthOutboundQuantity())); + tt.setYearNum( Constants.formatBigdecimal0Float(model.getYearOutboundQuantity())); + tt.setProvinceCode(model.getFromProvinceCode()); + tt.setProvinceName(model.getFromProvinceName()); + result.add(tt); } } - } return result; } @@ -2165,6 +2280,65 @@ return paramList; } /** + * 鑾峰彇鏈畬鎴愯鍗曢泦鍚� + * @return TmsBaseResponse + */ + @Override + public List<TmsOrderNoFinishListResponse> orderNoFinishList(String code){ + TmsFacrotyCodeListRequest param = new TmsFacrotyCodeListRequest(); + if(StringUtils.isNotBlank(code)){ + param.setFacrotyCodeList(new ArrayList<>()); + param.getFacrotyCodeList().add(code);//鏌ヨ鎸囧畾鍘傚尯 + } + List<TmsOrderNoFinishListResponse> infoList = tmsService.getNotFinishOrderList(param);//鏌ヨ鍑哄簱閲� + return infoList; + } + /** + * 杩戜竷鏃ュ埌璐ф儏鍐� + * @return + */ + @Override + public List<LastSevenDaysOrderVo> arriveGoodsList(String code){ + List<LastSevenDaysOrderVo> list = new ArrayList<>(); + TmsSevenArrivalDetailsRequest param = new TmsSevenArrivalDetailsRequest(); + if(StringUtils.isNotBlank(code)){ + param.setFacrotyCodeList(new ArrayList<>()); + param.getFacrotyCodeList().add(code);//鏌ヨ鎸囧畾鍘傚尯 + } + List<TmsSevenArrivalStatusAndDetailsResponse> infoList = tmsService.getSevenArrivalStatusAndDetails(param);//鏌ヨ鍑哄簱閲� + Date date = new Date(); + for (int i = 0; i < 7; i++) { + LastSevenDaysOrderVo model = new LastSevenDaysOrderVo(); + Date td = DateUtil.addDaysToDate(date,-i); + model.setDateStr(DateUtil.getShortTime(td)); + dealGoodsListFromResponse(model,infoList); + } + return list; + } + private void dealGoodsListFromResponse( LastSevenDaysOrderVo model, List<TmsSevenArrivalStatusAndDetailsResponse> list) { + model.setIngList(new ArrayList<>()); + model.setWaitList(new ArrayList<>()); + model.setDoneList(new ArrayList<>()); + if(list ==null || list.size()==0){ + return; + } + for(TmsSevenArrivalStatusAndDetailsResponse temp : list){ + if(StringUtils.equals(temp.getNcCreateDate(),model.getDateStr())){ + if(Constants.equalsInteger(temp.getStatus(),Constants.ZERO)){ + model.getWaitList().add(temp); + }else if(Constants.equalsInteger(temp.getStatus(),Constants.ONE)){ + model.getIngList().add(temp); + }else if(Constants.equalsInteger(temp.getStatus(),Constants.TWO)){ + model.getDoneList().add(temp); + } + } + } + model.setDoneNum(model.getDoneList().size()); + model.setIngNum(model.getIngList().size()); + model.setWaitNum(model.getWaitList().size()); + } + + /** * 鍑哄簱鑳藉姏鏉庢案鍒� * @return */ -- Gitblit v1.9.3