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 | 114 +++++++++++++++++++++++++++++++++++++++++---------------
1 files changed, 83 insertions(+), 31 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 2321c10..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,31 +1,36 @@
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;
import org.springframework.transaction.annotation.Transactional;
import org.springframework.transaction.interceptor.TransactionAspectSupport;
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;
@@ -43,23 +48,17 @@
private ErpService erpService;
@Autowired
private OutStockService outStockService;
-
- @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 JdbcTemplate jdbcTemplate;
+ @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())) {
@@ -88,21 +87,74 @@
}
// 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.getMemo())) {
- Integer FInterI = outStockService.queryOutStockFInterID(wrkDetl.getSupplier()); // 鑾峰彇鍑哄簱鍗曚富琛ㄤ富閿�
- if (!erpService.incrementCPakOut(FInterI, wrkDetl.getMatnr(), wrkDetl.getAnfme(), wrkDetl.getSupplier())) {
- exceptionHandle("鏇存柊ERP鎴愬搧鍑哄簱鏁版嵁[matnr={0}]澶辫触", wrkDetl.getMatnr());
+ if (!Cools.isEmpty(wrkDetl)) {
+ 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},FBillNo={1}]澶辫触", wrkDetl.getMatnr(),wrkDetl.getSupplier());
+ }
+ 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("鍑哄簱锛堢Щ搴擄級浣滀笟鏃讹紝鏇存柊骞冲簱鐗╂枡澶辫触");
+ }
+ }
}
}
}
@@ -124,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