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.mapper.WrkMastStaMapper; import com.zy.asrs.service.MatService; import com.zy.asrs.service.StaDescService; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; import java.util.List; @Service("staDescService") public class StaDescServiceImpl extends ServiceImpl implements StaDescService { @Autowired private WrkMastStaMapper wrkMastStaMapper; @Override public List queryOutStaNosByLocNo(String locNo, Integer typeNo) { return this.baseMapper.queryOutStaNosByLocNo(locNo, typeNo); } @Override public StaDesc queryCrnStn(Integer typeNo, Integer crnNo, Integer stnNo) { Wrapper wrapper = new EntityWrapper() .eq("type_no", typeNo) .eq("stn_no", stnNo) .eq("crn_no", crnNo); StaDesc staDesc = this.selectOne(wrapper); if (staDesc == null) { throw new CoolException("出库路径不存在"); } return staDesc; } @Override public StaDesc queryCrnStnCheck(Integer typeNo, Integer crnNo, Integer stnNo) { Integer wrkRgv1 = wrkMastStaMapper.wrkCount1(); Integer wrkRgv2 = wrkMastStaMapper.wrkCount2(); Wrapper wrapper = new EntityWrapper<>(); // ✅ 如果 wrkRgv1 < wrkRgv2,则多加一个条件 if (wrkRgv1 < wrkRgv2) { wrapper.eq("type_no", typeNo) .eq("stn_no", stnNo) .eq("crn_no", crnNo) .lt("crn_stn", 2000); }else{ wrapper.eq("type_no", typeNo) .eq("stn_no", stnNo) .eq("crn_no", crnNo) .gt("crn_stn", 2000); } StaDesc staDesc = this.selectOne(wrapper); if (staDesc == null) { throw new CoolException("出库路径不存在"); } return staDesc; } @Override public StaDesc queryCrnStnAuto(Integer typeNo, Integer crnNo, Integer stnNo) { 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); } }