From 1b188bf36d999590af33cf4a7463fc5e1aa73757 Mon Sep 17 00:00:00 2001 From: LSH Date: 星期三, 15 二月 2023 12:41:31 +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..fa38275 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 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