|  |  |  | 
|---|
|  |  |  | import com.baomidou.mybatisplus.plugins.Page; | 
|---|
|  |  |  | import com.baomidou.mybatisplus.service.impl.ServiceImpl; | 
|---|
|  |  |  | import com.zy.asrs.entity.LocDetl; | 
|---|
|  |  |  | import com.zy.asrs.entity.OrderDetl; | 
|---|
|  |  |  | import com.zy.asrs.entity.StockStatisDTO; | 
|---|
|  |  |  | import com.zy.asrs.entity.WrkDetl; | 
|---|
|  |  |  | import com.zy.asrs.entity.param.StockOutFloorParam; | 
|---|
|  |  |  | import com.zy.asrs.entity.param.StockOutParam; | 
|---|
|  |  |  | import com.zy.asrs.entity.result.StockVo; | 
|---|
|  |  |  | import com.zy.asrs.mapper.LocDetlMapper; | 
|---|
|  |  |  | import com.zy.asrs.service.LocDetlService; | 
|---|
|  |  |  | import com.zy.asrs.utils.MatCompareUtils; | 
|---|
|  |  |  | import org.springframework.stereotype.Service; | 
|---|
|  |  |  |  | 
|---|
|  |  |  | import java.util.ArrayList; | 
|---|
|  |  |  | import java.util.List; | 
|---|
|  |  |  | import java.util.Set; | 
|---|
|  |  |  | import java.util.Map; | 
|---|
|  |  |  |  | 
|---|
|  |  |  | @Service("locDetlService") | 
|---|
|  |  |  | public class LocDetlServiceImpl extends ServiceImpl<LocDetlMapper, LocDetl> implements LocDetlService { | 
|---|
|  |  |  |  | 
|---|
|  |  |  | @Override | 
|---|
|  |  |  | public Page<LocDetl> getPage(Page<LocDetl> page) { | 
|---|
|  |  |  | page.setRecords(baseMapper.listByPage(page.getCondition())); | 
|---|
|  |  |  | page.setTotal(baseMapper.listByPageCount(page.getCondition())); | 
|---|
|  |  |  | return page; | 
|---|
|  |  |  | } | 
|---|
|  |  |  |  | 
|---|
|  |  |  | @Override | 
|---|
|  |  |  | public Page<LocDetl> getStockOut(Page<LocDetl> page) { | 
|---|
|  |  |  | 
|---|
|  |  |  | } | 
|---|
|  |  |  |  | 
|---|
|  |  |  | @Override | 
|---|
|  |  |  | public boolean updateAnfme(Double anfme, String locNo, String matnr, String batch) { | 
|---|
|  |  |  | if (anfme <= 0) { | 
|---|
|  |  |  | return this.baseMapper.deleteItem(locNo, matnr, batch) > 0; | 
|---|
|  |  |  | } else { | 
|---|
|  |  |  | return baseMapper.updateAnfme(anfme, locNo, matnr, batch) > 0; | 
|---|
|  |  |  | public boolean updateAnfme(Double anfme, String locNo, WrkDetl wrkDetl) { | 
|---|
|  |  |  | List<LocDetl> locDetls = this.baseMapper.selectItem3(locNo, wrkDetl.getMatnr()); | 
|---|
|  |  |  | if (locDetls.isEmpty()) { | 
|---|
|  |  |  | return false; | 
|---|
|  |  |  | } | 
|---|
|  |  |  | for (LocDetl locDetl : locDetls) { | 
|---|
|  |  |  | if (MatCompareUtils.compare(locDetl, wrkDetl)) { | 
|---|
|  |  |  | if (anfme <= 0) { | 
|---|
|  |  |  | return this.baseMapper.deleteItem(locDetl.getLocNo(), locDetl) > 0; | 
|---|
|  |  |  | } else { | 
|---|
|  |  |  | return baseMapper.updateAnfme(anfme, locNo, locDetl) > 0; | 
|---|
|  |  |  | } | 
|---|
|  |  |  | } | 
|---|
|  |  |  | } | 
|---|
|  |  |  | return false; | 
|---|
|  |  |  | } | 
|---|
|  |  |  |  | 
|---|
|  |  |  | @Override | 
|---|
|  |  |  | public boolean updateAnfme(Double anfme, String locNo, LocDetl wrkDetl) { | 
|---|
|  |  |  | List<LocDetl> locDetls = this.baseMapper.selectItem3(locNo, wrkDetl.getMatnr()); | 
|---|
|  |  |  | if (locDetls.isEmpty()) { | 
|---|
|  |  |  | return false; | 
|---|
|  |  |  | } | 
|---|
|  |  |  | for (LocDetl locDetl : locDetls) { | 
|---|
|  |  |  | if (MatCompareUtils.compare(locDetl, wrkDetl)) { | 
|---|
|  |  |  | if (anfme <= 0) { | 
|---|
|  |  |  | return this.baseMapper.deleteItem(locDetl.getLocNo(), locDetl) > 0; | 
|---|
|  |  |  | } else { | 
|---|
|  |  |  | return baseMapper.updateAnfme(anfme, locNo, locDetl) > 0; | 
|---|
|  |  |  | } | 
|---|
|  |  |  | } | 
|---|
|  |  |  | } | 
|---|
|  |  |  | return false; | 
|---|
|  |  |  | } | 
|---|
|  |  |  |  | 
|---|
|  |  |  | @Override | 
|---|
|  |  |  | public boolean updateLocNo(String newLocNo, String oldLocNo) { | 
|---|
|  |  |  | 
|---|
|  |  |  | return this.baseMapper.selectSameDetlToday(matnr, start, end); | 
|---|
|  |  |  | } | 
|---|
|  |  |  |  | 
|---|
|  |  |  | @Override | 
|---|
|  |  |  | public List<String> getSameDetlToday(String matnr, String batch, Integer start, Integer end) { | 
|---|
|  |  |  | return this.baseMapper.selectSameDetlTodayBatch(matnr, batch, start, end); | 
|---|
|  |  |  | } | 
|---|
|  |  |  |  | 
|---|
|  |  |  |  | 
|---|
|  |  |  | //    @Override | 
|---|
|  |  |  | //    public Page<StockStatisDTO> getStockStatis1(Page<StockStatisDTO> page) { | 
|---|
|  |  |  | //        page.setRecords(baseMapper.asrsAndErpList(page.getCondition())); | 
|---|
|  |  |  | //        page.setTotal(baseMapper.asrsAndErpCount(page.getCondition())); | 
|---|
|  |  |  | //        return page; | 
|---|
|  |  |  | //    } | 
|---|
|  |  |  |  | 
|---|
|  |  |  | @Override | 
|---|
|  |  |  | public Page<LocDetl> getStockStatis(Page<LocDetl> page) { | 
|---|
|  |  |  | 
|---|
|  |  |  | return this.baseMapper.countLocNoNum(locNo); | 
|---|
|  |  |  | } | 
|---|
|  |  |  |  | 
|---|
|  |  |  | @Override | 
|---|
|  |  |  | public List<LocDetl> queryStock(String matnr, String batch, String orderNo, Set<String> locNos) { | 
|---|
|  |  |  | return this.baseMapper.queryStock(matnr, batch, orderNo, locNos); | 
|---|
|  |  |  | } | 
|---|
|  |  |  | //    @Override | 
|---|
|  |  |  | //    public List<LocDetl> queryStock(String matnr, String batch, String orderNo, Set<String> locNos) { | 
|---|
|  |  |  | //        return this.baseMapper.queryStock(null, matnr, batch, orderNo, locNos); | 
|---|
|  |  |  | //    } | 
|---|
|  |  |  |  | 
|---|
|  |  |  | @Override | 
|---|
|  |  |  | public Double queryStockAnfme(String matnr, String batch) { | 
|---|
|  |  |  | return this.baseMapper.queryStockAnfme(matnr, batch); | 
|---|
|  |  |  | public List<LocDetl> queryStock(OrderDetl orderDetl) { | 
|---|
|  |  |  | List<LocDetl> data = new ArrayList<>(); | 
|---|
|  |  |  | List<LocDetl> locDetls = this.baseMapper.queryStock(null, orderDetl.getMatnr(), null, null, null); | 
|---|
|  |  |  | if (locDetls == null) { | 
|---|
|  |  |  | return null; | 
|---|
|  |  |  | } | 
|---|
|  |  |  | for (LocDetl locDetl : locDetls) { | 
|---|
|  |  |  | if (MatCompareUtils.compare(locDetl, orderDetl)) { | 
|---|
|  |  |  | data.add(locDetl); | 
|---|
|  |  |  | } | 
|---|
|  |  |  | } | 
|---|
|  |  |  | return data; | 
|---|
|  |  |  | } | 
|---|
|  |  |  |  | 
|---|
|  |  |  | //    @Override | 
|---|
|  |  |  | //    public List<LocDetl> queryStockByModel(String model) { | 
|---|
|  |  |  | //        return this.baseMapper.queryStock(null, model, null, null, null); | 
|---|
|  |  |  | //    } | 
|---|
|  |  |  |  | 
|---|
|  |  |  |  | 
|---|
|  |  |  | //    @Override | 
|---|
|  |  |  | //    public Double queryStockAnfme(String matnr, String batch) { | 
|---|
|  |  |  | //        return this.baseMapper.queryStockAnfme(matnr, batch); | 
|---|
|  |  |  | //    } | 
|---|
|  |  |  |  | 
|---|
|  |  |  | @Override | 
|---|
|  |  |  | public List<StockVo> queryStockTotal() { | 
|---|
|  |  |  | 
|---|
|  |  |  |  | 
|---|
|  |  |  | /** | 
|---|
|  |  |  | * 获取库存总数 | 
|---|
|  |  |  | * | 
|---|
|  |  |  | * @return | 
|---|
|  |  |  | */ | 
|---|
|  |  |  | @Override | 
|---|
|  |  |  | 
|---|
|  |  |  | } | 
|---|
|  |  |  |  | 
|---|
|  |  |  |  | 
|---|
|  |  |  | @Override | 
|---|
|  |  |  | public LocDetl selectItem(String locNo, String matnr, String batch) { | 
|---|
|  |  |  | return this.baseMapper.selectItem(locNo, matnr, batch); | 
|---|
|  |  |  | } | 
|---|
|  |  |  | //    @Override | 
|---|
|  |  |  | //    public LocDetl selectItem(String locNo, String matnr, String batch) { | 
|---|
|  |  |  | //        return this.baseMapper.selectItem(locNo, matnr, batch); | 
|---|
|  |  |  | //    } | 
|---|
|  |  |  | // | 
|---|
|  |  |  | //    @Override | 
|---|
|  |  |  | //    public LocDetl selectItem2(String locNo, String matnr) { | 
|---|
|  |  |  | //        return this.baseMapper.selectItem2(locNo, matnr); | 
|---|
|  |  |  | //    } | 
|---|
|  |  |  |  | 
|---|
|  |  |  | @Override | 
|---|
|  |  |  | public Double getLocDetlSumQty(String locNo) { | 
|---|
|  |  |  | return this.baseMapper.selectLocDetlSumQty(locNo); | 
|---|
|  |  |  | } | 
|---|
|  |  |  |  | 
|---|
|  |  |  | @Override | 
|---|
|  |  |  | public void updateMatTurn(String matnrOld, String matnr) { | 
|---|
|  |  |  | this.baseMapper.updateMatTurn(matnrOld, matnr); | 
|---|
|  |  |  | } | 
|---|
|  |  |  |  | 
|---|
|  |  |  | @Override | 
|---|
|  |  |  | public List<Map<String, Object>> selectLocDetlUnilateralMoveShuttleMap(Integer crnNo) { | 
|---|
|  |  |  | if (crnNo == 1) { | 
|---|
|  |  |  | return this.baseMapper.selectLocDetlUnilateralMoveShuttleMapY(crnNo); | 
|---|
|  |  |  | } | 
|---|
|  |  |  | return this.baseMapper.selectLocDetlUnilateralMoveShuttleMapN(crnNo); | 
|---|
|  |  |  | } | 
|---|
|  |  |  |  | 
|---|
|  |  |  | @Override | 
|---|
|  |  |  | public List<LocDetl> selectLocDetlUnilateralMoveShuttle(String matnr, String batch, String grade, Integer crnNo) { | 
|---|
|  |  |  | if (crnNo == 1) { | 
|---|
|  |  |  | return this.baseMapper.selectLocDetlUnilateralMoveShuttleY(matnr, batch, grade); | 
|---|
|  |  |  | } | 
|---|
|  |  |  | return this.baseMapper.selectLocDetlUnilateralMoveShuttleN(matnr, batch, grade); | 
|---|
|  |  |  | } | 
|---|
|  |  |  |  | 
|---|
|  |  |  | @Override | 
|---|
|  |  |  | public LocDetl selectItem(String locNo, WrkDetl wrkDetl) { | 
|---|
|  |  |  | List<LocDetl> locDetls = this.baseMapper.selectItem3(locNo, wrkDetl.getMatnr()); | 
|---|
|  |  |  | if (locDetls != null) { | 
|---|
|  |  |  | for (LocDetl locDetl : locDetls) { | 
|---|
|  |  |  | if (MatCompareUtils.compare(locDetl, wrkDetl)) { | 
|---|
|  |  |  | return locDetl; | 
|---|
|  |  |  | } | 
|---|
|  |  |  | } | 
|---|
|  |  |  | } | 
|---|
|  |  |  | return null; | 
|---|
|  |  |  | } | 
|---|
|  |  |  |  | 
|---|
|  |  |  |  | 
|---|
|  |  |  | @Override | 
|---|
|  |  |  | public LocDetl selectItem(String locNo, StockOutParam.LocDetl locDetl) { | 
|---|
|  |  |  | List<LocDetl> locDetls = this.baseMapper.selectItem3(locNo, locDetl.getMatnr()); | 
|---|
|  |  |  | if (locDetls != null) { | 
|---|
|  |  |  | for (LocDetl detl : locDetls) { | 
|---|
|  |  |  | if (MatCompareUtils.compare(locDetl, detl)) { | 
|---|
|  |  |  | return detl; | 
|---|
|  |  |  | } | 
|---|
|  |  |  | } | 
|---|
|  |  |  | } | 
|---|
|  |  |  | return null; | 
|---|
|  |  |  | } | 
|---|
|  |  |  | @Override | 
|---|
|  |  |  | public LocDetl selectItem(String locNo, StockOutFloorParam.LocDetl locDetl) { | 
|---|
|  |  |  | List<LocDetl> locDetls = this.baseMapper.selectItem3(locNo, locDetl.getMatnr()); | 
|---|
|  |  |  | if (locDetls != null) { | 
|---|
|  |  |  | for (LocDetl detl : locDetls) { | 
|---|
|  |  |  | if (MatCompareUtils.compare(locDetl, detl)) { | 
|---|
|  |  |  | return detl; | 
|---|
|  |  |  | } | 
|---|
|  |  |  | } | 
|---|
|  |  |  | } | 
|---|
|  |  |  | return null; | 
|---|
|  |  |  | } | 
|---|
|  |  |  |  | 
|---|
|  |  |  | } | 
|---|