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