From bd15438621c5be2624cba7fe5ab5df514ffc87b9 Mon Sep 17 00:00:00 2001
From: zjj <3272660260@qq.com>
Date: 星期一, 01 四月 2024 08:44:44 +0800
Subject: [PATCH] #立库转平库

---
 src/main/java/com/zy/asrs/task/handler/WorkLogHandler.java |  110 +++++++++++++++++++++++++++++++++++++-----------------
 1 files changed, 75 insertions(+), 35 deletions(-)

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 3fb485e..c81f99a 100644
--- a/src/main/java/com/zy/asrs/task/handler/WorkLogHandler.java
+++ b/src/main/java/com/zy/asrs/task/handler/WorkLogHandler.java
@@ -1,16 +1,17 @@
 package com.zy.asrs.task.handler;
 
+import com.alibaba.fastjson.JSON;
 import com.baomidou.mybatisplus.mapper.EntityWrapper;
 import com.baomidou.mybatisplus.mapper.Wrapper;
 import com.core.common.Cools;
-import com.zy.asrs.entity.WaitPakin;
-import com.zy.asrs.entity.WrkDetl;
-import com.zy.asrs.entity.WrkMast;
+import com.zy.asrs.entity.*;
 import com.zy.asrs.service.*;
 import com.zy.asrs.task.AbstractHandler;
 import com.zy.asrs.task.core.ReturnT;
+import com.zy.asrs.utils.VersionUtils;
 import com.zy.common.service.erp.ErpService;
 import com.zy.common.service.erp.entity.OutStockBillEntry;
+import lombok.extern.slf4j.Slf4j;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.jdbc.core.JdbcTemplate;
 import org.springframework.stereotype.Service;
@@ -19,14 +20,17 @@
 import org.springframework.web.bind.annotation.GetMapping;
 import org.springframework.web.bind.annotation.RestController;
 
+import java.math.BigDecimal;
+import java.util.Date;
 import java.util.List;
 
 /**
  * Created by vincent on 2020/7/6
  */
+@Slf4j
 @Service
 @RestController
-public class WorkLogHandler extends AbstractHandler<String> {
+public class WorkLogHandler extends AbstractHandler<Exception> {
 
     @Autowired
     private WrkMastService wrkMastService;
@@ -46,23 +50,15 @@
     private OutStockService outStockService;
     @Autowired
     private JdbcTemplate jdbcTemplate;
-
-    @GetMapping("/test1")
-    public String test1(String barcode){
-        Wrapper<WaitPakin> wrapper = new EntityWrapper<WaitPakin>().eq("zpallet", barcode);
-        // erp鍏宠仈璁㈠崟澶勭悊
-        List<WaitPakin> waitPakins = waitPakinService.selectList(wrapper);
-        for (WaitPakin waitPakin : waitPakins) {
-            boolean erpRes = erpService.incrementPakIn(waitPakin.getSupplier(), waitPakin.getMatnr(), waitPakin.getAnfme());
-            if (!erpRes) {
-                exceptionHandle("鏇存柊ERP鍏ュ簱鏁版嵁[matnr={0}]澶辫触", waitPakin.getMatnr());
-            }
-        }
-        return "ok";
-    }
+    @Autowired
+    private  OutStockDanService outStockDanService;
+    @Autowired
+    private LocNormalService locNormalService;
+    @Autowired
+    private LocNormalLogService locNormalLogService;
 
     @Transactional
-    public ReturnT<String> start(WrkMast wrkMast) {
+    public ReturnT<Exception> start(WrkMast wrkMast) {
         try {
 
             if (!Cools.isEmpty(wrkMast.getBarcode())) {
@@ -91,33 +87,77 @@
             }
 
             // erp鍏宠仈鍑哄簱璁㈠崟澶勭悊
-            if (wrkMast.getIoType() == 101) {
+            if (wrkMast.getIoType() == 101 || wrkMast.getIoType() == 53) {
                 EntityWrapper<WrkDetl> wrapper = new EntityWrapper<>();
                 // 鑾峰彇宸ヤ綔妗e唴鐗╂枡娓呭崟
                 List<WrkDetl> wrkDetls = wrkDetlService.selectList(wrapper.eq("wrk_no", wrkMast.getWrkNo()).and().isNotNull("supplier"));
                 for (WrkDetl wrkDetl: wrkDetls) {
                     if (!Cools.isEmpty(wrkDetl)) {
-                        Integer FInterI = outStockService.queryOutStockFInterID(wrkDetl.getSupplier()); // 鑾峰彇鍑哄簱鍗曚富琛ㄤ富閿�
+                        Integer FInterI = outStockDanService.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());
+                            if (!outStockDanService.incrementCPakOut(FInterI, wrkDetl.getMatnr(),  wrkDetl.getAnfme(), wrkDetl.getSupplier())) {
+                                exceptionHandle("[xtyasrs]鏇存柊ERP鎴愬搧鍑哄簱鏁版嵁[matnr={0},FBillNo={1}]澶辫触", wrkDetl.getMatnr(),wrkDetl.getSupplier());
                             }
-                        }
-                        if (wrkDetl.getMemo().equals("鍘熸潗鏂�")) {
-                            // 寰呭疄鐜�
-
-
-                        } else if (wrkDetl.getMemo().equals("鎴愬搧")) {
-
                         }
                     }
                 }
             }
-
-
+            if (!Cools.isEmpty(wrkMast.getPdcType()) && wrkMast.getPdcType().equals("Y")){
+                List<WrkDetl> wrkDetls = wrkDetlService.selectList(new EntityWrapper<WrkDetl>().eq("wrk_no", wrkMast.getWrkNo()));
+                if (Cools.isEmpty(wrkDetls)){
+                    log.error("鍑哄簱锛堢Щ搴擄級浣滀笟鏃讹紝鏈煡璇㈠埌宸ヤ綔鏄庣粏");
+                }else {
+                    for (WrkDetl wrkDetl : wrkDetls) {
+                        EntityWrapper<LocNormal> locNormalEntityWrapper = new EntityWrapper<>();
+                        locNormalEntityWrapper.eq("matnr",wrkDetl.getMatnr());
+                        locNormalEntityWrapper.eq("mnemonic",wrkDetl.getMnemonic());
+                        locNormalEntityWrapper.eq("state","1");
+                        locNormalEntityWrapper.eq("warehouse",wrkMast.getLogErrMemo());
+                        LocNormal locNormal = locNormalService.selectOne(locNormalEntityWrapper);
+                        if (Cools.isEmpty(locNormal)){
+                            Date now = new Date();
+                            LocNormal locNormal1 = new LocNormal();
+                            locNormal1.setMatnr(wrkDetl.getMatnr());
+                            locNormal1.setMaktx(wrkDetl.getMaktx());
+                            locNormal1.setLgnum(wrkDetl.getLgnum());
+                            locNormal1.setType(wrkDetl.getType());
+                            locNormal1.setMnemonic(wrkDetl.getMnemonic());
+                            locNormal1.setSupplier(wrkDetl.getSupplier());
+                            locNormal1.setWarehouse(wrkMast.getLogErrMemo());
+                            locNormal1.setAnfme(BigDecimal.valueOf(wrkDetl.getAnfme()));
+                            locNormal1.setModiTime(now);
+                            locNormal1.setModiUser(9527L);
+                            locNormal1.setAppeUser(9527L);
+                            locNormal1.setAppeTime(now);
+                            locNormal1.setState("1");
+                            boolean insert = locNormalService.insert(locNormal1);
+                            if (!insert){
+                                log.error("鍑哄簱锛堢Щ搴擄級浣滀笟鏃讹紝鎻掑叆骞冲簱鐗╂枡澶辫触");
+                            }
+                            // 鐢熸垚骞充粨鍑哄叆搴撹褰�
+                            LocNormalLog locLog = new LocNormalLog();
+                            VersionUtils.setLocNormalLog(locLog, locNormal1);
+                            locLog.setAnfme(locNormal1.getAnfme().doubleValue());
+                            locLog.setIoType(1);
+                            locLog.setCreateTime(new Date());
+                            locLog.setCreateUser(9527L);
+                            if (!locNormalLogService.insert(locLog)) {
+                                String logStr = JSON.toJSONString(locLog);
+                                log.info("骞充粨鍏ュ簱璁板綍鎻掑叆澶辫触,鏁版嵁:" + logStr);
+                            }
+                        }else {
+                            locNormal.setAnfme(locNormal.getAnfme().add(BigDecimal.valueOf(wrkDetl.getAnfme())));
+                            boolean update = locNormalService.update(locNormal, locNormalEntityWrapper);
+                            if (!update){
+                                log.error("鍑哄簱锛堢Щ搴擄級浣滀笟鏃讹紝鏇存柊骞冲簱鐗╂枡澶辫触");
+                            }
+                        }
+                    }
+                }
+            }
 
             // 淇濆瓨宸ヤ綔涓绘。鍘嗗彶妗�
             if (!wrkMastLogService.save(wrkMast.getWrkNo())) {
@@ -136,9 +176,9 @@
 //                exceptionHandle("鍒犻櫎宸ヤ綔鏄庣粏妗workNo={0}]澶辫触", wrkMast.getWrkNo());
             }
         } catch (Exception e) {
-            e.printStackTrace();
+            log.error("fail", e);
             TransactionAspectSupport.currentTransactionStatus().setRollbackOnly();
-            return FAIL.setMsg(e.getMessage());
+            return FAIL.setContent(e);
         }
         return SUCCESS;
     }

--
Gitblit v1.9.1