src/main/java/com/zy/asrs/controller/TaskWrkController.java | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 | |
src/main/java/com/zy/asrs/service/impl/MainServiceImpl.java | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 | |
src/main/java/com/zy/asrs/task/AutoReportStartHandler.java | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 | |
src/main/java/com/zy/asrs/task/RepositionLED.java | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 | |
src/main/java/com/zy/asrs/task/TaskLogScheduler.java | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 | |
src/main/java/com/zy/asrs/task/TaskMastScheduler.java | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 | |
src/main/resources/mapper/TaskWrkMapper.xml | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 |
src/main/java/com/zy/asrs/controller/TaskWrkController.java
@@ -360,8 +360,11 @@ return R.error("没有找到该任务={"+notifyDto+"}"); } Date now = new Date(); if(notifyDto.getMsgType().equals("task_complete")){ } if(notifyDto.getMsgType().equals("task_complete")&&taskWrk.getIoType()==3){ taskWrk.setWrkSts(9);//更新数据完成,直接转历史档 taskWrk.setWrkSts(8);//更新数据完成,直接转历史档 //更新源库位状态为空库位 LocMast locMast = locMastService.selectByLocNo(taskWrk.getStartPoint()); src/main/java/com/zy/asrs/service/impl/MainServiceImpl.java
@@ -233,6 +233,7 @@ MessageQueue.offer(SlaveType.Devp, devp.getId(), new Task(2, staProtocol)); HashMap<String, Object> hashMap = new HashMap<>(); hashMap.put("TaskNo", taskWrk.getTaskNo()); Boolean bool = false; try { //开始上报,任务开始时,WCS回调WMS response = new HttpHandler.Builder() @@ -242,10 +243,14 @@ .build() .doPost(); JSONObject jsonObject1 = JSON.parseObject(response); Boolean bool = false; if (jsonObject1.get("ReturnStatus").equals(0)) { bool = true; } } catch (Exception e) { }finally { apiLogService.save("wcs开始入库任务上报wms" , wmsUrl + TaskExecCallback , null @@ -254,8 +259,6 @@ , response , bool ); } catch (Exception e) { } } } else { @@ -355,7 +358,7 @@ if (offer) { log.info("下发输送线任务成功:taskWrk:" + JSON.toJSONString(taskWrk)); taskWrk.setStatus(5); taskWrk.setWrkSts(14); taskWrk.setWrkSts(16); taskWrkService.updateById(taskWrk); } else { @@ -441,7 +444,7 @@ if(jsonObject.get("code").equals(200)){ bool = true; taskWrk.setStatus(TaskStatusType.DISTRIBUTE.id);//派发状态 // taskWrk.setStatus(TaskStatusType.DISTRIBUTE.id);//派发状态 taskWrk.setAssignTime(new Date());//派发时间 taskWrk.setWrkSts(3);//工作状态 3.成功下发入库任务给RCS taskWrk.setCrnNo(staDesc.getCrnNo());//堆垛机号 @@ -518,6 +521,46 @@ break; } String mbz=taskWrk.getTargetPoint().substring(5); HashMap<String, Object> hashMap = new HashMap<>(); hashMap.put("taskNo",taskWrk.getTaskNo());//wms任务号 hashMap.put("sourceStaNo",staDetl.getDevNo());//源站点 hashMap.put("staNo",Integer.parseInt(mbz)+"");//目标站 hashMap.put("locNo",taskWrk.getTargetPoint());//目标库位 String response = ""; Boolean bool = false; try { //开始上报,出库任务开始时,WCS回调WMS response = new HttpHandler.Builder() .setUri(wcsUrl) .setPath(wcsInboundTaskApplyPath) .setJson(JSON.toJSONString(hashMap)) .build() .doPost(); JSONObject jsonObject = JSON.parseObject(response); if(jsonObject.get("code").equals(200)){ bool = true; // taskWrk.setStatus(TaskStatusType.DISTRIBUTE.id);//派发状态 taskWrk.setAssignTime(new Date());//派发时间 taskWrk.setWrkSts(3);//工作状态 3.成功下发入库任务给RCS taskWrk.setCrnNo(staDesc.getCrnNo());//堆垛机号 taskWrk.setModiTime(new Date()); taskWrk.setModiUser(9988L); } } catch (Exception e) { }finally { apiLogService.save("wcs派发出库任务给RCS" , wcsUrl + wcsInboundTaskApplyPath , null , "127.0.0.1" , JSON.toJSONString(hashMap) , response , bool ); } try { // 修改工作档状态 11.生成出库ID => 12.吊车出库中 Date now = new Date(); src/main/java/com/zy/asrs/task/AutoReportStartHandler.java
File was renamed from src/main/java/com/zy/asrs/task/autoReportStartHandler.java @@ -29,7 +29,7 @@ @Slf4j @Component public class autoReportStartHandler { public class AutoReportStartHandler { @Autowired private SlaveProperties slaveProperties; @@ -85,7 +85,7 @@ */ @Scheduled(cron = "0/3 * * * * ? ") public void execute() throws IOException { List<TaskWrk> taskWrks=taskWrkService.selectList(new EntityWrapper<TaskWrk>().eq("status",1).in("wrk_sts",12,3)); List<TaskWrk> taskWrks=taskWrkService.selectList(new EntityWrapper<TaskWrk>().eq("status",1).in("wrk_sts",12,13,14,15,16,17,18,3,4,5,6,7,8)); if(taskWrks.size()>0){ for(TaskWrk taskWrk:taskWrks){ if(Cools.isEmpty(taskWrk.getMarkStart())||taskWrk.getMarkStart()==0){ src/main/java/com/zy/asrs/task/RepositionLED.java
New file @@ -0,0 +1,132 @@ package com.zy.asrs.task; import com.alibaba.fastjson.JSON; import com.alibaba.fastjson.JSONObject; import com.baomidou.mybatisplus.mapper.EntityWrapper; import com.zy.asrs.controller.CrnController; import com.zy.asrs.controller.SiteController; import com.zy.asrs.entity.BasDevp; import com.zy.asrs.entity.LocMast; import com.zy.asrs.entity.TaskWrk; import com.zy.asrs.mapper.BasCrnErrorMapper; import com.zy.asrs.mapper.StaDescMapper; import com.zy.asrs.mapper.TaskWrkMapper; import com.zy.asrs.mapper.WrkMastMapper; import com.zy.asrs.service.*; import com.zy.asrs.service.impl.OpenServiceImpl; import com.zy.common.service.CommonService; import com.zy.common.utils.HttpHandler; import com.zy.core.properties.SlaveProperties; import com.zy.system.service.ConfigService; import lombok.extern.slf4j.Slf4j; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.beans.factory.annotation.Value; import org.springframework.scheduling.annotation.Scheduled; import org.springframework.stereotype.Component; import java.io.IOException; import java.util.Date; import java.util.HashMap; import java.util.List; @Slf4j @Component public class RepositionLED { @Autowired private SlaveProperties slaveProperties; @Autowired private WrkMastMapper wrkMastMapper; @Autowired private LocMastService locMastService; @Autowired private BasCrnpService basCrnpService; @Autowired private BasDevpService basDevpService; @Autowired private BasErrLogService basErrLogService; @Autowired private BasCrnErrorMapper basCrnErrorMapper; @Autowired private TaskWrkMapper taskWrkMapper; @Autowired private TaskWrkService taskWrkService; @Autowired private ConfigService configService; @Autowired private StaDescMapper staDescMapper; @Autowired private CommandInfoService commandInfoService; @Autowired private OpenServiceImpl openServiceImpl; @Autowired private StaDescService staDescService; @Autowired private ApiLogService apiLogService; @Autowired private CommonService commonService; @Value("${wms.url}") private String wmsUrl; @Value("${wms.inboundTaskApplyPath}") private String inboundTaskApplyPath; @Value("${wms.TaskExecCallback}") private String TaskExecCallback; @Value("${wms.taskStatusFeedbackPath}") private String taskStatusFeedbackPath; @Autowired private CrnController crnController; @Autowired private SiteController siteController; /** * 货物搬离---出库复位电视机 * 上报WMS货物搬离 * @throws IOException */ @Scheduled(cron = "0/3 * * * * ? ") public void execute() throws IOException { List<TaskWrk> taskWrks=taskWrkService.selectList(new EntityWrapper<TaskWrk>().eq("wrk_sts",17)); for(TaskWrk taskWrk:taskWrks){ List<BasDevp> basDevps=basDevpService.selectList(new EntityWrapper<BasDevp>().eq("wrk_no",taskWrk.getWrkNo())); if(basDevps.size()>0){ continue; } HashMap<String,Object> headParam=new HashMap<>(); String response = ""; Boolean bool = false; try { headParam.put("Result", 10);//货物搬离---出库复位电视机 headParam.put("TaskNo", taskWrk.getTaskNo()); log.info("WCS任务上报WMS货物搬离={}", taskWrk); response = new HttpHandler.Builder() // .setHeaders(headParam) .setUri(wmsUrl) .setPath(TaskExecCallback) .setJson(JSON.toJSONString(headParam)) .build() .doPost(); JSONObject jsonObject = JSON.parseObject(response); Date date=new Date(); if(jsonObject.get("ReturnStatus").equals(0)){ taskWrk.setWrkSts(18);//18.出库完成-上报WMS货物搬离 taskWrk.setModiTime(date); taskWrkMapper.updateById(taskWrk); bool = true; } } catch (Exception e) { log.error("WCS任务上报WMS货物搬离={},返回值={}", taskWrk, response); } finally { apiLogService.save("WCS任务上报WMS货物搬离" , wmsUrl + TaskExecCallback , null , "127.0.0.1" , JSON.toJSONString(headParam) , response , bool ); } } } } src/main/java/com/zy/asrs/task/TaskLogScheduler.java
@@ -58,66 +58,28 @@ @Value("${wms.taskStatusFeedbackPath}") private String taskStatusFeedbackPath; /** * 入出库任务转历史档 * @throws IOException */ @Scheduled(cron = "0/3 * * * * ? ") public void execute() throws IOException { //入库9转历史档 List<TaskWrk> taskWrkList = taskWrkService.selectList(new EntityWrapper<TaskWrk>().eq("wrk_sts", 9)); //入库7转历史档,移库7转历史档,出库18转 List<TaskWrk> taskWrkList = taskWrkService.selectList(new EntityWrapper<TaskWrk>().in("wrk_sts", 7,18)); for (TaskWrk taskWrk : taskWrkList) { TaskWrkLog taskWrkLog = new TaskWrkLog(taskWrk); if(taskWrkLog.getIoType().equals(2)){ taskWrkLog.setWrkSts(19); }else{ taskWrkLog.setWrkSts(8); } taskWrkLog.setModiTime(new Date()); if (!wrkLogService.insert(taskWrkLog)) { throw new CoolException("转历史档失败" + taskWrkLog); } if (!taskWrkService.deleteById(taskWrk)) { throw new CoolException("任务档删除失败" + taskWrkLog); } } // for (TaskWrk taskWrk : taskWrkService.selectToBeHistoryData()) { // HashMap<String, Object> headParam = new HashMap<>(); // if (taskWrk.getStatus().equals(TaskStatusType.OVER.id) || taskWrk.getStatus() == 7) {//完成 // headParam.put("Result", 1); // } else if (taskWrk.getStatus().equals(TaskStatusType.CANCEL.id)) { // headParam.put("Result", 2); // } // String response = ""; // Boolean bool = false; // try { // headParam.put("TaskNo", taskWrk.getTaskNo()); // log.info("wcs手动完成任务上报wms={}", taskWrk); // response = new HttpHandler.Builder() // // .setHeaders(headParam) // .setUri(wmsUrl) // .setPath(TaskExecCallback) // .setJson(JSON.toJSONString(headParam)) // .build() // .doPost(); // JSONObject jsonObject = JSON.parseObject(response); // TaskWrkLog taskWrkLog = new TaskWrkLog(taskWrk); // if(jsonObject.get("ReturnStatus").equals(0)){ // taskWrkLog.setWrkSts(8); // if (!wrkLogService.insert(taskWrkLog)) { // throw new CoolException("转历史档失败" + taskWrkLog); // } // if (!taskWrkService.deleteById(taskWrk)) { // throw new CoolException("任务档删除失败" + taskWrkLog); // } // bool = true; // } // } catch (Exception e) { // log.error("wcs手动完成任务上报wms失败{},返回值={}", taskWrk, response); // } finally { // apiLogService.save("wcs完成或者取消任务上报wms" // , wmsUrl + TaskExecCallback // , null // , "127.0.0.1" // , JSON.toJSONString(headParam) // , response // , bool // ); // } // } } } src/main/java/com/zy/asrs/task/TaskMastScheduler.java
New file @@ -0,0 +1,142 @@ package com.zy.asrs.task; import com.alibaba.fastjson.JSON; import com.alibaba.fastjson.JSONObject; import com.core.exception.CoolException; import com.zy.asrs.domain.enums.TaskStatusType; import com.zy.asrs.entity.LocMast; import com.zy.asrs.entity.TaskWrk; import com.zy.asrs.entity.TaskWrkLog; import com.zy.asrs.service.*; import com.zy.asrs.service.impl.TaskWrkLogServiceImpl; import com.zy.common.utils.HttpHandler; import lombok.extern.slf4j.Slf4j; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.beans.factory.annotation.Value; import org.springframework.scheduling.annotation.Scheduled; import org.springframework.stereotype.Component; import java.io.IOException; import java.util.Date; import java.util.HashMap; /** * 定时将完成任务上报给wms */ @Slf4j @Component public class TaskMastScheduler { @Autowired private TaskWrkService taskWrkService; @Autowired private CommandInfoService commandInfoService; @Autowired private ApiLogService apiLogService; @Autowired private BasDevpService basDevpService; @Autowired private StaDescService staDescService; @Autowired private LocMastService locMastService; @Autowired private TaskWrkLogServiceImpl wrkLogService; @Value("${wms.url}") private String wmsUrl; @Value("${wms.movePath}") private String movePath; @Value("${wms.inboundTaskApplyPath}") private String inboundTaskApplyPath; @Value("${wms.TaskExecCallback}") private String TaskExecCallback; @Value("${wms.taskStatusFeedbackPath}") private String taskStatusFeedbackPath; /** * 定时将完成任务上报给wms * 出库到目标站点 */ @Scheduled(cron = "0/3 * * * * ? ") public void execute() throws IOException { for (TaskWrk taskWrk : taskWrkService.selectToBeHistoryData()) { HashMap<String, Object> headParam = new HashMap<>(); String s="";//日志标识 if (taskWrk.getWrkSts() == 6) {//入库完成 headParam.put("Result", 1); s="入库完成"; taskWrk.setWrkSts(7);//入库任务转历史档7--》8 } else if (taskWrk.getWrkSts() == 16) {//出库完成-待搬离 headParam.put("Result", 1); s="出库完成-待搬离"; taskWrk.setWrkSts(17);//出库任务16--》17 } else if (taskWrk.getWrkSts().equals(30)) {//取消 s="取消"; headParam.put("Result", 2); taskWrk.setWrkSts(31);//取消任务30--》31 } String response = ""; Boolean bool = false; try { headParam.put("TaskNo", taskWrk.getTaskNo()); log.info("wcs"+s+"任务上报wms={}", taskWrk); response = new HttpHandler.Builder() // .setHeaders(headParam) .setUri(wmsUrl) .setPath(TaskExecCallback) .setJson(JSON.toJSONString(headParam)) .build() .doPost(); JSONObject jsonObject = JSON.parseObject(response); Date date=new Date(); if(jsonObject.get("ReturnStatus").equals(0)){ if(taskWrk.getIoType().equals(1)){//入库 LocMast locMast = locMastService.selectByLocNo(taskWrk.getTargetPoint());//目标库位 if(locMast != null){ locMast.setLocSts("F"); locMast.setBarcode(taskWrk.getBarcode()); locMast.setModiTime(date); locMastService.updateById(locMast); } }else if(taskWrk.getIoType().equals(3)){//移库 LocMast locMast = locMastService.selectByLocNo(taskWrk.getTargetPoint());//目标库位 if(locMast != null){ locMast.setLocSts("F"); locMast.setBarcode(taskWrk.getBarcode()); locMast.setModiTime(date); locMastService.updateById(locMast); } LocMast locMast2 = locMastService.selectByLocNo(taskWrk.getStartPoint());//原始库位 if(locMast2 != null){ locMast2.setLocSts("O"); locMast2.setBarcode(""); locMast.setModiTime(date); locMastService.updateById(locMast2); } }else if(taskWrk.getIoType().equals(2)){//出库 LocMast locMast2 = locMastService.selectByLocNo(taskWrk.getStartPoint());//原始库位 if(locMast2 != null){ locMast2.setLocSts("O"); locMast2.setBarcode(""); locMast2.setModiTime(date); locMastService.updateById(locMast2); } } taskWrkService.updateById(taskWrk); bool = true; } } catch (Exception e) { log.error("wcs"+s+"任务上报wms失败={},返回值={}", taskWrk, response); } finally { apiLogService.save("wcs"+s+"任务上报wms" , wmsUrl + TaskExecCallback , null , "127.0.0.1" , JSON.toJSONString(headParam) , response , bool ); } } } } src/main/resources/mapper/TaskWrkMapper.xml
@@ -119,7 +119,7 @@ <select id="selectToBeHistoryData" resultMap="BaseResultMap"> select * from dbo.wcs_task_wrk where 1=1 and ((wrk_sts=14 and status=5) or status=7 or status=4 or (wrk_sts=7 and status=5)) and (wrk_sts=16 or wrk_sts=7 or wrk_sts=30) order by io_pri desc,create_time,wrk_no ASC </select>