From e84d4700e32dba450aa4d239779fc39f38ae4afa Mon Sep 17 00:00:00 2001
From: admin <841110950@qq.com>
Date: 星期三, 01 九月 2021 17:22:32 +0800
Subject: [PATCH] 1.0.8

---
 src/main/java/com/zy/ints/service/impl/IoCompleteServiceImpl.java    |    7 +
 src/main/java/com/zy/ints/task/WaitMatinLogScheduler.java            |    1 
 src/main/java/com/zy/ints/service/impl/IoCompleteLogServiceImpl.java |    5 +
 src/main/java/com/zy/ints/service/IoCompleteService.java             |    3 
 src/main/java/com/zy/asrs/service/MatOutService.java                 |    2 
 src/main/webapp/static/js/wrkMast/wrkMast.js                         |    1 
 src/main/java/com/zy/ints/task/IoCompleteLogScheduler.java           |   61 +++++++++++++++
 src/main/webapp/static/js/cool.js                                    |    2 
 src/main/java/com/zy/ints/task/handler/IoCompleteLogHandler.java     |   42 ++++++++++
 src/main/java/com/zy/ints/mapper/IoCompleteMapper.java               |    3 
 src/main/java/com/zy/ints/service/IoCompleteLogService.java          |    1 
 src/main/java/com/zy/ints/task/WaitMatOutLogScheduler.java           |    2 
 src/main/java/com/zy/asrs/service/impl/MatOutServiceImpl.java        |   10 +
 src/main/java/com/zy/ints/task/handler/WaitMatOutLogHandler.java     |    1 
 src/main/java/com/zy/asrs/service/impl/WorkServiceImpl.java          |   31 +++++++
 src/main/java/com/zy/ints/mapper/IoCompleteLogMapper.java            |    5 +
 src/main/resources/mapper/IoCompleteMapper.xml                       |    5 +
 17 files changed, 175 insertions(+), 7 deletions(-)

diff --git a/src/main/java/com/zy/asrs/service/MatOutService.java b/src/main/java/com/zy/asrs/service/MatOutService.java
index 55de81d..dac8115 100644
--- a/src/main/java/com/zy/asrs/service/MatOutService.java
+++ b/src/main/java/com/zy/asrs/service/MatOutService.java
@@ -20,5 +20,5 @@
      * @param locDetls 寰呭嚭搴撲骇鍝�
      * @param ioType 鍏ュ嚭搴撶被鍨�
      */
-    void stockOut(BasDevp staNo, LocDetlDto locDetls, Integer ioType, Long userId);
+    void stockOut(String billNO,BasDevp staNo, LocDetlDto locDetls, Integer ioType, Long userId);
 }
diff --git a/src/main/java/com/zy/asrs/service/impl/MatOutServiceImpl.java b/src/main/java/com/zy/asrs/service/impl/MatOutServiceImpl.java
index 3747006..e8ee621 100644
--- a/src/main/java/com/zy/asrs/service/impl/MatOutServiceImpl.java
+++ b/src/main/java/com/zy/asrs/service/impl/MatOutServiceImpl.java
@@ -58,6 +58,9 @@
             if (!Cools.isEmpty(paramLocDetl.getMatNo())) {
                 //鏌ヨ鎵�鏈夊簱浣嶇姸鎬佷负F鐨勫簱浣嶄俊鎭�
                 List<LocDetl> locDetls=locDetlService.getlocDetlList(paramLocDetl.getMatNo());
+                if (locDetls.size()==0){
+                    throw new CoolException("搴撲綅鐘舵�佸嚭閿�");
+                }
                 for (LocDetl locDetl : locDetls) {
                     WaitMatout waitMatout = waitMatoutService.selectOne(new EntityWrapper<WaitMatout>().eq("bill_no", paramLocDetl.getBillNo()).eq("seq_no",paramLocDetl.getSeqNo()));
                     Double outQty = paramLocDetl.getCount() - waitMatout.getOutQty();
@@ -71,14 +74,14 @@
 
                     if (outQty >= locDetl.getQty()){
                         //鐢熸垚鏂囨。璁板綍
-                        stockOut(staNo,new LocDetlDto(locDetl,locDetl.getQty()),ioType,userId);
+                        stockOut(waitMatout.getBillNo(),staNo,new LocDetlDto(locDetl,locDetl.getQty()),ioType,userId);
                         waitMatout.setOutQty(waitMatout.getOutQty() + locDetl.getQty());
                         //淇敼璁板綍
                         Integer update = waitMatoutMapper.update(waitMatout, new EntityWrapper<WaitMatout>().eq("bill_no", paramLocDetl.getBillNo())
                                                                 .eq("seq_no",paramLocDetl.getSeqNo()));
                     }else {
                         //鐢熸垚鏂囨。璁板綍
-                        stockOut(staNo,new LocDetlDto(locDetl,outQty),ioType,userId);
+                        stockOut(waitMatout.getBillNo(),staNo,new LocDetlDto(locDetl,outQty),ioType,userId);
                         waitMatout.setOutQty(waitMatout.getOutQty() + outQty);
                         //淇敼璁板綍
                         Integer update = waitMatoutMapper.update(waitMatout, new EntityWrapper<WaitMatout>().eq("bill_no", paramLocDetl.getBillNo())
@@ -91,7 +94,7 @@
 
     @Override
     @Transactional
-    public void stockOut(BasDevp staNo, LocDetlDto locDetlDtos, Integer ioType, Long userId) {
+    public void stockOut(String billNo,BasDevp staNo, LocDetlDto locDetlDtos, Integer ioType, Long userId) {
         // 鐢熸垚宸ヤ綔妗�
             LocDetl locDetl=locDetlDtos.getLocDetl();
             // 鑾峰彇搴撲綅
@@ -140,6 +143,7 @@
                 wrkDetl.setAppeTime(new Date());
                 wrkDetl.setAppeUser(userId);
                 wrkDetl.setModiTime(new Date());
+                wrkDetl.setBillNo(billNo);
                 wrkDetl.setModiUser(userId);
                 if (!wrkDetlService.insert(wrkDetl)) {
                     throw new CoolException("淇濆瓨宸ヤ綔妗f槑缁嗗け璐�");
diff --git a/src/main/java/com/zy/asrs/service/impl/WorkServiceImpl.java b/src/main/java/com/zy/asrs/service/impl/WorkServiceImpl.java
index b501208..b67cfb9 100644
--- a/src/main/java/com/zy/asrs/service/impl/WorkServiceImpl.java
+++ b/src/main/java/com/zy/asrs/service/impl/WorkServiceImpl.java
@@ -17,8 +17,10 @@
 import com.zy.common.model.OutLocDto;
 import com.zy.common.model.StartupDto;
 import com.zy.common.service.CommonService;
+import com.zy.ints.entity.IoComplete;
 import com.zy.ints.entity.WaitMatchk;
 import com.zy.ints.entity.WaitMatout;
+import com.zy.ints.service.IoCompleteService;
 import com.zy.ints.service.WaitMatchkService;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.stereotype.Service;
@@ -63,9 +65,10 @@
     private WrkMastLogService wrkMastLogService;
     @Autowired
     private WrkDetlLogService wrkDetlLogService;
-
     @Autowired
     private WaitMatchkService waitMatchkService;
+    @Autowired
+    private IoCompleteService ioCompleteService;
 
     @Override
     @Transactional
@@ -530,6 +533,32 @@
         } else if (wrkMast.getWrkSts() > 10) {
             wrkMast.setWrkSts(14L);
         }
+        //鏌ヨ鏄庣粏
+        List<WrkDetl> detls = wrkDetlService.selectList(new EntityWrapper<WrkDetl>().eq("wrk_no", workNo));
+        int i=1;
+        for (WrkDetl detl : detls) {
+            //鐢熸垚鍥炴姤妗�
+            IoComplete ioComplete = new IoComplete();
+            ioComplete.setBillNo(detl.getBillNo());
+            ioComplete.setMatNo(detl.getMatNo());
+            ioComplete.setMatName(detl.getMatName());
+            ioComplete.setSeqNo(i);
+            ioComplete.setQty(detl.getQty());
+            ioComplete.setZpallet(detl.getZpallet());
+            ioComplete.setAppeUser(userId);
+            if (wrkMast.getWrkSts()==4L){
+                ioComplete.setTaskType(1);
+                ioComplete.setLocNo(wrkMast.getLocNo());
+            }else if (wrkMast.getWrkSts()==14L){
+                ioComplete.setTaskType(2);
+                ioComplete.setLocNo(wrkMast.getSourceLocNo());
+            }
+            ioComplete.setAppeTime(new Date());
+            if (!ioCompleteService.insert(ioComplete)){
+                throw new CoolException("鐢熸垚鍥炴姤妗eけ璐�");
+            }
+            i++;
+        }
         // 瀹屾垚鎿嶄綔浜哄憳璁板綍
         wrkMast.setManuType("鎵嬪姩瀹屾垚");
         Date now = new Date();
diff --git a/src/main/java/com/zy/ints/mapper/IoCompleteLogMapper.java b/src/main/java/com/zy/ints/mapper/IoCompleteLogMapper.java
index 1a4e9ab..17f4482 100644
--- a/src/main/java/com/zy/ints/mapper/IoCompleteLogMapper.java
+++ b/src/main/java/com/zy/ints/mapper/IoCompleteLogMapper.java
@@ -2,11 +2,16 @@
 
 import com.zy.ints.entity.IoCompleteLog;
 import com.baomidou.mybatisplus.mapper.BaseMapper;
+import org.apache.ibatis.annotations.Insert;
 import org.apache.ibatis.annotations.Mapper;
+import org.apache.ibatis.annotations.Param;
 import org.springframework.stereotype.Repository;
 
 @Mapper
 @Repository
 public interface IoCompleteLogMapper extends BaseMapper<IoCompleteLog> {
 
+    @Insert("insert into ints_io_complete_log select * from ints_io_complete where bill_no=#{billNo} and seq_no=#{seqNo}")
+    int save(@Param("billNo") String billNo,@Param("seqNo") Integer seqNo);
+
 }
diff --git a/src/main/java/com/zy/ints/mapper/IoCompleteMapper.java b/src/main/java/com/zy/ints/mapper/IoCompleteMapper.java
index 64fb031..19f2998 100644
--- a/src/main/java/com/zy/ints/mapper/IoCompleteMapper.java
+++ b/src/main/java/com/zy/ints/mapper/IoCompleteMapper.java
@@ -5,8 +5,11 @@
 import org.apache.ibatis.annotations.Mapper;
 import org.springframework.stereotype.Repository;
 
+import java.util.List;
+
 @Mapper
 @Repository
 public interface IoCompleteMapper extends BaseMapper<IoComplete> {
 
+    List<IoComplete> selectIoCompleteBySts();
 }
diff --git a/src/main/java/com/zy/ints/service/IoCompleteLogService.java b/src/main/java/com/zy/ints/service/IoCompleteLogService.java
index b2365d4..4d1642e 100644
--- a/src/main/java/com/zy/ints/service/IoCompleteLogService.java
+++ b/src/main/java/com/zy/ints/service/IoCompleteLogService.java
@@ -5,4 +5,5 @@
 
 public interface IoCompleteLogService extends IService<IoCompleteLog> {
 
+    Boolean save(String billNo, Integer seqNo);
 }
diff --git a/src/main/java/com/zy/ints/service/IoCompleteService.java b/src/main/java/com/zy/ints/service/IoCompleteService.java
index 0088e43..be13341 100644
--- a/src/main/java/com/zy/ints/service/IoCompleteService.java
+++ b/src/main/java/com/zy/ints/service/IoCompleteService.java
@@ -3,6 +3,9 @@
 import com.zy.ints.entity.IoComplete;
 import com.baomidou.mybatisplus.service.IService;
 
+import java.util.List;
+
 public interface IoCompleteService extends IService<IoComplete> {
 
+    List<IoComplete> selectIoCompleteBySts();
 }
diff --git a/src/main/java/com/zy/ints/service/impl/IoCompleteLogServiceImpl.java b/src/main/java/com/zy/ints/service/impl/IoCompleteLogServiceImpl.java
index 7841c8e..ea2b996 100644
--- a/src/main/java/com/zy/ints/service/impl/IoCompleteLogServiceImpl.java
+++ b/src/main/java/com/zy/ints/service/impl/IoCompleteLogServiceImpl.java
@@ -9,4 +9,9 @@
 @Service("ioCompleteLogService")
 public class IoCompleteLogServiceImpl extends ServiceImpl<IoCompleteLogMapper, IoCompleteLog> implements IoCompleteLogService {
 
+    @Override
+    public Boolean save(String billNo, Integer seqNo) {
+
+        return this.baseMapper.save(billNo,seqNo)>0;
+    }
 }
diff --git a/src/main/java/com/zy/ints/service/impl/IoCompleteServiceImpl.java b/src/main/java/com/zy/ints/service/impl/IoCompleteServiceImpl.java
index 920335b..f20b993 100644
--- a/src/main/java/com/zy/ints/service/impl/IoCompleteServiceImpl.java
+++ b/src/main/java/com/zy/ints/service/impl/IoCompleteServiceImpl.java
@@ -6,7 +6,14 @@
 import com.baomidou.mybatisplus.service.impl.ServiceImpl;
 import org.springframework.stereotype.Service;
 
+import java.util.List;
+
 @Service("ioCompleteService")
 public class IoCompleteServiceImpl extends ServiceImpl<IoCompleteMapper, IoComplete> implements IoCompleteService {
 
+    @Override
+    public List<IoComplete> selectIoCompleteBySts() {
+
+        return baseMapper.selectIoCompleteBySts();
+    }
 }
diff --git a/src/main/java/com/zy/ints/task/IoCompleteLogScheduler.java b/src/main/java/com/zy/ints/task/IoCompleteLogScheduler.java
new file mode 100644
index 0000000..ad31a13
--- /dev/null
+++ b/src/main/java/com/zy/ints/task/IoCompleteLogScheduler.java
@@ -0,0 +1,61 @@
+package com.zy.ints.task;
+
+import com.alibaba.fastjson.JSONArray;
+import com.alibaba.fastjson.JSONObject;
+import com.baomidou.mybatisplus.mapper.EntityWrapper;
+import com.baomidou.mybatisplus.mapper.Wrapper;
+import com.baomidou.mybatisplus.plugins.Page;
+import com.core.annotations.ManagerAuth;
+import com.core.common.BaseRes;
+import com.core.common.Cools;
+import com.core.common.DateUtils;
+import com.core.common.R;
+import com.zy.asrs.task.core.ReturnT;
+import com.zy.common.web.BaseController;
+import com.zy.ints.entity.IoComplete;
+import com.zy.ints.entity.IoCompleteLog;
+import com.zy.ints.entity.WaitMatin;
+import com.zy.ints.service.IoCompleteLogService;
+import com.zy.ints.service.IoCompleteService;
+import com.zy.ints.service.WaitMatinService;
+import com.zy.ints.task.handler.IoCompleteLogHandler;
+import com.zy.ints.task.handler.WaitMatinLogHandler;
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.scheduling.annotation.Scheduled;
+import org.springframework.stereotype.Component;
+import org.springframework.web.bind.annotation.*;
+
+import java.util.ArrayList;
+import java.util.HashMap;
+import java.util.List;
+import java.util.Map;
+
+/**
+ * 鍥炴姤妗g鐞嗚浆鍥炴姤鍘嗗彶妗�
+ * Created by TQS on 2021/8/31
+ */
+@Component
+public class IoCompleteLogScheduler {
+
+    private static final Logger log = LoggerFactory.getLogger(IoCompleteLogScheduler.class);
+
+    @Autowired
+    private IoCompleteLogHandler ioCompleteLogHandler;
+
+    @Autowired
+    private IoCompleteService ioCompleteService;
+
+
+    @Scheduled(cron = "0/3 * * * * ? ")
+    private void execute(){
+        List<IoComplete> ioCompletes = ioCompleteService.selectIoCompleteBySts();
+        for (IoComplete ioComplete : ioCompletes) {
+            ReturnT<String> result = ioCompleteLogHandler.start(ioComplete);
+            if (!result.isSuccess()) {
+                log.error("鍥炴姤妗billNo={}],[seqNo={}]鍘嗗彶妗e鐞嗗け璐�", ioComplete.getBillNo(),ioComplete.getSeqNo());
+            }
+        }
+    }
+}
diff --git a/src/main/java/com/zy/ints/task/WaitMatOutLogScheduler.java b/src/main/java/com/zy/ints/task/WaitMatOutLogScheduler.java
index d0f4bc3..7afc313 100644
--- a/src/main/java/com/zy/ints/task/WaitMatOutLogScheduler.java
+++ b/src/main/java/com/zy/ints/task/WaitMatOutLogScheduler.java
@@ -31,7 +31,7 @@
         for (WaitMatout waitMatout : waitMatouts) {
             ReturnT<String> result = waitMatOutLogHandler.start(waitMatout);
             if (!result.isSuccess()) {
-                log.error("鍏ュ簱閫氱煡妗billNo={}],[seqNo={}]鍘嗗彶妗e鐞嗗け璐�", waitMatout.getBillNo(),waitMatout.getSeqNo());
+                log.error("鍑哄簱閫氱煡妗billNo={}],[seqNo={}]鍘嗗彶妗e鐞嗗け璐�", waitMatout.getBillNo(),waitMatout.getSeqNo());
             }
         }
     }
diff --git a/src/main/java/com/zy/ints/task/WaitMatinLogScheduler.java b/src/main/java/com/zy/ints/task/WaitMatinLogScheduler.java
index 9db953f..b1457d6 100644
--- a/src/main/java/com/zy/ints/task/WaitMatinLogScheduler.java
+++ b/src/main/java/com/zy/ints/task/WaitMatinLogScheduler.java
@@ -27,6 +27,7 @@
     @Autowired
     private WaitMatinService waitMatinService;
 
+
     @Scheduled(cron = "0/3 * * * * ? ")
     private void execute(){
         List<WaitMatin> WaitMatins = waitMatinService.selectWaitMatinBySts();
diff --git a/src/main/java/com/zy/ints/task/handler/IoCompleteLogHandler.java b/src/main/java/com/zy/ints/task/handler/IoCompleteLogHandler.java
new file mode 100644
index 0000000..213489f
--- /dev/null
+++ b/src/main/java/com/zy/ints/task/handler/IoCompleteLogHandler.java
@@ -0,0 +1,42 @@
+package com.zy.ints.task.handler;
+
+import com.baomidou.mybatisplus.mapper.EntityWrapper;
+import com.zy.asrs.task.AbstractHandler;
+import com.zy.asrs.task.core.ReturnT;
+import com.zy.ints.entity.IoComplete;
+import com.zy.ints.entity.WaitMatin;
+import com.zy.ints.service.IoCompleteLogService;
+import com.zy.ints.service.IoCompleteService;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.stereotype.Service;
+import org.springframework.transaction.interceptor.TransactionAspectSupport;
+
+import javax.xml.ws.ServiceMode;
+
+@Service
+public class IoCompleteLogHandler extends AbstractHandler<String> {
+
+    @Autowired
+    private IoCompleteService ioCompleteService;
+
+    @Autowired
+    private IoCompleteLogService ioCompleteLogService;
+
+    public ReturnT<String> start(IoComplete ioComplete) {
+        try {
+            // 淇濆瓨宸ヤ綔涓绘。鍘嗗彶妗�
+            if (!ioCompleteLogService.save(ioComplete.getBillNo(),ioComplete.getSeqNo())) {
+                exceptionHandle("淇濆瓨宸ヤ綔鍘嗗彶妗workNo={0}]澶辫触", ioComplete.getBillNo());
+            }
+            // 鍒犻櫎宸ヤ綔涓绘。
+            if (!ioCompleteService.delete(new EntityWrapper<IoComplete>().eq("bill_no", ioComplete.getBillNo()).eq("seq_no", ioComplete.getSeqNo()))) {
+                exceptionHandle("鍒犻櫎宸ヤ綔涓绘。[workNo={0}]澶辫触", ioComplete.getBillNo());
+            }
+        } catch (Exception e) {
+            e.printStackTrace();
+            TransactionAspectSupport.currentTransactionStatus().setRollbackOnly();
+            return FAIL.setMsg(e.getMessage());
+        }
+        return SUCCESS;
+    }
+}
diff --git a/src/main/java/com/zy/ints/task/handler/WaitMatOutLogHandler.java b/src/main/java/com/zy/ints/task/handler/WaitMatOutLogHandler.java
index 73d9cf0..3c33713 100644
--- a/src/main/java/com/zy/ints/task/handler/WaitMatOutLogHandler.java
+++ b/src/main/java/com/zy/ints/task/handler/WaitMatOutLogHandler.java
@@ -15,6 +15,7 @@
 
 @Service
 public class WaitMatOutLogHandler extends AbstractHandler<String> {
+
     @Autowired
     private WaitMatoutLogService waitMatoutLogService;
 
diff --git a/src/main/resources/mapper/IoCompleteMapper.xml b/src/main/resources/mapper/IoCompleteMapper.xml
index e98c846..6bf3458 100644
--- a/src/main/resources/mapper/IoCompleteMapper.xml
+++ b/src/main/resources/mapper/IoCompleteMapper.xml
@@ -21,5 +21,10 @@
         <result column="appe_time" property="appeTime" />
 
     </resultMap>
+    <select id="selectIoCompleteBySts" resultMap="BaseResultMap">
+         select * from ints_io_complete
+        where upd_status=1
+        order by modi_time,seq_no asc
+    </select>
 
 </mapper>
diff --git a/src/main/webapp/static/js/cool.js b/src/main/webapp/static/js/cool.js
index 1f79213..24e8709 100644
--- a/src/main/webapp/static/js/cool.js
+++ b/src/main/webapp/static/js/cool.js
@@ -61,6 +61,7 @@
     });
 }
 
+
 function autoLoad2(val) {
     var inputDomVal = document.querySelector("input[data-key="+val+"]").value;
     var selectDom = document.querySelector("select[data-key="+val+"Select]");
@@ -93,6 +94,7 @@
     });
 }
 
+
 /**
  * 鎼滅储鑷姩琛ュ叏 -- select
  */
diff --git a/src/main/webapp/static/js/wrkMast/wrkMast.js b/src/main/webapp/static/js/wrkMast/wrkMast.js
index 28dfac5..02566f7 100644
--- a/src/main/webapp/static/js/wrkMast/wrkMast.js
+++ b/src/main/webapp/static/js/wrkMast/wrkMast.js
@@ -575,7 +575,6 @@
                 ,{field: 'zpallet', align: 'center',title: '鎵樼洏鏉$爜'}
                 ,{field: 'bname', align: 'center',title: '鐢ㄦ埛ID'}
                 ,{field: 'memo', align: 'center',title: '澶囨敞'}
-
                 ,{fixed: 'right', title:'鎿嶄綔', align: 'center', toolbar: '#operate', width:50}
             ]],
             request: {

--
Gitblit v1.9.1