From d371c2c5747abc1a2439afdf0d3502f2c2f28d82 Mon Sep 17 00:00:00 2001
From: liukangdong <898885815@qq.com>
Date: 星期五, 20 十二月 2024 13:51:45 +0800
Subject: [PATCH] Merge branch 'master' of http://139.186.142.91:10010/r/productDev/dmvisit
---
server/visits/dmvisit_service/src/main/java/com/doumee/service/business/impl/thrid/BoardServiceImpl.java | 244 +++++++++++++++++++++++++++++++++++++++++++++++-
1 files changed, 238 insertions(+), 6 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 95aaf3c..ac195f5 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
@@ -14,9 +14,12 @@
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.model.ApiResponse;
-import com.doumee.core.model.PageData;
-import com.doumee.core.model.PageWrap;
+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.utils.Constants;
import com.doumee.core.utils.DateUtil;
import com.doumee.core.utils.Utils;
@@ -30,8 +33,8 @@
import com.doumee.dao.web.reqeust.CarsJobAndContractDTO;
import com.doumee.dao.web.response.platformReport.*;
import com.doumee.service.business.impl.PlatformJobServiceImpl;
-import com.doumee.service.business.impl.VisitsServiceImpl;
import com.doumee.service.business.third.BoardService;
+import com.doumee.service.business.third.TmsService;
import com.doumee.service.business.third.WmsService;
import com.github.xiaoymin.knife4j.core.util.CollectionUtils;
import com.github.yulichang.wrapper.MPJLambdaWrapper;
@@ -40,9 +43,7 @@
import org.springframework.beans.BeanUtils;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
-import org.springframework.web.bind.annotation.RequestBody;
-import javax.servlet.http.HttpServletResponse;
import java.math.BigDecimal;
import java.util.*;
import java.util.stream.Collectors;
@@ -66,6 +67,8 @@
@Autowired
private SystemDictDataBiz systemDictDataBiz;
@Autowired
+ private TmsFactoryParamMapper tmsFactoryParamMapper;
+ @Autowired
private PlatformWarnEventJoinMapper platformWarnEventJoinMapper;
@Autowired
private PlatformJobMapper platformJobMapper;
@@ -83,6 +86,8 @@
private RetentionMapper retentionMapper;
@Autowired
private PlatformGroupMapper platformGroupMapper;
+ @Autowired
+ private TmsService tmsService;
/**
* 鑾峰彇鍖哄煙鏍戝舰缁撴瀯鏁版嵁
* @return
@@ -2036,7 +2041,234 @@
return null;
}
}
+ /**
+ * 鍑哄簱鑳藉姏鏉庢案鍒�
+ * @return
+ */
+ @Override
+ public WholeProvinceZXTVO outAbilityUseRate(){
+ WholeProvinceZXTVO result = new WholeProvinceZXTVO();
+ result.setCurrentNum(new BigDecimal(0));
+ result.setTotalNum(new BigDecimal(0));
+ result.setUseRate(new BigDecimal(0));
+ result.setDetailList(new ArrayList<>());
+ List<TmsFactoryParam> paramList = factoryList();
+ List<WholeProvinceZxtDetailVO> list = new ArrayList<>();
+ TmsOutQtyAndVehicleQtyRequest param = new TmsOutQtyAndVehicleQtyRequest();
+ if(paramList!=null){
+ String startDate = DateUtil.formatDate(new Date(),"yyyy-MM-dd");
+ String endDate = DateUtil.formatDate(new Date(),"yyyy-MM-dd");
+ 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())){
+ param.setFacrotyCodeList(new ArrayList<>());
+ param.setDateStart(startDate);
+ param.setDateEnd(endDate);
+ param.getFacrotyCodeList().add(p.getCode());
+ List<TmsOutQtyAndVehicleQtyResponse> response = tmsService.getOutQtyAndVehicleQty(param);//鏌ヨ鍑哄簱閲�
+ t.setCurrentNum(getCurrentOutQryByList(response));
+ if(t.getTotalNum().compareTo(new BigDecimal(0)) !=0){
+ t.setUseRate(t.getCurrentNum().divide(t.getTotalNum(),4,BigDecimal.ROUND_HALF_UP));
+ }
+ }
+ result.getDetailList().add(t);
+ result.setCurrentNum(result.getCurrentNum().add(t.getCurrentNum()));
+ result.setTotalNum(result.getTotalNum().add(t.getTotalNum()));
+ }
+ }
+ if(result.getTotalNum().compareTo(new BigDecimal(0)) !=0){
+ result.setUseRate(result.getCurrentNum().divide(result.getTotalNum(),4,BigDecimal.ROUND_HALF_UP));
+ }
+ return result;
+ }
+ /**
+ * 鍑哄簱鑳藉姏鏉庢案鍒�
+ * @return
+ */
+ @Override
+ public TotalOutQtyNumVO totalOutQtyNum(int queryType){
+ TotalOutQtyNumVO data = new TotalOutQtyNumVO();
+ data.setCurrentInNum(new BigDecimal(0));
+ data.setLastInNum(new BigDecimal(0));
+ data.setSameInNum(new BigDecimal(0));
+ //---------鐪佸----------------
+ data.setCurrentOutNum(new BigDecimal(0));
+ data.setLastOutNum(new BigDecimal(0));
+ data.setSameOutNum(new BigDecimal(0));
+ return data;
+ }
+ /**
+ * 鍑哄簱鑳藉姏鏉庢案鍒�
+ * @return
+ */
+ @Override
+ public List<WholeProvinceMapVO> mapYearAndMonthOutList(){
+ 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);
+ }
+ }
+ }
+ }
+
+ }
+ return result;
+ }
+
+ private WholeProvinceMapVO getFromProvinceResultList(TmsDistributionOfDeliveryLocResponse model, List<WholeProvinceMapVO> result) {
+ for(WholeProvinceMapVO t : result){
+ if(StringUtils.equals(t.getProvinceCode(), model.getFromProvinceCode())){
+ t.setMonthNum(Constants.formatBigdecimal(t.getMonthNum()).add(Constants.formatBigdecimal0Float(model.getMonthOutboundQuantity())));
+ t.setYearNum(Constants.formatBigdecimal(t.getYearNum()).add(Constants.formatBigdecimal0Float(model.getYearOutboundQuantity())));
+ return t;
+ }
+ }
+
+ return null;
+ }
+
+ /**
+ * 鍑哄簱鑳藉姏鏉庢案鍒�
+ * @return
+ */
+ @Override
+ public List<TmsFactoryParam> factoryList(){
+ List<TmsFactoryParam> paramList = tmsFactoryParamMapper.selectList(new QueryWrapper<TmsFactoryParam>().lambda()
+ .eq(TmsFactoryParam::getIsdeleted,Constants.ZERO)
+ .orderByAsc(TmsFactoryParam::getSortnum));
+ return paramList;
+ }
+ /**
+ * 鍑哄簱鑳藉姏鏉庢案鍒�
+ * @return
+ */
+ @Override
+ public WholeProvinceZXTVO tranportAbilityUseRate(){
+ WholeProvinceZXTVO result = new WholeProvinceZXTVO();
+ result.setCurrentNum(new BigDecimal(0));
+ result.setTotalNum(new BigDecimal(0));
+ result.setUseRate(new BigDecimal(0));
+ result.setDetailList(new ArrayList<>());
+ List<TmsFactoryParam> paramList =factoryList();
+ if(paramList!=null){
+ List<TmsTotalAndReportVehicleQtyResponse> response = tmsService.getTotalAndReportVehicleQty();//鏌ヨ鍑哄簱閲�
+ for(TmsFactoryParam p : paramList){
+ WholeProvinceZxtDetailVO t = new WholeProvinceZxtDetailVO();
+ t.setFactoryName(p.getName());
+ t.setCurrentNum(new BigDecimal(0));
+ t.setTotalNum(Constants.formatBigdecimal(p.getNum1()));//鎬诲簱瀛橀噺
+ getFromReportVehicleQtyList(p.getCode(),t,response);//澶勭悊鎻愭姤杩愬姏鍜屾�昏繍鍔涙暟鎹�
+ t.setUseRate(new BigDecimal(0));
+ if(t.getTotalNum().compareTo(new BigDecimal(0)) !=0){
+ t.setUseRate(t.getCurrentNum().divide(t.getTotalNum(),4,BigDecimal.ROUND_HALF_UP));
+ }
+ result.getDetailList().add(t);
+ result.setCurrentNum(result.getCurrentNum().add(t.getCurrentNum()));
+ result.setTotalNum(result.getTotalNum().add(t.getTotalNum()));
+ }
+ }
+ if(result.getTotalNum().compareTo(new BigDecimal(0)) !=0){
+ result.setUseRate(result.getCurrentNum().divide(result.getTotalNum(),4,BigDecimal.ROUND_HALF_UP));
+ }
+ return result;
+ }
+ private void getFromReportVehicleQtyList(String code,WholeProvinceZxtDetailVO t, List<TmsTotalAndReportVehicleQtyResponse> responses) {
+ BigDecimal current = new BigDecimal(0);
+ BigDecimal total= new BigDecimal(0);
+ if(responses!=null && responses.size()>0){
+ for(TmsTotalAndReportVehicleQtyResponse model: responses){
+ if(StringUtils.equals(model.getFactoryCode(),code)){
+ total = total.add(Constants.formatBigdecimal(model.getTotalQty()));
+ current = current.add(Constants.formatBigdecimal(model.getReportQty()));
+ }
+ }
+ }
+ t.setCurrentNum(current);
+ t.setTotalNum(total);
+ }
+ private BigDecimal getCurrentOutQryByList(List<TmsOutQtyAndVehicleQtyResponse> response) {
+ BigDecimal r = new BigDecimal(0);
+ if(response!=null && response.size()>0){
+ for(TmsOutQtyAndVehicleQtyResponse model: response){
+ r = r.add(Constants.formatBigdecimal(model.getTotalOutQty()));
+ }
+ }
+ return r ;
+ }
+
+ /**
+ * 浠撳簱璧勬簮鍒╃敤鐜�
+ * @return
+ */
+ @Override
+ public WholeProvinceZXTVO inventoryUseRate(){
+ WholeProvinceZXTVO result = new WholeProvinceZXTVO();
+ result.setCurrentNum(new BigDecimal(0));
+ result.setTotalNum(new BigDecimal(0));
+ result.setUseRate(new BigDecimal(0));
+ result.setDetailList(new ArrayList<>());
+ List<TmsFactoryParam> paramList = factoryList();
+ List<TmsInventoryListResponse> responses = tmsService.getRealTimeInventory();
+ if(paramList!=null){
+ for(TmsFactoryParam p : paramList){
+ WholeProvinceZxtDetailVO t = new WholeProvinceZxtDetailVO();
+ t.setFactoryName(p.getName());
+ t.setCurrentNum(new BigDecimal(0));
+ t.setTotalNum(Constants.formatBigdecimal(p.getNum1()));//鎬诲簱瀛橀噺
+ t.setCurrentNum(getFromInventoryList(p.getCode(),responses));
+ t.setUseRate(new BigDecimal(0));
+ if(t.getTotalNum().compareTo(new BigDecimal(0)) !=0){
+ t.setUseRate(t.getCurrentNum().divide(t.getTotalNum(),4,BigDecimal.ROUND_HALF_UP));
+ }
+ result.getDetailList().add(t);
+ result.setCurrentNum(result.getCurrentNum().add(t.getCurrentNum()));
+ result.setTotalNum(result.getTotalNum().add(t.getTotalNum()));
+ }
+ }
+ if(result.getTotalNum().compareTo(new BigDecimal(0)) !=0){
+ result.setUseRate(result.getCurrentNum().divide(result.getTotalNum(),4,BigDecimal.ROUND_HALF_UP));
+ }
+ return result;
+ }
+
+ private BigDecimal getFromInventoryList(String code, List<TmsInventoryListResponse> responses) {
+ BigDecimal r = new BigDecimal(0);
+ if(responses!=null && responses.size()>0){
+ for(TmsInventoryListResponse model: responses){
+ if(StringUtils.equals(model.getFactoryCode(),code)){
+ r = r.add(Constants.formatBigdecimal(model.getStockQty()));
+ }
+ }
+ }
+ return r ;
+
+ }
}
--
Gitblit v1.9.3