From 7c69a5f7246ae92bf07884258abd64c9635e1bea Mon Sep 17 00:00:00 2001
From: Junjie <xjj@123>
Date: 星期日, 27 四月 2025 14:51:49 +0800
Subject: [PATCH] #
---
src/main/java/com/zy/asrs/task/TaskLogScheduler.java | 124 ++++++++++++++++++++++++++++++
src/main/java/com/zy/asrs/controller/OpenController.java | 6
src/main/java/com/zy/asrs/service/impl/MainServiceImpl.java | 31 +++++--
src/main/java/com/zy/asrs/controller/TaskWrkController.java | 59 --------------
src/main/java/com/zy/asrs/domain/enums/TaskStatusType.java | 3
src/main/java/com/zy/asrs/service/impl/OpenServiceImpl.java | 16 ++++
6 files changed, 167 insertions(+), 72 deletions(-)
diff --git a/src/main/java/com/zy/asrs/controller/OpenController.java b/src/main/java/com/zy/asrs/controller/OpenController.java
index 90055d5..e9181b3 100644
--- a/src/main/java/com/zy/asrs/controller/OpenController.java
+++ b/src/main/java/com/zy/asrs/controller/OpenController.java
@@ -149,12 +149,12 @@
return R.error("鏉$爜[barcode]涓嶈兘涓虹┖");
}
- openService.taskCreateIn(param);
+ HashMap<String, Object> result = openService.taskCreateIn(param);
+ return R.ok().add(result);
}catch (Exception e){
log.error("浠诲姟涓嬪彂寮傚父"+e);
- return R.error();
}
- return R.ok();
+ return R.error();
}
//鏌ヨ浠诲姟璇︽儏
diff --git a/src/main/java/com/zy/asrs/controller/TaskWrkController.java b/src/main/java/com/zy/asrs/controller/TaskWrkController.java
index 7a21695..252b1a3 100644
--- a/src/main/java/com/zy/asrs/controller/TaskWrkController.java
+++ b/src/main/java/com/zy/asrs/controller/TaskWrkController.java
@@ -1,30 +1,22 @@
package com.zy.asrs.controller;
-import com.alibaba.fastjson.JSON;
import com.alibaba.fastjson.JSONObject;
import com.baomidou.mybatisplus.mapper.EntityWrapper;
import com.baomidou.mybatisplus.mapper.Wrapper;
import com.baomidou.mybatisplus.plugins.Page;
import com.core.common.DateUtils;
-import com.zy.asrs.domain.dto.NotifyCustomDataDto;
-import com.zy.asrs.domain.enums.NotifyMsgType;
import com.zy.asrs.domain.enums.TaskStatusType;
import com.zy.asrs.entity.LocMast;
import com.zy.asrs.entity.TaskWrk;
-import com.zy.asrs.service.ApiLogService;
-import com.zy.asrs.service.CommandInfoService;
import com.zy.asrs.service.LocMastService;
import com.zy.asrs.service.TaskWrkService;
import com.core.annotations.ManagerAuth;
import com.core.common.BaseRes;
import com.core.common.Cools;
import com.core.common.R;
-import com.zy.asrs.utils.NotifyUtils;
-import com.zy.common.utils.HttpHandler;
import com.zy.common.web.BaseController;
import lombok.extern.slf4j.Slf4j;
import org.springframework.beans.factory.annotation.Autowired;
-import org.springframework.beans.factory.annotation.Value;
import org.springframework.web.bind.annotation.*;
import java.util.*;
@@ -33,20 +25,10 @@
@Slf4j
public class TaskWrkController extends BaseController {
- @Value("${wms.url}")
- private String wmsUrl;
@Autowired
private TaskWrkService taskWrkService;
@Autowired
- private CommandInfoService commandInfoService;
- @Autowired
private LocMastService locMastService;
- @Value("${wms.TaskExecCallback}")
- private String TaskExecCallback;
- @Autowired
- private ApiLogService apiLogService;
- @Autowired
- private NotifyUtils notifyUtils;
@RequestMapping(value = "/taskWrk/{wrkNo}/auth")
@ManagerAuth
@@ -173,45 +155,10 @@
@ManagerAuth(memo = "鎵嬪姩瀹屾垚浠诲姟")
public R complete(@RequestParam String taskNo) {
TaskWrk taskWrk = taskWrkService.selectByTaskNo(taskNo);
- if (Cools.isEmpty(taskWrk) || taskWrk.getStatus()>=3){
- return R.error("宸插畬缁撴垨宸插彇娑�") ;
+ if (Cools.isEmpty(taskWrk) || taskWrk.getStatus() >= 3) {
+ return R.error("宸插畬缁撴垨宸插彇娑�");
}
- LocMast locMast = new LocMast();
- if(taskWrk.getIoType()==1){//鍏ュ簱浠诲姟瀹屾垚搴撲綅涓篎
- locMast = locMastService.selectByLocNo(taskWrk.getTargetPoint());
- if(Cools.isEmpty(locMast)){
- R.error("娌℃湁鎵惧埌璇ュ簱浣�") ;
- }
- locMast.setLocSts("F");
- locMast.setModiTime(new Date());
- locMast.setBarcode(taskWrk.getBarcode());
- }else if(taskWrk.getIoType()==2){//鍑哄簱浠诲姟瀹屾垚搴撲綅涓篛
- locMast = locMastService.selectByLocNo(taskWrk.getStartPoint());
- if(Cools.isEmpty(locMast)){
- R.error("娌℃湁鎵惧埌璇ュ簱浣�") ;
- }
- locMast.setLocSts("O");
- locMast.setModiTime(new Date());
- }else if(taskWrk.getIoType()==3){
- locMast = locMastService.selectByLocNo(taskWrk.getStartPoint());
- if(Cools.isEmpty(locMast)){
- R.error("娌℃湁鎵惧埌璇ュ簱浣�") ;
- }
- locMast.setLocSts("O");
- locMast.setModiTime(new Date());
- locMastService.updateById(locMast);
- locMast=locMastService.selectByLocNo(taskWrk.getTargetPoint());
- if(Cools.isEmpty(locMast)){
- R.error("娌℃湁鎵惧埌璇ュ簱浣�") ;
- }
- locMast.setLocSts("F");
- locMast.setModiTime(new Date());
- locMast.setBarcode(taskWrk.getBarcode());
-
- }
-
- locMastService.updateById(locMast);
- taskWrk.setStatus(7);//鎵嬪姩瀹屾垚浠诲姟
+ taskWrk.setStatus(TaskStatusType.MANUAL_OVER.id);//鎵嬪姩瀹屾垚浠诲姟
taskWrk.setModiTime(new Date());
taskWrkService.updateById(taskWrk);
return R.ok();
diff --git a/src/main/java/com/zy/asrs/domain/enums/TaskStatusType.java b/src/main/java/com/zy/asrs/domain/enums/TaskStatusType.java
index 248701c..423f3a2 100644
--- a/src/main/java/com/zy/asrs/domain/enums/TaskStatusType.java
+++ b/src/main/java/com/zy/asrs/domain/enums/TaskStatusType.java
@@ -6,7 +6,8 @@
DISTRIBUTE(2,"娲惧彂"),
COMPLETE(3,"鍛戒护瀹屾垚"),
CANCEL(4,"鍙栨秷"),
- OVER(5,"瀹岀粨")
+ OVER(5,"瀹岀粨"),
+ MANUAL_OVER(7,"鎵嬪姩瀹岀粨"),
;
public Integer id;
diff --git a/src/main/java/com/zy/asrs/service/impl/MainServiceImpl.java b/src/main/java/com/zy/asrs/service/impl/MainServiceImpl.java
index 91ad04b..f20e742 100644
--- a/src/main/java/com/zy/asrs/service/impl/MainServiceImpl.java
+++ b/src/main/java/com/zy/asrs/service/impl/MainServiceImpl.java
@@ -210,6 +210,11 @@
continue;
}
+ if (!locMast.getLocSts().equals("O")) {
+ log.info(locNo + "搴撲綅涓嶅浜庣┖搴撲綅");
+ continue;
+ }
+
Date now = new Date();
taskWrk = new TaskWrk();
taskWrk.setTaskNo(result.getTaskNo());//浠诲姟鍙�
@@ -217,21 +222,25 @@
taskWrk.setStatus(TaskStatusType.RECEIVE.id);//浠诲姟鐘舵�侊細鎺ユ敹
taskWrk.setWrkSts(2);//2.璁惧涓婅蛋
taskWrk.setCreateTime(now);
- taskWrk.setIoType(1);//浠诲姟绫诲瀷
- taskWrk.setIoPri(13);//浼樺厛绾�
- taskWrk.setBarcode(barcode);//鏉$爜
- taskWrk.setCrnNo(locMast.getCrnNo());
- taskWrk.setTargetPoint(locNo);
- taskWrk.setStartPoint(String.valueOf(staProtocol.getStaNo()));
- if (!Cools.isEmpty(taskWrk.getTargetPoint())) {
- taskWrk.setOriginTargetPoint(taskWrk.getTargetPoint());
- }
+ taskWrk.setIoType(1);//浠诲姟绫诲瀷
+ taskWrk.setIoPri(13);//浼樺厛绾�
+ taskWrk.setBarcode(barcode);//鏉$爜
+ taskWrk.setCrnNo(locMast.getCrnNo());
+ taskWrk.setTargetPoint(locNo);
+ taskWrk.setStartPoint(String.valueOf(staProtocol.getStaNo()));
+ if (!Cools.isEmpty(taskWrk.getTargetPoint())) {
+ taskWrk.setOriginTargetPoint(taskWrk.getTargetPoint());
+ }
- if (!taskWrkService.insert(taskWrk)) {
- log.info("浠诲姟锛�" + result.getTaskNo() + "浠诲姟鍒涘缓澶辫触");
+ if (!taskWrkService.insert(taskWrk)) {
+ log.info("浠诲姟锛�" + result.getTaskNo() + "浠诲姟鍒涘缓澶辫触");
continue;
}
+ locMast.setLocSts("S");
+ locMast.setModiTime(new Date());
+ locMastService.updateById(locMast);
+
StaDesc staDesc = staDescService.selectOne(new EntityWrapper<StaDesc>()
.eq("crn_no", taskWrk.getCrnNo()).eq("type_no", 1).eq("stn_no", staProtocol.getSiteId()));
staProtocol.setWorkNo(taskWrk.getWrkNo().shortValue());
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 cd5f403..9adda8a 100644
--- a/src/main/java/com/zy/asrs/service/impl/OpenServiceImpl.java
+++ b/src/main/java/com/zy/asrs/service/impl/OpenServiceImpl.java
@@ -104,6 +104,22 @@
Date now = new Date();
taskWrk = new TaskWrk();
LocMast locMast = locMastService.selectOne(new EntityWrapper<LocMast>().eq("loc_no", param.getTargetPoint()));
+ if (locMast == null) {
+ map.put("Code","0");
+ map.put("Msg", param.getTaskNo() + "搴撲綅涓嶅瓨鍦紒");
+ return map;
+ }
+
+ if (!locMast.getLocSts().equals("O")) {
+ map.put("Code","0");
+ map.put("Msg", param.getTaskNo() + "搴撲綅涓嶅浜庣┖搴撲綅锛�");
+ return map;
+ }
+
+ locMast.setLocSts("S");
+ locMast.setModiTime(new Date());
+ locMastService.updateById(locMast);
+
int workNo1 = commonService.getWorkNo(WorkNoType.PAKIN.type);//鑾峰彇鍏ュ簱宸ヤ綔鍙�
taskWrk.setTaskNo(param.getTaskNo());//浠诲姟鍙�
taskWrk.setWrkNo(workNo1);
diff --git a/src/main/java/com/zy/asrs/task/TaskLogScheduler.java b/src/main/java/com/zy/asrs/task/TaskLogScheduler.java
index dc30951..9f0112d 100644
--- a/src/main/java/com/zy/asrs/task/TaskLogScheduler.java
+++ b/src/main/java/com/zy/asrs/task/TaskLogScheduler.java
@@ -1,6 +1,8 @@
package com.zy.asrs.task;
import com.alibaba.fastjson.JSON;
+import com.core.common.Cools;
+import com.core.common.R;
import com.core.exception.CoolException;
import com.zy.asrs.domain.dto.NotifyCustomDataDto;
import com.zy.asrs.domain.enums.NotifyMsgType;
@@ -16,6 +18,7 @@
import org.springframework.stereotype.Component;
import java.io.IOException;
+import java.util.Date;
import java.util.HashMap;
/**
@@ -42,6 +45,8 @@
private String taskStatusFeedbackPath;
@Autowired
private NotifyUtils notifyUtils;
+ @Autowired
+ private LocMastService locMastService;
@Scheduled(cron = "0/3 * * * * ? ")
public void execute() throws IOException {
@@ -50,12 +55,129 @@
headParam.put("TaskNo", taskWrk.getTaskNo());
NotifyMsgType notifyMsgType = null;
- if (taskWrk.getStatus().equals(TaskStatusType.OVER.id) || taskWrk.getStatus() == 7) {//瀹屾垚
+ if (taskWrk.getStatus().equals(TaskStatusType.OVER.id) || taskWrk.getStatus().equals(TaskStatusType.MANUAL_OVER.id)) {//瀹屾垚
headParam.put("Result", 1);//瀹屾垚
notifyMsgType = NotifyMsgType.TASK_COMPLETE;
+
+ if (taskWrk.getIoType() == 1) {//鍏ュ簱浠诲姟瀹屾垚搴撲綅涓篎
+ LocMast locMast = locMastService.selectByLocNo(taskWrk.getTargetPoint());
+ if (locMast == null) {
+ throw new CoolException("娌℃湁鎵惧埌璇ュ簱浣�" + taskWrk.getTargetPoint());
+ }
+
+ if (!locMast.getLocSts().equals("S")) {
+ throw new CoolException(taskWrk.getTaskNo() + "搴撲綅涓嶅浜嶴.鍏ュ簱棰勭害");
+ }
+
+ locMast.setLocSts("F");
+ locMast.setModiTime(new Date());
+ locMast.setBarcode(taskWrk.getBarcode());
+ locMastService.updateById(locMast);
+ } else if (taskWrk.getIoType() == 2) {//鍑哄簱浠诲姟瀹屾垚搴撲綅涓篛
+ LocMast locMast = locMastService.selectByLocNo(taskWrk.getStartPoint());
+ if (locMast == null) {
+ throw new CoolException("娌℃湁鎵惧埌璇ュ簱浣�" + taskWrk.getStartPoint());
+ }
+
+ if (!locMast.getLocSts().equals("R")) {
+ throw new CoolException(taskWrk.getTaskNo() + "搴撲綅涓嶅浜嶳.鍑哄簱棰勭害");
+ }
+
+ locMast.setLocSts("O");
+ locMast.setModiTime(new Date());
+ locMast.setBarcode("");
+ locMastService.updateById(locMast);
+ } else if (taskWrk.getIoType() == 3) {//绉诲簱
+ LocMast locMast = locMastService.selectByLocNo(taskWrk.getStartPoint());
+ if (locMast == null) {
+ throw new CoolException("娌℃湁鎵惧埌璇ュ簱浣�" + taskWrk.getStartPoint());
+ }
+
+ if (!locMast.getLocSts().equals("R")) {
+ throw new CoolException(taskWrk.getTaskNo() + "搴撲綅涓嶅浜嶳.鍑哄簱棰勭害");
+ }
+
+ LocMast locMastTarget = locMastService.selectByLocNo(taskWrk.getTargetPoint());
+ if (locMastTarget == null) {
+ throw new CoolException("娌℃湁鎵惧埌璇ュ簱浣�" + taskWrk.getTargetPoint());
+ }
+
+ if (!locMastTarget.getLocSts().equals("S")) {
+ throw new CoolException(taskWrk.getTaskNo() + "搴撲綅涓嶅浜嶴.鍏ュ簱棰勭害");
+ }
+
+ locMastTarget.setLocSts("F");
+ locMastTarget.setModiTime(new Date());
+ locMastTarget.setBarcode(taskWrk.getBarcode());
+ locMastService.updateById(locMastTarget);
+
+ locMast.setLocSts("O");
+ locMast.setModiTime(new Date());
+ locMast.setBarcode("");
+ locMastService.updateById(locMast);
+ }
+
} else if (taskWrk.getStatus().equals(TaskStatusType.CANCEL.id)) {
headParam.put("Result", 2);//鍙栨秷
notifyMsgType = NotifyMsgType.TASK_CANCEL;
+
+ if (taskWrk.getIoType() == 1) {//鍏ュ簱浠诲姟
+ LocMast locMast = locMastService.selectByLocNo(taskWrk.getTargetPoint());
+ if (locMast == null) {
+ throw new CoolException("娌℃湁鎵惧埌璇ュ簱浣�" + taskWrk.getTargetPoint());
+ }
+
+ if (!locMast.getLocSts().equals("S")) {
+ throw new CoolException(taskWrk.getTaskNo() + "搴撲綅涓嶅浜嶴.鍏ュ簱棰勭害");
+ }
+
+ locMast.setLocSts("O");
+ locMast.setModiTime(new Date());
+ locMast.setBarcode("");
+ locMastService.updateById(locMast);
+ } else if (taskWrk.getIoType() == 2) {//鍑哄簱浠诲姟
+ LocMast locMast = locMastService.selectByLocNo(taskWrk.getStartPoint());
+ if (locMast == null) {
+ throw new CoolException("娌℃湁鎵惧埌璇ュ簱浣�" + taskWrk.getStartPoint());
+ }
+
+ if (!locMast.getLocSts().equals("R")) {
+ throw new CoolException(taskWrk.getTaskNo() + "搴撲綅涓嶅浜嶳.鍑哄簱棰勭害");
+ }
+
+ locMast.setLocSts("F");
+ locMast.setModiTime(new Date());
+ locMast.setBarcode(taskWrk.getBarcode());
+ locMastService.updateById(locMast);
+ } else if (taskWrk.getIoType() == 3) {//绉诲簱
+ LocMast locMast = locMastService.selectByLocNo(taskWrk.getStartPoint());
+ if (locMast == null) {
+ throw new CoolException("娌℃湁鎵惧埌璇ュ簱浣�" + taskWrk.getStartPoint());
+ }
+
+ if (!locMast.getLocSts().equals("R")) {
+ throw new CoolException(taskWrk.getTaskNo() + "搴撲綅涓嶅浜嶳.鍑哄簱棰勭害");
+ }
+
+ LocMast locMastTarget = locMastService.selectByLocNo(taskWrk.getTargetPoint());
+ if (locMastTarget == null) {
+ throw new CoolException("娌℃湁鎵惧埌璇ュ簱浣�" + taskWrk.getTargetPoint());
+ }
+
+ if (!locMastTarget.getLocSts().equals("S")) {
+ throw new CoolException(taskWrk.getTaskNo() + "搴撲綅涓嶅浜嶴.鍏ュ簱棰勭害");
+ }
+
+ locMastTarget.setLocSts("O");
+ locMastTarget.setModiTime(new Date());
+ locMastTarget.setBarcode("");
+ locMastService.updateById(locMastTarget);
+
+ locMast.setLocSts("F");
+ locMast.setModiTime(new Date());
+ locMast.setBarcode(taskWrk.getBarcode());
+ locMastService.updateById(locMast);
+ }
}
NotifyCustomDataDto customDataDto = new NotifyCustomDataDto();
--
Gitblit v1.9.1