|  |  |  | 
|---|
|  |  |  | 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); | 
|---|
|  |  |  |  | 
|---|
|  |  |  | @Autowired | 
|---|
|  |  |  | private WrkMastService wrkMastService; | 
|---|
|  |  |  | @Autowired | 
|---|
|  |  |  | private WorkMastHandler workMastHandler; | 
|---|
|  |  |  |  | 
|---|
|  |  |  | @Value("${shuttleWcs.url}") | 
|---|
|  |  |  | private String shuttleWcsUrl; | 
|---|
|  |  |  | @Autowired | 
|---|
|  |  |  | private LocMastServiceImpl locMastService; | 
|---|
|  |  |  |  | 
|---|
|  |  |  |  | 
|---|
|  |  |  | @Scheduled(cron = "0/3 * * * * ? ") | 
|---|
|  |  |  | private void execute(){ | 
|---|
|  |  |  | workMastHandler.start(); | 
|---|
|  |  |  | List<WrkMast> wrkMasts = wrkMastService.selectToBeCompleteData(); | 
|---|
|  |  |  | if (wrkMasts.isEmpty()) { | 
|---|
|  |  |  | return; | 
|---|
|  |  |  | } | 
|---|
|  |  |  | for (WrkMast wrkMast : wrkMasts) { | 
|---|
|  |  |  | ReturnT<String> returnT = workMastHandler.start(wrkMast); | 
|---|
|  |  |  | if (!returnT.isSuccess()) { | 
|---|
|  |  |  | wrkMast.setUpdMk("X"); | 
|---|
|  |  |  | wrkMast.setErrorMemo(returnT.getMsg()); | 
|---|
|  |  |  | wrkMast.setErrorTime(new Date()); | 
|---|
|  |  |  | if (!wrkMastService.updateById(wrkMast)) { | 
|---|
|  |  |  | log.error("工作档[workNo={}]标记待处理失败", wrkMast.getWrkNo()); | 
|---|
|  |  |  | } | 
|---|
|  |  |  | } | 
|---|
|  |  |  | } | 
|---|
|  |  |  | } | 
|---|
|  |  |  |  | 
|---|
|  |  |  | //    @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任务失败"); | 
|---|
|  |  |  | } | 
|---|
|  |  |  |  | 
|---|
|  |  |  | } | 
|---|
|  |  |  |  | 
|---|
|  |  |  |  | 
|---|
|  |  |  |  | 
|---|
|  |  |  | } | 
|---|