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 | 420 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++-
1 files changed, 413 insertions(+), 7 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..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,9 +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.model.ApiResponse;
-import com.doumee.core.model.PageData;
-import com.doumee.core.model.PageWrap;
+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.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;
@@ -30,8 +34,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;
@@ -39,10 +43,9 @@
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 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 +69,8 @@
@Autowired
private SystemDictDataBiz systemDictDataBiz;
@Autowired
+ private TmsFactoryParamMapper tmsFactoryParamMapper;
+ @Autowired
private PlatformWarnEventJoinMapper platformWarnEventJoinMapper;
@Autowired
private PlatformJobMapper platformJobMapper;
@@ -83,6 +88,11 @@
private RetentionMapper retentionMapper;
@Autowired
private PlatformGroupMapper platformGroupMapper;
+ @Autowired
+ private TmsService tmsService;
+
+ @Value("${debug_model}")
+ private Boolean isDebug;
/**
* 鑾峰彇鍖哄煙鏍戝舰缁撴瀯鏁版嵁
* @return
@@ -1037,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;
@@ -1856,6 +1866,9 @@
curtotalNum += Constants.formatIntegerNum(workEfficiencyVO.getWorkNum()) ;
}
workEfficiencyVO.setTotalWorkNum(curtotalNum);//绱鍊�
+ if(System.currentTimeMillis() < curTime){
+ workEfficiencyVO.setTotalWorkNum(0);
+ }
workEfficiencyVOList.add(workEfficiencyVO);
}
return workEfficiencyVOList;
@@ -2036,7 +2049,400 @@
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");
+ 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.getParam3()));//8灏忔椂鍑哄簱鑳藉姏
+ if(StringUtils.isNotBlank(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 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 type,String code){
+ 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));
+
+ 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;
+ }
+ /**
+ * 鍑哄簱鑳藉姏鏉庢案鍒�
+ * @return
+ */
+ @Override
+ public List<WholeProvinceMapVO> mapYearAndMonthOutList(String code){
+ List<WholeProvinceMapVO> result = new ArrayList<>();
+ 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;
+ }
+
+ 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 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
+ */
+ @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