package com.zy.asrs.task; import com.alibaba.fastjson.JSON; import com.alibaba.fastjson.JSONObject; import com.baomidou.mybatisplus.mapper.EntityWrapper; import com.zy.asrs.controller.CrnController; import com.zy.asrs.controller.SiteController; import com.zy.asrs.entity.BasDevp; import com.zy.asrs.entity.LocMast; import com.zy.asrs.entity.TaskWrk; import com.zy.asrs.mapper.BasCrnErrorMapper; import com.zy.asrs.mapper.StaDescMapper; import com.zy.asrs.mapper.TaskWrkMapper; import com.zy.asrs.mapper.WrkMastMapper; import com.zy.asrs.service.*; import com.zy.asrs.service.impl.OpenServiceImpl; import com.zy.common.service.CommonService; import com.zy.common.utils.HttpHandler; import com.zy.core.properties.SlaveProperties; import com.zy.system.service.ConfigService; 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; import java.util.HashMap; import java.util.List; @Slf4j @Component public class RepositionLED { @Autowired private SlaveProperties slaveProperties; @Autowired private WrkMastMapper wrkMastMapper; @Autowired private LocMastService locMastService; @Autowired private BasCrnpService basCrnpService; @Autowired private BasDevpService basDevpService; @Autowired private BasErrLogService basErrLogService; @Autowired private BasCrnErrorMapper basCrnErrorMapper; @Autowired private TaskWrkMapper taskWrkMapper; @Autowired private TaskWrkService taskWrkService; @Autowired private ConfigService configService; @Autowired private StaDescMapper staDescMapper; @Autowired private CommandInfoService commandInfoService; @Autowired private OpenServiceImpl openServiceImpl; @Autowired private StaDescService staDescService; @Autowired private ApiLogService apiLogService; @Autowired private CommonService commonService; @Value("${wms.url}") private String wmsUrl; @Value("${wms.inboundTaskApplyPath}") private String inboundTaskApplyPath; @Value("${wms.TaskExecCallback}") private String TaskExecCallback; @Value("${wms.taskStatusFeedbackPath}") private String taskStatusFeedbackPath; @Autowired private CrnController crnController; @Autowired private SiteController siteController; /** * 货物搬离---出库复位电视机 * 上报WMS货物搬离 * @throws IOException */ // @Scheduled(cron = "0/3 * * * * ? ") public void execute() throws IOException { List taskWrks=taskWrkService.selectList(new EntityWrapper().eq("wrk_sts",17)); for(TaskWrk taskWrk:taskWrks){ List basDevps=basDevpService.selectList(new EntityWrapper().eq("wrk_no",taskWrk.getWrkNo())); if(basDevps.size()>0){ continue; } HashMap headParam=new HashMap<>(); String response = ""; Boolean bool = false; try { headParam.put("Result", 10);//货物搬离---出库复位电视机 headParam.put("TaskNo", taskWrk.getTaskNo()); log.info("WCS任务上报WMS货物搬离={}", taskWrk); response = new HttpHandler.Builder() // .setHeaders(headParam) .setUri(wmsUrl) .setPath(TaskExecCallback) .setJson(JSON.toJSONString(headParam)) .build() .doPost(); JSONObject jsonObject = JSON.parseObject(response); Date date=new Date(); if(jsonObject.get("ReturnStatus").equals(0)){ taskWrk.setWrkSts(18);//18.出库完成-上报WMS货物搬离 taskWrk.setModiTime(date); taskWrkMapper.updateById(taskWrk); bool = true; } } catch (Exception e) { log.error("WCS任务上报WMS货物搬离={},返回值={}", taskWrk, response); } finally { apiLogService.save("WCS任务上报WMS货物搬离" , wmsUrl + TaskExecCallback , null , "127.0.0.1" , JSON.toJSONString(headParam) , response , bool ); } } } }