From e8be12f73d66be96241656c30dcac1f757889b87 Mon Sep 17 00:00:00 2001
From: dubin <bindu_bean@163.com>
Date: 星期三, 15 十月 2025 08:40:41 +0800
Subject: [PATCH] 联调
---
src/main/java/com/zy/third/lk/task/LKInTBScheduler.java | 194 +++++++++++++++++++++++++++---------------------
1 files changed, 108 insertions(+), 86 deletions(-)
diff --git a/src/main/java/com/zy/third/lk/task/LKInTBScheduler.java b/src/main/java/com/zy/third/lk/task/LKInTBScheduler.java
index d118af8..77537aa 100644
--- a/src/main/java/com/zy/third/lk/task/LKInTBScheduler.java
+++ b/src/main/java/com/zy/third/lk/task/LKInTBScheduler.java
@@ -1,19 +1,17 @@
package com.zy.third.lk.task;
+import com.alibaba.fastjson.JSON;
import com.baomidou.mybatisplus.mapper.EntityWrapper;
import com.core.common.Cools;
+import com.core.common.DateUtils;
import com.core.exception.CoolException;
import com.zy.asrs.entity.DocType;
-import com.zy.asrs.entity.Mat;
import com.zy.asrs.entity.Order;
import com.zy.asrs.entity.OrderDetl;
-import com.zy.asrs.entity.param.OpenOrderCompleteParam;
-import com.zy.asrs.entity.result.OpenOrderCompeteResult;
import com.zy.asrs.service.DocTypeService;
import com.zy.asrs.service.MatService;
import com.zy.asrs.service.OrderDetlService;
import com.zy.asrs.service.OrderService;
-import com.zy.common.model.DetlDto;
import com.zy.common.service.erp.ErpSqlServer;
import com.zy.third.lk.entity.*;
import lombok.extern.slf4j.Slf4j;
@@ -22,9 +20,10 @@
import org.springframework.stereotype.Component;
import org.springframework.transaction.annotation.Transactional;
-import java.util.ArrayList;
+import java.util.Date;
import java.util.HashMap;
import java.util.List;
+import java.util.Map;
/**
* 鍏ュ簱鏇存柊瀹屾垚鍥炴姤
@@ -48,15 +47,15 @@
@Autowired
private ErpSqlServer erpSqlServer;
- @Transactional
+ @Transactional(rollbackFor = Throwable.class)
@Scheduled(cron = "${erp.refreshtime}")
public void pakinOrderComplete() {
- log.info("寮�濮嬪叆搴撴洿鏂板畬鎴愬洖鎶�");
+ //log.info("寮�濮嬪叆搴撴洿鏂板畬鎴愬洖鎶�");
// 鎵�鏈夎鍗�
List<Order> orders = orderService.selectList(new EntityWrapper<Order>().eq("settle", 4L));
DocType docType;
for (Order order : orders) {
- System.out.println(order);
+
docType = docTypeService.selectById(order.getDocType());
if (docType == null) {
log.error("璇ヨ鍗曠被鍨嬩笉瀛樺湪:" + order.getDocType());
@@ -66,12 +65,14 @@
if (docType.getPakin() == 1) {
//鍏ュ簱鍗�
for (OrderDetl orderDetl : orderDetls) {
+ log.info("璇ュ叆搴撳崟瀵硅薄:" + orderDetl);
insertInDet(orderDetl);
}
insertInHed(order);
} else {
//鍑哄簱鍗�
for (OrderDetl orderDetl : orderDetls) {
+ log.info("璇ュ嚭搴撳崟瀵硅薄:" + orderDetl);
insertOutDet(orderDetl);
}
insertOutHed(order);
@@ -90,39 +91,25 @@
* @param orderDetl
* @return
*/
- @Transactional
+ @Transactional(rollbackFor = Throwable.class)
public boolean insertInDet(OrderDetl orderDetl) {
- String sqlInDetTb = "select * from lk_InDetTB where BillNo='" + orderDetl.getOrderNo() + "' and " +
- " ItemId='" + orderDetl.getMatnr() + "' and ItemBatch='" + orderDetl.getBatch() + "' and proType='" + orderDetl.getSpecs() + "'";
+ String sqlInDetTb = "select * from lk_InDetTB where bill_no='" + orderDetl.getOrderNo() + "' and " + " item_id='" + orderDetl.getMatnr() + "' and item_batch='" + orderDetl.getBatch() + "' and pro_type='" + orderDetl.getSpecs() + "'";
List<InDetTB> inDets = erpSqlServer.select(sqlInDetTb, InDetTB.class);
- String sqlInDetTbBak = "select * from lk_InDetTB_Bak where BillNo='" + orderDetl.getOrderNo() + "' and " +
- " ItemId='" + orderDetl.getMatnr() + "' and ItemBatch='" + orderDetl.getBatch() + "' and proType='" + orderDetl.getSpecs() + "'";
- List<InDetTB> inDetBaks = erpSqlServer.select(sqlInDetTbBak, InDetTB.class);
- if (inDets.size() > 0 || inDetBaks.size() > 0) {
+ String sqlInDetTbBak = "select * from lk_InDetTB_Bak where bill_no='" + orderDetl.getOrderNo() + "' and " + " item_id='" + orderDetl.getMatnr() + "' and item_batch='" + orderDetl.getBatch() + "' and pro_type='" + orderDetl.getSpecs() + "'";
+ List<InDetTBBak> inDetBaks = erpSqlServer.select(sqlInDetTbBak, InDetTBBak.class);
+ if (!inDets.isEmpty() || !inDetBaks.isEmpty()) {
log.error("璇ュ崟鍙锋枡鍙蜂腑闂磋〃琛ㄨ韩宸插瓨鍦�:" + orderDetl.getOrderNo() + "==>>" + orderDetl.getOrderNo());
return true;
}
- Mat mat = matService.selectByMatnr(orderDetl.getMatnr());
- HashMap<String, Object> content = new HashMap<>();
- content.put("BillNo", "'" + orderDetl.getOrderNo() + "'");
- content.put("ItemId", "'" + orderDetl.getThreeCode() + "'");
- content.put("ItemCode", "'" + orderDetl.getMatnr() + "'");
- content.put("proType", "'" + orderDetl.getSpecs() + "'");
- content.put("remark", "'" + orderDetl.getMemo() + "'");
- content.put("OrderNo", "'" + orderDetl.getOutOrderNo() + "'");
- content.put("ItemBatch", "'" + orderDetl.getBatch() + "'");
- content.put("iNo", orderDetl.getId());
- content.put("DetId", orderDetl.getAutoId());
- content.put("MainNum", orderDetl.getQty());
- content.put("LKName", "'涓壃浜屾湡'");
+ Map<String, Object> content = getMap(orderDetl);
int insert = erpSqlServer.insert(InDetTB.class, content);
if (insert == 1) {
- log.info("鍏ュ簱鍗曡〃韬洖浼犳垚鍔�:" + content.toString());
+ log.info("鍏ュ簱鍗曡〃韬洖浼犳垚鍔�:{}", content);
return true;
} else {
- log.error("鍏ュ簱鍥炰紶澶辫触,瀹炰綋绫绘墦鍗�:" + content.toString());
- return false;
+ log.error("鍏ュ簱鍥炰紶澶辫触,瀹炰綋绫绘墦鍗�:{}", content);
+ throw new CoolException("鏈嶅姟鍣ㄥ唴閮ㄩ敊璇紝璇疯仈绯荤鐞嗗憳");
}
}
@@ -133,32 +120,39 @@
* @param order
* @return
*/
- @Transactional
+ @Transactional(rollbackFor = Throwable.class)
public boolean insertInHed(Order order) {
- String sqlInHedTb = "select * from lk_InHedTB where LKName='涓壃浜屾湡' and BillNo='" + order.getOrderNo() + "'";
+ String sqlInHedTb = "select * from lk_InHedTB where LKName='楂橀湒绔嬪簱' and bill_no='" + order.getOrderNo() + "'";
List<InHedTB> outHeds = erpSqlServer.select(sqlInHedTb, InHedTB.class);
- String sqlInHedTbBak = "select * from lk_InHedTB_Bak where LKName='涓壃浜屾湡' and BillNo='" + order.getOrderNo() + "'";
- List<InHedTB> inHedBaks = erpSqlServer.select(sqlInHedTbBak, InHedTB.class);
- if (outHeds.size() > 0 || inHedBaks.size() > 0) {
+ String sqlInHedTbBak = "select * from lk_InHedTB_Bak where LKName='楂橀湒绔嬪簱' and bill_no='" + order.getOrderNo() + "'";
+ List<InHedTBBak> inHedBaks = erpSqlServer.select(sqlInHedTbBak, InHedTBBak.class);
+ if (!outHeds.isEmpty() || !inHedBaks.isEmpty()) {
log.error("璇ュ崟鍙锋枡鍙蜂腑闂磋〃琛ㄥご宸插瓨鍦�:" + order.getOrderNo());
return true;
}
+ DocType docType = docTypeService.selectById(order.getDocType());
HashMap<String, Object> content = new HashMap<>();
- content.put("BillNo", "'" + order.getOrderNo() + "'");
- content.put("IoKindID", "'" + order.getDocType() + "'");
- content.put("ObjectId", "'" + order.getCstmr() + "'");
- content.put("ObjectName", "'" + order.getCstmrName() + "'");
- content.put("Remark", "'" + order.getMemo() + "'");
- content.put("LKName", "'涓壃'");
+ content.put("bill_no", "'" + order.getOrderNo() + "'");
+ content.put("bill_date", "'" + DateUtils.convert(new Date()) + "'");
+ if (!Cools.isEmpty(docType.getDocCode())) content.put("io_kind_id", "'" + docType.getDocCode() + "'");
+ if (!Cools.isEmpty(docType.getDocName())) content.put("io_kind_name", "'" + docType.getDocName() + "'");
+ if (!Cools.isEmpty(order.getWareId())) content.put("ware_id", "'" + order.getWareId() + "'");
+ if (!Cools.isEmpty(order.getWareName())) content.put("ware_name", "'" + order.getWareName() + "'");
+ if (!Cools.isEmpty(order.getTemp1())) content.put("temp1", "'" + order.getTemp1() + "'");
+ if (!Cools.isEmpty(order.getTemp2())) content.put("temp2", "'" + order.getTemp2() + "'");
+ if (!Cools.isEmpty(order.getTemp3())) content.put("temp3", "'" + order.getTemp3() + "'");
+ if (!Cools.isEmpty(order.getCstmr())) content.put("object_id", "'" + order.getCstmr() + "'");
+ if (!Cools.isEmpty(order.getCstmrName())) content.put("object_name", "'" + order.getCstmrName() + "'");
+ if (!Cools.isEmpty(order.getMemo())) content.put("remark", "'" + order.getMemo() + "'");
+ content.put("LKName", "'楂橀湒绔嬪簱'");
+ content.put("b_pass", "1");
int insert = erpSqlServer.insert(InHedTB.class, content);
- String sql = "UPDATE lk_InHedTB SET bPass = 1, LKName='涓壃浜屾湡' WHERE BillNo = '" + order.getOrderNo() + "'";
- int update = erpSqlServer.update(sql);
- if (update == 1) {
- log.info("鍏ュ簱鍗曡〃澶村洖浼犳垚鍔�:" + content.toString());
+ if (insert == 1) {
+ log.info("鍏ュ簱鍗曡〃澶村洖浼犳垚鍔�:" + content);
return true;
} else {
- log.error("鍏ュ簱鍗曡〃澶村洖浼犲け璐�:" + content.toString());
- return false;
+ log.error("鍏ュ簱鍗曡〃澶村洖浼犲け璐�:" + content);
+ throw new CoolException("鏈嶅姟鍣ㄥ唴閮ㄩ敊璇紝璇疯仈绯荤鐞嗗憳");
}
}
@@ -168,39 +162,25 @@
* @param orderDetl
* @return
*/
- @Transactional
+ @Transactional(rollbackFor = Throwable.class)
public boolean insertOutDet(OrderDetl orderDetl) {
- String sqlInDetTb = "select * from lk_OutDetTB where BillNo='" + orderDetl.getOrderNo() + "' and " +
- " ItemId='" + orderDetl.getMatnr() + "' and ItemBatch='" + orderDetl.getBatch() + "' and proType='" + orderDetl.getSpecs() + "'";
+ String sqlInDetTb = "select * from lk_OutDetTB where bill_no='" + orderDetl.getOrderNo() + "' and " + " item_id='" + orderDetl.getMatnr() + "' and item_batch='" + orderDetl.getBatch() + "' and pro_type='" + orderDetl.getSpecs() + "'";
List<OutDetTB> inDets = erpSqlServer.select(sqlInDetTb, OutDetTB.class);
- String sqlInDetTbBak = "select * from lk_OutDetTB_Bak where BillNo='" + orderDetl.getOrderNo() + "' and " +
- " ItemId='" + orderDetl.getMatnr() + "' and ItemBatch='" + orderDetl.getBatch() + "' and proType='" + orderDetl.getSpecs() + "'";
+ String sqlInDetTbBak = "select * from lk_OutDetTB_Bak where bill_no='" + orderDetl.getOrderNo() + "' and " + " item_id='" + orderDetl.getMatnr() + "' and item_batch='" + orderDetl.getBatch() + "' and pro_type='" + orderDetl.getSpecs() + "'";
List<OutDetTBBak> inDetBaks = erpSqlServer.select(sqlInDetTbBak, OutDetTBBak.class);
- if (inDets.size() > 0 || inDetBaks.size() > 0) {
+ if (!inDets.isEmpty() || !inDetBaks.isEmpty()) {
log.error("璇ュ崟鍙锋枡鍙蜂腑闂磋〃琛ㄨ韩宸插瓨鍦�:" + orderDetl.getOrderNo() + "==>>" + orderDetl.getOrderNo());
return true;
}
- Mat mat = matService.selectByMatnr(orderDetl.getMatnr());
- HashMap<String, Object> content = new HashMap<>();
- content.put("BillNo", "'" + orderDetl.getOrderNo() + "'");
- content.put("ItemId", "'" + orderDetl.getThreeCode() + "'");
- content.put("ItemCode", "'" + orderDetl.getMatnr() + "'");
- content.put("proType", "'" + orderDetl.getSpecs() + "'");
- content.put("remark", "'" + orderDetl.getMemo() + "'");
- content.put("OrderNo", "'" + orderDetl.getOutOrderNo() + "'");
- content.put("ItemBatch", "'" + orderDetl.getBatch() + "'");
- content.put("iNo", orderDetl.getId());
- content.put("DetId", orderDetl.getAutoId());
- content.put("MainNum", orderDetl.getQty());
- content.put("LKName", "'涓壃浜屾湡'");
- int insert = erpSqlServer.insert(InDetTB.class, content);
+ Map<String, Object> content = getMap(orderDetl);
+ int insert = erpSqlServer.insert(OutDetTB.class, content);
if (insert == 1) {
log.info("鍏ュ簱鍗曡〃韬洖浼犳垚鍔�:" + content.toString());
return true;
} else {
log.error("鍏ュ簱鍥炰紶澶辫触,瀹炰綋绫绘墦鍗�:" + content.toString());
- return false;
+ throw new CoolException("鏈嶅姟鍣ㄥ唴閮ㄩ敊璇紝璇疯仈绯荤鐞嗗憳");
}
}
@@ -211,32 +191,74 @@
* @param order
* @return
*/
- @Transactional
+ @Transactional(rollbackFor = Throwable.class)
public boolean insertOutHed(Order order) {
- String sqlInHedTb = "select * from lk_OutHedTB where LKName='涓壃浜屾湡' and BillNo='" + order.getOrderNo() + "'";
+ String sqlInHedTb = "select * from lk_OutHedTB where LKName='楂橀湒绔嬪簱' and bill_no='" + order.getOrderNo() + "'";
List<OutHedTB> outHeds = erpSqlServer.select(sqlInHedTb, OutHedTB.class);
- String sqlInHedTbBak = "select * from lk_OutHedTB_Bak where LKName='涓壃浜屾湡' and BillNo='" + order.getOrderNo() + "'";
+ String sqlInHedTbBak = "select * from lk_OutHedTB_Bak where LKName='楂橀湒绔嬪簱' and bill_no='" + order.getOrderNo() + "'";
List<OutHedTBBak> inHedBaks = erpSqlServer.select(sqlInHedTbBak, OutHedTBBak.class);
- if (outHeds.size() > 0 || inHedBaks.size() > 0) {
+ if (!outHeds.isEmpty() || !inHedBaks.isEmpty()) {
log.error("璇ュ崟鍙锋枡鍙蜂腑闂磋〃琛ㄥご宸插瓨鍦�:" + order.getOrderNo());
return true;
}
+ DocType docType = docTypeService.selectById(order.getDocType());
HashMap<String, Object> content = new HashMap<>();
- content.put("BillNo", "'" + order.getOrderNo() + "'");
- content.put("IoKindID", "'" + order.getDocType() + "'");
- content.put("ObjectId", "'" + order.getCstmr() + "'");
- content.put("ObjectName", "'" + order.getCstmrName() + "'");
- content.put("Remark", "'" + order.getMemo() + "'");
- content.put("LKName", "'涓壃'");
- int insert = erpSqlServer.insert(InHedTB.class, content);
- String sql = "UPDATE lk_InHedTB SET bPass = 1, LKName='涓壃浜屾湡' WHERE BillNo = '" + order.getOrderNo() + "'";
- int update = erpSqlServer.update(sql);
- if (update == 1) {
- log.info("鍏ュ簱鍗曡〃澶村洖浼犳垚鍔�:" + content.toString());
+ content.put("bill_no", "'" + order.getOrderNo() + "'");
+ content.put("bill_no", "'" + DateUtils.convert(new Date()) + "'");
+ if (!Cools.isEmpty(docType.getDocCode())) content.put("io_kind_id", "'" + docType.getDocCode() + "'");
+ if (!Cools.isEmpty(docType.getDocName())) content.put("io_kind_name", "'" + docType.getDocName() + "'");
+ if (!Cools.isEmpty(order.getWareId())) content.put("ware_id", "'" + order.getWareId() + "'");
+ if (!Cools.isEmpty(order.getWareName())) content.put("ware_name", "'" + order.getWareName() + "'");
+ if (!Cools.isEmpty(order.getUpdateTime())) content.put("make_date", "'" + order.getUpdateTime() + "'");
+ if (!Cools.isEmpty(order.getTemp1())) content.put("temp1", "'" + order.getTemp1() + "'");
+ if (!Cools.isEmpty(order.getTemp2())) content.put("temp2", "'" + order.getTemp2() + "'");
+ if (!Cools.isEmpty(order.getTemp3())) content.put("temp3", "'" + order.getTemp3() + "'");
+ if (!Cools.isEmpty(order.getCstmr())) content.put("object_id", "'" + order.getCstmr() + "'");
+ if (!Cools.isEmpty(order.getCstmrName())) content.put("object_name", "'" + order.getCstmrName() + "'");
+ if (!Cools.isEmpty(order.getMemo())) content.put("remark", "'" + order.getMemo() + "'");
+ content.put("LKName", "'楂橀湒绔嬪簱'");
+ content.put("b_pass", "1");
+ int insert = erpSqlServer.insert(OutHedTB.class, content);
+ if (insert == 1) {
+ log.info("鍏ュ簱鍗曡〃澶村洖浼犳垚鍔�:" + content);
return true;
} else {
- log.error("鍏ュ簱鍗曡〃澶村洖浼犲け璐�:" + content.toString());
- return false;
+ log.error("鍏ュ簱鍗曡〃澶村洖浼犲け璐�:" + content);
+ throw new CoolException("鏈嶅姟鍣ㄥ唴閮ㄩ敊璇紝璇疯仈绯荤鐞嗗憳");
}
}
+
+ private Map<String, Object> getMap(OrderDetl orderDetl) {
+ Map<String, Object> content = new HashMap<>();
+ if (!Cools.isEmpty(orderDetl.getOrderNo())) content.put("bill_no", "'" + orderDetl.getOrderNo() + "'");
+ if (!Cools.isEmpty(orderDetl.getINo())) content.put("i_no", "'" + orderDetl.getINo() + "'");
+ if (!Cools.isEmpty(orderDetl.getThreeCode())) content.put("det_id", orderDetl.getThreeCode());
+ if (!Cools.isEmpty(orderDetl.getMatnr())) content.put("item_id", "'" + orderDetl.getMatnr() + "'");
+ if (!Cools.isEmpty(orderDetl.getModel())) content.put("item_code", "'" + orderDetl.getModel() + "'");
+ if (!Cools.isEmpty(orderDetl.getBatch())) content.put("item_batch", "'" + orderDetl.getBatch() + "'");
+ if (!Cools.isEmpty(orderDetl.getProType())) content.put("pro_type", "'" + orderDetl.getProType() + "'");
+ if (!Cools.isEmpty(orderDetl.getUpdateTime())) content.put("make_date", "'" + orderDetl.getUpdateTime$() + "'");
+ if (!Cools.isEmpty(orderDetl.getMemo())) content.put("remark", "'" + orderDetl.getMemo() + "'");
+ if (!Cools.isEmpty(orderDetl.getOutOrderNo())) content.put("order_no", "'" + orderDetl.getOutOrderNo() + "'");
+ if (!Cools.isEmpty(orderDetl.getQty())) {
+ if (orderDetl.getQty() > orderDetl.getAnfme() && orderDetl.getQty() > orderDetl.getWorkQty()) {
+ log.info("淇閿欒鏁伴噺锛歿}", JSON.toJSON(orderDetl));
+ content.put("main_num", orderDetl.getWorkQty());
+ } else {
+ content.put("main_num", orderDetl.getQty());
+ }
+ }
+ if (!Cools.isEmpty(orderDetl.getWareId())) content.put("ware_id", "'" + orderDetl.getWareId() + "'");
+ if (!Cools.isEmpty(orderDetl.getWareName())) content.put("ware_name", "'" + orderDetl.getWareName() + "'");
+ if (!Cools.isEmpty(orderDetl.getPacking())) content.put("packing", "'" + orderDetl.getPacking() + "'");
+// if (!Cools.isEmpty(orderDetl.getLuHao())) content.put("LuHao", "'" + orderDetl.getLuHao() + "'");
+ if (!Cools.isEmpty(orderDetl.getSPgNO())) content.put("s_pg_no", "'" + orderDetl.getSPgNO() + "'");
+ if (!Cools.isEmpty(orderDetl.getTemp1())) content.put("temp1", "'" + orderDetl.getTemp1() + "'");
+ if (!Cools.isEmpty(orderDetl.getTemp2())) content.put("temp2", "'" + orderDetl.getTemp2() + "'");
+ if (!Cools.isEmpty(orderDetl.getTemp3())) content.put("temp3", "'" + orderDetl.getTemp3() + "'");
+ content.put("LKName", "'楂橀湒绔嬪簱'");
+ return content;
+ }
+
+
}
--
Gitblit v1.9.1