| New file | 
|  |  |  | 
|---|
|  |  |  | package com.zy.asrs.task; | 
|---|
|  |  |  |  | 
|---|
|  |  |  | import com.baomidou.mybatisplus.mapper.EntityWrapper; | 
|---|
|  |  |  | import com.core.common.Cools; | 
|---|
|  |  |  | import com.zy.asrs.entity.BasCrnp; | 
|---|
|  |  |  | import com.zy.asrs.entity.LocMast; | 
|---|
|  |  |  | import com.zy.asrs.entity.WrkMast; | 
|---|
|  |  |  | import com.zy.asrs.service.BasCrnpService; | 
|---|
|  |  |  | import com.zy.asrs.service.LocMastService; | 
|---|
|  |  |  | import com.zy.asrs.service.WrkMastService; | 
|---|
|  |  |  | import com.zy.asrs.task.core.ReturnT; | 
|---|
|  |  |  | import com.zy.asrs.task.handler.LocMoveAllHandler; | 
|---|
|  |  |  | import com.zy.asrs.utils.Utils; | 
|---|
|  |  |  | import com.zy.common.properties.SlaveProperties; | 
|---|
|  |  |  | 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.util.Iterator; | 
|---|
|  |  |  | import java.util.List; | 
|---|
|  |  |  |  | 
|---|
|  |  |  | /** | 
|---|
|  |  |  | * Created by vincent on 2020/7/7 | 
|---|
|  |  |  | */ | 
|---|
|  |  |  | @Slf4j | 
|---|
|  |  |  | @Component | 
|---|
|  |  |  | public class LocMoveAllScheduler { | 
|---|
|  |  |  |  | 
|---|
|  |  |  | @Value("${loc-move.enable}") | 
|---|
|  |  |  | private boolean enable; | 
|---|
|  |  |  | @Value("${loc-move.crn1}") | 
|---|
|  |  |  | private boolean crn1; | 
|---|
|  |  |  | @Value("${loc-move.crn2}") | 
|---|
|  |  |  | private boolean crn2; | 
|---|
|  |  |  | @Value("${loc-move.crn3}") | 
|---|
|  |  |  | private boolean crn3; | 
|---|
|  |  |  | @Value("${loc-move.crn4}") | 
|---|
|  |  |  | private boolean crn4; | 
|---|
|  |  |  |  | 
|---|
|  |  |  | @Autowired | 
|---|
|  |  |  | private LocMoveAllHandler locMoveAllHandler; | 
|---|
|  |  |  | @Autowired | 
|---|
|  |  |  | private WrkMastService wrkMastService; | 
|---|
|  |  |  | @Autowired | 
|---|
|  |  |  | private LocMastService locMastService; | 
|---|
|  |  |  | @Autowired | 
|---|
|  |  |  | private BasCrnpService basCrnpService; | 
|---|
|  |  |  | @Autowired | 
|---|
|  |  |  | private SlaveProperties slaveProperties; | 
|---|
|  |  |  |  | 
|---|
|  |  |  | @Scheduled(cron = "0/3 * * * * ? ") | 
|---|
|  |  |  | private void execute(){ | 
|---|
|  |  |  | if (!enable) return; | 
|---|
|  |  |  |  | 
|---|
|  |  |  | List<BasCrnp> basCrnps = basCrnpService.selectList(new EntityWrapper<BasCrnp>()); | 
|---|
|  |  |  | if (basCrnps.isEmpty()){ | 
|---|
|  |  |  | return; | 
|---|
|  |  |  | } | 
|---|
|  |  |  | Iterator<BasCrnp> iterator = basCrnps.iterator(); | 
|---|
|  |  |  | while (iterator.hasNext()){ | 
|---|
|  |  |  | BasCrnp basCrnp = iterator.next(); | 
|---|
|  |  |  | if (basCrnp.getCrnNo() == 1 && !crn1){ | 
|---|
|  |  |  | iterator.remove(); | 
|---|
|  |  |  | } | 
|---|
|  |  |  | if (basCrnp.getCrnNo() == 2 && !crn2){ | 
|---|
|  |  |  | iterator.remove(); | 
|---|
|  |  |  | } | 
|---|
|  |  |  | if (basCrnp.getCrnNo() == 3 && !crn3){ | 
|---|
|  |  |  | iterator.remove(); | 
|---|
|  |  |  | } | 
|---|
|  |  |  | if (basCrnp.getCrnNo() == 4 && !crn4){ | 
|---|
|  |  |  | iterator.remove(); | 
|---|
|  |  |  | } | 
|---|
|  |  |  | } | 
|---|
|  |  |  | if (basCrnps.isEmpty()){ | 
|---|
|  |  |  | return; | 
|---|
|  |  |  | } | 
|---|
|  |  |  | for (BasCrnp basCrnp:basCrnps){ | 
|---|
|  |  |  | if (basCrnp.getCrnSts()!=3) continue; | 
|---|
|  |  |  | if (!basCrnp.getInEnable().equals("N") || !basCrnp.getOutEnable().equals("Y")) continue; | 
|---|
|  |  |  | List<WrkMast> wrkMasts = wrkMastService.selectList(new EntityWrapper<WrkMast>().eq("crn_no",basCrnp.getCrnNo()).eq("io_type",11)); | 
|---|
|  |  |  | if (Cools.isEmpty(wrkMasts) || wrkMasts.size()==0) { | 
|---|
|  |  |  | LocMast locMastStart = locMastService.selectOne(new EntityWrapper<LocMast>().eq("loc_sts","D").eq("crn_no",basCrnp.getCrnNo()).orderBy("appe_time",true));//空板所在 | 
|---|
|  |  |  | if (Cools.isEmpty(locMastStart)){ | 
|---|
|  |  |  | continue; | 
|---|
|  |  |  | } | 
|---|
|  |  |  | if (!Utils.isShallowLoc(slaveProperties, locMastStart.getLocNo())){ | 
|---|
|  |  |  | String shallowLocNo = Utils.getShallowLoc(slaveProperties, locMastStart.getLocNo()); | 
|---|
|  |  |  | LocMast locNo = locMastService.selectOne(new EntityWrapper<LocMast>().eq("loc_no", shallowLocNo)); | 
|---|
|  |  |  | if (!locNo.getLocSts().equals("O")){ | 
|---|
|  |  |  | locMastStart = locNo; | 
|---|
|  |  |  | } | 
|---|
|  |  |  | } | 
|---|
|  |  |  | LocMast locMastEnd = locMastService.selectOne(new EntityWrapper<LocMast>() | 
|---|
|  |  |  | .eq("loc_sts","O") | 
|---|
|  |  |  | .eq("crn_no",basCrnp.getCrnNo()) | 
|---|
|  |  |  | .eq("loc_type1",locMastStart.getLocType1()) | 
|---|
|  |  |  | .ne("modi_user",66) | 
|---|
|  |  |  | .orderBy("row1",true));//目标 | 
|---|
|  |  |  | if (Cools.isEmpty(locMastEnd)){ | 
|---|
|  |  |  | continue; | 
|---|
|  |  |  | } | 
|---|
|  |  |  | if (!Utils.isShallowLoc(slaveProperties, locMastEnd.getLocNo())){ | 
|---|
|  |  |  | String shallowLocNo = Utils.getShallowLoc(slaveProperties, locMastEnd.getLocNo()); | 
|---|
|  |  |  | LocMast locNo = locMastService.selectOne(new EntityWrapper<LocMast>().eq("loc_no", shallowLocNo)); | 
|---|
|  |  |  | if (locNo.getLocSts().equals("O")){ | 
|---|
|  |  |  |  | 
|---|
|  |  |  | }else { | 
|---|
|  |  |  | locMastEnd.setModiUser(66L); | 
|---|
|  |  |  | locMastService.updateById(locMastEnd); | 
|---|
|  |  |  | continue; | 
|---|
|  |  |  | } | 
|---|
|  |  |  | } | 
|---|
|  |  |  | //                if (Cools.isEmpty(locMastStart) || Cools.isEmpty(locMastEnd)){ | 
|---|
|  |  |  |  | 
|---|
|  |  |  | ReturnT<String> result = locMoveAllHandler.start(locMastStart,locMastEnd,basCrnp.getCrnNo()); | 
|---|
|  |  |  | if (!result.isSuccess()) { | 
|---|
|  |  |  | log.error("处理失败"); | 
|---|
|  |  |  | } | 
|---|
|  |  |  | } | 
|---|
|  |  |  | } | 
|---|
|  |  |  | } | 
|---|
|  |  |  |  | 
|---|
|  |  |  | } | 
|---|