|  |  | 
 |  |  | 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; | 
 |  |  | 
 |  |  |         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; | 
 |  |  | 
 |  |  |         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, String matnr, String batch, Double qty) { | 
 |  |  |         return this.baseMapper.increaseQtyByOrderNo(orderNo, matnr, batch, qty) > 0; | 
 |  |  |     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; | 
 |  |  |     } | 
 |  |  |  | 
 |  |  |  | 
 |  |  |     /** | 
 |  |  |      * 入出库任务生成时,更新单据表中作业数量 | 
 |  |  | 
 |  |  |  | 
 |  |  |     @Override | 
 |  |  |     public OrderDetl selectItem(WaitPakin waitPakin) { | 
 |  |  |         List<OrderDetl> detlList = this.baseMapper.selectItemByOrderNo(waitPakin.getOrderNo(), waitPakin.getOrderNo(), waitPakin.getBatch()); | 
 |  |  |         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 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; | 
 |  |  |         } | 
 |  |  |     } | 
 |  |  | } |