From 48db618606f0f0cafd1ce795f8bf26a0bcec2581 Mon Sep 17 00:00:00 2001 From: zhangchao <zc857179121@qq.com> Date: 星期六, 20 七月 2024 07:56:54 +0800 Subject: [PATCH] Merge remote-tracking branch 'origin/xgmFlasrs' into xgmFlasrs --- src/main/java/com/zy/third/erp/task/ERPOutHedTBScheduler.java | 78 +++++++++++++++++++++++++++++++++++++++ 1 files changed, 78 insertions(+), 0 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 new file mode 100644 index 0000000..ad54500 --- /dev/null +++ b/src/main/java/com/zy/third/erp/task/ERPOutHedTBScheduler.java @@ -0,0 +1,78 @@ +package com.zy.third.erp.task; + +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.Scheduled; +import org.springframework.stereotype.Component; +import org.springframework.transaction.annotation.Transactional; + +import java.util.ArrayList; +import java.util.HashMap; +import java.util.List; + +/** + * 鍏ュ簱鍗曟嵁 + */ +@Slf4j +@Component +public class ERPOutHedTBScheduler { + + @Value("${erp.enabled}") + private Boolean erpEnabled; + + + @Autowired + private ERPInOrOutService inMS; + + + @Autowired + private ErpSqlServer erpSqlServer; + + + @Transactional(rollbackFor = Throwable.class) + @Scheduled(cron = "${erp.refreshtime}") + public void OutHedTBScheduler() { + log.info("OutHedTBScheduler寮�濮嬩簡"); + if (!erpEnabled) return; + 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); + 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) { + move(hedAndDet); + } else { + String sql = "UPDATE erp_OutHedTB SET Temp3 = 鈥榝ault鈥� WHERE BillNo = '" + inHed.getBillNo() + "'"; + erpSqlServer.update(sql); + } + } + } + } + + @Transactional(rollbackFor = Throwable.class) + public void move(HashMap<String, Object> hedAndDet) { + 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(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(OutDetTB.class, condition2); + } + + } +} -- Gitblit v1.9.1