From ae54e42cbe354ef5c39954eed2eab18de9504946 Mon Sep 17 00:00:00 2001 From: zhang <zc857179121@qq.com> Date: 星期五, 13 六月 2025 13:02:25 +0800 Subject: [PATCH] Merge remote-tracking branch 'origin/tzmsewcs' into tzmsewcs --- src/main/java/com/zy/asrs/task/TaskReportScheduler.java | 106 +++++++++++++++++++++++++++++++++++++++++++++++++++++ 1 files changed, 106 insertions(+), 0 deletions(-) diff --git a/src/main/java/com/zy/asrs/task/TaskReportScheduler.java b/src/main/java/com/zy/asrs/task/TaskReportScheduler.java new file mode 100644 index 0000000..50461f8 --- /dev/null +++ b/src/main/java/com/zy/asrs/task/TaskReportScheduler.java @@ -0,0 +1,106 @@ +package com.zy.asrs.task; + +import com.alibaba.fastjson.JSON; +import com.alibaba.fastjson.JSONObject; +import com.baomidou.mybatisplus.mapper.EntityWrapper; +import com.baomidou.mybatisplus.plugins.Page; +import com.core.common.DateUtils; +import com.core.exception.CoolException; +import com.zy.asrs.entity.TaskWrkReport; +import com.zy.asrs.entity.TaskWrkReportLog; +import com.zy.asrs.entity.wms.WmsFeedback; +import com.zy.asrs.service.ApiLogService; +import com.zy.asrs.service.TaskWrkReportLogService; +import com.zy.asrs.service.TaskWrkReportService; +import com.zy.common.utils.HttpHandler; +import com.zy.common.utils.Synchro; +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; + +/** + * 瀹氭椂灏嗕换鍔�(瀹屾垚銆佸彇娑�)杞垚鏃ュ織 + */ +@Slf4j +@Component +public class TaskReportScheduler { + + @Autowired + private TaskWrkReportService taskWrkReportService; + + @Autowired + private TaskWrkReportLogService taskWrkReportLogService; + + @Autowired + private ApiLogService apiLogService; + + + @Value("${wms.url}") + private String wmsUrl; + + @Value("${wms.taskExecCallback}") + private String TaskExecCallback; + + + @Scheduled(cron = "0/3 * * * * ? ") + public void execute() throws IOException { + Page<TaskWrkReport> taskWrkReportPage = taskWrkReportService.selectPage(new Page<>(0, 100), new EntityWrapper<TaskWrkReport>().orderBy("createTime", true)); + if (taskWrkReportPage.getRecords() != null) { + //鏂板涓�涓繃婊ゆ満鍒� + for (TaskWrkReport taskWrk : taskWrkReportPage.getRecords()) { + WmsFeedback wmsFeedback = getWmsFeedback(taskWrk); + String response = ""; + Boolean bool = false; + try { + log.info("wcs鎵嬪姩瀹屾垚浠诲姟涓婃姤wms={}", taskWrk); + response = new HttpHandler.Builder() + // .setHeaders(headParam) + .setUri(wmsUrl) + .setPath(TaskExecCallback) + .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 (!taskWrkReportService.deleteById(taskWrk)) { + throw new CoolException("浠诲姟妗e垹闄ゅけ璐�" + taskWrkLog); + } + bool = true; + } catch (Exception e) { + log.error("wcs鎵嬪姩瀹屾垚浠诲姟涓婃姤wms澶辫触{},杩斿洖鍊�={}", taskWrk, response); + } finally { + apiLogService.save("浠诲姟鐘舵�佷笂鎶�" + , wmsUrl + TaskExecCallback + , null + , "127.0.0.1" + , JSON.toJSONString(wmsFeedback) + , response + , bool + ); + } + } + } + + } + + + private WmsFeedback getWmsFeedback(TaskWrkReport taskWrk) { + WmsFeedback feedback = new WmsFeedback(); + feedback.setBarcode(taskWrk.getBarcode()); + feedback.setReportTime(DateUtils.convert(new Date())); + feedback.setIoType(taskWrk.getIoType()); + feedback.setTaskNo(taskWrk.getTaskNo()); + feedback.setStatus(taskWrk.getStatus()); + return feedback; + } +} -- Gitblit v1.9.1