From d8c9b9afb41c368a08d7e05d0f624c98bf72042a Mon Sep 17 00:00:00 2001 From: lty <876263681@qq.com> Date: 星期五, 06 六月 2025 11:18:56 +0800 Subject: [PATCH] # --- src/main/java/com/zy/third/erp/task/ERPOutHedTBScheduler.java | 98 ++++++++++++++++++++++++++++++++++++------------ 1 files changed, 73 insertions(+), 25 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 06099e3..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,10 +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.InDetTB; -import com.zy.third.erp.entity.InHedTB; +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; @@ -16,6 +19,7 @@ /** * 鍏ュ簱鍗曟嵁 */ +@Slf4j @Component public class ERPOutHedTBScheduler { @@ -24,50 +28,94 @@ @Autowired - private ERPInOrOutTBSchedulerMS inMS; + private ERPInOrOutService inMS; @Autowired private ErpSqlServer erpSqlServer; + + //@Transactional(rollbackFor = Throwable.class) @Scheduled(cron = "${erp.refreshtime}") - public void ItemScheduler() { + @Async("orderThreadPool") + public void OutHedTBScheduler() { + //log.info("OutHedTBScheduler寮�濮嬩簡"); if (!erpEnabled) return; - String sqlInHed = "select * from erp_OutHedTB where LKName='涓壃浜屾湡'"; - List<InHedTB> inHeds = erpSqlServer.select(sqlInHed, InHedTB.class); - if (inHeds.size() > 0) { - for (InHedTB inHed : inHeds) { + String sqlInHed = "select * from erp_OutHedTB where LKName='楂橀湒绔嬪簱'"; + 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<InDetTB> inDetTBS = erpSqlServer.selectList(InDetTB.class, condition); + 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); - boolean result = inMS.createOrder(inHed, inDetTBS); - if (result) { + if (inDetTBS == null || inDetTBS.isEmpty()) { + continue; + } + 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); +// } } } } - @Transactional + + 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); + 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); +// + } + } + } + } + + @Transactional(rollbackFor = Throwable.class) public void move(HashMap<String, Object> hedAndDet) { - InHedTB hed = (InHedTB) hedAndDet.get("hed"); - ArrayList<InDetTB> dets = (ArrayList<InDetTB>) hedAndDet.get("det"); + 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() + "'"); - erpSqlServer.delete(InHedTB.class, condition); - - for (InDetTB det : dets) { + 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())); - erpSqlServer.delete(InDetTB.class, condition2); - + condition2.put("bill_no", "'" + det.getBillNo() + "'"); + condition2.put("i_no", String.valueOf(det.getINO())); + erpSqlServer.delete(OutDetTB.class, condition2); } } -- Gitblit v1.9.1