#
Junjie
2025-02-14 ac4341ea6b66ae02427d39d35f41d42d78b2eb2e
zy-asrs-wms/src/main/java/com/zy/asrs/wms/asrs/service/impl/OrderNoRuleServiceImpl.java
@@ -4,12 +4,14 @@
import com.zy.asrs.framework.exception.CoolException;
import com.zy.asrs.wms.asrs.entity.Order;
import com.zy.asrs.wms.asrs.entity.OrderType;
import com.zy.asrs.wms.asrs.entity.Wave;
import com.zy.asrs.wms.asrs.mapper.OrderNoRuleMapper;
import com.zy.asrs.wms.asrs.entity.OrderNoRule;
import com.zy.asrs.wms.asrs.service.OrderNoRuleService;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import com.zy.asrs.wms.asrs.service.OrderService;
import com.zy.asrs.wms.asrs.service.OrderTypeService;
import com.zy.asrs.wms.asrs.service.WaveService;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
@@ -28,6 +30,8 @@
    private OrderService orderService;
    @Autowired
    private OrderTypeService orderTypeService;
    @Autowired
    private WaveService waveService;
    @Override
    public String getOrderNo(Integer orderType) {
@@ -69,6 +73,20 @@
                }
            }
            buffer.append(sizeBuilder);
        }else {
            //查当天波次订单数量
            LocalDateTime startOfDay = LocalDateTime.of(LocalDate.now(), LocalTime.MIN);
            LocalDateTime endOfDay = LocalDateTime.of(LocalDate.now(), LocalTime.MAX);
            List<Wave> waves = waveService.list(new LambdaQueryWrapper<Wave>().between(Wave::getCreateTime, startOfDay, endOfDay));
            int size = waves.size();
            String sizeStr = String.valueOf(size);
            StringBuilder sizeBuilder = new StringBuilder(sizeStr);
            if (sizeStr.length() < orderNoRule.getIncreaseNum()) {
                for (int i = 0; i < orderNoRule.getIncreaseNum() - sizeStr.length(); i++) {
                    sizeBuilder.insert(0, "0");
                }
            }
            buffer.append(sizeBuilder);
        }
        return buffer.toString();
    }