|  |  |  | 
|---|
|  |  |  | package com.zy.asrs.service.impl; | 
|---|
|  |  |  |  | 
|---|
|  |  |  | import com.baomidou.mybatisplus.mapper.EntityWrapper; | 
|---|
|  |  |  | import com.core.common.Cools; | 
|---|
|  |  |  | import com.zy.asrs.mapper.OrderDetlMapper; | 
|---|
|  |  |  | import com.zy.asrs.entity.OrderDetl; | 
|---|
|  |  |  | import com.zy.asrs.service.OrderDetlService; | 
|---|
|  |  |  | import com.baomidou.mybatisplus.plugins.Page; | 
|---|
|  |  |  | import com.baomidou.mybatisplus.service.impl.ServiceImpl; | 
|---|
|  |  |  | import com.core.common.Cools; | 
|---|
|  |  |  | import com.zy.asrs.entity.OrderDetl; | 
|---|
|  |  |  | import com.zy.asrs.entity.WaitPakin; | 
|---|
|  |  |  | import com.zy.asrs.entity.WrkDetl; | 
|---|
|  |  |  | import com.zy.asrs.mapper.OrderDetlMapper; | 
|---|
|  |  |  | import com.zy.asrs.service.OrderDetlService; | 
|---|
|  |  |  | import com.zy.asrs.utils.MatCompareUtils; | 
|---|
|  |  |  | import com.zy.common.model.LocDto; | 
|---|
|  |  |  | import org.springframework.stereotype.Service; | 
|---|
|  |  |  |  | 
|---|
|  |  |  | import java.util.List; | 
|---|
|  |  |  | 
|---|
|  |  |  | } | 
|---|
|  |  |  |  | 
|---|
|  |  |  | @Override | 
|---|
|  |  |  | public OrderDetl selectItem(Long orderId, String matnr, String batch) { | 
|---|
|  |  |  | return this.baseMapper.selectItem(orderId, matnr, batch); | 
|---|
|  |  |  | public Page<OrderDetl> getPakoutPage(Page<OrderDetl> page) { | 
|---|
|  |  |  | page.setRecords(baseMapper.getPakoutPage(page.getCondition())); | 
|---|
|  |  |  | page.setTotal(baseMapper.getPakoutPageCount(page.getCondition())); | 
|---|
|  |  |  | return page; | 
|---|
|  |  |  | } | 
|---|
|  |  |  |  | 
|---|
|  |  |  | @Override | 
|---|
|  |  |  | public OrderDetl selectItem(String orderNo, String matnr, String batch) { | 
|---|
|  |  |  | return this.baseMapper.selectItemByOrderNo(orderNo, matnr, batch); | 
|---|
|  |  |  | public List<OrderDetl> selectItem(String orderNo) { | 
|---|
|  |  |  | return this.baseMapper.listByOrderNo(orderNo); | 
|---|
|  |  |  | } | 
|---|
|  |  |  |  | 
|---|
|  |  |  | //    @Override | 
|---|
|  |  |  | //    public OrderDetl selectItem(Long orderId, String matnr, String batch, Double qty) { | 
|---|
|  |  |  | //        List<OrderDetl> detlList = this.baseMapper.selectItem(orderId, matnr, batch); | 
|---|
|  |  |  | //        if (detlList == null || detlList.isEmpty()) { | 
|---|
|  |  |  | //            return null; | 
|---|
|  |  |  | //        } else if (detlList.size() == 1) { | 
|---|
|  |  |  | //            return detlList.get(0); | 
|---|
|  |  |  | //        } else { | 
|---|
|  |  |  | //            if (qty != null) { | 
|---|
|  |  |  | //                for (OrderDetl orderDetl : detlList) { | 
|---|
|  |  |  | //                    if (qty.equals(orderDetl.getAnfme())) { | 
|---|
|  |  |  | //                        return orderDetl; | 
|---|
|  |  |  | //                    } | 
|---|
|  |  |  | //                } | 
|---|
|  |  |  | //            } | 
|---|
|  |  |  | //            return detlList.get(0); | 
|---|
|  |  |  | //        } | 
|---|
|  |  |  | //    } | 
|---|
|  |  |  | // | 
|---|
|  |  |  | //    @Override | 
|---|
|  |  |  | //    public OrderDetl selectQtyItem(String orderNo, String matnr, String batch, Double qty) { | 
|---|
|  |  |  | //        List<OrderDetl> detlList = this.baseMapper.selectItemByOrderNo(orderNo, matnr, batch); | 
|---|
|  |  |  | //        if (detlList == null || detlList.isEmpty()) { | 
|---|
|  |  |  | //            return null; | 
|---|
|  |  |  | //        } else if (detlList.size() == 1) { | 
|---|
|  |  |  | //            return detlList.get(0); | 
|---|
|  |  |  | //        } else { | 
|---|
|  |  |  | //            if (qty != null) { | 
|---|
|  |  |  | //                for (OrderDetl orderDetl : detlList) { | 
|---|
|  |  |  | //                    if (!orderDetl.getQty().equals(orderDetl.getWorkQty()) && qty.equals(orderDetl.getAnfme())) { | 
|---|
|  |  |  | //                        return orderDetl; | 
|---|
|  |  |  | //                    } | 
|---|
|  |  |  | //                } | 
|---|
|  |  |  | //            } | 
|---|
|  |  |  | //            return detlList.get(0); | 
|---|
|  |  |  | //        } | 
|---|
|  |  |  | //    } | 
|---|
|  |  |  | // | 
|---|
|  |  |  | //    @Override | 
|---|
|  |  |  | //    public OrderDetl selectItem(String orderNo, String matnr, String batch, Double qty) { | 
|---|
|  |  |  | //        List<OrderDetl> detlList = this.baseMapper.selectItemByOrderNo(orderNo, matnr, batch); | 
|---|
|  |  |  | //        if (detlList == null || detlList.isEmpty()) { | 
|---|
|  |  |  | //            return null; | 
|---|
|  |  |  | //        } else if (detlList.size() == 1) { | 
|---|
|  |  |  | //            return detlList.get(0); | 
|---|
|  |  |  | //        } else { | 
|---|
|  |  |  | //            if (qty != null) { | 
|---|
|  |  |  | //                for (OrderDetl orderDetl : detlList) { | 
|---|
|  |  |  | //                    if (qty.equals(orderDetl.getAnfme())) { | 
|---|
|  |  |  | //                        return orderDetl; | 
|---|
|  |  |  | //                    } | 
|---|
|  |  |  | //                } | 
|---|
|  |  |  | //            } | 
|---|
|  |  |  | //            return detlList.get(0); | 
|---|
|  |  |  | //        } | 
|---|
|  |  |  | //    } | 
|---|
|  |  |  |  | 
|---|
|  |  |  | @Override | 
|---|
|  |  |  | public OrderDetl findByLook(List<OrderDetl> orderDetls, Long orderId, String matnr, String batch) { | 
|---|
|  |  |  | for (OrderDetl orderDetl : orderDetls) { | 
|---|
|  |  |  | if (orderDetl.getOrderId().equals(orderId) && orderDetl.getMatnr().equals(matnr)) { | 
|---|
|  |  |  | if (!Cools.isEmpty(batch)) { | 
|---|
|  |  |  | if (orderDetl.getBatch().equals(batch)) { | 
|---|
|  |  |  | return orderDetl; | 
|---|
|  |  |  | } | 
|---|
|  |  |  | } else { | 
|---|
|  |  |  | if (Cools.eq(batch, orderDetl.getBatch())) { | 
|---|
|  |  |  | return orderDetl; | 
|---|
|  |  |  | } | 
|---|
|  |  |  | } | 
|---|
|  |  |  | 
|---|
|  |  |  | public boolean increase(Long orderId, String matnr, String batch, Double qty) { | 
|---|
|  |  |  | return this.baseMapper.increase(orderId, matnr, batch, qty) > 0; | 
|---|
|  |  |  | } | 
|---|
|  |  |  |  | 
|---|
|  |  |  | //    @Override | 
|---|
|  |  |  | //    public boolean decrease(String orderNo, String matnr, String batch, Double qty) { | 
|---|
|  |  |  | //        int decrease = this.baseMapper.decrease(orderNo, matnr, batch, qty); | 
|---|
|  |  |  | //        if (decrease == 0) { | 
|---|
|  |  |  | //            return this.baseMapper.decrease(orderNo, matnr, null, qty) > 0; | 
|---|
|  |  |  | //        } else { | 
|---|
|  |  |  | //            return true; | 
|---|
|  |  |  | //        } | 
|---|
|  |  |  | //    } | 
|---|
|  |  |  | @Override | 
|---|
|  |  |  | public boolean decrease(WrkDetl wrkDetl, Double qty) { | 
|---|
|  |  |  | List<OrderDetl> detlList = selectItem(wrkDetl.getOrderNo()); | 
|---|
|  |  |  | for (OrderDetl orderDetl : detlList) { | 
|---|
|  |  |  | if (MatCompareUtils.compare(orderDetl, wrkDetl)) { | 
|---|
|  |  |  | int decrease = this.baseMapper.decrease2(orderDetl.getId(), qty); | 
|---|
|  |  |  | if (decrease == 0) { | 
|---|
|  |  |  | return false; | 
|---|
|  |  |  | } else { | 
|---|
|  |  |  | return true; | 
|---|
|  |  |  | } | 
|---|
|  |  |  | } | 
|---|
|  |  |  | } | 
|---|
|  |  |  | return false; | 
|---|
|  |  |  | } | 
|---|
|  |  |  |  | 
|---|
|  |  |  | @Override | 
|---|
|  |  |  | public boolean decrease(WaitPakin waitPakin, Double qty) { | 
|---|
|  |  |  | List<OrderDetl> detlList = selectItem(waitPakin.getOrderNo()); | 
|---|
|  |  |  | for (OrderDetl orderDetl : detlList) { | 
|---|
|  |  |  | if (MatCompareUtils.compare(orderDetl, waitPakin)) { | 
|---|
|  |  |  | Double workQty = orderDetl.getWorkQty(); | 
|---|
|  |  |  | //防止减成负数 | 
|---|
|  |  |  | if (workQty - qty <= 0) { | 
|---|
|  |  |  | qty = workQty; | 
|---|
|  |  |  | } | 
|---|
|  |  |  | int decrease = this.baseMapper.decrease2(orderDetl.getId(), qty); | 
|---|
|  |  |  | if (decrease == 0) { | 
|---|
|  |  |  | return false; | 
|---|
|  |  |  | } else { | 
|---|
|  |  |  | return true; | 
|---|
|  |  |  | } | 
|---|
|  |  |  | } | 
|---|
|  |  |  | } | 
|---|
|  |  |  | return false; | 
|---|
|  |  |  | } | 
|---|
|  |  |  |  | 
|---|
|  |  |  | @Override | 
|---|
|  |  |  | public boolean modifyStatus(Long orderId, Integer status) { | 
|---|
|  |  |  | return this.baseMapper.modifyStatus(orderId, status) > 0; | 
|---|
|  |  |  | } | 
|---|
|  |  |  |  | 
|---|
|  |  |  | @Override | 
|---|
|  |  |  | public boolean addToLogTable(OrderDetl orderDetl) { | 
|---|
|  |  |  | return this.baseMapper.addToLogTable(orderDetl) > 0; | 
|---|
|  |  |  | } | 
|---|
|  |  |  |  | 
|---|
|  |  |  | //    @Override | 
|---|
|  |  |  | //    public boolean increaseQtyByOrderNo(String orderNo, String matnr, String batch, Double qty) { | 
|---|
|  |  |  | //        return this.baseMapper.increaseQtyByOrderNo(orderNo, matnr, batch, qty) > 0; | 
|---|
|  |  |  | //    } | 
|---|
|  |  |  |  | 
|---|
|  |  |  | @Override | 
|---|
|  |  |  | public boolean increaseQtyByOrderNo(String orderNo, WrkDetl wrkDetl, Double qty) { | 
|---|
|  |  |  | List<OrderDetl> detlList = this.baseMapper.listByOrderNo(orderNo); | 
|---|
|  |  |  | if (detlList == null || detlList.isEmpty()) { | 
|---|
|  |  |  | return false; | 
|---|
|  |  |  | } | 
|---|
|  |  |  | for (OrderDetl orderDetl : detlList) { | 
|---|
|  |  |  | if (MatCompareUtils.compare(orderDetl, wrkDetl)) { | 
|---|
|  |  |  | return this.baseMapper.increaseQtyById(orderDetl.getId(), qty) > 0; | 
|---|
|  |  |  | } | 
|---|
|  |  |  | } | 
|---|
|  |  |  | return false; | 
|---|
|  |  |  | } | 
|---|
|  |  |  |  | 
|---|
|  |  |  |  | 
|---|
|  |  |  | /** | 
|---|
|  |  |  | * 入出库任务生成时,更新单据表中作业数量 | 
|---|
|  |  |  | * | 
|---|
|  |  |  | * @param orderDetl | 
|---|
|  |  |  | * @param workQty | 
|---|
|  |  |  | * @return | 
|---|
|  |  |  | */ | 
|---|
|  |  |  | @Override | 
|---|
|  |  |  | public boolean increaseWorkQty(OrderDetl orderDetl, Double workQty) { | 
|---|
|  |  |  | return this.baseMapper.increaseWorkQty(orderDetl.getId(), workQty) > 0; | 
|---|
|  |  |  | } | 
|---|
|  |  |  |  | 
|---|
|  |  |  | @Override | 
|---|
|  |  |  | public OrderDetl selectItem(WaitPakin waitPakin) { | 
|---|
|  |  |  | List<OrderDetl> detlList = this.baseMapper.selectItemByOrderNo(waitPakin.getOrderNo(), waitPakin.getMatnr(), waitPakin.getBatch()); | 
|---|
|  |  |  | if (detlList == null || detlList.isEmpty()) { | 
|---|
|  |  |  | return null; | 
|---|
|  |  |  | } else if (detlList.size() == 1) { | 
|---|
|  |  |  | return detlList.get(0); | 
|---|
|  |  |  | } else { | 
|---|
|  |  |  | for (OrderDetl orderDetl : detlList) { | 
|---|
|  |  |  | if (MatCompareUtils.compare(waitPakin, orderDetl)) { | 
|---|
|  |  |  | return orderDetl; | 
|---|
|  |  |  | } | 
|---|
|  |  |  | } | 
|---|
|  |  |  | return null; | 
|---|
|  |  |  | } | 
|---|
|  |  |  | } | 
|---|
|  |  |  |  | 
|---|
|  |  |  | @Override | 
|---|
|  |  |  | public OrderDetl selectItem(LocDto locDto) { | 
|---|
|  |  |  | List<OrderDetl> detlList = this.baseMapper.selectItemByOrderNo(locDto.getOrderNo(), locDto.getMatnr(), locDto.getBatch()); | 
|---|
|  |  |  | if (detlList == null || detlList.isEmpty()) { | 
|---|
|  |  |  | return null; | 
|---|
|  |  |  | } else if (detlList.size() == 1) { | 
|---|
|  |  |  | return detlList.get(0); | 
|---|
|  |  |  | } else { | 
|---|
|  |  |  | for (OrderDetl orderDetl : detlList) { | 
|---|
|  |  |  | if (MatCompareUtils.compare(locDto, orderDetl)) { | 
|---|
|  |  |  | return orderDetl; | 
|---|
|  |  |  | } | 
|---|
|  |  |  | } | 
|---|
|  |  |  | return null; | 
|---|
|  |  |  | } | 
|---|
|  |  |  | } | 
|---|
|  |  |  |  | 
|---|
|  |  |  | @Override | 
|---|
|  |  |  | public OrderDetl selectItem(WrkDetl wrkDetl) { | 
|---|
|  |  |  | List<OrderDetl> detlList = this.baseMapper.selectItemByOrderNo(wrkDetl.getOrderNo(), wrkDetl.getMatnr(), wrkDetl.getBatch()); | 
|---|
|  |  |  | if (detlList == null || detlList.isEmpty()) { | 
|---|
|  |  |  | return null; | 
|---|
|  |  |  | } else if (detlList.size() == 1) { | 
|---|
|  |  |  | return detlList.get(0); | 
|---|
|  |  |  | } else { | 
|---|
|  |  |  | for (OrderDetl orderDetl : detlList) { | 
|---|
|  |  |  | if (MatCompareUtils.compare(wrkDetl, orderDetl)) { | 
|---|
|  |  |  | return orderDetl; | 
|---|
|  |  |  | } | 
|---|
|  |  |  | } | 
|---|
|  |  |  | return null; | 
|---|
|  |  |  | } | 
|---|
|  |  |  | } | 
|---|
|  |  |  |  | 
|---|
|  |  |  | @Override | 
|---|
|  |  |  | public boolean increaseWorkQtyByOrderNo(String orderNo, OrderDetl orderDetl, Double workQty) { | 
|---|
|  |  |  | List<OrderDetl> detlList = this.baseMapper.listByOrderNo(orderNo); | 
|---|
|  |  |  | if (detlList == null || detlList.isEmpty()) { | 
|---|
|  |  |  | return false; | 
|---|
|  |  |  | } | 
|---|
|  |  |  | for (OrderDetl orderDetl1 : detlList) { | 
|---|
|  |  |  | if (MatCompareUtils.compare(orderDetl1, orderDetl)) { | 
|---|
|  |  |  | return baseMapper.increaseWorkQty(orderDetl.getId(), workQty) > 0; | 
|---|
|  |  |  | } | 
|---|
|  |  |  | } | 
|---|
|  |  |  | return false; | 
|---|
|  |  |  | } | 
|---|
|  |  |  |  | 
|---|
|  |  |  | @Override | 
|---|
|  |  |  | public boolean increaseQtyByOrderNo1(String orderNo, OrderDetl orderDetl, Double qty) { | 
|---|
|  |  |  | List<OrderDetl> detlList = this.baseMapper.listByOrderNo(orderNo); | 
|---|
|  |  |  | if (detlList == null || detlList.isEmpty()) { | 
|---|
|  |  |  | return false; | 
|---|
|  |  |  | } | 
|---|
|  |  |  | for (OrderDetl orderDetl1 : detlList) { | 
|---|
|  |  |  | if (MatCompareUtils.compare(orderDetl1, orderDetl)) { | 
|---|
|  |  |  | return baseMapper.increaseQtyById(orderDetl.getId(), qty) > 0; | 
|---|
|  |  |  | } | 
|---|
|  |  |  | } | 
|---|
|  |  |  | return false; | 
|---|
|  |  |  | } | 
|---|
|  |  |  | } | 
|---|