Cui Zhi Feng
2024-08-23 2822a346324bd5689e6d86f7e318e89c3936cb53
src/main/java/com/mzl/flower/service/payment/OrderItemSalesService.java
@@ -9,11 +9,14 @@
import com.mzl.flower.dto.request.payment.*;
import com.mzl.flower.dto.response.payment.OrderItemSalesNewDTO;
import com.mzl.flower.dto.response.payment.OrderItemSalesNewListDTO;
import com.mzl.flower.dto.response.payment.OrderStatusCountDTO;
import com.mzl.flower.dto.response.system.CodeValueDTO;
import com.mzl.flower.entity.payment.*;
import com.mzl.flower.entity.supplier.Station;
import com.mzl.flower.mapper.payment.*;
import com.mzl.flower.mapper.supplier.StationMapper;
import com.mzl.flower.service.BaseService;
import com.mzl.flower.service.system.CodeService;
import com.mzl.flower.utils.UUIDGenerator;
import lombok.extern.slf4j.Slf4j;
import org.springframework.beans.BeanUtils;
@@ -23,7 +26,10 @@
import java.math.BigDecimal;
import java.time.LocalDateTime;
import java.util.ArrayList;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
@Slf4j
@Service
@@ -47,6 +53,9 @@
    @Autowired
    private StationMapper stationMapper;
    @Autowired
    private CodeService codeService;
    public String createSales(OrderItemSalesCreateDTO dto){
        Integer num = dto.getNum();
@@ -126,6 +135,35 @@
        orderItemSalesMapper.updateById(s);
    }
    public List<OrderStatusCountDTO> getSalesStatusCount(OrderItemSalesQueryDTO dto) {
        dto.setOrderStartDate(parseLocalDateTime(dto.getOrderStartDateStr()));
        dto.setOrderEndDate(parseLocalDateTime(dto.getOrderEndDateStr()));
        dto.setSalesStartDate(parseLocalDateTime(dto.getSalesStartDateStr()));
        dto.setSalesEndDate(parseLocalDateTime(dto.getSalesEndDateStr()));
        List<CodeValueDTO> ls = codeService.searchValue("ORDER_SALES_STATUS");
        List<OrderStatusCountDTO> ll = orderItemSalesMapper.getSalesStatusCount(dto);
        Map<String, Integer> llMap = new HashMap<>();
        if (ll != null && ll.size() > 0) {
            for (OrderStatusCountDTO c : ll) {
                llMap.put(c.getValue(), c.getOrderCount());
            }
        }
        List<OrderStatusCountDTO> rr = new ArrayList<>();
        for (CodeValueDTO c : ls) {
            OrderStatusCountDTO r = new OrderStatusCountDTO();
            r.setValue(c.getValue());
            r.setLabel(c.getLabel());
            Integer count = llMap.get(r.getValue());
            r.setOrderCount(count == null ? 0 : count);
            rr.add(r);
        }
        return rr;
    }
    public Page<OrderItemSalesNewListDTO> selectSalesList(Page page, OrderItemSalesQueryDTO dto){
        dto.setOrderStartDate(parseLocalDateTime(dto.getOrderStartDateStr()));
        dto.setOrderEndDate(parseLocalDateTime(dto.getOrderEndDateStr()));