From f9a7ddfa09e2f31b40e10af5472f3fb1a6fd5e0b Mon Sep 17 00:00:00 2001 From: zhangc <zc@123> Date: 星期五, 18 四月 2025 13:23:05 +0800 Subject: [PATCH] 1 --- src/main/java/com/zy/asrs/task/WorkMastScheduler.java | 158 ++++++++++++++++++++++++++++++++++++++++++++++++++++ 1 files changed, 156 insertions(+), 2 deletions(-) diff --git a/src/main/java/com/zy/asrs/task/WorkMastScheduler.java b/src/main/java/com/zy/asrs/task/WorkMastScheduler.java index 92be3a2..d523ed1 100644 --- a/src/main/java/com/zy/asrs/task/WorkMastScheduler.java +++ b/src/main/java/com/zy/asrs/task/WorkMastScheduler.java @@ -1,12 +1,26 @@ package com.zy.asrs.task; +import com.alibaba.fastjson.JSON; +import com.alibaba.fastjson.JSONObject; +import com.baomidou.mybatisplus.mapper.EntityWrapper; +import com.core.common.Cools; +import com.core.exception.CoolException; +import com.zy.asrs.entity.LocMast; import com.zy.asrs.entity.WrkMast; +import com.zy.asrs.entity.param.ShuttleMoveTask; +import com.zy.asrs.entity.param.ShuttleOutTask; +import com.zy.asrs.entity.param.ShuttleTask; import com.zy.asrs.service.WrkMastService; +import com.zy.asrs.service.impl.LocMastServiceImpl; +import com.zy.asrs.task.core.ReturnT; import com.zy.asrs.task.handler.WorkMastHandler; +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.util.Date; import java.util.List; @@ -14,7 +28,7 @@ /** * Created by vincent on 2020/7/7 */ -//@Component +@Component public class WorkMastScheduler { private static final Logger log = LoggerFactory.getLogger(WorkMastScheduler.class); @@ -24,8 +38,14 @@ @Autowired private WorkMastHandler workMastHandler; + @Value("${shuttleWcs.url}") + private String shuttleWcsUrl; + @Autowired + private LocMastServiceImpl locMastService; + + @Scheduled(cron = "0/3 * * * * ? ") - private void execute(){ + private void execute() { List<WrkMast> wrkMasts = wrkMastService.selectToBeCompleteData(); if (wrkMasts.isEmpty()) { return; @@ -43,4 +63,138 @@ } } + @Scheduled(cron = "0/3 * * * * ? ") //鍏ュ簱浠诲姟涓嬪彂 + private void ShuttleInTaskSend() { + List<WrkMast> wrkMasts1 = wrkMastService.selectList(new EntityWrapper<WrkMast>() + .in("io_type", 101, 110, 103, 104, 107) + .eq("wrk_sts", 105).eq("crn_no", 7)); + if (!Cools.isEmpty(wrkMasts1)) { + return; + } + List<WrkMast> wrkMasts = wrkMastService.selectToShuttleTask(); + if (wrkMasts.isEmpty()) { + return; + } + try { + for (WrkMast wrkMast : wrkMasts) { + LocMast locMast = locMastService.selectOne(new EntityWrapper<LocMast>().eq("loc_no", wrkMast.getLocNo())); + if (locMast == null) { + throw new CoolException("涓嬪彂鍥涘悜杞cs浠诲姟澶辫触"); + } + String loc = (locMast.getRow1() - 4) + "-" + locMast.getBay1() + "-" + locMast.getLev1(); + ShuttleTask param = new ShuttleTask(); + param.setTaskNo(wrkMast.getWrkNo().toString()); + param.setLocNo(loc); + param.setSourceStaNo(wrkMast.getSourceStaNo()); + param.setStaNo(wrkMast.getStaNo()); + param.setBarcode(wrkMast.getBarcode()); + //param.setPriority("11"); + String response = new HttpHandler.Builder() + .setUri(shuttleWcsUrl) + .setPath("/openapi/createInTask") + .setJson(JSON.toJSONString(param)) + .build() + .doPost(); + JSONObject jsonObject = JSON.parseObject(response); + Integer code = jsonObject.getInteger("code"); + if (code.equals(200)) { + wrkMast.setWrkSts(105L); + if (!wrkMastService.updateById(wrkMast)) { + log.error("宸ヤ綔妗workNo={}]鏍囪寰呭鐞嗗け璐�", wrkMast.getWrkNo()); + } + } + } + } catch (Exception e) { + throw new CoolException("涓嬪彂鍥涘悜杞cs浠诲姟澶辫触"); + } + + } + + @Scheduled(cron = "0/3 * * * * ? ") //鍑哄簱搴撲换鍔′笅鍙� + private void ShuttleOutTaskSend() { + List<WrkMast> wrkMasts1 = wrkMastService.selectList(new EntityWrapper<WrkMast>() + .in("io_type", 1, 10, 53, 54, 57).eq("crn_no", 7)); + if (!Cools.isEmpty(wrkMasts1)) { + return; + } + List<WrkMast> wrkMasts = wrkMastService.selectToShuttleOutTask(); + if (wrkMasts.isEmpty()) { + return; + } + try { + for (WrkMast wrkMast : wrkMasts) { + LocMast locMast = locMastService.selectOne(new EntityWrapper<LocMast>().eq("loc_no", wrkMast.getSourceLocNo())); + if (locMast == null) { + throw new CoolException("涓嬪彂鍥涘悜杞cs浠诲姟澶辫触"); + } + String loc = (locMast.getRow1() - 4) + "-" + locMast.getBay1() + "-" + locMast.getLev1(); + ShuttleOutTask param = new ShuttleOutTask(); + param.setTaskNo(wrkMast.getWrkNo().toString()); + param.setSourceLocNo(loc); + param.setStaNo(wrkMast.getStaNo()); + //param.setPriority("11"); + String response = new HttpHandler.Builder() + .setUri(shuttleWcsUrl) + .setPath("/openapi/createOutTask") + .setJson(JSON.toJSONString(param)) + .build() + .doPost(); + JSONObject jsonObject = JSON.parseObject(response); + Integer code = jsonObject.getInteger("code"); + if (code.equals(200)) { + wrkMast.setWrkSts(105L); + if (!wrkMastService.updateById(wrkMast)) { + log.error("宸ヤ綔妗workNo={}]鏍囪寰呭鐞嗗け璐�", wrkMast.getWrkNo()); + } + } + } + } catch (Exception e) { + throw new CoolException("涓嬪彂鍥涘悜杞cs浠诲姟澶辫触"); + } + + } + + // @Scheduled(cron = "0/3 * * * * ? ") //绉诲簱浠诲姟涓嬪彂 + private void ShuttleMoveTaskSend() { + List<WrkMast> wrkMasts = wrkMastService.selectList(new EntityWrapper<WrkMast>().eq("wrk_sts", 11).eq("io_type", 11)); + if (wrkMasts.isEmpty()) { + return; + } + try { + for (WrkMast wrkMast : wrkMasts) { + LocMast destLoc = locMastService.selectOne(new EntityWrapper<LocMast>().eq("loc_no", wrkMast.getLocNo())); + LocMast originLoc = locMastService.selectOne(new EntityWrapper<LocMast>().eq("loc_no", wrkMast.getSourceLocNo())); + if (originLoc == null || destLoc == null) { + throw new CoolException("涓嬪彂鍥涘悜杞cs浠诲姟澶辫触"); + } + String originLoc1 = (originLoc.getRow1() - 16) + "-" + originLoc.getBay1() + "-" + originLoc.getLev1(); + String destLoc1 = (destLoc.getRow1() - 16) + "-" + destLoc.getBay1() + "-" + destLoc.getLev1(); + ShuttleMoveTask param = new ShuttleMoveTask(); + param.setTaskNo(wrkMast.getWrkNo().toString()); + param.setOriginLoc(originLoc1); + param.setDestLoc(destLoc1); + param.setRecord(true); + param.setPriority("11"); + String response = new HttpHandler.Builder() + .setUri(shuttleWcsUrl) + .setPath("/openapi/createLadenMoveTakeTask") + .setJson(JSON.toJSONString(param)) + .build() + .doPost(); + JSONObject jsonObject = JSON.parseObject(response); + Integer code = jsonObject.getInteger("code"); + if (code.equals(200)) { + wrkMast.setWrkSts(105L); + if (!wrkMastService.updateById(wrkMast)) { + log.error("宸ヤ綔妗workNo={}]鏍囪寰呭鐞嗗け璐�", wrkMast.getWrkNo()); + } + } + } + } catch (Exception e) { + throw new CoolException("涓嬪彂鍥涘悜杞cs浠诲姟澶辫触"); + } + + } + + } -- Gitblit v1.9.1