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