package com.zy.asrs.task.handler; import com.alibaba.fastjson.JSON; import com.alibaba.fastjson.JSONObject; import com.zy.asrs.entity.WrkMast; import com.zy.asrs.service.ApiLogService; import com.zy.asrs.service.WrkMastService; import com.zy.asrs.task.AbstractHandler; import com.zy.asrs.task.core.ReturnT; import com.zy.asrs.utils.Utils; import com.zy.common.model.StartupDto; 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.stereotype.Service; import org.springframework.transaction.annotation.Transactional; import java.util.HashMap; @Slf4j @Service @Transactional public class OutWorkHandler extends AbstractHandler { @Value("${wcs.address.URL}") private String addrs; @Value("${wcs.address.createOutTask}") private String outTask; @Value("${wcs.address.createLocMoveTask}") private String locMoveTask; @Autowired private ApiLogService apiLogService; @Autowired private WrkMastService wrkMastService; public synchronized ReturnT start(WrkMast wrkMast) { StartupDto startupDto = new StartupDto(); startupDto.setTaskNo(wrkMast.getWrkNo()); startupDto.setStaNo(wrkMast.getStaNo()); startupDto.setLocNo(Utils.locToLocNo(wrkMast.getSourceLocNo())); startupDto.setTaskPri(wrkMast.getIoPri()); if (wrkMast.getIoType() == 11) { String response = ""; boolean bool = false; try { log.info("wms派发任务给wcs移库={}", JSON.toJSONString(startupDto)); response = new HttpHandler.Builder() .setUri(addrs) .setPath(locMoveTask) .setJson(JSON.toJSONString(startupDto)) .build() .doPost(); JSONObject jsonObject = JSON.parseObject(response); if (jsonObject.getInteger("code") == 200) { wrkMast.setWrkSts(12L); wrkMastService.updateById(wrkMast); bool = true; } else { log.error("wms派发任务给wcs移库失败{},返回值={}", JSON.toJSONString(wrkMast), response); } } catch (Exception e) { log.error("wms派发任务给wcs移库失败{},返回值={}", JSON.toJSONString(wrkMast), response); } finally { apiLogService.save("wms派发任务给wcs移库" , addrs + locMoveTask , null , "127.0.0.1" , JSON.toJSONString(startupDto) , response , bool ); } } else { String response =""; boolean bool =false; try { log.info("wms派发任务给wcs出库={}", JSON.toJSONString(startupDto)); response = new HttpHandler.Builder() .setUri(addrs) .setPath(outTask) .setJson(JSON.toJSONString(startupDto)) .build() .doPost(); JSONObject jsonObject = JSON.parseObject(response); if(jsonObject.getInteger("code") == 200){ wrkMast.setWrkSts(12L); wrkMastService.updateById(wrkMast); bool = true; }else { log.error("wms派发任务给wcs出库失败{},返回值={}", JSON.toJSONString(wrkMast), response); } } catch (Exception e) { log.error("wms派发任务给wcs出库失败{},返回值={}", JSON.toJSONString(wrkMast), response); } finally { apiLogService.save("wms派发任务给wcs出库" , addrs + outTask , null , "127.0.0.1" , JSON.toJSONString(startupDto) , response , bool ); } } return SUCCESS; } }