| | |
| | | |
| | | import com.baomidou.mybatisplus.mapper.EntityWrapper; |
| | | import com.baomidou.mybatisplus.service.impl.ServiceImpl; |
| | | import com.core.common.Cools; |
| | | import com.zy.asrs.entity.WrkMast; |
| | | import com.zy.asrs.entity.result.FindLocNoAttributeVo; |
| | | import com.zy.asrs.mapper.WrkMastLogMapper; |
| | | import com.zy.asrs.mapper.WrkMastMapper; |
| | | import com.zy.asrs.service.WrkMastService; |
| | | import lombok.extern.slf4j.Slf4j; |
| | | import org.springframework.beans.factory.annotation.Autowired; |
| | | import org.springframework.stereotype.Service; |
| | | |
| | | import java.util.HashSet; |
| | | import java.util.List; |
| | | import java.util.Set; |
| | | |
| | | @Slf4j |
| | | @Service("wrkMastService") |
| | | public class WrkMastServiceImpl extends ServiceImpl<WrkMastMapper, WrkMast> implements WrkMastService { |
| | | |
| | | @Autowired |
| | | private WrkMastLogMapper wrkMastLogMapper; |
| | | |
| | | @Override |
| | | public int getWorkingMast(Integer devpNo) { |
| | | return selectCount(new EntityWrapper<WrkMast>().eq("source_sta_no", devpNo).in("wrk_sts", 1, 6)); |
| | | } |
| | | |
| | | @Override |
| | | public List<WrkMast> selectToBeCompleteData() { |
| | | return this.baseMapper.selectToBeCompleteData(); |
| | | } |
| | | |
| | | @Override |
| | | public List<WrkMast> selectToBeHistoryData() { |
| | | return this.baseMapper.selectToBeHistoryData(); |
| | | } |
| | | |
| | | @Override |
| | | public WrkMast selectByBarcode(String barcode) { |
| | | List<WrkMast> wrkMasts = this.selectList(new EntityWrapper<WrkMast>().eq("barcode", barcode)); |
| | | if (Cools.isEmpty(wrkMasts)) { |
| | | return null; |
| | | } |
| | | return wrkMasts.get(0); |
| | | } |
| | | |
| | | @Override |
| | | public int getStoreCount(Integer crnNo) { |
| | | return selectCount(new EntityWrapper<WrkMast>().eq("crn_no", crnNo) |
| | | .last(" and (wrk_sts in (1,2) or (wrk_sts=3 and wrk_no in (select wrk_no from asr_bas_devp)))")); |
| | | } |
| | | |
| | | @Override |
| | | public int selectWrkMastBareBoardStaNo(Integer ioType,Integer staNo) { |
| | | return this.baseMapper.selectWrkMastBareBoardStaNo(ioType,staNo); |
| | | } |
| | | |
| | | @Override |
| | | public List<WrkMast> selectWrkMastWrkDetl(Integer ioType, FindLocNoAttributeVo findLocNoAttributeVo, Integer crnNo) { |
| | | return this.baseMapper.selectWrkMastWrkDetl(ioType,findLocNoAttributeVo.getMatnr(),findLocNoAttributeVo.getBatch(),findLocNoAttributeVo.getBrand() |
| | | ,findLocNoAttributeVo.getStandby1(),findLocNoAttributeVo.getStandby2(),findLocNoAttributeVo.getStandby3() |
| | | ,findLocNoAttributeVo.getBoxType1(),findLocNoAttributeVo.getBoxType2(),findLocNoAttributeVo.getBoxType3() |
| | | ,crnNo); |
| | | } |
| | | |
| | | @Override |
| | | public WrkMast selectWrkMast(Integer workNo, String barcode) { |
| | | return this.baseMapper.selectWrkMast(workNo, barcode); |
| | | } |
| | | |
| | | @Override |
| | | public int outboundSeqMaxContiguousPlt(String userNo) { |
| | | List<Integer> fromMast = baseMapper.listOutboundPltTypesByUserNo(userNo); |
| | | List<Integer> fromLog = wrkMastLogMapper.listOutboundPltTypesByUserNo(userNo); |
| | | Set<Integer> filled = new HashSet<>(); |
| | | addPositivePlt(fromMast, filled); |
| | | addPositivePlt(fromLog, filled); |
| | | int h = 0; |
| | | while (filled.contains(h + 1)) { |
| | | h++; |
| | | } |
| | | return h; |
| | | } |
| | | |
| | | private static void addPositivePlt(List<Integer> list, Set<Integer> target) { |
| | | if (list == null) { |
| | | return; |
| | | } |
| | | for (Integer p : list) { |
| | | if (p != null && p > 0) { |
| | | target.add(p); |
| | | } |
| | | } |
| | | } |
| | | } |