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/ErpPrdtScheduler.java | 183 ++++++++++++++++++++++++++++-----------------
1 files changed, 115 insertions(+), 68 deletions(-)
diff --git a/src/main/java/com/zy/ints/task/scheduler/ErpPrdtScheduler.java b/src/main/java/com/zy/ints/task/scheduler/ErpPrdtScheduler.java
index 3ac1b0c..7992a73 100644
--- a/src/main/java/com/zy/ints/task/scheduler/ErpPrdtScheduler.java
+++ b/src/main/java/com/zy/ints/task/scheduler/ErpPrdtScheduler.java
@@ -3,9 +3,11 @@
import com.core.common.Cools;
import com.zy.asrs.entity.Mat;
import com.zy.asrs.entity.Tag;
+import com.zy.asrs.service.ApiLogService;
import com.zy.asrs.service.MatService;
import com.zy.asrs.service.TagService;
import com.zy.ints.entity.Prdt;
+import com.zy.ints.entity.PrdtBak;
import com.zy.ints.erp.ErpSqlServer;
import lombok.extern.slf4j.Slf4j;
import org.springframework.beans.factory.annotation.Autowired;
@@ -30,93 +32,138 @@
*/
@Value("${erp.enabled}")
private Boolean erpEnabled;
+ @Value("${erp.useName.ip}")
+ private String ip;
+ @Value("${erp.enabledErpPrdt}")
+ private Boolean enabledErpPrdt;
+ @Autowired
+ private ApiLogService apiLogService;
@Autowired
private TagService tagService;
@Autowired
private ErpSqlServer erpSqlServer;
@Autowired
private MatService matService;
+
/**
* 鑾峰彇鍟嗗搧淇℃伅琛ㄨ祫鏂�
*/
@Scheduled(cron = "${erp.refreshtime}")
public void obtainPedt() {
- if (!erpEnabled) return;
- String sqlSelectPrdt = "select prd_no as prdNo,name,ut,spc,type,status from erp_prdt where 1=1";
- String sqlUpDatePrdtOne = "update erp_prdt set status=1 where prd_no=";
- String sqlUpDatePrdtTwo = "update erp_prdt set status=2 where prd_no=";
- Tag tag = tagService.selectByName("鍏ㄩ儴", 1);
+ if (!enabledErpPrdt) return;
+ String sqlSelectPrdt = "select prd_no as prdNo,name,ut,spc,status,type,temp1,temp2,temp3 from ERP_PRDT where 1=1 and temp1 is null";
+ String sqlUpDatePrdtOne = "update ERP_PRDT set status=1 where prd_no=";
+ String sqlUpDatePrdtTwo = "update ERP_PRDT set status=2 ";
+ try {
+ Tag tag = tagService.selectByName("鍏ㄩ儴", 1);
- List<Prdt> prdts = erpSqlServer.select(sqlSelectPrdt,Prdt.class);
- if (prdts.size() > 0){
- for (Prdt prdt : prdts) {
- Date date = new Date();
- if (prdt.getStatus()==0) {
- Integer type = prdt.getType();
- if (type==1){
- Mat mat = matService.selectByMatnr(prdt.getPrdNo());
- if (Cools.isEmpty(mat)){
- Mat matNew = new Mat();
- matNew.setTagId(tag.getId());
- matNew.setMatnr(prdt.getPrdNo());
- matNew.setMaktx(prdt.getName());
- matNew.setUnit(prdt.getUt());
- matNew.setSpecs(prdt.getSpc());
- matNew.setCreateBy(9999L);
- matNew.setCreateTime(date);
- matNew.setUpdateBy(9999L);
- matNew.setUpdateTime(date);
- if (matService.insert(matNew)){
- erpSqlServer.update(sqlUpDatePrdtOne+"'" + prdt.getPrdNo() + "'");
- }else {
- erpSqlServer.update(sqlUpDatePrdtTwo+"'" + prdt.getPrdNo() + "'");
+ List<Prdt> prdts = erpSqlServer.select(sqlSelectPrdt, Prdt.class);
+ if (prdts.size() > 0) {
+ for (Prdt prdt : prdts) {
+ Date date = new Date();
+ if (prdt.getStatus() == 0) {
+ Integer type = prdt.getType();
+ if (type == 1) {
+ Mat mat = matService.selectByMatnr(prdt.getPrdNo());
+ if (Cools.isEmpty(mat)) {
+ Mat matNew = new Mat();
+ matNew.setTagId(tag.getId());
+ matNew.setMatnr(prdt.getPrdNo());
+ matNew.setMaktx(prdt.getName());
+ matNew.setUnit(prdt.getUt());
+ matNew.setSpecs(prdt.getSpc());
+ matNew.setCreateBy(9999L);//9999琛ㄧずerp涓嬪彂
+ matNew.setCreateTime(date);
+ matNew.setUpdateBy(9999L);//9999琛ㄧずerp涓嬪彂
+ matNew.setUpdateTime(date);
+ if (matService.insert(matNew)) {
+ erpSqlServer.update(sqlUpDatePrdtOne + "'" + prdt.getPrdNo() + "'");
+ callApiLogSave(prdt, "ERP_PRDT", "鎺ユ敹ERP涓嬪彂鍟嗗搧淇℃伅鎴愬姛锛佹坊鍔犲晢鍝佷俊鎭垚鍔燂紒", true);
+ } else {
+ if (Cools.isEmpty(prdt.getTemp1())){
+ erpSqlServer.update(sqlUpDatePrdtTwo +",Temp1='娣诲姞ERP涓嬪彂鍟嗗搧淇℃伅澶辫触锛侊紒锛佺姸鎬佸紓甯革紒锛侊紒'"
+ + "where 1=1 " +" and PRD_NO=" + "'" + prdt.getPrdNo() + "'");
+ callApiLogSave(prdt, "ERP_PRDT", "娣诲姞ERP涓嬪彂鍟嗗搧淇℃伅澶辫触锛侊紒锛佺姸鎬佸紓甯革紒锛侊紒", false);
+ }
+ }
+ } else {
+ if (Cools.isEmpty(prdt.getTemp1())){
+ erpSqlServer.update(sqlUpDatePrdtTwo +",Temp1='鎺ユ敹ERP涓嬪彂鍟嗗搧淇℃伅澶辫触锛侊紒锛佸晢鍝佸凡瀛樺湪锛侊紒锛�'"
+ + "where 1=1 " +" and PRD_NO=" + "'" + prdt.getPrdNo() + "'");
+ callApiLogSave(prdt, "ERP_PRDT", "鎺ユ敹ERP涓嬪彂鍟嗗搧淇℃伅澶辫触锛侊紒锛佸晢鍝佸凡瀛樺湪锛侊紒锛�", false);
+ }
+ }
+ } else if (type == 2) {
+ Mat mat = matService.selectByMatnr(prdt.getPrdNo());
+ if (!Cools.isEmpty(mat)) {
+ mat.setMaktx(prdt.getName());
+ mat.setUnit(prdt.getUt());
+ mat.setSpecs(prdt.getSpc());
+ if (matService.updateById(mat)) {
+ erpSqlServer.update(sqlUpDatePrdtOne + "'" + prdt.getPrdNo() + "'");
+ callApiLogSave(prdt, "ERP_PRDT", "鎺ユ敹ERP涓嬪彂鍟嗗搧淇℃伅鎴愬姛锛佷慨鏀瑰晢鍝佷俊鎭垚鍔燂紒", true);
+ } else {
+ if (Cools.isEmpty(prdt.getTemp1())){
+ erpSqlServer.update(sqlUpDatePrdtTwo +",Temp1='鎺ユ敹ERP涓嬪彂鍟嗗搧淇℃伅澶辫触锛侊紒锛佷慨鏀瑰晢鍝佷俊鎭け璐ワ紒锛侊紒'"
+ + "where 1=1 " +" and PRD_NO=" + "'" + prdt.getPrdNo() + "'");
+ callApiLogSave(prdt, "ERP_PRDT", "鎺ユ敹ERP涓嬪彂鍟嗗搧淇℃伅澶辫触锛侊紒锛佷慨鏀瑰晢鍝佷俊鎭け璐ワ紒锛侊紒", false);
+ }
+ }
+ }
+ } else if (type == 3) {
+ Mat mat = matService.selectByMatnr(prdt.getPrdNo());
+ if (!Cools.isEmpty(mat)) {
+ if (matService.deleteById(mat.getId())) {
+ erpSqlServer.update(sqlUpDatePrdtOne + "'" + prdt.getPrdNo() + "'");
+ callApiLogSave(prdt, "ERP_PRDT", "鎺ユ敹ERP涓嬪彂鍟嗗搧淇℃伅鎴愬姛锛佸垹闄ゅ晢鍝佷俊鎭垚鍔燂紒", true);
+ } else {
+ if (Cools.isEmpty(prdt.getTemp1())){
+ erpSqlServer.update(sqlUpDatePrdtTwo +",Temp1='鎺ユ敹ERP涓嬪彂鍟嗗搧淇℃伅鎴愬姛锛佸垹闄ゅ晢鍝佷俊鎭け璐ワ紒'"
+ + "where 1=1 " +" and PRD_NO=" + "'" + prdt.getPrdNo() + "'");
+ callApiLogSave(prdt, "ERP_PRDT", "鎺ユ敹ERP涓嬪彂鍟嗗搧淇℃伅鎴愬姛锛佸垹闄ゅ晢鍝佷俊鎭け璐ワ紒", false);
+ }
+ }
+ }
+ } else {
+ if (Cools.isEmpty(prdt.getTemp1()) && Cools.isEmpty(prdt.getTemp2()) && Cools.isEmpty(prdt.getTemp3())){
+ erpSqlServer.update(sqlUpDatePrdtTwo +",Temp1='鎺ユ敹ERP涓嬪彂鍟嗗搧淇℃伅澶辫触锛侊紒锛乼ype鐘舵�佸紓甯革紒锛侊紒'"
+ + "where 1=1 " +" and PRD_NO=" + "'" + prdt.getPrdNo() + "'");
+ callApiLogSave(prdt, "ERP_PRDT", "鍟嗗搧淇℃伅鍑虹幇寮傚父璧勬枡鏈鐞嗭紒", false);
}
}
- }else if (type==2){
- Mat mat = matService.selectByMatnr(prdt.getPrdNo());
- if (!Cools.isEmpty(mat)){
- mat.setMaktx(prdt.getName());
- mat.setUnit(prdt.getUt());
- mat.setSpecs(prdt.getSpc());
- if (matService.updateById(mat)){
- erpSqlServer.update(sqlUpDatePrdtOne+"'" + prdt.getPrdNo() + "'");
- }else {
- erpSqlServer.update(sqlUpDatePrdtTwo+"'" + prdt.getPrdNo() + "'");
- }
- }
- }else if (type==3){
- Mat mat = matService.selectByMatnr(prdt.getPrdNo());
- if (!Cools.isEmpty(mat)){
- if (matService.deleteById(mat.getId())){
- erpSqlServer.update(sqlUpDatePrdtOne+"'" + prdt.getPrdNo() + "'");
- }else {
- erpSqlServer.update(sqlUpDatePrdtTwo+"'" + prdt.getPrdNo() + "'");
- }
- }
- }else {
+ } else if (prdt.getStatus() == 1) {
+ HashMap<String, Object> condition = new HashMap<>();
+ condition.put("prd_no", "'" + prdt.getPrdNo() + "'");
+ condition.put("name", "'" + prdt.getName() + "'");
+ condition.put("ut", "'" + prdt.getUt() + "'");
+ condition.put("spc", "'" + prdt.getSpc() + "'");
+ condition.put("type", "'" + prdt.getType() + "'");
+ condition.put("status", "'" + prdt.getStatus() + "'");
+ erpSqlServer.insert(PrdtBak.class, condition);
+// callApiLogSave(prdt, "erp_prdt_bak", "ERP涓嬪彂鍟嗗搧淇℃伅澶囦唤鎴愬姛锛�", true);
+ HashMap<String, String> condition2 = new HashMap<>();
+ condition2.put("prd_no", "'" + prdt.getPrdNo() + "'");
+ erpSqlServer.delete(Prdt.class, condition2);
+// callApiLogSave(prdt, "erp_prdt", "ERP涓嬪彂鍟嗗搧淇℃伅澶囦唤鍚庡垹闄ゆ垚鍔燂紒", true);
+ } else {
+ if (Cools.isEmpty(prdt.getTemp1()) && Cools.isEmpty(prdt.getTemp2()) && Cools.isEmpty(prdt.getTemp3())){
+ erpSqlServer.update(sqlUpDatePrdtTwo +",Temp1='鎺ユ敹ERP涓嬪彂鍟嗗搧淇℃伅澶辫触锛侊紒锛乻tatus鐘舵�佸紓甯革紒锛侊紒'"
+ + "where 1=1 " +" and PRD_NO=" + "'" + prdt.getPrdNo() + "'");
+ callApiLogSave(prdt, "ERP_PRDT", "鍟嗗搧淇℃伅鍑虹幇寮傚父璧勬枡鏈鐞嗭紒", false);
+ }
}
- }else if (prdt.getStatus()==1){
-// HashMap<String, Object> condition = new HashMap<>();
-// condition.put("prd_no","'" + prdt.getPrdNo() + "'");
-// condition.put("name","'" + prdt.getName() + "'");
-// condition.put("ut","'" + prdt.getUt() + "'");
-// condition.put("spc","'" + prdt.getSpc() + "'");
-// condition.put("type","'" + prdt.getType() + "'");
-// condition.put("status","'" + prdt.getStatus() + "'");
-// erpSqlServer.insert(Prdt.class, condition);
-//
-// HashMap<String, String> condition2 = new HashMap<>();
-// condition2.put("prd_no","'" + prdt.getPrdNo() + "'");
-// erpSqlServer.delete(Prdt.class,condition2);
- }else if (prdt.getStatus()==2){
-
- }else {
-
}
-
}
+ } catch (Exception e) {
+ Date date = new Date();
+ log.error(date + ": 琛ㄥ悕锛欵RP_PRDT :" + e);
}
+ }
+ public void callApiLogSave(Prdt prdt, String tableName, String response, Boolean bool) {
+ apiLogService.save("ERP涓嬪彂鍟嗗搧淇℃伅", tableName, "null", ip,
+ "鍝佸彿锛�" + prdt.getPrdNo() + "銆佸搧鍚嶏細" + prdt.getName() + "銆佺被鍨嬶細" + prdt.getType() + "銆佺姸鎬侊細" + prdt.getStatus$(),
+ response, bool);
}
}
--
Gitblit v1.9.1