From 695b1ff891c617db7a03488d11e0ff0bc917b2c5 Mon Sep 17 00:00:00 2001
From: 18516761980 <tqsxp@163.com>
Date: 星期三, 15 二月 2023 14:31:46 +0800
Subject: [PATCH] Merge remote-tracking branch 'aliyun/lfdasrs' into lfdasrs
---
src/main/java/com/zy/ints/entity/PrdtBak.java | 20 ++++++
src/main/java/com/zy/asrs/service/impl/WorkServiceImpl.java | 24 ++++++-
src/main/java/com/zy/ints/entity/Prdt.java | 27 ++++++--
src/main/resources/application.yml | 1
src/main/java/com/zy/ints/task/scheduler/ErpPrdtScheduler.java | 70 +++++++++++++++--------
5 files changed, 106 insertions(+), 36 deletions(-)
diff --git a/src/main/java/com/zy/asrs/service/impl/WorkServiceImpl.java b/src/main/java/com/zy/asrs/service/impl/WorkServiceImpl.java
index fe07b72..c5b55e0 100644
--- a/src/main/java/com/zy/asrs/service/impl/WorkServiceImpl.java
+++ b/src/main/java/com/zy/asrs/service/impl/WorkServiceImpl.java
@@ -168,8 +168,13 @@
}
}
if (!locDetlDtos.isEmpty()) {
- // 鍚姩鍑哄簱寮�濮� 101.鍑哄簱
- stockOut(staNo, locDetlDtos, null, userId);
+ LocMast locMast = locMastService.selectOne(new EntityWrapper<LocMast>().eq("loc_no", locDetlDtos.get(0).getLocDetl().getLocNo()));
+ if (locMast.getLocSts().equals("F") || locMast.getLocSts().equals("D") ){
+ // 鍚姩鍑哄簱寮�濮� 101.鍑哄簱
+ stockOut(staNo, locDetlDtos, null, userId);
+ }else {
+ throw new CoolException("鎵�閫夊簱浣嶅瓨鍦ㄧ姸鎬佷笉涓篎銆丏鐨勫簱浣嶏紝搴撲綅鍙凤細"+locMast.getLocNo()+" 銆佸綋鍓嶇姸鎬侊細"+locMast.getLocSts()+"-"+locMast.getLocSts$());
+ }
} else {
throw new CoolException("搴撳瓨涓嶅瓨鍦�");
}
@@ -431,6 +436,9 @@
if (Cools.isEmpty(locMast)) {
throw new CoolException(locNo+"搴撲綅涓嶅瓨鍦�");
}
+ if (!locMast.getLocSts().equals("D")){
+ throw new CoolException("鎵�閫夊簱浣嶅瓨鍦ㄧ姸鎬佷笉涓篋鐨勫簱浣嶏紝搴撲綅鍙凤細"+locMast.getLocNo()+" 銆佸綋鍓嶇姸鎬侊細"+locMast.getLocSts()+"-"+locMast.getLocSts$());
+ }
// 鑾峰彇婧愮珯
Wrapper<StaDesc> wrapper = new EntityWrapper<StaDesc>()
.eq("type_no", 110)
@@ -556,8 +564,13 @@
}
}
if (!locDetlDtos.isEmpty()) {
- // 鍚姩鍑哄簱寮�濮� 107.鐩樼偣鍑哄簱
- stockOut(staNo, locDetlDtos, IoWorkType.CHECK_OUT, userId);
+ LocMast locMast = locMastService.selectOne(new EntityWrapper<LocMast>().eq("loc_no", locDetlDtos.get(0).getLocDetl().getLocNo()));
+ if (locMast.getLocSts().equals("F")){
+ // 鍚姩鍑哄簱寮�濮� 107.鐩樼偣鍑哄簱
+ stockOut(staNo, locDetlDtos, IoWorkType.CHECK_OUT, userId);
+ }else {
+ throw new CoolException("鎵�閫夊簱浣嶅瓨鍦ㄧ姸鎬佷笉涓篎鐨勫簱浣嶏紝搴撲綅鍙凤細"+locMast.getLocNo()+" 銆佸綋鍓嶇姸鎬侊細"+locMast.getLocSts()+"-"+locMast.getLocSts$());
+ }
} else {
throw new CoolException("搴撲綅鐗╂枡涓嶅瓨鍦�");
}
@@ -575,6 +588,9 @@
if (Cools.isEmpty(loc)){
throw new CoolException("鏈壘鍒板簱浣�");
}
+ if (!loc.getLocSts().equals("O") || (!sourceLoc.getLocSts().equals("F") && !sourceLoc.getLocSts().equals("D"))){
+ throw new CoolException("搴撲綅鐘舵�佸凡鏀瑰彉");
+ }
if (!sourceLoc.getCrnNo().equals(loc.getCrnNo())) {
throw new CoolException("绉昏浆搴撲綅灞炰簬涓嶅悓鍫嗗灈鏈�");
}
diff --git a/src/main/java/com/zy/ints/entity/Prdt.java b/src/main/java/com/zy/ints/entity/Prdt.java
index 6c3d851..46515f3 100644
--- a/src/main/java/com/zy/ints/entity/Prdt.java
+++ b/src/main/java/com/zy/ints/entity/Prdt.java
@@ -11,7 +11,7 @@
import java.io.Serializable;
@Data
-@TableName("PRDT")
+@TableName("ERP_PRDT")
public class Prdt implements Serializable {
private static final long serialVersionUID = 1L;
@@ -21,44 +21,57 @@
*/
@ApiModelProperty(value = "鍝佸彿")
@TableId(value = "prd_no", type = IdType.INPUT)
- @TableField("PRD_NO")
+ @TableField("prd_no")
private String prdNo;
/**
* 鍝佸悕
*/
@ApiModelProperty(value = "鍝佸悕")
- @TableField("NAME")
private String name;
/**
* 鍗曚綅
*/
@ApiModelProperty(value = "鍗曚綅")
- @TableField("UT")
private String ut;
/**
* 瑙勬牸
*/
@ApiModelProperty(value = "瑙勬牸")
- @TableField("SPC")
private String spc;
/**
* 绫诲瀷
*/
@ApiModelProperty(value = "绫诲瀷")
- @TableField("TYPE")
private Integer type;
/**
* 鐘舵��
*/
@ApiModelProperty(value = "鐘舵��")
- @TableField("STATUS")
private Integer status;
+ /**
+ * 澶囩敤瀛楁1
+ */
+ @ApiModelProperty(value = "澶囩敤瀛楁1")
+ private String temp1;
+
+ /**
+ * 澶囩敤瀛楁2
+ */
+ @ApiModelProperty(value = "澶囩敤瀛楁2")
+ private String temp2;
+
+ /**
+ * 澶囩敤瀛楁3
+ */
+ @ApiModelProperty(value = "澶囩敤瀛楁3")
+ private String temp3;
+
public Prdt() {
}
diff --git a/src/main/java/com/zy/ints/entity/PrdtBak.java b/src/main/java/com/zy/ints/entity/PrdtBak.java
index 72cb63c..fc7228b 100644
--- a/src/main/java/com/zy/ints/entity/PrdtBak.java
+++ b/src/main/java/com/zy/ints/entity/PrdtBak.java
@@ -10,7 +10,7 @@
import java.io.Serializable;
@Data
-@TableName("erp_prdt_bak")
+@TableName("ERP_PRDT_BAK")
public class PrdtBak implements Serializable {
private static final long serialVersionUID = 1L;
@@ -53,6 +53,24 @@
@ApiModelProperty(value = "鐘舵��")
private Integer status;
+ /**
+ * 澶囩敤瀛楁1
+ */
+ @ApiModelProperty(value = "澶囩敤瀛楁1")
+ private String temp1;
+
+ /**
+ * 澶囩敤瀛楁2
+ */
+ @ApiModelProperty(value = "澶囩敤瀛楁2")
+ private String temp2;
+
+ /**
+ * 澶囩敤瀛楁3
+ */
+ @ApiModelProperty(value = "澶囩敤瀛楁3")
+ private String temp3;
+
public PrdtBak() {
}
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 76402f3..fa38275 100644
--- a/src/main/java/com/zy/ints/task/scheduler/ErpPrdtScheduler.java
+++ b/src/main/java/com/zy/ints/task/scheduler/ErpPrdtScheduler.java
@@ -34,6 +34,8 @@
private Boolean erpEnabled;
@Value("${erp.useName.ip}")
private String ip;
+ @Value("${erp.enabledErpPrdt}")
+ private Boolean enabledErpPrdt;
@Autowired
private ApiLogService apiLogService;
@Autowired
@@ -48,10 +50,10 @@
*/
@Scheduled(cron = "${erp.refreshtime}")
public void obtainPedt() {
- if (!erpEnabled) return;
- String sqlSelectPrdt = "select PRD_NO as prdNo,NAME as name,UT as ut,SPC as spc from PRDT where 1=1";
- String sqlUpDatePrdtOne = "update PRDT set STATUS=1 where PRD_NO=";
- String sqlUpDatePrdtTwo = "update PRDT set STATUS=2 where PRD_NO=";
+ 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);
@@ -76,14 +78,20 @@
matNew.setUpdateTime(date);
if (matService.insert(matNew)) {
erpSqlServer.update(sqlUpDatePrdtOne + "'" + prdt.getPrdNo() + "'");
- callApiLogSave(prdt, "PRDT", "鎺ユ敹ERP涓嬪彂鍟嗗搧淇℃伅鎴愬姛锛佹坊鍔犲晢鍝佷俊鎭垚鍔燂紒", true);
+ callApiLogSave(prdt, "ERP_PRDT", "鎺ユ敹ERP涓嬪彂鍟嗗搧淇℃伅鎴愬姛锛佹坊鍔犲晢鍝佷俊鎭垚鍔燂紒", true);
} else {
- erpSqlServer.update(sqlUpDatePrdtTwo + "'" + prdt.getPrdNo() + "'");
- callApiLogSave(prdt, "PRDT", "鎺ユ敹ERP涓嬪彂鍟嗗搧淇℃伅澶辫触锛侊紒锛佹坊鍔犲晢鍝佷俊鎭け璐ワ紒锛侊紒", false);
+ 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 {
- erpSqlServer.update(sqlUpDatePrdtTwo + "'" + prdt.getPrdNo() + "'");
- callApiLogSave(prdt, "PRDT", "鎺ユ敹ERP涓嬪彂鍟嗗搧淇℃伅澶辫触锛侊紒锛佸晢鍝佸凡瀛樺湪锛侊紒锛�", false);
+ 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());
@@ -93,10 +101,13 @@
mat.setSpecs(prdt.getSpc());
if (matService.updateById(mat)) {
erpSqlServer.update(sqlUpDatePrdtOne + "'" + prdt.getPrdNo() + "'");
- callApiLogSave(prdt, "PRDT", "鎺ユ敹ERP涓嬪彂鍟嗗搧淇℃伅鎴愬姛锛佷慨鏀瑰晢鍝佷俊鎭垚鍔燂紒", true);
+ callApiLogSave(prdt, "ERP_PRDT", "鎺ユ敹ERP涓嬪彂鍟嗗搧淇℃伅鎴愬姛锛佷慨鏀瑰晢鍝佷俊鎭垚鍔燂紒", true);
} else {
- erpSqlServer.update(sqlUpDatePrdtTwo + "'" + prdt.getPrdNo() + "'");
- callApiLogSave(prdt, "PRDT", "鎺ユ敹ERP涓嬪彂鍟嗗搧淇℃伅澶辫触锛侊紒锛佷慨鏀瑰晢鍝佷俊鎭け璐ワ紒锛侊紒", false);
+ 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) {
@@ -104,23 +115,30 @@
if (!Cools.isEmpty(mat)) {
if (matService.deleteById(mat.getId())) {
erpSqlServer.update(sqlUpDatePrdtOne + "'" + prdt.getPrdNo() + "'");
- callApiLogSave(prdt, "PRDT", "鎺ユ敹ERP涓嬪彂鍟嗗搧淇℃伅鎴愬姛锛佸垹闄ゅ晢鍝佷俊鎭垚鍔燂紒", true);
+ callApiLogSave(prdt, "ERP_PRDT", "鎺ユ敹ERP涓嬪彂鍟嗗搧淇℃伅鎴愬姛锛佸垹闄ゅ晢鍝佷俊鎭垚鍔燂紒", true);
} else {
- erpSqlServer.update(sqlUpDatePrdtTwo + "'" + prdt.getPrdNo() + "'");
- callApiLogSave(prdt, "PRDT", "鎺ユ敹ERP涓嬪彂鍟嗗搧淇℃伅鎴愬姛锛佸垹闄ゅ晢鍝佷俊鎭け璐ワ紒", false);
+ 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 {
- callApiLogSave(prdt, "PRDT", "鍟嗗搧淇℃伅鍑虹幇寮傚父璧勬枡鏈鐞嗭紒", false);
+ 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 (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() + "'");
+ 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);
@@ -129,13 +147,17 @@
erpSqlServer.delete(Prdt.class, condition2);
// callApiLogSave(prdt, "erp_prdt", "ERP涓嬪彂鍟嗗搧淇℃伅澶囦唤鍚庡垹闄ゆ垚鍔燂紒", true);
} else {
- callApiLogSave(prdt, "PRDT", "鍟嗗搧淇℃伅鍑虹幇寮傚父璧勬枡鏈鐞嗭紒", false);
+ 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);
+ }
}
}
}
} catch (Exception e) {
Date date = new Date();
- log.error(date + ": 琛ㄥ悕锛歅RDT :" + e);
+ log.error(date + ": 琛ㄥ悕锛欵RP_PRDT :" + e);
}
}
diff --git a/src/main/resources/application.yml b/src/main/resources/application.yml
index e63427b..306f252 100644
--- a/src/main/resources/application.yml
+++ b/src/main/resources/application.yml
@@ -54,6 +54,7 @@
enabled: false
enabledNew: false
enabledErpDetTb: true
+ enabledErpPrdt: true
# enabled: false
#鏌ョ湅ERP涓棿琛ㄩ棿闅�
refreshtime: 0/5 * * * * ?
--
Gitblit v1.9.1