| | |
| | | |
| | | 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.domain.enums.TaskStatusType; |
| | | 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 org.springframework.stereotype.Component; |
| | | |
| | | import java.io.IOException; |
| | | import java.util.HashMap; |
| | | import java.util.Date; |
| | | |
| | | /** |
| | | * 定时将任务(完成、取消)转成日志 |
| | |
| | | @Value("${wms.url}") |
| | | private String wmsUrl; |
| | | |
| | | @Value("${wms.TaskExecCallback}") |
| | | @Value("${wms.taskExecCallback}") |
| | | private String TaskExecCallback; |
| | | |
| | | |
| | | @Scheduled(cron = "0/3 * * * * ? ") |
| | | public void execute() throws IOException { |
| | | Page<TaskWrkReport> taskWrkReportPage = taskWrkReportService.selectPage(new Page<>(0, 10)); |
| | | Page<TaskWrkReport> taskWrkReportPage = taskWrkReportService.selectPage(new Page<>(0, 100), new EntityWrapper<TaskWrkReport>().orderBy("createTime", true)); |
| | | if (taskWrkReportPage.getRecords() != null) { |
| | | //新增一个过滤机制 |
| | | for (TaskWrkReport taskWrk : taskWrkReportPage.getRecords()) { |
| | | HashMap<String, Object> headParam = new HashMap<>(); |
| | | if (taskWrk.getStatus().equals(TaskStatusType.OVER.id) || taskWrk.getStatus() == 7) {//完成 |
| | | headParam.put("Result", 1); |
| | | } else if (taskWrk.getStatus().equals(TaskStatusType.CANCEL.id)) { |
| | | headParam.put("Result", 2); |
| | | } |
| | | WmsFeedback wmsFeedback = getWmsFeedback(taskWrk); |
| | | String response = ""; |
| | | Boolean bool = false; |
| | | try { |
| | | headParam.put("TaskNo", taskWrk.getTaskNo()); |
| | | log.info("wcs手动完成任务上报wms={}", taskWrk); |
| | | response = new HttpHandler.Builder() |
| | | // .setHeaders(headParam) |
| | | .setUri(wmsUrl) |
| | | .setPath(TaskExecCallback) |
| | | .setJson(JSON.toJSONString(headParam)) |
| | | .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); |
| | | } |
| | |
| | | } catch (Exception e) { |
| | | log.error("wcs手动完成任务上报wms失败{},返回值={}", taskWrk, response); |
| | | } finally { |
| | | apiLogService.save("wcs完成或者取消任务上报wms" |
| | | apiLogService.save("任务状态上报" |
| | | , wmsUrl + TaskExecCallback |
| | | , null |
| | | , "127.0.0.1" |
| | | , JSON.toJSONString(headParam) |
| | | , 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; |
| | | } |
| | | } |