| | |
| | | |
| | | public Page<DeliveryOrderListDTO> selectDeliveryOrderList(Page page, DeliveryOrderQueryDTO dto) { |
| | | Supplier s = getCurrentSupplier(); |
| | | dto.setStatusList(splitParam(dto.getStatus())); |
| | | if(Constants.DELIVERY_ORDER_STATUS.ARRIVED.name().equals(dto.getStatus())){ |
| | | List<String> statusLs = new ArrayList<>(); |
| | | statusLs.add(Constants.DELIVERY_ORDER_STATUS.ARRIVED.name()); |
| | | statusLs.add(Constants.DELIVERY_ORDER_STATUS.CHECKED.name()); |
| | | dto.setStatusList(statusLs); |
| | | } else { |
| | | dto.setStatusList(splitParam(dto.getStatus())); |
| | | } |
| | | List<DeliveryOrderListDTO> ls = deliveryOrderMapper.selectDoList(page, s.getId(), dto); |
| | | if (ls != null && ls.size() > 0) { |
| | | List<String> dIds = new ArrayList<>(); |
| | |
| | | return ls; |
| | | } |
| | | |
| | | public List<DeliveryOrderItemDTO> getSupplierDeliveryOrderItemsByItemId(PostQueryDTO dto){ |
| | | List<String> idList = dto.getIds(); |
| | | List<DeliveryOrderItemDTO> ls = new ArrayList<>(); |
| | | if(idList != null && idList.size() > 0){ |
| | | for(String id : idList){ |
| | | DeliveryOrderItem item = deliveryOrderItemMapper.selectOne(new QueryWrapper<DeliveryOrderItem>() |
| | | .eq("order_item_id", id)); |
| | | ls.add(getSupplierDeliveryOrderItem(item)); |
| | | } |
| | | } |
| | | |
| | | return ls; |
| | | } |
| | | |
| | | public DeliveryOrderItemDTO getSupplierDeliveryOrderItem(String id) { |
| | | DeliveryOrderItem item = deliveryOrderItemMapper.selectById(id); |
| | | |
| | | return getSupplierDeliveryOrderItem(item); |
| | | } |
| | | |
| | | public DeliveryOrderItemDTO getSupplierDeliveryOrderItem(DeliveryOrderItem item) { |
| | | DeliveryOrderItemDTO dto = new DeliveryOrderItemDTO(); |
| | | |
| | | Supplier s = getCurrentSupplier(); |
| | | dto.setSupplierName(s.getName()); |
| | | |
| | | DeliveryOrderItem item = deliveryOrderItemMapper.selectById(id); |
| | | |
| | | Order d = orderMapper.selectById(item.getOrderId()); |
| | | dto.setOrderNo(d.getOrderNo()); |
| | | dto.setWarehouseName(d.getWarehouseName()); |
| | |
| | | orderItemSettlementService.saveItemSettlementInfo(oi, SecurityUtils.getUserId(), Constants.S_TYPE.CHECK); |
| | | } |
| | | |
| | | private BigDecimal calculateOrderItemDeduct(String id){ |
| | | public BigDecimal calculateOrderItemDeduct(String id){ |
| | | List<OrderItemCheck> cLs = orderItemCheckMapper.selectList(new QueryWrapper<OrderItemCheck>() |
| | | .eq("order_item_id", id) |
| | | .eq("audit_status", Constants.CHECK_AUDIT_STATUS.AGREED.name()) |
| | |
| | | return dto; |
| | | } |
| | | |
| | | public OrderItemCheckNumDTO getOtherCheck(String itemId, String type){ |
| | | public OrderItemCheckNumDTO getOtherCheck(String itemId, String type, boolean isSupplier){ |
| | | OrderItemCheck c = orderItemCheckMapper.selectOne(new QueryWrapper<OrderItemCheck>() |
| | | .eq("type", type) |
| | | .eq("order_item_id", itemId) |
| | |
| | | BeanUtils.copyProperties(c, dto); |
| | | User user = userMapper.selectById(c.getCreateBy()); |
| | | dto.setCreateName(user.getNickName()); |
| | | |
| | | dto.setPictureList(parseArray(c.getPictures(), String.class)); |
| | | |
| | | if(Constants.CHECK_TYPE.lack.name().equals(c.getType()) && isSupplier){ |
| | | OrderItem oi = orderItemMapper.selectById(itemId); |
| | | BigDecimal lackFeeSupplier = oi.getSupplierPrice().multiply(new BigDecimal(c.getNum())); |
| | | dto.setDeductAmount(lackFeeSupplier); |
| | | } |
| | | } |
| | | |
| | | return dto; |
| | |
| | | |
| | | public void doReduceCheck(OrderItemCheckCommitReduceDTO dto){ |
| | | dto.setType(Constants.CHECK_TYPE.reduce.name()); |
| | | doCheck(dto, dto.getPictureList(), dto.getTargetLevel(), dto.getDeductAmount()); |
| | | doCheck(dto, dto.getTargetLevel(), dto.getDeductAmount()); |
| | | } |
| | | |
| | | public void doCheck(OrderItemCheckCommitDTO dto |
| | | , List<String> pictureList, String targetLevel, BigDecimal deductAmount) { |
| | | public void doCheck(OrderItemCheckCommitDTO dto, String targetLevel, BigDecimal deductAmount) { |
| | | if(dto.getNum() == null || dto.getNum() == 0){ |
| | | throw new ValidationException("处理数量不能为0"); |
| | | } |
| | | |
| | | List<String> pictureList = dto.getPictureList(); |
| | | /*if(pictureList == null || pictureList.size() == 0){ |
| | | throw new ValidationException("质检图片不能为空"); |
| | | }*/ |
| | | |
| | | OrderItem oi = orderItemMapper.selectById(dto.getOrderItemId()); |
| | | if(dto.getNum() > oi.getNum()){ |
| | | throw new ValidationException("处理数量不能大于商品数量"); |
| | | } |
| | | |
| | | Order o = orderMapper.selectById(oi.getOrderId()); |
| | | if(StringUtils.isNotEmpty(o.getTransferId())){ |
| | | throw new ValidationException("已质检退款,不可提交质检记录"); |
| | | } |
| | | |
| | | if(!Constants.ORDER_STATUS_BACKEND.COLLECTION.name().equals(o.getStatusBackend()) |
| | | && !Constants.ORDER_STATUS_BACKEND.SEND.name().equals(o.getStatusBackend())){ |
| | | throw new ValidationException("订单状态异常,不可提交质检记录"); |
| | | } |
| | | |
| | | List<OrderItemCheck> cLs = orderItemCheckMapper.selectList(new QueryWrapper<OrderItemCheck>() |
| | |
| | | BigDecimal dt = realPrice.multiply(new BigDecimal(dto.getNum())); |
| | | if(deduct.doubleValue() > dt.doubleValue() |
| | | || (oi.getRealTotal() != null && deduct.doubleValue() > oi.getRealTotal().doubleValue())){ |
| | | throw new ValidationException("降级金额不能大于商品处理数量金额"); |
| | | throw new ValidationException("降级金额不能大于商品处理数量的支付的金额"); |
| | | } |
| | | BigDecimal st = oi.getSupplierPrice().multiply(new BigDecimal(dto.getNum())); |
| | | if(deduct.doubleValue() > st.doubleValue()){ |
| | | throw new ValidationException("降级金额不能大于商品处理数量的供应商的金额"); |
| | | } |
| | | } |
| | | |