src/main/java/com/zy/asrs/entity/param/ShuttleTask.java | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 | |
src/main/java/com/zy/asrs/service/impl/WorkServiceImpl.java | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 | |
src/main/java/com/zy/asrs/task/ErrorStockScheduler.java | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 | |
src/main/java/com/zy/asrs/task/WorkMastScheduler.java | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 | |
src/main/java/com/zy/common/service/CommonService.java | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 | |
src/main/java/com/zy/common/web/WcsController.java | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 |
src/main/java/com/zy/asrs/entity/param/ShuttleTask.java
@@ -7,6 +7,9 @@ //wms任务号 private String taskNo; //wms任务号 ,上个工作号用于2.5F private String taskNo2; //源站 private Integer sourceStaNo; src/main/java/com/zy/asrs/service/impl/WorkServiceImpl.java
@@ -1917,6 +1917,7 @@ wrkMast.setEmptyMk("Y"); // 空板 wrkMast.setBarcode(wrkMastold.getBarcode()); // 托盘码 wrkMast.setLinkMis("N"); wrkMast.setPltType(wrkMastold.getWrkNo()); wrkMast.setAppeTime(new Date()); wrkMast.setModiTime(new Date()); boolean res = wrkMastService.insert(wrkMast); @@ -1979,6 +1980,7 @@ wrkMast.setEmptyMk(wrkDetls != null ? "N" : "Y"); // 空板 wrkMast.setBarcode(wrkMastold.getBarcode()); // 托盘码 wrkMast.setLinkMis("N"); wrkMast.setPltType(wrkMastold.getWrkNo()); wrkMast.setAppeTime(new Date()); wrkMast.setModiTime(new Date()); boolean res = wrkMastService.insert(wrkMast); src/main/java/com/zy/asrs/task/ErrorStockScheduler.java
@@ -1,12 +1,25 @@ package com.zy.asrs.task; import com.alibaba.fastjson.JSON; import com.alibaba.fastjson.JSONArray; import com.alibaba.fastjson.JSONObject; import com.baomidou.mybatisplus.mapper.EntityWrapper; import com.zy.asrs.entity.LocMast; import com.zy.asrs.entity.param.ShuttleTask; import com.zy.asrs.service.LocMastService; import com.zy.asrs.task.core.ReturnT; import com.zy.asrs.task.handler.ErrorStockHandler; import com.zy.common.utils.HttpHandler; import org.slf4j.Logger; import org.slf4j.LoggerFactory; 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.List; /** * Created by vincent on 2020/7/7 @@ -18,13 +31,62 @@ @Autowired private ErrorStockHandler errorStockHandler; @Autowired private LocMastService locMastService; @Value("${shuttleWcs.url}") private String shuttleWcsUrl; @Scheduled(cron = "0/3 * * * * ? ") private void execute(){ private void execute() { ReturnT<String> returnT = errorStockHandler.start(); if (!returnT.isSuccess()) { log.error(returnT.getMsg()); } } @Scheduled(cron = "0/15 * * * * ? ") private void execute2() { String response = null; try { ShuttleTask param = new ShuttleTask(); response = new HttpHandler.Builder() .setUri(shuttleWcsUrl) .setJson(JSON.toJSONString(param)) .setPath("/openapi/getAllLocInformation") .build() .doPost(); } catch (IOException e) { e.printStackTrace(); } JSONObject jsonObject = JSON.parseObject(response); Integer code = jsonObject.getInteger("code"); if (code.equals(200)) { String data = jsonObject.getString("data"); List<LocMast> locMasts = JSONArray.parseArray(data, LocMast.class); for (LocMast locMast : locMasts) { if (locMast.getLocNo().startsWith("02003") || locMast.getLocNo().startsWith("12003")) { continue; } String locNo = locMast.getLocNo(); int row = Integer.parseInt(locNo.substring(0, 2)) + 4; if (row >= 10) { locNo = row + locMast.getLocNo().substring(2); } else { locNo = "0" + row + locMast.getLocNo().substring(2); } LocMast locMast1 = locMastService.selectOne(new EntityWrapper<LocMast>().eq("loc_no", locNo)); if (locMast1 == null) { log.info("库位不匹配"); } else { if (locMast1.getLocSts().equalsIgnoreCase("X") && (locMast.getLocSts().equalsIgnoreCase("W") || locMast.getLocSts().equalsIgnoreCase("E"))) { } else if (!locMast1.getLocSts().equalsIgnoreCase(locMast.getLocSts())) { log.info("库位状态不匹配{},WMS:{},RCS:{}", locMast1.getLocNo(), locMast1.getLocSts(), locMast.getLocSts()); } } } } } } src/main/java/com/zy/asrs/task/WorkMastScheduler.java
@@ -103,6 +103,7 @@ ShuttleTask param = new ShuttleTask(); param.setTaskNo(wrkMast.getWrkNo().toString()); param.setLocNo(loc); param.setTaskNo2(Cools.isEmpty(wrkMast.getPltType()) ? null : wrkMast.getPltType().toString()); param.setSourceStaNo(wrkMast.getSourceStaNo()); param.setStaNo(wrkMast.getStaNo()); param.setBarcode(wrkMast.getBarcode()); src/main/java/com/zy/common/service/CommonService.java
@@ -887,14 +887,12 @@ .ge("bay1", 3).le("bay1", 6) .eq("crn_no", 7) .eq("loc_type1", locTypeDto.getLocType1()) .eq("lev1", locMastWrk.getLev1()) .orderBy("bay1", true)); } else { locMasts = locMastService.selectList(new EntityWrapper<LocMast>() .eq("bay1", locMastWrk.getBay1()) .eq("crn_no", 7) .eq("loc_type1", locTypeDto.getLocType1()) .eq("lev1", locMastWrk.getLev1()) .orderBy("bay1", false)); } if (Cools.isEmpty(locMasts)) { src/main/java/com/zy/common/web/WcsController.java
@@ -297,7 +297,7 @@ // 获取目标站 Wrapper<StaDesc> wrapper = new EntityWrapper<StaDesc>() .eq("type_no", wrkMast.getIoType() - 50) .eq("stn_no", 31002) // 作业站点 = 拣料出库的目标站 .eq("stn_no", param.getSourceStaNo()) // 作业站点 = 拣料出库的目标站 .eq("crn_no", wrkMast.getCrnNo()); // 堆垛机号 StaDesc staDesc = staDescService.selectOne(wrapper); if (Cools.isEmpty(staDesc)) { @@ -321,7 +321,7 @@ wrkMast.setIoTime(now); wrkMast.setIoType(wrkMast.getIoType() - 50); // 入出库类型: 103->53,104->54,107->57 wrkMast.setWrkSts(2L); // 工作状态: 2.设备上走 wrkMast.setSourceStaNo(wrkMast.getStaNo()); // 源站 wrkMast.setSourceStaNo(param.getSourceStaNo()); // 源站 wrkMast.setStaNo(staNo); // 目标站 wrkMast.setLocNo(wrkMast.getSourceLocNo()); // 目标库位 = 出库时的源库位 wrkMast.setSourceLocNo(""); // 源库位清空