From e44239cb6516389b4dd4a63747df7bc82681660b Mon Sep 17 00:00:00 2001
From: lsh <1>
Date: 星期四, 11 一月 2024 13:18:05 +0800
Subject: [PATCH] #
---
src/main/java/com/zy/asrs/entity/WrkMastStaLog.java | 5 +
src/main/java/com/zy/asrs/task/handler/WrkMastStaInItHandler.java | 13 ++-
src/main/java/com/zy/asrs/entity/WrkMastSta.java | 4
src/main/java/com/zy/asrs/task/ReportToDismantleTheStackScheduler.java | 10 +-
src/main/java/com/zy/asrs/entity/param/SingleMountUnstackingCompleteParam.java | 29 +++++++
src/main/java/com/zy/asrs/entity/WrkMast.java | 2
src/main/java/com/zy/asrs/task/WorkLogScheduler.java | 20 +++++
src/main/java/com/zy/asrs/task/ReportToOKScheduler.java | 30 +++++++
src/main/java/com/zy/asrs/task/handler/WorkLogHandler.java | 30 ++++++
src/main/java/com/zy/asrs/service/impl/OpenServiceImpl.java | 5
src/main/java/com/zy/asrs/task/handler/ReportToDismantleTheStackHandler.java | 59 ++++++++++----
src/main/java/com/zy/asrs/entity/WrkDetlSingle.java | 6 +
12 files changed, 179 insertions(+), 34 deletions(-)
diff --git a/src/main/java/com/zy/asrs/entity/WrkDetlSingle.java b/src/main/java/com/zy/asrs/entity/WrkDetlSingle.java
index 0a5735e..db72854 100644
--- a/src/main/java/com/zy/asrs/entity/WrkDetlSingle.java
+++ b/src/main/java/com/zy/asrs/entity/WrkDetlSingle.java
@@ -3,6 +3,8 @@
import com.core.common.Cools;import com.baomidou.mybatisplus.annotations.TableField;
import java.text.SimpleDateFormat;
import java.util.Date;
+
+import com.zy.common.utils.Synchro;
import org.springframework.format.annotation.DateTimeFormat;
import com.core.common.SpringUtils;
import com.zy.system.service.UserService;
@@ -459,5 +461,9 @@
return new SimpleDateFormat("yyyy-MM-dd HH:mm:ss").format(this.appeTime);
}
+ public void sync(Object source) {
+ Synchro.Copy(source, this);
+ }
+
}
diff --git a/src/main/java/com/zy/asrs/entity/WrkMast.java b/src/main/java/com/zy/asrs/entity/WrkMast.java
index 43504f7..6144d7f 100644
--- a/src/main/java/com/zy/asrs/entity/WrkMast.java
+++ b/src/main/java/com/zy/asrs/entity/WrkMast.java
@@ -67,7 +67,7 @@
/**
- * 寰愬伐姹変簯鎷嗗灈鏍囪 0: 鏈媶 1: 宸叉媶 2:宸插鐞嗗彲涓嬩竴姝ワ紙杞巻鍙叉。锛�
+ * 寰愬伐姹変簯鎷嗗灈鏍囪 0: 鍒濆 1銆佹湭鎷嗗凡涓婃姤 2: 宸叉媶 3:宸插鐞嗗彲涓嬩竴姝ワ紙杞巻鍙叉。锛�
*/
@ApiModelProperty(value= "")
@TableField("sheet_no")
diff --git a/src/main/java/com/zy/asrs/entity/WrkMastSta.java b/src/main/java/com/zy/asrs/entity/WrkMastSta.java
index ea168c3..ee67335 100644
--- a/src/main/java/com/zy/asrs/entity/WrkMastSta.java
+++ b/src/main/java/com/zy/asrs/entity/WrkMastSta.java
@@ -86,9 +86,9 @@
private Date updateTime;
/**
- * 绫诲瀷 0:闈炵┖ 1:绌烘澘
+ * 绫诲瀷 1:闈炵┖ 2:绌烘澘
*/
- @ApiModelProperty(value = "绫诲瀷 0:闈炵┖ 1:绌烘澘")
+ @ApiModelProperty(value = "绫诲瀷 1:闈炵┖ 2:绌烘澘")
private Integer type;
/**
diff --git a/src/main/java/com/zy/asrs/entity/WrkMastStaLog.java b/src/main/java/com/zy/asrs/entity/WrkMastStaLog.java
index 3901dce..f97480c 100644
--- a/src/main/java/com/zy/asrs/entity/WrkMastStaLog.java
+++ b/src/main/java/com/zy/asrs/entity/WrkMastStaLog.java
@@ -5,6 +5,8 @@
import com.baomidou.mybatisplus.annotations.TableField;
import java.text.SimpleDateFormat;
import java.util.Date;
+
+import com.zy.common.utils.Synchro;
import org.springframework.format.annotation.DateTimeFormat;
import java.text.SimpleDateFormat;
import java.util.Date;
@@ -174,5 +176,8 @@
return new SimpleDateFormat("yyyy-MM-dd HH:mm:ss").format(this.bignTime);
}
+ public void sync(Object source) {
+ Synchro.Copy(source, this);
+ }
}
diff --git a/src/main/java/com/zy/asrs/entity/param/SingleMountUnstackingCompleteParam.java b/src/main/java/com/zy/asrs/entity/param/SingleMountUnstackingCompleteParam.java
index 34563b5..36cc902 100644
--- a/src/main/java/com/zy/asrs/entity/param/SingleMountUnstackingCompleteParam.java
+++ b/src/main/java/com/zy/asrs/entity/param/SingleMountUnstackingCompleteParam.java
@@ -1,7 +1,11 @@
package com.zy.asrs.entity.param;
+import com.zy.asrs.entity.WrkDetl;
+import com.zy.asrs.entity.WrkMast;
import lombok.Data;
+import java.util.ArrayList;
+import java.util.Date;
import java.util.List;
/*
* Created by Monkey D. Luffy on 2023.07.19
@@ -9,14 +13,37 @@
@Data
public class SingleMountUnstackingCompleteParam {
private String barcode;// 鏄� 瀛楃涓� 鎵樼洏鐮�
- private String palletizingNo;// 鏄� 瀛楃涓� 鎷嗗灈浣嶇紪鍙�
+ private String boxType;// 鏄� 瀛楃涓� 鐮佸灈鏈ㄧ绫诲瀷锛堝悓涓�鎵樼洏涓�绉嶇被鍨嬶級
+ private String palletizingNo;// 鏄� 瀛楃涓� 鐮佸灈鏈ㄧ绫诲瀷锛堝悓涓�鎵樼洏涓�绉嶇被鍨嬶級
private String createTime;// 鏄� 瀛楃涓� 鍒涘缓鏃堕棿
private String uuid;// 鏄� 瀛楃涓� 鏃堕棿鎴�
+ private Integer staStart;// 鏄� 瀛楃涓� 璧峰绔欑偣锛堟墭鐩樻墍鍦ㄧ珯鐐癸級
+ private Integer staEnd;// 鏄� 瀛楃涓� 鐩爣绔欑偣锛堟媶鍨涚洰鐨勭珯鐐癸級
private List<MatList> matLists;// 鏄� 鍒楄〃 鎷嗗灈鍓╀綑璐х墿淇℃伅(鍙互涓虹┖)
@Data
public static class MatList{
private String position;// 鏄� 瀛楃涓� 鏈ㄧ鐮佸灈浣嶇疆
+ private boolean unstackingEnd;// 灏剧鏍囪瘑锛堟渶鍚庝竴鎵樹负true锛屽叾浠栦负false锛�
private String boxNo;// 鏄� 瀛楃涓� 鏈ㄧ缂栧彿锛堝敮涓�瀛楁锛屽嚭搴撲緷鎹紝鍑哄簱鏃舵寜鐓ф湪绠辩紪鍙峰嚭搴擄級
}
+
+ public SingleMountUnstackingCompleteParam(){}
+
+ public SingleMountUnstackingCompleteParam(WrkMast wrkMast,List<WrkDetl> wrkDetlList){
+ Date now = new Date();
+ this.barcode=wrkMast.getBarcode();
+ this.boxType=wrkDetlList.get(0).getBrand();
+ createTime=now.toString();
+ uuid=String.valueOf(now.getTime());
+ List<MatList> matLists=new ArrayList<>();
+ for (WrkDetl wrkDetl:wrkDetlList){
+ MatList matList = new MatList();
+ matList.setBoxNo(wrkDetl.getBatch());
+ matList.setPosition(wrkDetl.getOrigin());
+ matList.setUnstackingEnd(false);
+ matLists.add(matList);
+ }
+ this.matLists = matLists;
+ }
}
diff --git a/src/main/java/com/zy/asrs/service/impl/OpenServiceImpl.java b/src/main/java/com/zy/asrs/service/impl/OpenServiceImpl.java
index d326963..d4a7590 100644
--- a/src/main/java/com/zy/asrs/service/impl/OpenServiceImpl.java
+++ b/src/main/java/com/zy/asrs/service/impl/OpenServiceImpl.java
@@ -891,9 +891,10 @@
//鍒ゆ柇param鍙傛暟
if (Cools.isEmpty(param.getBarcode())){
throw new CoolException("鍙傛暟锛氭墭鐩樼爜 barcode涓虹┖");
- }else if (Cools.isEmpty(param.getPalletizingNo())){
- throw new CoolException("鍙傛暟锛氱爜鍨涗綅缂栧彿 palletizingNo涓虹┖");
}
+// else if (Cools.isEmpty(param.getPalletizingNo())){
+// throw new CoolException("鍙傛暟锛氱爜鍨涗綅缂栧彿 palletizingNo涓虹┖");
+// }
WrkMast wrkMastMatrix = wrkMastService.selectByBarcode(param.getBarcode());
if (Cools.isEmpty(wrkMastMatrix)){
throw new CoolException("鍙傛暟锛氭墭鐩樼爜鏌ヨ宸ヤ綔妗eけ璐ワ細"+param.getBarcode());
diff --git a/src/main/java/com/zy/asrs/task/ReportToDismantleTheStackScheduler.java b/src/main/java/com/zy/asrs/task/ReportToDismantleTheStackScheduler.java
index 03174ff..ac41c11 100644
--- a/src/main/java/com/zy/asrs/task/ReportToDismantleTheStackScheduler.java
+++ b/src/main/java/com/zy/asrs/task/ReportToDismantleTheStackScheduler.java
@@ -1,7 +1,7 @@
package com.zy.asrs.task;
import com.zy.asrs.task.core.ReturnT;
-import com.zy.asrs.task.handler.BarcodeUploadHandler;
+import com.zy.asrs.task.handler.ReportToDismantleTheStackHandler;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.scheduling.annotation.Scheduled;
import org.springframework.stereotype.Component;
@@ -14,13 +14,13 @@
public class ReportToDismantleTheStackScheduler {
@Autowired
- private BarcodeUploadHandler barcodeUploadHandler;
+ private ReportToDismantleTheStackHandler reportToDismantleTheStackHandler;
@Scheduled(cron = "0/3 * * * * ? ")
- private void execute(){//鏉$爜涓婁紶涓帶
- int[] staNos =new int[]{216,220};
+ private void execute(){//鎷嗗灈淇℃伅涓婁紶
+ int[] staNos =new int[]{118,119,120,121};
for (int staNo : staNos){
- ReturnT<String> result = barcodeUploadHandler.start(staNo);
+ ReturnT<String> result = reportToDismantleTheStackHandler.start(staNo);
if (result.getCode()==200){
break;
}
diff --git a/src/main/java/com/zy/asrs/task/ReportToOKScheduler.java b/src/main/java/com/zy/asrs/task/ReportToOKScheduler.java
new file mode 100644
index 0000000..9e8eb7d
--- /dev/null
+++ b/src/main/java/com/zy/asrs/task/ReportToOKScheduler.java
@@ -0,0 +1,30 @@
+package com.zy.asrs.task;
+
+import com.zy.asrs.task.core.ReturnT;
+import com.zy.asrs.task.handler.ReportToDismantleTheStackHandler;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.scheduling.annotation.Scheduled;
+import org.springframework.stereotype.Component;
+
+/**
+ * Created by Monkey D. Luffy on 2023.07.25
+ * 寰愬伐姹変簯..............浠ヤ笅.............涓婇ザ姹熼摐.............鎷嗗灈瀹屾垚淇℃伅澶勭悊
+ */
+@Component
+public class ReportToOKScheduler {
+
+ @Autowired
+ private ReportToDismantleTheStackHandler reportToDismantleTheStackHandler;
+
+// @Scheduled(cron = "0/3 * * * * ? ")
+ private void execute(){//鎷嗗灈瀹屾垚淇℃伅澶勭悊
+ int[] staNos =new int[]{118,119,120,121};
+ for (int staNo : staNos){
+ ReturnT<String> result = reportToDismantleTheStackHandler.start(staNo);
+ if (result.getCode()==200){
+ break;
+ }
+ }
+ }
+
+}
diff --git a/src/main/java/com/zy/asrs/task/WorkLogScheduler.java b/src/main/java/com/zy/asrs/task/WorkLogScheduler.java
index 06a0624..4dea664 100644
--- a/src/main/java/com/zy/asrs/task/WorkLogScheduler.java
+++ b/src/main/java/com/zy/asrs/task/WorkLogScheduler.java
@@ -1,7 +1,11 @@
package com.zy.asrs.task;
+import com.baomidou.mybatisplus.mapper.EntityWrapper;
+import com.core.common.Cools;
import com.zy.asrs.entity.WrkMast;
+import com.zy.asrs.entity.WrkMastSta;
import com.zy.asrs.service.WrkMastService;
+import com.zy.asrs.service.WrkMastStaService;
import com.zy.asrs.task.core.ReturnT;
import com.zy.asrs.task.handler.WorkLogHandler;
import lombok.extern.slf4j.Slf4j;
@@ -22,6 +26,8 @@
private WorkLogHandler workLogHandler;
@Autowired
private WrkMastService wrkMastService;
+ @Autowired
+ private WrkMastStaService wrkMastStaService;
@Scheduled(cron = "0/3 * * * * ? ")
private void execute(){
@@ -37,4 +43,18 @@
}
}
+ @Scheduled(cron = "0/3 * * * * ? ")
+ private void execute2(){
+ List<WrkMastSta> wrkMastStaList = wrkMastStaService.selectList(new EntityWrapper<WrkMastSta>().eq("wrk_sts", 3));
+ if (Cools.isEmpty(wrkMastStaList) || wrkMastStaList.size()==0) {
+ return;
+ }
+ for (WrkMastSta wrkMastSta : wrkMastStaList) {
+ ReturnT<String> result = workLogHandler.start(wrkMastSta);
+ if (!result.isSuccess()) {
+ log.error("宸ヤ綔妗workNo={}]鍘嗗彶妗e鐞嗗け璐�", wrkMastSta.getWrkNo());
+ }
+ }
+ }
+
}
diff --git a/src/main/java/com/zy/asrs/task/handler/ReportToDismantleTheStackHandler.java b/src/main/java/com/zy/asrs/task/handler/ReportToDismantleTheStackHandler.java
index dc0b0d6..ee8ddc9 100644
--- a/src/main/java/com/zy/asrs/task/handler/ReportToDismantleTheStackHandler.java
+++ b/src/main/java/com/zy/asrs/task/handler/ReportToDismantleTheStackHandler.java
@@ -5,8 +5,8 @@
import com.baomidou.mybatisplus.mapper.EntityWrapper;
import com.core.common.Cools;
import com.core.exception.CoolException;
-import com.zy.asrs.entity.BasDevp;
-import com.zy.asrs.entity.WaitPakin;
+import com.zy.asrs.entity.*;
+import com.zy.asrs.entity.param.SingleMountUnstackingCompleteParam;
import com.zy.asrs.service.*;
import com.zy.asrs.task.AbstractHandler;
import com.zy.asrs.task.core.ReturnT;
@@ -18,6 +18,8 @@
import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Transactional;
+import java.util.List;
+
/**
* Created by Monkey D. Luffy on 2023.07.25
* 寰愬伐姹変簯..............浠ヤ笅.............涓婇ザ姹熼摐.............鑷姩琛ョ┖鏉�
@@ -28,11 +30,11 @@
public class ReportToDismantleTheStackHandler extends AbstractHandler<String> {
@Autowired
- private WaitPakinService waitPakinService;
+ private WrkMastService wrkMastService;
@Autowired
- private LocMastService locMastService;
+ private WrkDetlSingleService wrkDetlSingleService;
@Autowired
- private CommonService commonService;
+ private WrkDetlService wrkDetlService;
@Autowired
private StaDescService staDescService;
@Autowired
@@ -48,17 +50,42 @@
public ReturnT<String> start(int staNo) {
try {
BasDevp basDevp = basDevpService.selectById(staNo);
- if (!Cools.isEmpty(basDevp) && !Cools.isEmpty(basDevp.getBarcode()) && basDevp.getWrkNo()==9992){ //涓婁紶鍓嶅伐浣滃彿璺熺數鎺х害瀹氫负9992锛堜綘鍙互鑷畾涔夛級
- WaitPakin waitPakin = waitPakinService.selectOne(new EntityWrapper<WaitPakin>().eq("zpallet", basDevp.getBarcode()));
- if (Cools.isEmpty(waitPakin)){
- ReturnT<String> result = null;
- result = postMesData(barcodeUploadpath,basDevp);
- System.out.println(result);
- if (result.getCode()==200){
- return SUCCESS;
- }else {
- log.error("鏉$爜涓婁紶涓帶澶辫触");
+ if (!Cools.isEmpty(basDevp) && basDevp.getAutoing().equals("Y") && basDevp.getWrkNo()!=0){ //涓婁紶鍓嶅伐浣滃彿璺熺數鎺х害瀹氫负9992锛堜綘鍙互鑷畾涔夛級
+ WrkMast wrkMast = wrkMastService.selectOne(new EntityWrapper<WrkMast>().eq("wrk_no", basDevp.getWrkNo()));
+ if (Cools.isEmpty(wrkMast) || !wrkMast.getSheetNo().equals("0")){
+ return SUCCESS;
+ }
+ List<WrkDetl> wrkDetls = wrkDetlService.selectByWrkNo(wrkMast.getWrkNo());
+ if (Cools.isEmpty(wrkDetls) || wrkDetls.size()==0){
+ return SUCCESS;
+ }
+ SingleMountUnstackingCompleteParam singleMountUnstackingCompleteParam = new SingleMountUnstackingCompleteParam(wrkMast,wrkDetls);
+ singleMountUnstackingCompleteParam.setStaStart(staNo);
+ singleMountUnstackingCompleteParam.setStaEnd(staNo>119? 135:133);
+ ReturnT<String> result = null;
+ result = postMesData(barcodeUploadpath,singleMountUnstackingCompleteParam);
+ System.out.println(result);
+ if (true){
+ for (WrkDetl wrkDetl:wrkDetls){
+ WrkDetlSingle wrkDetlSingle = new WrkDetlSingle();
+ wrkDetlSingle.sync(wrkDetl);
+ wrkDetlSingleService.insert(wrkDetlSingle);
}
+ wrkMast.setSheetNo("1");
+ wrkMastService.updateById(wrkMast);
+ return SUCCESS;
+ }
+ if (result.getCode()==200){
+ for (WrkDetl wrkDetl:wrkDetls){
+ WrkDetlSingle wrkDetlSingle = new WrkDetlSingle();
+ wrkDetlSingle.sync(wrkDetl);
+ wrkDetlSingleService.insert(wrkDetlSingle);
+ }
+ wrkMast.setSheetNo("1");
+ wrkMastService.updateById(wrkMast);
+ return SUCCESS;
+ }else {
+ log.error("鏉$爜涓婁紶涓帶澶辫触");
}
}
}catch (Exception e){
@@ -94,7 +121,7 @@
try {
// 淇濆瓨鎺ュ彛鏃ュ織
apiLogService.save(
- "涓婃姤erp绯荤粺",
+ "涓婃姤妗佹灦绯荤粺",
erpUrl + erpPath,
null,
erpUrl,
diff --git a/src/main/java/com/zy/asrs/task/handler/WorkLogHandler.java b/src/main/java/com/zy/asrs/task/handler/WorkLogHandler.java
index 976ff0a..cd27e08 100644
--- a/src/main/java/com/zy/asrs/task/handler/WorkLogHandler.java
+++ b/src/main/java/com/zy/asrs/task/handler/WorkLogHandler.java
@@ -2,9 +2,7 @@
import com.baomidou.mybatisplus.mapper.EntityWrapper;
import com.core.common.Cools;
-import com.zy.asrs.entity.WaitPakin;
-import com.zy.asrs.entity.WrkDetl;
-import com.zy.asrs.entity.WrkMast;
+import com.zy.asrs.entity.*;
import com.zy.asrs.service.*;
import com.zy.asrs.task.AbstractHandler;
import com.zy.asrs.task.core.ReturnT;
@@ -38,6 +36,10 @@
private WaitPakinLogService waitPakinLogService;
@Autowired
private OrderService orderService;
+ @Autowired
+ private WrkMastStaService wrkMastStaService;
+ @Autowired
+ private WrkMastStaLogService wrkMastStaLogService;
@Transactional
public ReturnT<String> start(WrkMast wrkMast) {
@@ -121,4 +123,26 @@
return SUCCESS;
}
+ @Transactional
+ public ReturnT<String> start(WrkMastSta wrkMastSta) {
+ try {
+ WrkMastStaLog wrkMastStaLog = new WrkMastStaLog();
+ wrkMastStaLog.sync(wrkMastSta);
+ // 淇濆瓨宸ヤ綔涓绘。鍘嗗彶妗�
+ if (!wrkMastStaLogService.insert(wrkMastStaLog)) {
+ exceptionHandle("淇濆瓨宸ヤ綔鍘嗗彶妗workNo={0}]澶辫触", wrkMastSta.getWrkNo());
+ }
+ // 鍒犻櫎宸ヤ綔涓绘。
+ if (!wrkMastStaService.deleteById(wrkMastSta)) {
+ exceptionHandle("鍒犻櫎宸ヤ綔涓绘。[workNo={0}]澶辫触", wrkMastSta.getWrkNo());
+ }
+ } catch (Exception e) {
+ log.error("fail", e);
+ e.printStackTrace();
+ TransactionAspectSupport.currentTransactionStatus().setRollbackOnly();
+ return FAIL.setMsg(e.getMessage());
+ }
+ return SUCCESS;
+ }
+
}
diff --git a/src/main/java/com/zy/asrs/task/handler/WrkMastStaInItHandler.java b/src/main/java/com/zy/asrs/task/handler/WrkMastStaInItHandler.java
index d13466b..b883a9f 100644
--- a/src/main/java/com/zy/asrs/task/handler/WrkMastStaInItHandler.java
+++ b/src/main/java/com/zy/asrs/task/handler/WrkMastStaInItHandler.java
@@ -33,6 +33,9 @@
public ReturnT<String> start(WrkMast wrkMast,BasDevp basDevp,Integer type) {
try {
WrkMastSta wrkMastSta = wrkMastStaService.selectOne(new EntityWrapper<WrkMastSta>().eq("wrk_no", wrkMast.getWrkNo().longValue()));
+ if (!Cools.isEmpty(wrkMastSta)){
+ return SUCCESS;
+ }
switch (type){
case 13://鍑� 3锛氬彇鏀�
if (Cools.isEmpty(wrkMastSta)){
@@ -48,14 +51,16 @@
wrkMastSta1.setType(fullKM(wrkMast)? 1:2);
wrkMastSta1.setWrkType(1);
wrkMastStaService.insert(wrkMastSta1);
- }
+ };
+ break;
case 22://2锛氭斁
if (Cools.isEmpty(wrkMastSta)){
WrkMastSta wrkMastSta1 = new WrkMastSta(wrkMast,new Date(),basDevp);
wrkMastSta1.setType(fullKM(wrkMast)? 1:2);
wrkMastSta1.setWrkType(5);
wrkMastStaService.insert(wrkMastSta1);
- }
+ };
+ break;
// case 23://3锛氬彇鏀�
// if (Cools.isEmpty(wrkMastSta)){
// WrkMastSta wrkMastSta1 = new WrkMastSta(wrkMast,new Date(),basDevp);
@@ -64,14 +69,14 @@
// wrkMastStaService.insert(wrkMastSta1);
// }
default:
- return FAIL;
+ return SUCCESS;
}
}catch (Exception e){
log.error("寮傚父锛侊紒锛�"+e);
return FAIL;
}
- return FAIL;
+ return SUCCESS;
}
public boolean fullKM(WrkMast wrkMast){
--
Gitblit v1.9.1