From 687ae012ead941261d405002ccd8ff272461a482 Mon Sep 17 00:00:00 2001
From: jiangping <jp@doumee.com>
Date: 星期五, 20 十二月 2024 19:49:33 +0800
Subject: [PATCH] Merge remote-tracking branch 'origin/master'
---
server/visits/dmvisit_service/src/main/java/com/doumee/service/business/impl/thrid/BoardServiceImpl.java | 266 +++++++++++++++++++++++++++++++++++++++++++----------
1 files changed, 216 insertions(+), 50 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 4fdc968..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,28 +2098,133 @@
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(){
+ public TotalOutQtyNumVO totalOutQtyNum(int type,String code){
TotalOutQtyNumVO data = new TotalOutQtyNumVO();
- data.setCurrentInYearNum(new BigDecimal(0));
- data.setCurrentInWeekNum(new BigDecimal(0));
- data.setCurrentInMonthNum(new BigDecimal(0));
- data.setLastInYearNum(new BigDecimal(0));
- data.setLastInMonthNum(new BigDecimal(0));
- data.setLastInWeekNum(new BigDecimal(0));
- data.setSameInMonthNum(new BigDecimal(0));
+ data.setCurrentInNum(new BigDecimal(0));
+ data.setLastInNum(new BigDecimal(0));
+ data.setSameInNum(new BigDecimal(0));
//---------鐪佸----------------
- data.setCurrentOutYearNum(new BigDecimal(0));
- data.setCurrentOutWeekNum(new BigDecimal(0));
- data.setCurrentOutMonthNum(new BigDecimal(0));
- data.setLastOutYearNum(new BigDecimal(0));
- data.setLastOutMonthNum(new BigDecimal(0));
- data.setLastOutWeekNum(new BigDecimal(0));
- data.setSameOutMonthNum(new BigDecimal(0));
+ data.setCurrentOutNum(new BigDecimal(0));
+ 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;
}
/**
@@ -2115,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;
}
@@ -2173,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