|  |  | 
 |  |  | 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.entity.LocMast; | 
 |  |  | import com.zy.asrs.entity.WrkMast; | 
 |  |  | import com.zy.asrs.entity.param.ShuttleOutTask; | 
 |  |  | import com.zy.asrs.entity.param.ShuttleTask; | 
 |  |  | import com.zy.asrs.service.WrkMastService; | 
 |  |  | import com.zy.asrs.service.impl.LocMastServiceImpl; | 
 |  |  | import com.zy.asrs.task.core.ReturnT; | 
 |  |  | import com.zy.asrs.task.handler.WorkMastHandler; | 
 |  |  | import com.zy.common.utils.HttpHandler; | 
 |  |  | import org.slf4j.Logger; | 
 |  |  | import org.slf4j.LoggerFactory; | 
 |  |  | 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.util.Date; | 
 |  |  | import java.util.List; | 
 |  |  | 
 |  |  | /** | 
 |  |  |  * Created by vincent on 2020/7/7 | 
 |  |  |  */ | 
 |  |  | //@Component | 
 |  |  | @Component | 
 |  |  | public class WorkMastScheduler { | 
 |  |  |  | 
 |  |  |     private static final Logger log = LoggerFactory.getLogger(WorkMastScheduler.class); | 
 |  |  | 
 |  |  |     private WrkMastService wrkMastService; | 
 |  |  |     @Autowired | 
 |  |  |     private WorkMastHandler workMastHandler; | 
 |  |  |  | 
 |  |  |     @Value("${shuttleWcs.url}") | 
 |  |  |     private String shuttleWcsUrl; | 
 |  |  |     @Autowired | 
 |  |  |     private LocMastServiceImpl locMastService; | 
 |  |  |  | 
 |  |  |  | 
 |  |  |     @Scheduled(cron = "0/3 * * * * ? ") | 
 |  |  |     private void execute(){ | 
 |  |  | 
 |  |  |         } | 
 |  |  |     } | 
 |  |  |  | 
 |  |  | //    @Scheduled(cron = "0/3 * * * * ? ") //入库任务下发 | 
 |  |  | //    private void ShuttleInTaskSend(){ | 
 |  |  | //        List<WrkMast> wrkMasts1 = wrkMastService.selectList(new EntityWrapper<WrkMast>() | 
 |  |  | //                .in("io_type", 101,110,103,104,107) | 
 |  |  | //                .eq("wrk_sts", 105).eq("crn_no",7)); | 
 |  |  | //        if (!Cools.isEmpty(wrkMasts1)){ | 
 |  |  | //            return; | 
 |  |  | //        } | 
 |  |  | //        List<WrkMast> wrkMasts = wrkMastService.selectToShuttleTask(); | 
 |  |  | //        if (wrkMasts.isEmpty()) { | 
 |  |  | //            return; | 
 |  |  | //        } | 
 |  |  | //        try { | 
 |  |  | //            for (WrkMast wrkMast : wrkMasts) { | 
 |  |  | //                LocMast locMast = locMastService.selectOne(new EntityWrapper<LocMast>().eq("loc_no", wrkMast.getLocNo())); | 
 |  |  | //                if (locMast == null) { | 
 |  |  | //                    throw new CoolException("下发四向车wcs任务失败"); | 
 |  |  | //                } | 
 |  |  | //                String loc = (locMast.getRow1()-16)+"-"+locMast.getBay1()+"-"+locMast.getLev1(); | 
 |  |  | //                ShuttleTask param = new ShuttleTask(); | 
 |  |  | //                param.setTaskNo(wrkMast.getWrkNo().toString()); | 
 |  |  | //                param.setDestLoc(loc); | 
 |  |  | //                param.setOriginSite("31002"); | 
 |  |  | //                param.setBarcode(wrkMast.getBarcode()); | 
 |  |  | //                param.setPriority("11"); | 
 |  |  | //                String response = new HttpHandler.Builder() | 
 |  |  | //                        .setUri(shuttleWcsUrl) | 
 |  |  | //                        .setPath("/openapi/createInTask") | 
 |  |  | //                        .setJson(JSON.toJSONString(param)) | 
 |  |  | //                        .build() | 
 |  |  | //                        .doPost(); | 
 |  |  | //                JSONObject jsonObject = JSON.parseObject(response); | 
 |  |  | //                Integer code = jsonObject.getInteger("code"); | 
 |  |  | //                if (code.equals(200)) { | 
 |  |  | //                    wrkMast.setWrkSts(105L); | 
 |  |  | //                    if (!wrkMastService.updateById(wrkMast)) { | 
 |  |  | //                        log.error("工作档[workNo={}]标记待处理失败", wrkMast.getWrkNo()); | 
 |  |  | //                    } | 
 |  |  | //                } | 
 |  |  | //            } | 
 |  |  | //        }catch (Exception e){ | 
 |  |  | //            throw new CoolException("下发四向车wcs任务失败"); | 
 |  |  | //        } | 
 |  |  | // | 
 |  |  | //    } | 
 |  |  |  | 
 |  |  |     @Scheduled(cron = "0/3 * * * * ? ") //出库库任务下发 | 
 |  |  |     private void ShuttleOutTaskSend(){ | 
 |  |  |         List<WrkMast> wrkMasts1 = wrkMastService.selectList(new EntityWrapper<WrkMast>() | 
 |  |  |                 .in("io_type", 1,10,53,54,57).eq("crn_no",7)); | 
 |  |  |         if (!Cools.isEmpty(wrkMasts1)){ | 
 |  |  |             return; | 
 |  |  |         } | 
 |  |  |         List<WrkMast> wrkMasts = wrkMastService.selectToShuttleOutTask(); | 
 |  |  |         if (wrkMasts.isEmpty()) { | 
 |  |  |             return; | 
 |  |  |         } | 
 |  |  |         try { | 
 |  |  |             for (WrkMast wrkMast : wrkMasts) { | 
 |  |  |                 LocMast locMast = locMastService.selectOne(new EntityWrapper<LocMast>().eq("loc_no", wrkMast.getSourceLocNo())); | 
 |  |  |                 if (locMast == null) { | 
 |  |  |                     throw new CoolException("下发四向车wcs任务失败"); | 
 |  |  |                 } | 
 |  |  |                 String loc = (locMast.getRow1()-16)+"-"+locMast.getBay1()+"-"+locMast.getLev1(); | 
 |  |  |                 ShuttleOutTask param = new ShuttleOutTask(); | 
 |  |  |                 param.setTaskNo(wrkMast.getWrkNo().toString()); | 
 |  |  |                 param.setOriginLoc(loc); | 
 |  |  |                 param.setOriginSite("31004"); | 
 |  |  |                 param.setDestSite("31002"); | 
 |  |  |                 param.setPriority("11"); | 
 |  |  |                 String response = new HttpHandler.Builder() | 
 |  |  |                         .setUri(shuttleWcsUrl) | 
 |  |  |                         .setPath("/openapi/createOutTask") | 
 |  |  |                         .setJson(JSON.toJSONString(param)) | 
 |  |  |                         .build() | 
 |  |  |                         .doPost(); | 
 |  |  |                 JSONObject jsonObject = JSON.parseObject(response); | 
 |  |  |                 Integer code = jsonObject.getInteger("code"); | 
 |  |  |                 if (code.equals(200)) { | 
 |  |  |                     wrkMast.setWrkSts(105L); | 
 |  |  |                     if (!wrkMastService.updateById(wrkMast)) { | 
 |  |  |                         log.error("工作档[workNo={}]标记待处理失败", wrkMast.getWrkNo()); | 
 |  |  |                     } | 
 |  |  |                 } | 
 |  |  |             } | 
 |  |  |         }catch (Exception e){ | 
 |  |  |             throw new CoolException("下发四向车wcs任务失败"); | 
 |  |  |         } | 
 |  |  |  | 
 |  |  |     } | 
 |  |  |  | 
 |  |  |  | 
 |  |  |  | 
 |  |  | } |