From fc24c266d88751bc431b5d61c05c0c388d9f0350 Mon Sep 17 00:00:00 2001
From: LSH
Date: 星期四, 01 六月 2023 16:14:58 +0800
Subject: [PATCH] #
---
src/main/java/com/zy/ints/task/scheduler/LkDetTbScheduler.java | 129 ++++++++++++++++++++++++++++++++++++++----
1 files changed, 115 insertions(+), 14 deletions(-)
diff --git a/src/main/java/com/zy/ints/task/scheduler/LkDetTbScheduler.java b/src/main/java/com/zy/ints/task/scheduler/LkDetTbScheduler.java
index c2bd126..2c347f3 100644
--- a/src/main/java/com/zy/ints/task/scheduler/LkDetTbScheduler.java
+++ b/src/main/java/com/zy/ints/task/scheduler/LkDetTbScheduler.java
@@ -1,6 +1,16 @@
package com.zy.ints.task.scheduler;
+import com.baomidou.mybatisplus.mapper.EntityWrapper;
+import com.core.common.Cools;
+import com.zy.asrs.entity.DocType;
+import com.zy.asrs.entity.Order;
+import com.zy.asrs.entity.OrderDetl;
+import com.zy.asrs.service.ApiLogService;
+import com.zy.asrs.service.DocTypeService;
+import com.zy.asrs.service.OrderDetlService;
+import com.zy.asrs.service.OrderService;
import com.zy.ints.entity.LkDetTb;
+import com.zy.ints.entity.LkDetTbBak;
import com.zy.ints.erp.ErpSqlServer;
import lombok.extern.slf4j.Slf4j;
import org.springframework.beans.factory.annotation.Autowired;
@@ -8,6 +18,9 @@
import org.springframework.scheduling.annotation.Scheduled;
import org.springframework.stereotype.Component;
+import java.text.SimpleDateFormat;
+import java.util.Date;
+import java.util.HashMap;
import java.util.List;
/**
@@ -22,36 +35,124 @@
*/
@Value("${erp.enabled}")
private Boolean erpEnabled;
+ @Value("${erp.useName.ip}")
+ private String ip;
+ @Autowired
+ private ApiLogService apiLogService;
@Autowired
private ErpSqlServer erpSqlServer;
+ @Autowired
+ private OrderService orderService;
+ @Autowired
+ private OrderDetlService orderDetlService;
+ @Autowired
+ private DocTypeService docTypeService;
+
/**
* 涓婃姤鍏ュ嚭搴撳畬缁撹鍗曚俊鎭�
*/
@Scheduled(cron = "${erp.refreshtime}")
- public void InOrOutOrder() {
+ public void reportOrder() {
if (!erpEnabled) return;
String sqlSelectLkDetTb = "select bill_no as billNo,prd_no as prdNo,iokindid,add_id as addId,qty,prd_mark as prdMark,wh,billdate,status,temp1,temp2,temp3 from lk_det_tb where 1=1";
- String sqlUpDateLkDetTbOne = "update lk_det_tb set status=1 where prd_no=";
- String sqlUpDateLkDetTbTwo = "update lk_det_tb set status=2 where prd_no=";
+ String sqlSelectLkDetTbBak = "select bill_no as billNo,prd_no as prdNo,iokindid,add_id as addId,qty,prd_mark as prdMark,wh,billdate,status,temp1,temp2,temp3 from lk_det_tb_bak where 1=1";
try {
- List<LkDetTb> lkDetTbs = erpSqlServer.select(sqlSelectLkDetTb, LkDetTb.class);
- if (lkDetTbs.size() > 0){
- for (LkDetTb lkDetTb:lkDetTbs){
- Integer status = lkDetTb.getStatus();
- if (status == 0){
+ List<Order> orders = orderService.selectList(new EntityWrapper<Order>().eq("settle", 4L));
+ if (orders.size() > 0) {
+ for (Order order : orders) {
+ List<OrderDetl> orderDetls = orderDetlService.selectByOrderId(order.getId());
+ if (!Cools.isEmpty(orderDetls)) {
+ for (OrderDetl orderDetl : orderDetls) {
+ Date now = new Date();
+ List<LkDetTb> lkDetTbs = erpSqlServer.select(sqlSelectLkDetTb +
+ " and bill_no='" + orderDetl.getOrderNo() + "'" +
+ " and prd_no='" + orderDetl.getMatnr() + "'" +
+ " and prd_mark='" + orderDetl.getBatch() + "'"
+ , LkDetTb.class);
+ List<LkDetTbBak> lkDetTbBaks = erpSqlServer.select(sqlSelectLkDetTbBak +
+ " and bill_no='" + orderDetl.getOrderNo() + "'" +
+ " and prd_no='" + orderDetl.getMatnr() + "'" +
+ " and prd_mark='" + orderDetl.getBatch() + "'"
+ , LkDetTbBak.class);
+ if (lkDetTbs.size() == 1) {
+ callApiLogSaveLkDetTb(lkDetTbs.get(0), "erp_det_tb", "宸茬粡涓婃姤浣嗘槸鏄庣粏渚濇棫瀛樺湪锛岃鑱旂郴寮�鍙戜汉鍛橈紒锛侊紒", false);
+ continue;
+ } else if (lkDetTbBaks.size() == 1) {
+ callApiLogSaveLkDetTbBak(lkDetTbBaks.get(0), "erp_det_tb_bak", "宸茬粡涓婃姤浣嗘槸鏄庣粏渚濇棫瀛樺湪锛岃鑱旂郴寮�鍙戜汉鍛橈紒锛侊紒", false);
+ continue;
+ } else if (lkDetTbs.size() > 1) {
+ callApiLogSaveLkDetTb(lkDetTbs.get(0), "erp_det_tb", "瀛樺湪閲嶅璧勬枡锛岃仈绯诲紑鍙戜汉鍛橈紒锛侊紒", false);
+ continue;
+ } else if (lkDetTbBaks.size() > 1) {
+ callApiLogSaveLkDetTbBak(lkDetTbBaks.get(0), "erp_det_tb_bak", "瀛樺湪閲嶅璧勬枡锛岃仈绯诲紑鍙戜汉鍛橈紒锛侊紒", false);
+ continue;
+ } else {
+ String format = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss").format(now);
+ HashMap<String, Object> condition = new HashMap<>();
+ condition.put("bill_no", "'" + orderDetl.getOrderNo() + "'");
+ condition.put("prd_no", "'" + orderDetl.getMatnr() + "'");
- }else if (status == 1){
+ DocType docType = docTypeService.selectById(order.getDocType());
+ if (!Cools.isEmpty(docType)) {
+ int addid = docType.getPakin() == 1 ? 1 : 2;
+ condition.put("iokindid", "'" + docType.getDocName$() + "'");
+ condition.put("add_id", "'" + addid + "'");
+ }
- }else if (status == 2){
-
- }else {
-
+ condition.put("qty", "'" + orderDetl.getQty() + "'");
+ condition.put("prd_mark", "'" + orderDetl.getBatch() + "'");
+ condition.put("wh", "'" + orderDetl.getMemo() + "'");
+ condition.put("billdate", "'" + format + "'");
+ condition.put("status", "'" + 0 + "'");
+ erpSqlServer.insert(LkDetTb.class, condition);
+ callApiLogSaveOrderDetl(orderDetl, "瀹岀粨璁㈠崟鏄庣粏涓婃姤瀹屾垚", true);
+ }
+ //淇濆瓨璁㈠崟鏄庣粏鍘嗗彶妗�
+ if (orderDetlService.addToLogTable(orderDetl)) {
+// callApiLogSaveOrderDetl(orderDetl, "淇濆瓨璁㈠崟鏄庣粏鍘嗗彶妗f垚鍔燂紒", true);
+ //鍒犻櫎璁㈠崟鏄庣粏
+ orderDetlService.deleteById(orderDetl.getId());
+ callApiLogSaveOrderDetl(orderDetl, "璁㈠崟鏄庣粏妗d繚瀛樺悗鍒犻櫎鎴愬姛锛�", true);
+ }
+ }
+ //淇濆瓨璁㈠崟鍘嗗彶妗�
+ if (orderService.addToLogTable(order)) {
+// callApiLogSaveOrder(order, "瀹岀粨璁㈠崟涓婃姤瀹屾垚锛屽苟淇濆瓨璁㈠崟鍘嗗彶妗f垚鍔燂紒锛侊紒", true);
+ //鍒犻櫎瀹岀粨璁㈠崟
+ orderService.deleteById(order.getId());
+ callApiLogSaveOrder(order, "瀹岀粨璁㈠崟涓婃姤瀹屾垚锛屽苟淇濆瓨璁㈠崟鍘嗗彶妗e悗鍒犻櫎瀹岀粨璁㈠崟鎴愬姛锛侊紒锛�", true);
+ }
}
}
}
- }catch (Exception e){
+ } catch (Exception e) {
+ Date date = new Date();
+ log.error(date + ": 琛ㄥ悕锛歭k_det_tb :" + e);
}
}
+
+ public void callApiLogSaveLkDetTb(LkDetTb lkDetTb, String tableName, String response, Boolean bool) {
+ apiLogService.save("涓婃姤瀹岀粨璁㈠崟鏄庣粏淇℃伅", tableName, "null", ip,
+ "璁㈠崟鍙凤細" + lkDetTb.getBillNo() + "銆佸搧鍙凤細" + lkDetTb.getPrdNo() + "銆佽揣鍝佺壒寰侊細" + lkDetTb.getPrdMark() + "銆佺姸鎬侊細" + lkDetTb.getStatus$(),
+ response, bool);
+ }
+
+ public void callApiLogSaveLkDetTbBak(LkDetTbBak lkDetTbBak, String tableName, String response, Boolean bool) {
+ apiLogService.save("涓婃姤瀹岀粨璁㈠崟鏄庣粏淇℃伅", tableName, "null", ip,
+ "璁㈠崟鍙凤細" + lkDetTbBak.getBillNo() + "銆佸搧鍙凤細" + lkDetTbBak.getPrdNo() + "銆佽揣鍝佺壒寰侊細" + lkDetTbBak.getPrdMark() + "銆佺姸鎬侊細" + lkDetTbBak.getStatus$(),
+ response, bool);
+ }
+
+ public void callApiLogSaveOrderDetl(OrderDetl orderDetl, String response, Boolean bool) {
+ apiLogService.save("涓婃姤瀹岀粨璁㈠崟鏄庣粏淇℃伅", "lk_det_tb", "null", ip,
+ "璁㈠崟鍙凤細" + orderDetl.getOrderNo() + "銆佸搧鍙凤細" + orderDetl.getMatnr() + "銆佽揣鍝佺壒寰侊細" + orderDetl.getBatch(),
+ response, bool);
+ }
+
+ public void callApiLogSaveOrder(Order order, String response, Boolean bool) {
+ apiLogService.save("瀹岀粨璁㈠崟淇℃伅涓婃姤瀹屾垚", "lk_det_tb", "null", ip,
+ "璁㈠崟鍙凤細" + order.getOrderNo(), response, bool);
+ }
}
--
Gitblit v1.9.1