| | |
| | | import com.mzl.flower.config.security.SecurityUtils; |
| | | import com.mzl.flower.constant.Constants; |
| | | import com.mzl.flower.dto.request.payment.*; |
| | | import com.mzl.flower.dto.request.report.QueryAppSupplierDTO; |
| | | import com.mzl.flower.dto.response.flower.ParamItemDTO; |
| | | import com.mzl.flower.dto.response.flower.StationStatisticDTO; |
| | | import com.mzl.flower.dto.response.payment.*; |
| | | import com.mzl.flower.dto.response.report.AppSupplierStatisticsVO; |
| | | import com.mzl.flower.dto.response.supplier.SupplierOrderDTO; |
| | | import com.mzl.flower.entity.payment.*; |
| | | import com.mzl.flower.entity.supplier.Station; |
| | |
| | | import com.mzl.flower.mapper.supplier.StationMapper; |
| | | import com.mzl.flower.service.BaseService; |
| | | import com.mzl.flower.service.flower.FlowerParamService; |
| | | import com.mzl.flower.service.report.OrderReportService; |
| | | import com.mzl.flower.utils.UUIDGenerator; |
| | | import lombok.extern.slf4j.Slf4j; |
| | | import org.apache.commons.lang3.StringUtils; |
| | |
| | | @Autowired |
| | | private OrderItemSettlementService orderItemSettlementService; |
| | | |
| | | @Autowired |
| | | private OrderReportService orderReportService; |
| | | |
| | | public void createDeliveryOrder(Order order) { |
| | | String orderId = order.getId(); |
| | | String orderNo = order.getOrderNo(); |
| | |
| | | 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 if (Constants.DELIVERY_ORDER_STATUS.PENDING.name().equals(dto.getStatus())) { |
| | | List<String> statusLs = new ArrayList<>(); |
| | | statusLs.add(Constants.DELIVERY_ORDER_STATUS.NO_LOCATION.name()); |
| | | statusLs.add(Constants.DELIVERY_ORDER_STATUS.PENDING.name()); |
| | | dto.setStatusList(statusLs); |
| | | } else { |
| | | dto.setStatusList(splitParam(dto.getStatus())); |
| | |
| | | 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()); |
| | |
| | | } |
| | | dto.setSalesRate(salesRate); |
| | | |
| | | Integer deliverCount = deliveryOrderItemMapper.getDoItemCount(supplierId, Constants.DELIVERY_ORDER_STATUS.NO_LOCATION.name(), startDate, endDate); |
| | | dto.setDeliverCount(deliverCount == null ? 0 : deliverCount); |
| | | Integer deliverCount1 = deliveryOrderItemMapper.getDoItemCount(supplierId, Constants.DELIVERY_ORDER_STATUS.NO_LOCATION.name(), startDate, endDate); |
| | | Integer deliverCount2 = deliveryOrderItemMapper.getDoItemCount(supplierId, Constants.DELIVERY_ORDER_STATUS.PENDING.name(), startDate, endDate); |
| | | Integer deliverCount = getInteger(deliverCount1) + getInteger(deliverCount2); |
| | | dto.setDeliverCount(deliverCount); |
| | | |
| | | Integer deliverCount3 = deliveryOrderItemMapper.getDoItemCount(supplierId, Constants.DELIVERY_ORDER_STATUS.ARRIVED.name(), startDate, endDate); |
| | | Integer deliverCount4 = deliveryOrderItemMapper.getDoItemCount(supplierId, Constants.DELIVERY_ORDER_STATUS.CHECKED.name(), startDate, endDate); |
| | | Integer dc = getInteger(deliverCount3) + getInteger(deliverCount4); |
| | | dto.setDeliverTotal(dc); |
| | | |
| | | Integer deliverTotal = deliveryOrderItemMapper.getDoItemCount(supplierId, null, startDate, endDate); |
| | | dto.setDeliverTotal(deliverTotal == null ? 0 : deliverTotal); |
| | | dto.setDealCountToday(deliverTotal); |
| | | |
| | | LocalDateTime e = LocalDate.now().withDayOfMonth(1).atTime(17, 0, 0).plusDays(-1); |
| | |
| | | LocalDateTime s1 = endDate.plusDays(-30); |
| | | Integer dealCountDay30 = deliveryOrderItemMapper.getDoItemCount(supplierId, null, s1, endDate); |
| | | dto.setDealCountDay30(dealCountDay30); |
| | | |
| | | // 供应商 总成交、本月成交、上月成交、今日成交、缺货(本月)、上月质检缺货、本月质检降级、上月质检降级、本月质检补货、上月质检补货 |
| | | QueryAppSupplierDTO appDto=new QueryAppSupplierDTO(); |
| | | appDto.setSupplierId(supplierId); |
| | | final AppSupplierStatisticsVO appSupplierStatistics = orderReportService.getAppSupplierStatistics(appDto); |
| | | BeanUtils.copyProperties(appSupplierStatistics,dto); |
| | | } |
| | | |
| | | return dto; |
| | | } |
| | | |
| | | private Integer getInteger(Integer c){ |
| | | return c == null ? 0 : c; |
| | | } |
| | | |
| | | public List<StationStatisticDTO> statisticStationList(String name, LocalDateTime startDate |
| | |
| | | } |
| | | |
| | | List<String> pictureList = dto.getPictureList(); |
| | | if(pictureList == null || pictureList.size() == 0){ |
| | | /*if(pictureList == null || pictureList.size() == 0){ |
| | | throw new ValidationException("质检图片不能为空"); |
| | | } |
| | | }*/ |
| | | |
| | | OrderItem oi = orderItemMapper.selectById(dto.getOrderItemId()); |
| | | if(dto.getNum() > oi.getNum()){ |
| | |
| | | } |
| | | |
| | | if(!Constants.ORDER_STATUS_BACKEND.COLLECTION.name().equals(o.getStatusBackend()) |
| | | && !Constants.ORDER_STATUS_BACKEND.SEND.name().equals(o.getStatusBackend())){ |
| | | && !Constants.ORDER_STATUS_BACKEND.SEND.name().equals(o.getStatusBackend()) |
| | | ){ |
| | | throw new ValidationException("订单状态异常,不可提交质检记录"); |
| | | } |
| | | |
| | |
| | | } |
| | | deduct = deductAmount.multiply(new BigDecimal(dto.getNum())); |
| | | BigDecimal dt = realPrice.multiply(new BigDecimal(dto.getNum())); |
| | | if(deduct.doubleValue() > dt.doubleValue() |
| | | || (oi.getRealTotal() != null && deduct.doubleValue() > oi.getRealTotal().doubleValue())){ |
| | | if(deduct.compareTo(dt) > 0 |
| | | || (oi.getRealTotal() != null && deduct.compareTo(oi.getRealTotal()) > 0)){ |
| | | throw new ValidationException("降级金额不能大于商品处理数量的支付的金额"); |
| | | } |
| | | BigDecimal st = oi.getSupplierPrice().multiply(new BigDecimal(dto.getNum())); |
| | | if(deduct.doubleValue() > st.doubleValue()){ |
| | | if(deduct.compareTo(st) > 0){ |
| | | throw new ValidationException("降级金额不能大于商品处理数量的供应商的金额"); |
| | | } |
| | | } |