| 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.domain.enums.TaskStatusType; | 
| import com.zy.asrs.entity.*; | 
| import com.zy.asrs.entity.param.TaskOverToWms; | 
| import com.zy.asrs.entity.param.TaskStatusFeedbackParam; | 
| import com.zy.asrs.service.*; | 
| import com.zy.asrs.service.impl.TaskWrkLogServiceImpl; | 
| import com.zy.asrs.utils.PostMesDataUtils; | 
| import com.zy.common.utils.HttpHandler; | 
| 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.time.LocalDateTime; | 
| import java.util.Date; | 
| import java.util.HashMap; | 
| import java.util.List; | 
| import java.util.Map; | 
|   | 
| /** | 
|  * 定时将任务(完成、取消)转成日志 | 
|  */ | 
| @Slf4j | 
| @Component | 
| public class TaskLogScheduler { | 
|   | 
|     @Autowired | 
|     private TaskWrkService taskWrkService; | 
|     @Autowired | 
|     private CommandInfoService commandInfoService; | 
|     @Autowired | 
|     private ApiLogService apiLogService; | 
|     @Autowired | 
|     private BasDevpService basDevpService; | 
|   | 
|     @Autowired | 
|     private StaDescService staDescService; | 
|     @Autowired | 
|     private LocMastService locMastService; | 
|     @Autowired | 
|     private TaskWrkLogServiceImpl wrkLogService; | 
|   | 
|     @Value("${wms.url}") | 
|     private String wmsUrl; | 
|     @Value("${wms.taskStatusFeedbackPath}") | 
|     private String taskStatusFeedbackPath; | 
|   | 
|     @Scheduled(cron = "0/3 * * * * ? ") | 
|     public void execute() throws IOException { | 
|         List<TaskWrk> taskWrkList = taskWrkService.selectToBeHistoryData(); | 
|         for (TaskWrk taskWrk : taskWrkList) { | 
|             JSONObject jsonObject = null; | 
|             String response = null; | 
|             boolean success = false; | 
|             HashMap<String, Object> map = new HashMap<>(); | 
|             try { | 
|                 map.put("taskNo",taskWrk.getTaskNo()); | 
|                 map.put("taskStatus",taskWrk.getStatusWms()); | 
|                 map.put("ioType",taskWrk.getIoTypeWms()); | 
|                 map.put("barCode",taskWrk.getBarcode()); | 
|                 map.put("reportTime", LocalDateTime.now()); | 
|                 map.put("weight",taskWrk.getScWeight().doubleValue()); | 
|                 response = new HttpHandler.Builder() | 
|                         .setUri(wmsUrl) | 
|                         .setPath(taskStatusFeedbackPath) | 
|                         .setJson(JSON.toJSONString(map)) | 
|                         .build() | 
|                         .doPost(); | 
|                 jsonObject = JSON.parseObject(response); | 
|   | 
|                 if (!Cools.isEmpty(jsonObject.getInteger("code")) && jsonObject.getInteger("code").equals(200)) { | 
|                     if (taskWrkService.saveToHistory(taskWrk.getTaskNo()) == 0) { | 
|                         log.error("任务档转任务历史档失败" + taskWrk); | 
|                         return ; | 
|                     } | 
|                     success = true; | 
|                     //删除任务 | 
|                     taskWrkService.delete(new EntityWrapper<TaskWrk>().eq("task_no", taskWrk.getTaskNo())); | 
|                 } else { | 
|                     log.error("wms入库出库完成上报失败" + taskWrk); | 
|                 } | 
|             } catch (Exception e) { | 
|                 log.error("wms通讯失败," + e.getMessage()); | 
|             } finally { | 
|                 apiLogService.save("wms入库出库完成上报" | 
|                         , wmsUrl + taskStatusFeedbackPath | 
|                         , null | 
|                         , "127.0.0.1" | 
|                         , JSON.toJSONString(map) | 
|                         , response | 
|                         , success | 
|                 ); | 
|             } | 
|         } | 
|   | 
|   | 
|     } | 
|   | 
| } |