| | |
| | | import com.zy.common.model.DetlDto; |
| | | import com.zy.common.model.OrderDto; |
| | | import com.zy.common.model.OrderMergeVo; |
| | | import com.zy.common.service.erp.ErpService; |
| | | import lombok.extern.slf4j.Slf4j; |
| | | import org.springframework.beans.factory.annotation.Autowired; |
| | | import org.springframework.stereotype.Service; |
| | |
| | | private DocTypeService docTypeService; |
| | | @Autowired |
| | | private WrkDetlService wrkDetlService; |
| | | @Autowired |
| | | private AgvWrkDetlService agvWrkDetlService; |
| | | @Autowired |
| | | private MatService matService; |
| | | @Autowired |
| | | private ErpService erpService; |
| | | |
| | | @Override |
| | | public Order selectByNo(String orderNo) { |
| | |
| | | @Override |
| | | public void checkComplete(String orderNo) { |
| | | Order order = this.selectByNo(orderNo); |
| | | if(Cools.isEmpty(order)){ |
| | | return; |
| | | } |
| | | if (order.getSettle() >= 4L) { |
| | | return; |
| | | } |
| | | List<OrderDetl> orderDetls = orderDetlMapper.selectList(new EntityWrapper<OrderDetl>().eq("order_id", order.getId())); |
| | | // 作业数量是否等于数量 |
| | | boolean complete = true; |
| | | for (OrderDetl orderDetl : orderDetls) { |
| | | if (orderDetl.getAnfme() > orderDetl.getQty()) { |
| | |
| | | break; |
| | | } |
| | | } |
| | | if (complete && wrkDetlService.selectCount(new EntityWrapper<WrkDetl>().eq("order_no", orderNo)) == 0) { |
| | | // 如果 作业数量等于单据总数量 && 工作明细档中无该单据的数据 && AGV工作明细档中无该单据的数据 |
| | | if (complete |
| | | && wrkDetlService.selectCount(new EntityWrapper<WrkDetl>().eq("order_no", orderNo)) < 1 |
| | | && agvWrkDetlService.selectCount(new EntityWrapper<AgvWrkDetl>().eq("order_no",orderNo)) < 1) { |
| | | // 出库订单重新整理明细 |
| | | DocType docType = docTypeService.selectById(order.getDocType()); |
| | | if (null != docType && docType.getPakout() == 1) { |
| | | // 重组明细 |
| | | if (!orderDetlService.delete(new EntityWrapper<OrderDetl>().eq("order_id", order.getId()))) { |
| | | throw new CoolException("重整出库订单【orderNo = " + order.getOrderNo() + "】明细失败"); |
| | | } |
| | |
| | | for (OrderDetl orderDetl : orderDetls) { |
| | | Double leave = orderDetl.getAnfme() - orderDetl.getQty(); |
| | | OrderMergeVo vo = new OrderMergeVo(orderDetl.getMatnr(), orderDetl.getBatch(), leave); |
| | | OrderDto orderDto = new OrderDto(orderDetl.getOrderNo(), null, leave); |
| | | OrderDto orderDto = new OrderDto(orderDetl.getOrderNo(), null,null, leave); |
| | | if (OrderMergeVo.has(result, vo)) { |
| | | OrderMergeVo exist = OrderMergeVo.find(result, vo.getMatnr(), vo.getBatch()); |
| | | assert exist != null; |
| | |
| | | |
| | | } |
| | | } |
| | | for (OrderMergeVo vo : result) { |
| | | Mat mat = matService.selectByMatnr(vo.getMatnr()); |
| | | assert mat != null; |
| | | vo.setMaktx(mat.getMaktx()); |
| | | vo.setSpecs(mat.getSpecs()); |
| | | } |
| | | return result; |
| | | } |
| | | @Override |
| | | public List<Order> selectorderNoL(String orderNo) { |
| | | return this.baseMapper.selectorderNoL(orderNo); |
| | | } |
| | | |
| | | } |