From 050d5a7376fd47a596036bc3aa6467125bb6e590 Mon Sep 17 00:00:00 2001
From: skyouc <creaycat@gmail.com>
Date: 星期二, 16 十二月 2025 16:12:14 +0800
Subject: [PATCH] 并托出库添加AGV站点字段
---
src/main/java/com/zy/asrs/service/impl/WorkServiceImpl.java | 49 ++++++++++++++++++++++++
src/main/java/com/zy/asrs/entity/WrkMast.java | 5 ++
src/main/java/com/zy/asrs/service/impl/MobileServiceImpl.java | 13 ++++--
3 files changed, 63 insertions(+), 4 deletions(-)
diff --git a/src/main/java/com/zy/asrs/entity/WrkMast.java b/src/main/java/com/zy/asrs/entity/WrkMast.java
index 1bf9d7a..beb9176 100644
--- a/src/main/java/com/zy/asrs/entity/WrkMast.java
+++ b/src/main/java/com/zy/asrs/entity/WrkMast.java
@@ -251,6 +251,11 @@
@TableField("pause_mk")
private String pauseMk;
+
+ @ApiModelProperty("骞舵澘鍑哄簱锛堢紦瀛樺尯AGV绔欑偣锛�")
+ @TableField(exist = false)
+ private String avgSta;
+
@ApiModelProperty(value= "")
@TableField("error_time")
private Date errorTime;
diff --git a/src/main/java/com/zy/asrs/service/impl/MobileServiceImpl.java b/src/main/java/com/zy/asrs/service/impl/MobileServiceImpl.java
index b938865..e2eb19a 100644
--- a/src/main/java/com/zy/asrs/service/impl/MobileServiceImpl.java
+++ b/src/main/java/com/zy/asrs/service/impl/MobileServiceImpl.java
@@ -2178,8 +2178,8 @@
// 鍒ゆ柇鏍规嵁鍒嗘嫞鍑哄簱鍚�,杩橀渶瑕佸嚭澶氬皯鎵樼洏鎴栨枡绠�;濡傛灉浣欐枡澶т簬0, 鍑烘柊鎵樼洏鎴栨枡绠�
if (totalOut.get().compareTo(0.0) > 0) {
- generateTask(locMasts, TaskIOType.MERGE_OUT.type, basDevp, userId);
- //TODO 缁嗗寲鍖哄垎锛屽綋鍓嶅嚭搴撴墭鐩樻槸婊炴弧瓒虫嫞璐ф暟閲�
+ generateTask(locMasts, TaskIOType.MERGE_OUT.type, basDevp, userId, station);
+ //TODO 缁嗗寲鍖哄垎锛屽綋鍓嶅嚭搴撴墭鐩樻槸婊¤冻鎷h揣鏁伴噺
} else {
LocMast locMast = locMastService.selectOne(new EntityWrapper<LocMast>()
// todo 鏍规嵁鐗╂枡绉嶇被,鍖哄垎搴撳尯绫诲瀷
@@ -2189,7 +2189,7 @@
CrnTaskDetlDTO crnTaskDetlDTO = new CrnTaskDetlDTO().setLocNo(locMast.getLocNo()).setLocDetlList(locDetls);
locMasts.add(crnTaskDetlDTO);
// 绌烘澘鍑哄簱
- generateTask(locMasts, TaskIOType.MERGE_OUT.type, basDevp, userId);
+ generateTask(locMasts, TaskIOType.MERGE_OUT.type, basDevp, userId, station);
}
}
@@ -2197,11 +2197,12 @@
* 鐢熸垚鍫嗗灈鏈哄嚭搴撲换鍔�
*
* @param locMasts
+ * @param station
* @author Ryan
* @date 2025/12/6 14:44
*/
@Transactional(rollbackFor = Exception.class)
- public void generateTask(List<CrnTaskDetlDTO> locMasts, Integer ioType, BasDevp devp, Long userId) {
+ public void generateTask(List<CrnTaskDetlDTO> locMasts, Integer ioType, BasDevp devp, Long userId, BasStation station) {
Date now = new Date();
for (CrnTaskDetlDTO crnTaskDetlDTO : locMasts) {
@@ -2228,6 +2229,8 @@
wrkMast.setSourceStaNo(staDesc.getCrnStn() + ""); // 婧愮珯
wrkMast.setStaNo(staDesc.getStnNo() + ""); // 鐩爣绔�
wrkMast.setSourceLocNo(locMast.getLocNo()); // 婧愬簱浣�
+ //灏忔澗椤圭洰锛岀紦瀛樺嚭搴揂GV绔欑偣锛岀敤浜庢竻绌虹紦瀛樺尯搴撳瓨
+ wrkMast.setAvgSta(station.getDevNo());
wrkMast.setFullPlt("Y"); // 婊℃澘锛歒
wrkMast.setPicking("N"); // 鎷f枡
wrkMast.setExitMk("N"); // 閫�鍑�
@@ -2251,6 +2254,8 @@
wrkDetl.setOrderNo(""); // 鎵嬪姩鍑哄簱涓嶉渶瑕佸甫鍑哄簱瀛樹腑鐨勫崟鎹紪鍙�
wrkDetl.setWrkNo(workNo);
wrkDetl.setIoTime(now);
+ wrkDetl.setZpallet(null);
+ wrkDetl.setBarcode(null);
wrkDetl.setAppeTime(now);
wrkDetl.setAppeUser(userId);
wrkDetl.setModiTime(now);
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 93b57ce..68a48e4 100644
--- a/src/main/java/com/zy/asrs/service/impl/WorkServiceImpl.java
+++ b/src/main/java/com/zy/asrs/service/impl/WorkServiceImpl.java
@@ -12,6 +12,9 @@
import com.zy.asrs.entity.param.FullStoreParam;
import com.zy.asrs.entity.param.LocDetlAdjustParam;
import com.zy.asrs.entity.param.StockOutParam;
+import com.zy.asrs.enums.LocAreaType;
+import com.zy.asrs.enums.LocStsType;
+import com.zy.asrs.enums.TaskIOType;
import com.zy.asrs.mapper.LocMastMapper;
import com.zy.asrs.entity.result.FindLocNoAttributeVo;
import com.zy.asrs.service.*;
@@ -99,6 +102,12 @@
private TaskService taskService;
@Autowired
private TaskDetlService taskDetlService;
+ @Autowired
+ private BasStationService basStationService;
+ @Autowired
+ private BasStationDetlService basStationDetlService;
+ @Autowired
+ private BasAreasService basAreasService;
@Override
@Transactional
@@ -1457,6 +1466,10 @@
if (Cools.isEmpty(wrkMast)) {
throw new CoolException(workNo + "宸ヤ綔妗d笉瀛樺湪");
}
+ BasAreas basAreas = basAreasService.selectOne(new EntityWrapper<BasAreas>().eq("whs_type_id", LocAreaType.LOC_AREA_TYPE_CRN.type));
+ if (Objects.isNull(basAreas)) {
+ throw new CoolException("鏁版嵁閿欒锛屽簱鍖轰笉瀛樺湪锛侊紒");
+ }
// 鍏ュ嚭搴撶被鍨嬪垽鏂�
if (wrkMast.getIoType() != 103 && wrkMast.getIoType() != 104 && wrkMast.getIoType() != 107) {
throw new CoolException("褰撳墠鍏ュ嚭搴撶被鍨嬫棤娉曡繘琛屾搷浣�");
@@ -1465,6 +1478,11 @@
if (wrkMast.getWrkSts() < 11 || wrkMast.getWrkSts() == 15) {
throw new CoolException("褰撳墠宸ヤ綔鐘舵�佹棤娉曡繘琛屾搷浣�");
}
+ String agvSta = null;
+ if (wrkMast.getIoType() == TaskIOType.MERGE_OUT.type) {
+ agvSta = wrkMast.getAvgSta();
+ }
+
// 淇濆瓨宸ヤ綔鏄庣粏妗e巻鍙叉。
// if (!wrkDetlLogService.save(wrkMast.getWrkNo())) {
// throw new CoolException("淇濆瓨宸ヤ綔鏄庣粏妗e巻鍙叉。澶辫触");
@@ -1500,12 +1518,43 @@
// 淇敼搴撲綅鐘舵�� Q.鎷f枡/鐩樼偣/骞舵澘鍐嶅叆搴�
LocMast locMast = locMastService.selectById(wrkMast.getLocNo());
locMast.setLocSts("Q");
+ locMast.setAreaId(basAreas.getId());
+ locMast.setAreaName(basAreas.getName());
locMast.setBarcode(locMast.getBarcode());
locMast.setModiTime(now);
locMast.setModiUser(userId);
if (!locMastService.updateById(locMast)) {
throw new CoolException("淇敼搴撲綅鐘舵�佸け璐�");
}
+
+ // . 鍒犻櫎缂撳瓨绔欑偣鏄庣粏
+ if (!Objects.isNull(agvSta)) {
+ // 淇敼鐩爣绔欑偣淇℃伅
+ BasStation station = basStationService.selectOne(new EntityWrapper<BasStation>().eq("dev_no", agvSta));
+ if (Objects.isNull(station)) {
+ throw new CoolException("绔欑偣涓嶅瓨鍦�!!");
+ }
+ basStationDetlService.delete(new EntityWrapper<BasStationDetl>().eq("dev_no", station.getDevNo()));
+ station.setLocSts(LocStsType.LOC_STS_TYPE_O.type);
+ if (!basStationService.updateById(station)) {
+ throw new CoolException("绔欑偣鐘舵�佹洿鏂板け璐ワ紒锛�");
+ }
+ }
+ // .淇敼骞舵墭鍏ュ簱鏄庣粏鎵樼爜鐮�
+ List<LocDetl> locDetls = locDetlService.selectList(new EntityWrapper<LocDetl>()
+ .eq("area_id", locMast.getAreaId())
+ .eq("loc_no", locMast.getLocNo()));
+ if (!Objects.isNull(locDetls) && !locDetls.isEmpty()) {
+ locDetls.forEach(locDetl -> {
+ locDetl.setZpallet(locMast.getBarcode());
+ locDetl.setBarcode(locMast.getBarcode());
+ if (!locDetlService.updateById(locDetl)) {
+ throw new CoolException("搴撳瓨鏄庣粏淇敼澶辫触锛侊紒");
+ }
+ });
+ }
+
+
}
@Override
--
Gitblit v1.9.1