package com.zy.asrs.service.impl; import com.baomidou.mybatisplus.mapper.EntityWrapper; import com.baomidou.mybatisplus.mapper.Wrapper; import com.baomidou.mybatisplus.service.impl.ServiceImpl; import com.core.common.Cools; import com.core.exception.CoolException; import com.zy.asrs.entity.StaDesc; import com.zy.asrs.mapper.StaDescMapper; import com.zy.asrs.service.StaDescService; import org.springframework.stereotype.Service; import java.util.ArrayList; import java.util.List; @Service("staDescService") public class StaDescServiceImpl extends ServiceImpl implements StaDescService { @Override public List queryOutStaNosByLocNo(String locNo, Integer typeNo) { List list = new ArrayList<>(); List staDescs = this.baseMapper.queryOutStaNosByLocNo(locNo, typeNo); for (StaDesc staDesc : staDescs) { if (list.contains(staDesc.getStnNo())) { continue; } list.add(staDesc.getStnNo()); } return list; } @Override public List queryCrnStn(Integer typeNo, Integer crnNo, Integer stnNo) { Wrapper wrapper = new EntityWrapper() .eq("type_no", typeNo) .eq("stn_no", stnNo) .eq("crn_no", crnNo); List staDescs = this.selectList(wrapper); if (staDescs.isEmpty()) { throw new CoolException("出库路径不存在"); } return staDescs; } @Override public StaDesc queryCrnStnAuto(Integer typeNo, Integer crnNo, Integer stnNo, Integer row) { if (crnNo == 1 && row > 3) { Wrapper wrapper = new EntityWrapper() .eq("type_no", typeNo) .eq("stn_no", stnNo) .eq("crn_no", crnNo) .orderBy("stn_no", false); StaDesc staDesc = this.selectOne(wrapper); if (staDesc != null) { return staDesc; } } Wrapper wrapper = new EntityWrapper() .eq("type_no", typeNo) .eq("stn_no", stnNo) .eq("crn_no", crnNo); StaDesc staDesc = this.selectOne(wrapper); if (staDesc == null) { wrapper = new EntityWrapper() .eq("type_no", typeNo) .eq("crn_no", crnNo); List staDescs = this.selectList(wrapper); if (Cools.isEmpty(staDescs)) { throw new CoolException("出库路径不存在"); } // todo:luxiaotao return staDescs.get(0); } return staDesc; } @Override public StaDesc queryCrnStn(Integer crnNo) { return this.baseMapper.queryCrnStn(crnNo); } }