From 83e3d34abd06c0256f61382c4c9cf89c4be109d8 Mon Sep 17 00:00:00 2001
From: zjj <3272660260@qq.com>
Date: 星期一, 19 五月 2025 19:35:41 +0800
Subject: [PATCH] #问题修复
---
rsf-server/src/main/java/com/vincent/rsf/server/manager/schedules/TaskSchedules.java | 2
rsf-server/src/main/java/com/vincent/rsf/server/api/service/impl/AgvServiceImpl.java | 8 ++
rsf-server/src/main/java/com/vincent/rsf/server/manager/enums/StaUseStatusType.java | 2
rsf-admin/src/page/basicInfo/basStation/CrossZoneAreaField.jsx | 4
rsf-server/src/main/java/com/vincent/rsf/server/api/service/WcsService.java | 2
rsf-server/src/main/java/com/vincent/rsf/server/api/service/impl/MobileServiceImpl.java | 4
rsf-server/src/main/java/com/vincent/rsf/server/manager/enums/TaskType.java | 4 -
rsf-server/src/main/java/com/vincent/rsf/server/api/controller/WcsController.java | 4
rsf-server/src/main/java/com/vincent/rsf/server/api/service/impl/WcsServiceImpl.java | 8 +-
rsf-server/src/main/java/com/vincent/rsf/server/manager/service/impl/TaskServiceImpl.java | 11 +--
rsf-server/src/main/java/com/vincent/rsf/server/api/controller/params/TaskInParam.java | 1
rsf-server/src/main/java/com/vincent/rsf/server/manager/controller/BasStationController.java | 18 ++++--
rsf-server/src/main/java/com/vincent/rsf/server/manager/controller/TaskController.java | 53 +++++++++++++----
13 files changed, 82 insertions(+), 39 deletions(-)
diff --git a/rsf-admin/src/page/basicInfo/basStation/CrossZoneAreaField.jsx b/rsf-admin/src/page/basicInfo/basStation/CrossZoneAreaField.jsx
index 115901a..fc25ff4 100644
--- a/rsf-admin/src/page/basicInfo/basStation/CrossZoneAreaField.jsx
+++ b/rsf-admin/src/page/basicInfo/basStation/CrossZoneAreaField.jsx
@@ -36,10 +36,10 @@
};
React.useEffect(() => {
- if (record?.areaIds && record.areaIds.length > 0) {
+ if (record?.areaIds && record.areaIds.length !== 0 && record.areaIds.length > 0) {
fetchAreaNames();
}
- }, [record]);
+ }, [record]);
if (loading) {
return <CircularProgress size={20} />;
diff --git a/rsf-server/src/main/java/com/vincent/rsf/server/api/controller/WcsController.java b/rsf-server/src/main/java/com/vincent/rsf/server/api/controller/WcsController.java
index 129de11..48df947 100644
--- a/rsf-server/src/main/java/com/vincent/rsf/server/api/controller/WcsController.java
+++ b/rsf-server/src/main/java/com/vincent/rsf/server/api/controller/WcsController.java
@@ -38,7 +38,7 @@
if (Cools.isEmpty(param.getLocType1())){
return R.error("楂樹綆妫�娴嬩俊鍙蜂笉鑳戒负绌�");
}
- InTaskMsgDto msgDto = wcsService.createInTask(param,getLoginUserId());
+ InTaskMsgDto msgDto = wcsService.createInTask(param);
return R.ok(msgDto);
@@ -56,7 +56,7 @@
if (Cools.isEmpty(param.getBarcode())) {
return R.error("鏉$爜涓嶈兘涓虹┖");
}
- if (param.getIoType().equals(TaskType.TASK_TYPE_AGV_IN.type)) {
+ if (!param.getIoType().equals(TaskType.TASK_TYPE_IN.type)) {
return R.error("鍏ュ簱绫诲瀷鏈夎");
}
wcsService.agvTaskPickUpComplete(param);
diff --git a/rsf-server/src/main/java/com/vincent/rsf/server/api/controller/params/TaskInParam.java b/rsf-server/src/main/java/com/vincent/rsf/server/api/controller/params/TaskInParam.java
index aee0ee6..155829f 100644
--- a/rsf-server/src/main/java/com/vincent/rsf/server/api/controller/params/TaskInParam.java
+++ b/rsf-server/src/main/java/com/vincent/rsf/server/api/controller/params/TaskInParam.java
@@ -9,6 +9,7 @@
private Integer sourceStaNo; //浣滀笟绔欑偣 or 鏉ユ簮绔欑偣
private String barcode; //瀹瑰櫒鏉$爜
private Integer locType1; //搴撲綅绫诲瀷
+ private Long user;
// private Integer locType2; //搴撲綅绫诲瀷
// private Integer locType3; //搴撲綅绫诲瀷
}
diff --git a/rsf-server/src/main/java/com/vincent/rsf/server/api/service/WcsService.java b/rsf-server/src/main/java/com/vincent/rsf/server/api/service/WcsService.java
index 46b655a..0048a4d 100644
--- a/rsf-server/src/main/java/com/vincent/rsf/server/api/service/WcsService.java
+++ b/rsf-server/src/main/java/com/vincent/rsf/server/api/service/WcsService.java
@@ -4,7 +4,7 @@
import com.vincent.rsf.server.api.controller.params.TaskInParam;
public interface WcsService {
- InTaskMsgDto createInTask(TaskInParam param, Long loginUserId);
+ InTaskMsgDto createInTask(TaskInParam param);
void agvTaskPickUpComplete(TaskInParam param);
}
diff --git a/rsf-server/src/main/java/com/vincent/rsf/server/api/service/impl/AgvServiceImpl.java b/rsf-server/src/main/java/com/vincent/rsf/server/api/service/impl/AgvServiceImpl.java
index dc2d1f8..5793052 100644
--- a/rsf-server/src/main/java/com/vincent/rsf/server/api/service/impl/AgvServiceImpl.java
+++ b/rsf-server/src/main/java/com/vincent/rsf/server/api/service/impl/AgvServiceImpl.java
@@ -82,6 +82,7 @@
@Override
+ @Transactional(rollbackFor = Exception.class)
public R AGVInTaskStart(Map<String, Object> params,Long loginUserId ) {
String sta = params.get("sta").toString();
String area = params.get("area").toString();
@@ -112,6 +113,13 @@
taskService.generateAGVTasks(waitPakin,targetLoc,sta,loginUserId);
+ basStation.setUseStatus(StaUseStatusType.TYPE_R.type);
+ if (!basStationService.updateById(basStation)){
+ throw new CoolException("鏇存柊绔欑偣鐘舵�佸け璐�");
+ }
+
+
+
return R.ok();
}
diff --git a/rsf-server/src/main/java/com/vincent/rsf/server/api/service/impl/MobileServiceImpl.java b/rsf-server/src/main/java/com/vincent/rsf/server/api/service/impl/MobileServiceImpl.java
index bfe75b6..638917e 100644
--- a/rsf-server/src/main/java/com/vincent/rsf/server/api/service/impl/MobileServiceImpl.java
+++ b/rsf-server/src/main/java/com/vincent/rsf/server/api/service/impl/MobileServiceImpl.java
@@ -940,8 +940,8 @@
// List<Short> asList = Arrays.asList(Short.valueOf(PakinIOStatus.PAKIN_IO_STATUS_DONE.val), Short.valueOf(PakinIOStatus.PAKIN_IO_STATUS_DONE.val));
WaitPakin waitPakin = waitPakinService.getOne(new LambdaQueryWrapper<WaitPakin>()
- .eq(!Cools.isEmpty(params.get("barcode")),WaitPakin::getBarcode, params.get("barcode").toString())
- .eq(!Cools.isEmpty(params.get("code")),WaitPakin::getCode, params.get("code").toString())
+ .eq(!Cools.isEmpty(params.get("barcode")),WaitPakin::getBarcode, params.get("barcode"))
+ .eq(!Cools.isEmpty(params.get("code")),WaitPakin::getCode, params.get("code"))
.eq(WaitPakin::getIoStatus, PakinIOStatus.PAKIN_IO_STATUS_DONE.val));
if (Objects.isNull(waitPakin)) {
return R.error("鏈壘鍒拌瀹瑰櫒鐮佺殑缁勬墭鏄庣粏锛岃妫�鏌ョ粍鎵樼姸鎬�");
diff --git a/rsf-server/src/main/java/com/vincent/rsf/server/api/service/impl/WcsServiceImpl.java b/rsf-server/src/main/java/com/vincent/rsf/server/api/service/impl/WcsServiceImpl.java
index 4e610b6..84f477e 100644
--- a/rsf-server/src/main/java/com/vincent/rsf/server/api/service/impl/WcsServiceImpl.java
+++ b/rsf-server/src/main/java/com/vincent/rsf/server/api/service/impl/WcsServiceImpl.java
@@ -83,7 +83,7 @@
@Override
@Transactional(rollbackFor = Exception.class)
- public InTaskMsgDto createInTask(TaskInParam param, Long loginUserId) {
+ public InTaskMsgDto createInTask(TaskInParam param) {
// 鑾峰彇搴撲綅鍙�
InTaskMsgDto locNo = getLocNo(param);
@@ -98,7 +98,7 @@
// 鍒涘缓骞朵繚瀛樹换鍔�
Task task = createTask(ruleCode, locNo.getLocNo(), waitPakin.getBarcode(),
- deviceSite.getDeviceSite(), param.getSourceStaNo().toString(), loginUserId);
+ deviceSite.getDeviceSite(), param.getSourceStaNo().toString(), param.getUser());
// 鏇存柊搴撲綅鐘舵��
updateLocStatus(task.getTargLoc(), waitPakin.getBarcode());
@@ -107,10 +107,10 @@
List<WaitPakinItem> waitPakinItems = getWaitPakinItems(waitPakin.getId());
// 鍒涘缓骞朵繚瀛樹换鍔℃槑缁�
- saveTaskItems(task.getId(), waitPakinItems, loginUserId);
+ saveTaskItems(task.getId(), waitPakinItems, param.getUser());
// 鏇存柊缁勬墭鐘舵��
- updateWaitPakinStatus(param.getBarcode(), loginUserId);
+ updateWaitPakinStatus(param.getBarcode(), param.getUser());
// 璁剧疆宸ヤ綔鍗曞彿骞惰繑鍥�
locNo.setWorkNo(ruleCode);
diff --git a/rsf-server/src/main/java/com/vincent/rsf/server/manager/controller/BasStationController.java b/rsf-server/src/main/java/com/vincent/rsf/server/manager/controller/BasStationController.java
index f9fa107..2d70b3b 100644
--- a/rsf-server/src/main/java/com/vincent/rsf/server/manager/controller/BasStationController.java
+++ b/rsf-server/src/main/java/com/vincent/rsf/server/manager/controller/BasStationController.java
@@ -33,13 +33,16 @@
PageParam<BasStation, BaseParam> pageParam = new PageParam<>(baseParam, BasStation.class);
PageParam<BasStation, BaseParam> page = basStationService.page(pageParam, pageParam.buildWrapper(true));
for (BasStation station : page.getRecords()) {
- String content = station.getCrossZoneArea().substring(1, station.getCrossZoneArea().length() - 1);
- String[] parts = content.split(",");
- Long[] longArray = new Long[parts.length];
- for (int i = 0; i < parts.length; i++) {
- longArray[i] = Long.parseLong(parts[i].trim());
+ if (!Cools.isEmpty(station.getCrossZoneArea())) {
+ String content = station.getCrossZoneArea().substring(1, station.getCrossZoneArea().length() - 1);
+ String[] parts = content.split(",");
+ Long[] longArray = new Long[parts.length];
+ for (int i = 0; i < parts.length; i++) {
+ longArray[i] = Long.parseLong(parts[i].trim());
+ }
+ station.setAreaIds(longArray);
}
- station.setAreaIds(longArray);
+
}
return R.ok().add(page);
}
@@ -85,6 +88,9 @@
if (!Cools.isEmpty(serviceOne)) {
return R.error(basStation.getStationName()+"绔欏凡琚垵濮嬪寲");
}
+ if (null !=basStation.getAreaIds()){
+ basStation.setCrossZoneArea(Arrays.toString(basStation.getAreaIds()));
+ }
if (!basStationService.save(basStation)) {
return R.error("淇濆瓨澶辫触");
}
diff --git a/rsf-server/src/main/java/com/vincent/rsf/server/manager/controller/TaskController.java b/rsf-server/src/main/java/com/vincent/rsf/server/manager/controller/TaskController.java
index 9741a32..114e815 100644
--- a/rsf-server/src/main/java/com/vincent/rsf/server/manager/controller/TaskController.java
+++ b/rsf-server/src/main/java/com/vincent/rsf/server/manager/controller/TaskController.java
@@ -6,21 +6,15 @@
import com.vincent.rsf.framework.common.Cools;
import com.vincent.rsf.framework.common.R;
import com.vincent.rsf.framework.exception.CoolException;
-import com.vincent.rsf.server.manager.enums.TaskStsType;
+import com.vincent.rsf.server.manager.entity.*;
+import com.vincent.rsf.server.manager.enums.*;
import com.vincent.rsf.server.common.utils.ExcelUtil;
import com.vincent.rsf.server.common.annotation.OperationLog;
import com.vincent.rsf.server.common.domain.BaseParam;
import com.vincent.rsf.server.common.domain.KeyValVo;
import com.vincent.rsf.server.common.domain.PageParam;
-import com.vincent.rsf.server.manager.entity.Loc;
-import com.vincent.rsf.server.manager.entity.Task;
-import com.vincent.rsf.server.manager.entity.TaskItem;
-import com.vincent.rsf.server.manager.entity.WaitPakin;
-import com.vincent.rsf.server.manager.enums.PakinIOStatus;
-import com.vincent.rsf.server.manager.service.LocService;
-import com.vincent.rsf.server.manager.service.TaskItemService;
-import com.vincent.rsf.server.manager.service.TaskService;
-import com.vincent.rsf.server.manager.service.WaitPakinService;
+import com.vincent.rsf.server.manager.service.*;
+import com.vincent.rsf.server.manager.service.impl.BasStationServiceImpl;
import com.vincent.rsf.server.system.controller.BaseController;
import com.vincent.rsf.server.system.enums.LocStsType;
import io.swagger.annotations.ApiOperation;
@@ -46,6 +40,8 @@
@Autowired
private LocService locService;
+ @Autowired
+ private BasStationService basStationService;
@PreAuthorize("hasAuthority('manager:task:list')")
@PostMapping("/task/page")
@@ -120,7 +116,8 @@
if (null != waitPakin) {
waitPakin.setIoStatus(Short.valueOf(PakinIOStatus.PAKIN_IO_STATUS_DONE.val));
if (!waitPakinService.updateById(waitPakin)) {
- return R.error("鏇存柊缁勬墭鐘舵�佸け璐�");
+ throw new CoolException("鏇存柊缁勬墭鐘舵�佸け璐ワ紒锛�");
+
}
}
Loc loc = locService.getOne(new LambdaQueryWrapper<Loc>()
@@ -132,9 +129,41 @@
loc.setUseStatus(LocStsType.LOC_STS_TYPE_O.type);
if (!locService.updateById(loc)) {
- return R.error("鏇存柊搴撲綅鐘舵�佸け璐�");
+ throw new CoolException("鏇存柊搴撲綅鐘舵�佸け璐ワ紒锛�");
}
}
+ if (task.getWarehType().equals(WarehType.WAREHOUSE_TYPE_AGV.id)){
+ BasStation basStation = null;
+ if (task.getTaskType().equals(TaskType.TASK_TYPE_IN.type)
+ || task.getTaskType().equals(TaskType.TASK_TYPE_EMPITY_IN.type)
+ ){
+ basStation = basStationService.getOne(new LambdaQueryWrapper<BasStation>()
+ .eq(BasStation::getStationName, task.getOrgSite())
+ .eq(BasStation::getUseStatus, StaUseStatusType.TYPE_R.type)
+ );
+
+
+ } else if (task.getTaskType().equals(TaskType.TASK_TYPE_OUT.type)
+ || task.getTaskType().equals(TaskType.TASK_TYPE_PICK_AGAIN_IN.type)
+ || task.getTaskType().equals(TaskType.TASK_TYPE_MERGE_OUT.type)
+ || task.getTaskType().equals(TaskType.TASK_TYPE_CHECK_OUT.type)
+ || task.getTaskType().equals(TaskType.TASK_TYPE_EMPITY_OUT.type)
+ ) {
+ basStation = basStationService.getOne(new LambdaQueryWrapper<BasStation>()
+ .eq(BasStation::getStationName, task.getTargLoc())
+ .eq(BasStation::getUseStatus, StaUseStatusType.TYPE_R.type)
+ );
+ }
+ if (null == basStation) {
+ throw new CoolException("绔欑偣鐘舵�侀敊璇紒锛�");
+ }
+ basStation.setUseStatus(StaUseStatusType.TYPE_F.type);
+ if (!basStationService.updateById(basStation)){
+ throw new CoolException("鏇存柊绔欑偣鐘舵�佸け璐ワ紒锛�");
+ }
+ }
+
+
}
if (!taskService.removeByIds(Arrays.asList(ids))) {
return R.error("Delete Fail");
diff --git a/rsf-server/src/main/java/com/vincent/rsf/server/manager/enums/StaUseStatusType.java b/rsf-server/src/main/java/com/vincent/rsf/server/manager/enums/StaUseStatusType.java
index 4a14128..6aec967 100644
--- a/rsf-server/src/main/java/com/vincent/rsf/server/manager/enums/StaUseStatusType.java
+++ b/rsf-server/src/main/java/com/vincent/rsf/server/manager/enums/StaUseStatusType.java
@@ -4,6 +4,8 @@
//璁㈠崟绫诲瀷
TYPE_O("O", "绌洪棽"),
TYPE_F("F", "鍗犵敤"),
+ TYPE_S("S", "棰勭害鍏ョ珯"),
+ TYPE_R("R", "棰勭害鍑虹珯"),
TYPE_X("X", "绂佺敤"),
;
diff --git a/rsf-server/src/main/java/com/vincent/rsf/server/manager/enums/TaskType.java b/rsf-server/src/main/java/com/vincent/rsf/server/manager/enums/TaskType.java
index 8ee875c..8e01b64 100644
--- a/rsf-server/src/main/java/com/vincent/rsf/server/manager/enums/TaskType.java
+++ b/rsf-server/src/main/java/com/vincent/rsf/server/manager/enums/TaskType.java
@@ -10,15 +10,13 @@
public enum TaskType {
TASK_TYPE_IN("1", "鍏ュ簱"),
- TASK_TYPE_FLAT_WAREHOUSE_IN("2", "骞冲簱涓婃灦"),
- TASK_TYPE_AGV_IN("3", "AGV鍏ュ簱"),
TASK_TYPE_EMPITY_IN("10", "绌烘澘鍏ュ簱"),
TASK_TYPE_LOC_MOVE("11", "搴撴牸绉昏浇"),
TASK_TYPE_PICK_IN("53", "鎷f枡鍐嶅叆搴�"),
TASK_TYPE_MERGE_IN("54", "骞舵澘鍐嶅叆搴�"),
TASK_TYPE_CHECK_IN("57", "鐩樼偣鍐嶅叆搴�"),
TASK_TYPE_OUT("101", "鍑哄簱"),
- TASK_TYPE_PICK_AGAIN_IN("103", "鎷f枡鍏ュ簱"),
+ TASK_TYPE_PICK_AGAIN_IN("103", "鎷f枡鍑哄簱"),
TASK_TYPE_MERGE_OUT("104", "骞舵澘鍑哄簱"),
TASK_TYPE_CHECK_OUT("107", "鐩樼偣鍑哄簱"),
TASK_TYPE_EMPITY_OUT("110", "绌烘澘鍑哄簱"),
diff --git a/rsf-server/src/main/java/com/vincent/rsf/server/manager/schedules/TaskSchedules.java b/rsf-server/src/main/java/com/vincent/rsf/server/manager/schedules/TaskSchedules.java
index 54675bd..9df319a 100644
--- a/rsf-server/src/main/java/com/vincent/rsf/server/manager/schedules/TaskSchedules.java
+++ b/rsf-server/src/main/java/com/vincent/rsf/server/manager/schedules/TaskSchedules.java
@@ -56,7 +56,7 @@
* @time 2025/4/2 12:37
*/
// @Scheduled(cron = "0 0/05 * * * ? ")
- @Scheduled(cron = "0/15 * * * * ?")
+ @Scheduled(cron = "0/3 * * * * ?")
@Transactional(rollbackFor = Exception.class)
public void completeInStock() throws Exception {
List<Task> tasks = taskService.list(new LambdaQueryWrapper<Task>().eq(Task::getTaskStatus, TaskStsType.COMPLETE_IN.id));
diff --git a/rsf-server/src/main/java/com/vincent/rsf/server/manager/service/impl/TaskServiceImpl.java b/rsf-server/src/main/java/com/vincent/rsf/server/manager/service/impl/TaskServiceImpl.java
index c8291e1..ecbe972 100644
--- a/rsf-server/src/main/java/com/vincent/rsf/server/manager/service/impl/TaskServiceImpl.java
+++ b/rsf-server/src/main/java/com/vincent/rsf/server/manager/service/impl/TaskServiceImpl.java
@@ -3,15 +3,12 @@
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
import com.baomidou.mybatisplus.core.conditions.update.LambdaUpdateWrapper;
import com.vincent.rsf.framework.common.Cools;
-import com.vincent.rsf.server.manager.enums.OrderType;
-import com.vincent.rsf.server.manager.enums.TaskStsType;
+import com.vincent.rsf.server.manager.enums.*;
import com.vincent.rsf.framework.common.R;
import com.vincent.rsf.framework.exception.CoolException;
-import com.vincent.rsf.server.manager.enums.TaskType;
import com.vincent.rsf.server.api.utils.LocUtils;
import com.vincent.rsf.server.manager.controller.params.GenerateTaskParams;
import com.vincent.rsf.server.manager.entity.*;
-import com.vincent.rsf.server.manager.enums.PakinIOStatus;
import com.vincent.rsf.server.manager.mapper.TaskMapper;
import com.vincent.rsf.server.manager.service.*;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
@@ -93,7 +90,8 @@
Task task = new Task();
task.setTaskCode(ruleCode)
.setTaskStatus(TaskStsType.GENERATE_IN.id.shortValue())
- .setTaskType(TaskType.TASK_TYPE_AGV_IN.type.shortValue())
+ .setTaskType(TaskType.TASK_TYPE_IN.type.shortValue())
+ .setWarehType(WarehType.WAREHOUSE_TYPE_AGV.id)
.setTargLoc(targetLoc)
.setOrgSite(orgSta)
.setBarcode(pakin.getBarcode())
@@ -178,7 +176,8 @@
Task task = new Task();
task.setTaskCode(ruleCode)
.setTaskStatus(TaskStsType.COMPLETE_IN.id.shortValue())
- .setTaskType(TaskType.TASK_TYPE_FLAT_WAREHOUSE_IN.type.shortValue())
+ .setTaskType(TaskType.TASK_TYPE_IN.type.shortValue())
+ .setWarehType(WarehType.WAREHOUSE_TYPE_PLAT.id)
.setTargLoc(targetLoc)
.setBarcode(pakin.getBarcode())
.setCreateBy(loginUserId)
--
Gitblit v1.9.1