From fbf8ca17b45027d0f75e12a055cf7e2e588a0f4c Mon Sep 17 00:00:00 2001 From: zjj <3272660260@qq.com> Date: 星期三, 23 十月 2024 09:22:18 +0800 Subject: [PATCH] # --- src/main/java/com/zy/asrs/task/WorkMastScheduler.java | 141 ++++++++++++++++++++++++++++++++++++++++++++++ 1 files changed, 139 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 67a2abb..41d3f4d 100644 --- a/src/main/java/com/zy/asrs/task/WorkMastScheduler.java +++ b/src/main/java/com/zy/asrs/task/WorkMastScheduler.java @@ -1,21 +1,158 @@ 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.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; /** * Created by vincent on 2020/7/7 */ -//@Component +@Component public class WorkMastScheduler { + private static final Logger log = LoggerFactory.getLogger(WorkMastScheduler.class); + + @Autowired + private WrkMastService wrkMastService; @Autowired private WorkMastHandler workMastHandler; + @Value("${shuttleWcs.url}") + private String shuttleWcsUrl; + @Autowired + private LocMastServiceImpl locMastService; + + @Scheduled(cron = "0/3 * * * * ? ") private void execute(){ - workMastHandler.start(); + List<WrkMast> wrkMasts = wrkMastService.selectToBeCompleteData(); + if (wrkMasts.isEmpty()) { + return; + } + for (WrkMast wrkMast : wrkMasts) { + ReturnT<String> returnT = workMastHandler.start(wrkMast); + if (!returnT.isSuccess()) { + wrkMast.setUpdMk("X"); + wrkMast.setErrorMemo(returnT.getMsg()); + wrkMast.setErrorTime(new Date()); + if (!wrkMastService.updateById(wrkMast)) { + log.error("宸ヤ綔妗workNo={}]鏍囪寰呭鐞嗗け璐�", wrkMast.getWrkNo()); + } + } + } } +// @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()-16)+"-"+locMast.getBay1()+"-"+locMast.getLev1(); +// ShuttleTask param = new ShuttleTask(); +// param.setTaskNo(wrkMast.getWrkNo().toString()); +// param.setDestLoc(loc); +// param.setOriginSite("31002"); +// 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()-16)+"-"+locMast.getBay1()+"-"+locMast.getLev1(); + ShuttleOutTask param = new ShuttleOutTask(); + param.setTaskNo(wrkMast.getWrkNo().toString()); + param.setOriginLoc(loc); + param.setOriginSite("31004"); + param.setDestSite("31002"); + 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浠诲姟澶辫触"); + } + + } + + + } -- Gitblit v1.9.1