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("处理失败"); |
| | | } |
| | | } |
| | | } |
| | | } |
| | | |
| | | } |