From acdc4b3427cbd2a6dc811aed202fbd3e9c309d69 Mon Sep 17 00:00:00 2001
From: 18516761980 <4761516tqsxp>
Date: 星期五, 05 十一月 2021 10:57:12 +0800
Subject: [PATCH] #

---
 src/main/java/com/zy/asrs/controller/LocNormalController.java   |    2 ++
 src/main/java/com/zy/asrs/service/impl/OutStockServiceImpl.java |    3 ++-
 src/main/webapp/static/js/locNormal/locNormal.js                |    3 +--
 src/main/java/com/zy/common/service/erp/ErpService.java         |    5 ++++-
 src/main/java/com/zy/common/service/erp/task/ErpScheduler.java  |   14 +++++++++++---
 src/main/webapp/views/locNormal/locNormal.html                  |    2 +-
 src/main/webapp/views/pda/locNormalIn.html                      |   10 +++++-----
 src/main/java/com/zy/asrs/controller/OutStockController.java    |    1 +
 src/main/java/com/zy/asrs/task/handler/WorkLogHandler.java      |    4 ++--
 src/main/java/com/zy/asrs/task/handler/OverYearLogHandler.java  |    8 ++++++++
 10 files changed, 37 insertions(+), 15 deletions(-)

diff --git a/src/main/java/com/zy/asrs/controller/LocNormalController.java b/src/main/java/com/zy/asrs/controller/LocNormalController.java
index 548b811..3c48439 100644
--- a/src/main/java/com/zy/asrs/controller/LocNormalController.java
+++ b/src/main/java/com/zy/asrs/controller/LocNormalController.java
@@ -73,6 +73,8 @@
         allLike(LocNormal.class, param.keySet(), wrapper, condition);
         if (!Cools.isEmpty(orderByField)) {
             wrapper.orderBy(humpToLine(orderByField), "asc".equals(orderByType));
+        } else {
+            wrapper.orderBy("appe_time", false);
         }
         if (Cools.isEmpty(param.get("state"))) {
             wrapper.in("state", "1,2");
diff --git a/src/main/java/com/zy/asrs/controller/OutStockController.java b/src/main/java/com/zy/asrs/controller/OutStockController.java
index 71f9b4e..3593f9d 100644
--- a/src/main/java/com/zy/asrs/controller/OutStockController.java
+++ b/src/main/java/com/zy/asrs/controller/OutStockController.java
@@ -182,6 +182,7 @@
             // erp涓棿琛ㄦ洿鏂版暟鎹�
             if (!erpService.incrementCPakOut(FInterI, locNormals.getMatnr(), locNormals.getAnfme().doubleValue(), param.getSupplier())) {
                 log.error("鏇存柊ERP鎴愬搧鍑哄簱鏁版嵁[matnr={},FBillNo={}]澶辫触", locNormals.getMatnr(), param.getSupplier());
+                throw new CoolException("鏇存柊ERP鎴愬搧鍑哄簱鏁版嵁[matnr=" + locNormals.getMatnr() + ",FBillNo=" + param.getSupplier() + "]澶辫触");
             }
 
         }
diff --git a/src/main/java/com/zy/asrs/service/impl/OutStockServiceImpl.java b/src/main/java/com/zy/asrs/service/impl/OutStockServiceImpl.java
index 2b6f447..9581462 100644
--- a/src/main/java/com/zy/asrs/service/impl/OutStockServiceImpl.java
+++ b/src/main/java/com/zy/asrs/service/impl/OutStockServiceImpl.java
@@ -134,7 +134,8 @@
     public void startupFullTakeStore(StockOutParam param, Long userId) {
         //鍒ゆ柇鍑哄簱鐔熺粌鏄惁澶т簬搴撳瓨鏁伴噺
         for (StockOutParam.LocDetl detl : param.getLocDetls()) {
-            LocDetl locDetl = locDetlService.selectById(detl.getLocNo());
+//            LocDetl locDetl = locDetlService.selectById(detl.getLocNo());
+            LocDetl locDetl = locDetlService.selectOne(new EntityWrapper<LocDetl>().eq("loc_no",detl.getLocNo()));
             if(locDetl != null){
                 if(detl.getCount() > locDetl.getAnfme()){
                     throw new CoolException("鍑哄簱鏁伴噺瓒呰繃浜嗗簱瀛樻暟閲廩locNo=" + detl.getLocNo() + "]");
diff --git a/src/main/java/com/zy/asrs/task/handler/OverYearLogHandler.java b/src/main/java/com/zy/asrs/task/handler/OverYearLogHandler.java
index 62b7596..8de1f19 100644
--- a/src/main/java/com/zy/asrs/task/handler/OverYearLogHandler.java
+++ b/src/main/java/com/zy/asrs/task/handler/OverYearLogHandler.java
@@ -26,6 +26,14 @@
             jdbcTemplate.update("delete from asr_wrk_mast_log where dateadd(day,360,appe_time) <= getdate();");
             jdbcTemplate.update("delete from cust_wait_pakin_log where dateadd(day,360,appe_time) <= getdate();");
 
+            //鍒犻櫎鍑哄簱閫氱煡鏄庣粏妗f暟鎹紝鏃ユ湡瓒呰繃180澶╋紝鎴栬�呭凡鍑哄簱鏁伴噺澶т簬绛変簬閫氱煡鍑哄簱閲忥紝涓旀棩鏈熻秴杩�7澶�
+            String sql = "delete ise from OutStockBillEntry ise left join OutStockbill isb on isb.FInterID = ise.FInterID where 1=1 ";
+            sql += "and (dateadd(day,180,ise.FFetchDate) <= getdate() or (ise.FAuxCommitQty>=ise.FQty and dateadd(day,7,ise.FFetchDate) <= getdate()) )";
+            jdbcTemplate.update(sql);
+
+            //鍒犻櫎娌℃湁鏄庣粏鐨勫嚭搴撻�氱煡涓绘。鏁版嵁
+            sql = "delete OutStockbill from OutStockbill where FInterID not in (select FInterID from OutStockBillEntry)";
+            jdbcTemplate.update(sql);
         } catch (Exception e) {
             e.printStackTrace();
             TransactionAspectSupport.currentTransactionStatus().setRollbackOnly();
diff --git a/src/main/java/com/zy/asrs/task/handler/WorkLogHandler.java b/src/main/java/com/zy/asrs/task/handler/WorkLogHandler.java
index 3f73da9..bd7f28d 100644
--- a/src/main/java/com/zy/asrs/task/handler/WorkLogHandler.java
+++ b/src/main/java/com/zy/asrs/task/handler/WorkLogHandler.java
@@ -88,10 +88,10 @@
                         Integer FInterI = outStockService.queryOutStockFInterID(wrkDetl.getSupplier()); // 鑾峰彇鍑哄簱鍗曚富琛ㄤ富閿�
                         if (!Cools.isEmpty(FInterI)) {
                             if (!erpService.incrementCPakOut(FInterI, wrkDetl.getMatnr(),  wrkDetl.getAnfme(), wrkDetl.getSupplier())) {
-                                exceptionHandle("[xtyasrs_dual]鏇存柊ERP鎴愬搧鍑哄簱鏁版嵁[matnr={0}]澶辫触", wrkDetl.getMatnr());
+                                exceptionHandle("[xtyasrs_dual]鏇存柊ERP鎴愬搧鍑哄簱鏁版嵁[matnr={0},FBillNo={1}]澶辫触", wrkDetl.getMatnr(),wrkDetl.getSupplier());
                             }
                             if (!outStockService.incrementCPakOut(FInterI, wrkDetl.getMatnr(),  wrkDetl.getAnfme(), wrkDetl.getSupplier())) {
-                                exceptionHandle("[xtyasrs]鏇存柊ERP鎴愬搧鍑哄簱鏁版嵁[matnr={0}]澶辫触", wrkDetl.getMatnr());
+                                exceptionHandle("[xtyasrs]鏇存柊ERP鎴愬搧鍑哄簱鏁版嵁[matnr={0},FBillNo={1}]澶辫触", wrkDetl.getMatnr(),wrkDetl.getSupplier());
                             }
                         }
                     }
diff --git a/src/main/java/com/zy/common/service/erp/ErpService.java b/src/main/java/com/zy/common/service/erp/ErpService.java
index ee4d384..18e85d3 100644
--- a/src/main/java/com/zy/common/service/erp/ErpService.java
+++ b/src/main/java/com/zy/common/service/erp/ErpService.java
@@ -459,7 +459,10 @@
                 return false;
             }
         }catch (Exception e){
-            e.printStackTrace();
+            String msg = "incrementCPakOut鎴愬搧澧為噺鍑哄簱澶辫触[FInterID={0},Fnumber={1},FBillNo={2}]\n";
+            msg = MessageFormat.format(msg,FInterID,Fnumber,FBillNo);
+            log.error(msg, e);
+//            e.printStackTrace();
             log.error("incrementCPakOut----" + sql);
             return false;
         }
diff --git a/src/main/java/com/zy/common/service/erp/task/ErpScheduler.java b/src/main/java/com/zy/common/service/erp/task/ErpScheduler.java
index cf2464e..c50eae7 100644
--- a/src/main/java/com/zy/common/service/erp/task/ErpScheduler.java
+++ b/src/main/java/com/zy/common/service/erp/task/ErpScheduler.java
@@ -16,6 +16,7 @@
 import com.zy.common.service.erp.ErpService;
 import com.zy.common.service.erp.dto.InStockDto;
 import com.zy.common.service.erp.entity.*;
+import lombok.Synchronized;
 import lombok.extern.slf4j.Slf4j;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.scheduling.annotation.Scheduled;
@@ -23,6 +24,7 @@
 import org.springframework.transaction.annotation.Transactional;
 
 import javax.annotation.PostConstruct;
+import java.math.BigDecimal;
 import java.util.Date;
 import java.util.HashMap;
 import java.util.List;
@@ -52,7 +54,8 @@
     /**
      * 鍘熸潗鏂欏叆搴撳崟
      */
-    @Scheduled(cron = "0/5 * * * * ? ")
+    @Scheduled(cron = "0/30 * * * * ? ")
+    @Synchronized
 //    @PostConstruct
     public void inStockExecute(){
         List<InStockDto> readyInStock = erpService.getReadyInStock();
@@ -121,7 +124,8 @@
     /**
      * 鎴愬搧鍏ュ簱鍗�
      */
-    @Scheduled(cron = "0/5 * * * * ? ")
+    @Scheduled(cron = "0/20 * * * * ? ")
+    @Synchronized
 //    @PostConstruct
     public void inCPICMOExecute(){
         List<CPICMO> cpicmos = erpService.getReadyCPICMO();
@@ -178,7 +182,8 @@
         }
     }
 
-    @Scheduled(cron = "0/5 * * * * ? ")
+    @Scheduled(cron = "0/30 * * * * ? ")
+    @Synchronized
     public void syncMat(){
         List<M_item> items = erpService.getItem();
         for (M_item item : items) {
@@ -213,6 +218,7 @@
      * 鎴愬搧鍑哄簱 鍙戣揣閫氱煡鍗曡〃澶�,琛ㄦ槑缁�
      */
     @Scheduled(cron = "0/15 * * * * ? ")
+    @Synchronized
     @Transactional
     public void syncOutStock(){
         List<OutStockBill> outStockBills = erpService.syncOutStock();
@@ -244,6 +250,7 @@
                     if (null == one) {
 //                        String Fnumber = (Cools.isEmpty(outStockBillEntry.getFSourceBillNo())) ? outStockBillEntry.getFnumber() : outStockBillEntry.getFnumber()+"|"+outStockBillEntry.getFSourceBillNo();
 //                        outStockBillEntry.setFnumber(Fnumber);  //浜у搧浠g爜|鐢熶骇鍗曞彿
+                        outStockBillEntry.setFAmount(new BigDecimal(0));
                         if (!outStockService.insert(outStockBillEntry)) {
                             log.info("鎻愬彇鍑哄簱閫氱煡鏄庣粏琛∣utStockBillEntry澶辫触[FBrNo={},FInterID={},FEntryID={}]",outStockBillEntry.getFBrNo(),
                                     outStockBillEntry.getFInterID(),outStockBillEntry.getFEntryID());
@@ -256,6 +263,7 @@
                     } else {
                         // 鏁伴噺鏈夊彉鍖栬繘琛屾洿鏂�
                         if (Double.doubleToLongBits(one.getFAuxQty().doubleValue()) != Double.doubleToLongBits(outStockBillEntry.getFAuxQty().doubleValue())) {
+                            outStockBillEntry.setFAmount(new BigDecimal(0));
                             if (!outStockService.update(outStockBillEntry, wrapper)) {
                                 log.info("鍚屾鏇存柊閫氱煡鏄庣粏琛∣utStockBillEntry澶辫触[FBrNo={},FInterID={},FEntryID={}]",outStockBillEntry.getFBrNo(),
                                         outStockBillEntry.getFInterID(),outStockBillEntry.getFEntryID());
diff --git a/src/main/webapp/static/js/locNormal/locNormal.js b/src/main/webapp/static/js/locNormal/locNormal.js
index 1debf3e..fa7b34f 100644
--- a/src/main/webapp/static/js/locNormal/locNormal.js
+++ b/src/main/webapp/static/js/locNormal/locNormal.js
@@ -178,6 +178,7 @@
             statusCode: 200
         },
         done: function (res, curr, count) {
+            console.log(res);
             if (res.code === 403) {
                 top.location.href = baseUrl + "/";
             }
@@ -289,8 +290,6 @@
         switch (obj.event) {
             case 'outLocNormal':
                 var warehourse = data.warehouse;
-                console.log(warehourse);
-
                 if(warehourse !== 'cs'){
                     layer.msg("鍙兘鍑烘潗鏂欏钩浠�");
                     return;
diff --git a/src/main/webapp/views/locNormal/locNormal.html b/src/main/webapp/views/locNormal/locNormal.html
index e4ef433..02f4dfd 100644
--- a/src/main/webapp/views/locNormal/locNormal.html
+++ b/src/main/webapp/views/locNormal/locNormal.html
@@ -170,7 +170,7 @@
         {{#  } }}
     </script>
     <script type="text/html" id="operate">
-        {{#  if(d.state === '1'){ }}
+        {{#  if(d.state === '1' && d.warehouse === 'cs'){ }}
         <button class="layui-btn layui-btn-xs layui-btn-normal btn-out" lay-event="outLocNormal">鍑哄簱</button>
         {{#  } else { }}
         <button class="layui-btn layui-btn-xs layui-btn-disabled btn-out">鍑哄簱</button>
diff --git a/src/main/webapp/views/pda/locNormalIn.html b/src/main/webapp/views/pda/locNormalIn.html
index 8b1d8c1..9f5dd5b 100644
--- a/src/main/webapp/views/pda/locNormalIn.html
+++ b/src/main/webapp/views/pda/locNormalIn.html
@@ -96,11 +96,11 @@
         </div>
     </div>
 
-    <div style="margin: 5px 5px">
-        <button id="mat-btn" type="button" class="layui-btn layui-btn-normal" onclick="getMat()"><i
-                class="layui-icon">+</i>鎻愬彇
-        </button>
-    </div>
+<!--    <div style="margin: 5px 5px">-->
+<!--        <button id="mat-btn" type="button" class="layui-btn layui-btn-normal" onclick="getMat()"><i-->
+<!--                class="layui-icon">+</i>鎻愬彇-->
+<!--        </button>-->
+<!--    </div>-->
 </header>
 
 <!-- 涓讳綋 -->

--
Gitblit v1.9.1