From 2d68b0241edf83823bedba2392b81c9f0957a7d3 Mon Sep 17 00:00:00 2001 From: lty <876263681@qq.com> Date: 星期三, 21 五月 2025 16:43:09 +0800 Subject: [PATCH] Merge remote-tracking branch 'origin/tzglasrs' into tzglasrs --- src/main/java/com/zy/third/erp/task/ERPOutHedTBScheduler.java | 64 +++++++++++++++++++++++++++----- 1 files changed, 54 insertions(+), 10 deletions(-) diff --git a/src/main/java/com/zy/third/erp/task/ERPOutHedTBScheduler.java b/src/main/java/com/zy/third/erp/task/ERPOutHedTBScheduler.java index c1de539..abe3b38 100644 --- a/src/main/java/com/zy/third/erp/task/ERPOutHedTBScheduler.java +++ b/src/main/java/com/zy/third/erp/task/ERPOutHedTBScheduler.java @@ -1,11 +1,13 @@ package com.zy.third.erp.task; +import com.core.common.Cools; import com.zy.common.service.erp.ErpSqlServer; import com.zy.third.erp.entity.OutDetTB; import com.zy.third.erp.entity.OutHedTB; import lombok.extern.slf4j.Slf4j; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.beans.factory.annotation.Value; +import org.springframework.scheduling.annotation.Async; import org.springframework.scheduling.annotation.Scheduled; import org.springframework.stereotype.Component; import org.springframework.transaction.annotation.Transactional; @@ -33,28 +35,70 @@ private ErpSqlServer erpSqlServer; - @Transactional(rollbackFor = Throwable.class) + //@Transactional(rollbackFor = Throwable.class) @Scheduled(cron = "${erp.refreshtime}") + @Async("orderThreadPool") public void OutHedTBScheduler() { //log.info("OutHedTBScheduler寮�濮嬩簡"); if (!erpEnabled) return; - String sqlInHed = "select * from erp_OutHedTB where LKName='涓壃浜屾湡'"; + String sqlInHed = "select * from erp_OutHedTB where LKName='楂橀湒绔嬪簱'"; List<OutHedTB> inHeds = erpSqlServer.select(sqlInHed, OutHedTB.class); if (!inHeds.isEmpty()) { for (OutHedTB inHed : inHeds) { - System.out.println(inHed); + if (!Cools.isEmpty(inHed.getTemp3()) && inHed.getTemp3().equals("fault")) { + //continue; + } + HashMap<String, String> condition = new HashMap<>(); + condition.put("bill_no", "'" + inHed.getBillNo() + "'"); + List<OutDetTB> inDetTBS = erpSqlServer.selectList(OutDetTB.class, condition); + HashMap<String, Object> hedAndDet = new HashMap<>(); + hedAndDet.put("hed", inHed); + hedAndDet.put("det", inDetTBS); + if (inDetTBS == null || inDetTBS.isEmpty()) { + continue; + } + try { + inMS.createOutOrder(inHed, inDetTBS); + log.info("鍑哄簱鍗曟嵁鎴愬姛,{}", inHed); + move(hedAndDet); + } catch (Exception e) { + log.info(e.getMessage()); +// e.printStackTrace(); + String sql = "UPDATE erp_OutHedTB SET Temp3 = 'fault' WHERE BillNo = '" + inHed.getBillNo() + "'"; + erpSqlServer.update(sql); +// + } + } + } + } + + + public void OutHedTBScheduler(String orderNo) { + //log.info("OutHedTBScheduler寮�濮嬩簡"); + if (!erpEnabled) return; + String sqlInHed = "select * from erp_OutHedTB where LKName='楂橀湒绔嬪簱' and BillNo = '" + orderNo + "'"; + List<OutHedTB> inHeds = erpSqlServer.select(sqlInHed, OutHedTB.class); + if (!inHeds.isEmpty()) { + for (OutHedTB inHed : inHeds) { + if (!Cools.isEmpty(inHed.getTemp3()) && inHed.getTemp3().equals("fault")) { + //continue; + } HashMap<String, String> condition = new HashMap<>(); condition.put("BillNo", "'" + inHed.getBillNo() + "'"); List<OutDetTB> inDetTBS = erpSqlServer.selectList(OutDetTB.class, condition); HashMap<String, Object> hedAndDet = new HashMap<>(); hedAndDet.put("hed", inHed); hedAndDet.put("det", inDetTBS); - boolean result = inMS.createOutOrder(inHed, inDetTBS); - if (result) { + try { + inMS.createOutOrder(inHed, inDetTBS); + log.info("鍑哄簱鍗曟嵁鎴愬姛,{}", inHed); move(hedAndDet); - } else { - String sql = "UPDATE erp_OutHedTB SET Temp3 = 鈥榝ault鈥� WHERE BillNo = '" + inHed.getBillNo() + "'"; + } catch (Exception e) { + log.info(e.getMessage()); +// e.printStackTrace(); + String sql = "UPDATE erp_OutHedTB SET Temp3 = 'fault' WHERE BillNo = '" + inHed.getBillNo() + "'"; erpSqlServer.update(sql); +// } } } @@ -65,12 +109,12 @@ OutHedTB hed = (OutHedTB) hedAndDet.get("hed"); ArrayList<OutDetTB> dets = (ArrayList<OutDetTB>) hedAndDet.get("det"); HashMap<String, String> condition = new HashMap<>(); - condition.put("BillNo", "'" + hed.getBillNo() + "'"); + condition.put("bill_no", "'" + hed.getBillNo() + "'"); erpSqlServer.delete(OutHedTB.class, condition); for (OutDetTB det : dets) { HashMap<String, String> condition2 = new HashMap<>(); - condition2.put("BillNo", "'" + det.getBillNo() + "'"); - condition2.put("iNo", String.valueOf(det.getINO())); + condition2.put("bill_no", "'" + det.getBillNo() + "'"); + condition2.put("i_no", String.valueOf(det.getINO())); erpSqlServer.delete(OutDetTB.class, condition2); } -- Gitblit v1.9.1