From 537671dd0a367dfa9ef3f0dd3d33db2d4838ceed Mon Sep 17 00:00:00 2001
From: jiangping <jp@doumee.com>
Date: 星期二, 24 十二月 2024 16:25:17 +0800
Subject: [PATCH] 最新版本541200007

---
 server/visits/dmvisit_service/src/main/java/com/doumee/service/business/impl/thrid/BoardServiceImpl.java |  113 +++++++++++++++++++++++++++++++++++++++++++++++++++-----
 1 files changed, 103 insertions(+), 10 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 0c83707..a4a0975 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
@@ -2137,6 +2137,10 @@
         WholeProvinceBoardVO data = new WholeProvinceBoardVO();
         data.setMaxAbility(new BigDecimal(0));
         data.setHoursAbility(new BigDecimal(0));
+        data.setCurrentPlanNum(new BigDecimal(0));
+        data.setCurrentOrderNum(new BigDecimal(0));
+        data.setCrrentRestNum(new BigDecimal(0));
+        data.setCrrentOutNum(new BigDecimal(0));
         List<TmsFactoryParam> paramList = factoryList();
         String code = null;
         if(paramList!=null){
@@ -2155,13 +2159,7 @@
                 }
             }
         }
-        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();
+      /*  Date date = new Date();
         TmsOutQtyAndVehicleQtyRequest param = new TmsOutQtyAndVehicleQtyRequest();
         param.setDateEnd(DateUtil.getShortTime(date));
         param.setDateStart(DateUtil.getShortTime(date));
@@ -2169,16 +2167,111 @@
             param.setFacrotyCodeList(new ArrayList<>());
             param.getFacrotyCodeList().add(code);//鏌ヨ鎸囧畾鍘傚尯
         }
-        List<TmsOutQtyAndVehicleQtyResponse> listSame=  tmsService.getOutQtyAndVehicleQty(param);//鍘诲勾鍚屾湡
+        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())));//浠婃棩鍑哄簱杞︽
             }
-        }
+        }*/
+        initOutboundCapability(data,factoryCode);
+
         return  data;
 
     }
+    private void initOutboundCapability(WholeProvinceBoardVO data, String code) {
+        TmsFacrotyCodeListRequest param = new TmsFacrotyCodeListRequest();
+        if(StringUtils.isNotBlank(code)){
+            param.setFacrotyCodeList(new ArrayList<>());
+            param.getFacrotyCodeList().add(code);
+        }
+        TmsOutboundCapabilityResponse result=  tmsService.getOutboundCapability(param);
+        if(result !=null){
+            List<String> planCodes = new ArrayList<>();
+            List<String> todayCodes = new ArrayList<>();
+            String todayDate = DateUtil.getShortTime(new Date());
+            if(result.getCurrentDayOrderList()!=null && result.getCurrentDayOrderList().size()>0){
+                for(TmsOutboundCapabilityInfoResponse model :result.getCurrentDayOrderList()){
+                    data.setCurrentOrderNum(data.getCurrentOrderNum().add(Constants.formatBigdecimal(model.getNcTotality())));//浠婃棩璁㈠崟閲�
+                    /**
+                     * DISPATCH_TYPE in(1,2) 涓� TRANSPORT_CODE涓嶄负绌猴紝sum(NC_TOTALITY)  +      DISPATCH_TYPE not in(1,2) sum(NC_TOTALITY)
+                     * 	浠婃棩鍑哄簱涓嬭揪鐨勮鍒掍换鍔℃�婚噺
+                     */
+                    if(StringUtils.isNotBlank(model.getTransportCode())
+                            && (StringUtils.equals("1",model.getDispatchType()) || StringUtils.equals("2",model.getDispatchType()))){
+                        data.setCurrentPlanNum(data.getCurrentPlanNum().add(Constants.formatBigdecimal(model.getNcTotality())));//浠婃棩璁㈠崟閲�
+                    }
+                    if(!(StringUtils.equals("1",model.getDispatchType()) || StringUtils.equals("2",model.getDispatchType()))){
+                        data.setCurrentPlanNum(data.getCurrentPlanNum().add(Constants.formatBigdecimal(model.getNcTotality())));//浠婃棩璁″垝閲�
+                    }
+
+                    /**
+                     * 浠婃棩涓嬭揪鍑哄簱鐨勮鍒掍换鍔″搴旂殑杩愯緭杞︽鏁�
+                     * TRANSPORT_CODE涓嶄负绌篶ount(transport_code )
+                     */
+                    if(StringUtils.isNotBlank(model.getTransportCode()) && notInList(model.getTransportCode(),planCodes)){
+                        planCodes.add(model.getTransportCode());
+                    }
+                    /**
+                     * 浠婃棩涓嬭揪鍑哄簱鐨勮鍒掍换鍔″搴旂殑杩愯緭杞︽鏁�
+                     * TRANSPORT_CODE涓嶄负绌篶ount(transport_code )
+                     */
+                    if(StringUtils.isNotBlank(model.getTransportCode()) && notInList(model.getTransportCode(),planCodes)){
+                        planCodes.add(model.getTransportCode());
+                    }
+                    /**
+                     *  out_date涓哄綋鏃�,sum(NC_TOTALITY) 浠婃棩瀹屾垚鐨勫嚭搴撲綔涓氫换鍔℃�婚噺
+                     * TRANSPORT_CODE涓嶄负绌� 涓攐ut_date涓哄綋鏃� count(transport_code)  	浠婃棩瀹屾垚鐨勫嚭搴撲綔涓氫换鍔$殑杩愯緭杞︽鏁�
+                     */
+                    if(StringUtils.isNotBlank(model.getOutDate()) && model.getOutDate().length()> 10){
+                        String tDate = model.getOutDate().substring(0,10);
+                        if(tDate.equals(todayDate)){
+                            //濡傛灉鏄綋鏃�
+                            data.setCrrentOutNum(data.getCrrentOutNum().add(Constants.formatBigdecimal(model.getNcTotality())));//浠婃棩璁㈠崟閲�
+                        }
+                        if(StringUtils.isNotBlank(model.getTransportCode()) && notInList(model.getTransportCode(),todayCodes)){
+                            todayCodes.add(model.getTransportCode());
+                        }
+                    }
+                }
+            }
+            if(result.getCurrentDayAgoOrderList()!=null && result.getCurrentDayAgoOrderList().size()>0){
+
+                for(TmsOutboundCapabilityInfoResponse model :result.getCurrentDayAgoOrderList()){
+                    /**
+                     * out_date涓虹┖锛宻um(NC_TOTALITY)	鏄ㄥぉ鏈畬鎴愬嚭搴撹鍒掍换鍔�
+                     * out_date涓虹┖ 涓擳RANSPORT_CODE涓嶄负绌� * count(transport_code )	鏄ㄥぉ鏈畬鎴愬嚭搴撹鍒掍换鍔¤溅娆�
+                     */
+                    if(StringUtils.isBlank(model.getOutDate())){
+                        data.setCurrentPlanNum(data.getCurrentPlanNum().add(Constants.formatBigdecimal(model.getNcTotality())));//浠婃棩璁″垝閲�
+                        if(StringUtils.isNotBlank(model.getTransportCode()) && notInList(model.getTransportCode(),planCodes)){
+                            planCodes.add(model.getTransportCode());
+                        }
+                    }
+                }
+            }
+            data.setCurrentPlanCarNum(planCodes.size());//浠婃棩璁″垝杞︽
+            data.setCrrentOutCarNum(todayCodes.size());//浠婃棩鍑哄簱杞︽
+        }
+        data.setCrrentRestNum(data.getCurrentPlanNum().subtract(data.getCrrentOutNum()));
+        data.setCrrentRestCarNum(data.getCurrentPlanCarNum() -data.getCrrentOutCarNum());
+        if(data.getCrrentRestNum().compareTo(new BigDecimal(0)) <=0){
+            data.setCrrentRestNum(new BigDecimal(0));
+        }
+        if(data.getCrrentRestCarNum()<=0){
+            data.setCrrentRestCarNum(0);
+        }
+    }
+
+    private boolean notInList(String transportCode, List<String> planCodes) {
+        for(String s :planCodes){
+            if(StringUtils.equals(transportCode,s)){
+                return  false;
+            }
+        }
+        return true;
+    }
+
     /**
      * 鍑哄簱鑳藉姏鏉庢案鍒�
      * @return
@@ -2343,7 +2436,7 @@
         String flag = systemDictDataBiz.queryByCode(Constants.TSM_PARAM,Constants.SCREEN_SEVENT_ARRIVAL_STARTDATE).getCode();
         if(StringUtils.equals(flag,"-1")){
             startDate =DateUtil.getBeginDayOfMonth(0);
-            date = DateUtil.addMonthToDate(startDate,7);
+            date = DateUtil.addDaysToDate(startDate,7);
         }
         param.setNcCreateDateFrom(DateUtil.getShortTime(startDate));
         param.setNcCreateDateThrough(DateUtil.getShortTime(date));

--
Gitblit v1.9.3