From 385a7a63f86903b74c4a878ab22b69a63a8f5e54 Mon Sep 17 00:00:00 2001 From: pang.jiabao <pang_jiabao@163.com> Date: 星期四, 15 五月 2025 15:54:23 +0800 Subject: [PATCH] 外置输送线wms通知输送线流动 --- src/main/java/com/zy/asrs/task/TaskReportScheduler.java | 108 ++++++++++++++++++++++++++++++++++++++++++++++------- 1 files changed, 93 insertions(+), 15 deletions(-) diff --git a/src/main/java/com/zy/asrs/task/TaskReportScheduler.java b/src/main/java/com/zy/asrs/task/TaskReportScheduler.java index 1e31a15..7fc824e 100644 --- a/src/main/java/com/zy/asrs/task/TaskReportScheduler.java +++ b/src/main/java/com/zy/asrs/task/TaskReportScheduler.java @@ -4,14 +4,22 @@ import com.alibaba.fastjson.JSONObject; import com.baomidou.mybatisplus.mapper.EntityWrapper; import com.baomidou.mybatisplus.plugins.Page; +import com.core.common.Cools; import com.core.common.DateUtils; import com.core.exception.CoolException; +import com.zy.asrs.domain.enums.TaskStatusType; +import com.zy.asrs.domain.enums.WorkNoType; +import com.zy.asrs.entity.LocMast; +import com.zy.asrs.entity.TaskWrk; import com.zy.asrs.entity.TaskWrkReport; import com.zy.asrs.entity.TaskWrkReportLog; import com.zy.asrs.entity.wms.WmsFeedback; +import com.zy.asrs.mapper.TaskWrkMapper; import com.zy.asrs.service.ApiLogService; +import com.zy.asrs.service.LocMastService; import com.zy.asrs.service.TaskWrkReportLogService; import com.zy.asrs.service.TaskWrkReportService; +import com.zy.common.service.CommonService; import com.zy.common.utils.HttpHandler; import com.zy.common.utils.Synchro; import lombok.extern.slf4j.Slf4j; @@ -20,6 +28,7 @@ import org.springframework.scheduling.annotation.Scheduled; import org.springframework.stereotype.Component; +import javax.annotation.Resource; import java.io.IOException; import java.util.Date; @@ -43,19 +52,28 @@ @Value("${wms.url}") private String wmsUrl; - @Value("${wms.TaskExecCallback}") + @Value("${wms.taskExecCallback}") private String TaskExecCallback; + @Resource + private TaskWrkMapper taskWrkMapper; - @Scheduled(cron = "0/3 * * * * ? ") - public void execute() throws IOException { - Page<TaskWrkReport> taskWrkReportPage = taskWrkReportService.selectPage(new Page<>(0, 100), new EntityWrapper<TaskWrkReport>().orderBy("createTime", true)); + @Resource + private LocMastService locMastService; + + @Resource + private CommonService commonService; + + + @Scheduled(cron = "0/5 * * * * ? ") + public synchronized void execute() throws IOException { + Page<TaskWrkReport> taskWrkReportPage = taskWrkReportService.selectPage(new Page<>(0, 100), new EntityWrapper<TaskWrkReport>().orderBy("create_time", true)); if (taskWrkReportPage.getRecords() != null) { //鏂板涓�涓繃婊ゆ満鍒� for (TaskWrkReport taskWrk : taskWrkReportPage.getRecords()) { WmsFeedback wmsFeedback = getWmsFeedback(taskWrk); String response = ""; - Boolean bool = false; + boolean bool = false; try { log.info("wcs鎵嬪姩瀹屾垚浠诲姟涓婃姤wms={}", taskWrk); response = new HttpHandler.Builder() @@ -65,17 +83,22 @@ .setJson(JSON.toJSONString(wmsFeedback)) .build() .doPost(); - JSONObject jsonObject = JSON.parseObject(response); - TaskWrkReportLog taskWrkLog = new TaskWrkReportLog(); - Synchro.Copy(taskWrk, taskWrkLog); - taskWrkLog.setId(null); - if (!taskWrkReportLogService.insert(taskWrkLog)) { - throw new CoolException("杞巻鍙叉。澶辫触" + taskWrkLog); + if (!Cools.isEmpty(response)) { + JSONObject jsonObject = JSON.parseObject(response); + if (Integer.parseInt(String.valueOf(jsonObject.get("code"))) == 200) { + TaskWrkReportLog taskWrkLog = new TaskWrkReportLog(); + Synchro.Copy(taskWrk, taskWrkLog); + taskWrkLog.setId(null); + if (!taskWrkReportLogService.insert(taskWrkLog)) { + throw new CoolException("杞巻鍙叉。澶辫触" + taskWrkLog); + } + if (!taskWrkReportService.deleteById(taskWrk)) { + throw new CoolException("浠诲姟妗e垹闄ゅけ璐�" + taskWrkLog); + } + bool = true; + } } - if (!taskWrkReportService.deleteById(taskWrk)) { - throw new CoolException("浠诲姟妗e垹闄ゅけ璐�" + taskWrkLog); - } - bool = true; + } catch (Exception e) { log.error("wcs鎵嬪姩瀹屾垚浠诲姟涓婃姤wms澶辫触{},杩斿洖鍊�={}", taskWrk, response); } finally { @@ -93,6 +116,61 @@ } +// @Scheduled(cron = "0/5 * * * * ? ") + public synchronized void autoMoveLoc() { + int flag = 1; // 1.璺�23鍙峰爢鍨涙満鍓�7鍒楋紝1鍙峰爢鍨涙満1锛�9灞� 2.璺�23鍙峰爢鍨涙満鍚�8-12鍒楋紝1鍙峰爢鍨涙満2-8灞� + for(int i = 1; i <= 3; i++ ){ + // 鑾峰彇鍫嗗灈鏈哄搴斾换鍔� + Integer count = taskWrkMapper.selectCount(new EntityWrapper<TaskWrk>().eq("crn_no", i)); + if (count == 0) { + // 鑾峰彇鍫嗗灈鏈哄贩閬撳湪搴撳簱浣� + LocMast locMast = locMastService.selectOne(new EntityWrapper<LocMast>().eq("loc_sts", "F").eq("crn_no", i)); + if (locMast != null) { + // 鑾峰彇涓�涓Щ鍔ㄧ殑鐩爣搴撲綅 + LocMast locMast1; + if (flag == 1) { + if (i == 1) { + locMast1 = locMastService.selectOne(new EntityWrapper<LocMast>().eq("crn_no", i).eq("status", "0") + .eq("loc_sts","O").orderBy("lev1").orderBy("bay1").orderBy("row1").in("lev1",1,9)); + } else { + locMast1 = locMastService.selectOne(new EntityWrapper<LocMast>().eq("crn_no", i).eq("status", "0") + .eq("loc_sts","O").orderBy("lev1").orderBy("bay1").orderBy("row1").le("bay1",7)); + } + + } else { + if (i == 1) { + locMast1 = locMastService.selectOne(new EntityWrapper<LocMast>().eq("crn_no", i).eq("status", "0") + .eq("loc_sts","O").orderBy("lev1").orderBy("bay1").orderBy("row1").in("lev1",2,3,4,5,6,7,8)); + } else { + locMast1 = locMastService.selectOne(new EntityWrapper<LocMast>().eq("crn_no", i).eq("status", "0") + .eq("loc_sts","O").orderBy("lev1").orderBy("bay1").orderBy("row1").gt("bay1",7)); + } + + } + + if (locMast1 != null) { + // 鍒涘缓绉诲簱浠诲姟 + TaskWrk taskWrk = new TaskWrk(); + Date now = new Date(); + taskWrk.setTaskNo(locMast1.getLocNo());//浠诲姟鍙� + taskWrk.setWrkNo(commonService.getWorkNo(WorkNoType.PAKIN.type)); + taskWrk.setStatus(TaskStatusType.RECEIVE.id);//浠诲姟鐘舵�侊細鎺ユ敹 + taskWrk.setCreateTime(now); + taskWrk.setIoType(3);//浠诲姟绫诲瀷 + taskWrk.setIoPri(11);//浼樺厛绾� + taskWrk.setBarcode(locMast.getBarcode());//鏉$爜 + taskWrk.setCrnNo(locMast.getCrnNo()); + taskWrk.setWrkSts(11); + taskWrk.setStartPoint(locMast.getLocNo());//璧风偣 + taskWrk.setTargetPoint(locMast1.getLocNo()); + taskWrkMapper.insert(taskWrk); + locMast1.setStatus("1"); + locMastService.updateById(locMast1); + } + } + } + } + } private WmsFeedback getWmsFeedback(TaskWrkReport taskWrk) { WmsFeedback feedback = new WmsFeedback(); -- Gitblit v1.9.1