mirror of
http://192.168.1.205:9980/cf_devdept2/cf_imes_server.git
synced 2026-08-12 21:02:08 +08:00
1、新增主订单分页接口;2、新增 订单新增编辑接口 订单类型基于parentId校验和赋值逻辑;
This commit is contained in:
+1
@@ -70,6 +70,7 @@ public class ErrorCodeConstants {
|
||||
public static final ErrorCode ORDER_TIME_ERR = new ErrorCode(1_003_029_016, "获取订单列表,时间格式输入出错,请更换格式");
|
||||
public static final ErrorCode FILE_TYPE_ERR = new ErrorCode(1_003_029_017, "当前文件类型尚未开发,敬请期待");
|
||||
public static final ErrorCode ORDER_DETAIL_DATE_ERR = new ErrorCode(1_003_029_018, "板件生产数据缺失,请确认数据源中是否存在相关数据");
|
||||
public static final ErrorCode ORDER_SUBTYPE_NOT_SUPPORT = new ErrorCode(1_003_029_019, "不支持的子单类型,请重新选择");
|
||||
|
||||
public static final ErrorCode SOURCE_NOT_EXITS_ERROR = new ErrorCode(1_003_029_019, "源数据查询失败");
|
||||
public static final ErrorCode ORDER_DELETED_ERR = new ErrorCode(1_003_029_020, "订单删除失败");
|
||||
|
||||
+27
-7
@@ -1,5 +1,6 @@
|
||||
package com.cf.imes.module.executor.enums;
|
||||
|
||||
import cn.hutool.core.util.ArrayUtil;
|
||||
import lombok.AllArgsConstructor;
|
||||
import lombok.Getter;
|
||||
|
||||
@@ -8,17 +9,36 @@ import lombok.Getter;
|
||||
public enum OrderTypeEnum {
|
||||
|
||||
MAIN_ORDER(1, "主单"),
|
||||
SUBORDER(2, "子单");
|
||||
SUPPLEMENT_ORDER(2, "补单"),
|
||||
AFTER_SALES_ORDER(3, "售后单"),
|
||||
BODY_ORDER(4, "柜体单"),
|
||||
HARDWARE_ORDER(5, "五金单"),
|
||||
MATERIAL_ORDER(6, "材料单");
|
||||
|
||||
private final Integer status;
|
||||
private String description;
|
||||
|
||||
public boolean equals(Integer status) {
|
||||
return this.status .equals(status) ;
|
||||
}
|
||||
/**
|
||||
* 子单类型
|
||||
*/
|
||||
public static final int[] SUB_TYPES = {
|
||||
SUPPLEMENT_ORDER.status,
|
||||
AFTER_SALES_ORDER.status,
|
||||
BODY_ORDER.status,
|
||||
HARDWARE_ORDER.status,
|
||||
MATERIAL_ORDER.status
|
||||
};
|
||||
|
||||
public boolean equals(OrderTypeEnum enableStatusEnum) {
|
||||
return enableStatusEnum != null && enableStatusEnum.status .equals(this.getStatus()) ;
|
||||
/**
|
||||
* 是否子单的类型
|
||||
*
|
||||
* @param status
|
||||
* @return
|
||||
*/
|
||||
public static boolean isSubType(Integer status) {
|
||||
if (ArrayUtil.contains(SUB_TYPES, status)) {
|
||||
return true;
|
||||
}
|
||||
return false;
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
+7
@@ -147,6 +147,13 @@ public class OrderController {
|
||||
return success(BeanUtils.toBean(orderService.getOrderPage(pageReqVO), OrderRespVO.class));
|
||||
}
|
||||
|
||||
@GetMapping("/main/page")
|
||||
@Operation(summary = "获得主订单分页")
|
||||
@PreAuthorize("@ss.hasPermission('productManager:List')")
|
||||
public CommonResult<PageResult<OrderRespVO>> getMainOrderPage(@Valid OrderPageReqVO pageReqVO) {
|
||||
return success(BeanUtils.toBean(orderService.getMainOrderPage(pageReqVO), OrderRespVO.class));
|
||||
}
|
||||
|
||||
@GetMapping("/webcad/page")
|
||||
@Operation(summary = "获得订单分页")
|
||||
public CommonResult<PageResult<OrderRespVO>> webCadGetOrderPage(@Valid OrderPageReqVO pageReqVO) {
|
||||
|
||||
+1
-4
@@ -4,10 +4,7 @@ import com.cf.imes.framework.common.validation.Telephone;
|
||||
import io.swagger.v3.oas.annotations.media.Schema;
|
||||
import lombok.*;
|
||||
|
||||
import java.math.BigDecimal;
|
||||
import java.util.*;
|
||||
import jakarta.validation.constraints.*;
|
||||
import org.springframework.format.annotation.DateTimeFormat;
|
||||
import java.time.LocalDateTime;
|
||||
|
||||
@Schema(description = "管理后台 - 订单表 order_{N}新增/修改 Request VO")
|
||||
@@ -30,7 +27,7 @@ public class OrderSaveReqVO {
|
||||
@NotNull(message = "交付日期不能为空")
|
||||
private LocalDateTime deliveryDate;
|
||||
|
||||
@Schema(description = "订单类型,1主单 2子单", example = "1")
|
||||
@Schema(description = "订单类型,2补单、3售后单、4柜体单、5五金单、6材料单", example = "1")
|
||||
private Integer orderType;
|
||||
|
||||
@Schema(description = "订单排序号")
|
||||
|
||||
+8
@@ -66,6 +66,14 @@ public interface OrderService {
|
||||
*/
|
||||
PageResult<OrderDO> getOrderPage(OrderPageReqVO pageReqVO);
|
||||
|
||||
/**
|
||||
* 获得主订单分页
|
||||
*
|
||||
* @param pageReqVO 分页查询
|
||||
* @return 订单表 order_{N}分页
|
||||
*/
|
||||
PageResult<OrderDO> getMainOrderPage(OrderPageReqVO pageReqVO);
|
||||
|
||||
/**
|
||||
* @param orderId: 订单Id
|
||||
* @return List<OrderBodyRespVO>
|
||||
|
||||
+36
-5
@@ -67,6 +67,7 @@ import com.cf.imes.module.executor.enums.CategoryEnum;
|
||||
import com.cf.imes.module.executor.enums.DataTypeEnum;
|
||||
import com.cf.imes.module.executor.enums.OrderDeletedEnum;
|
||||
import com.cf.imes.module.executor.enums.OrderStatusEnum;
|
||||
import com.cf.imes.module.executor.enums.OrderTypeEnum;
|
||||
import com.cf.imes.module.executor.service.customplateno.CustomPlateNoGenerateService;
|
||||
import com.cf.imes.module.executor.service.manage.pack.PackService;
|
||||
import com.cf.imes.module.executor.service.orderImport.OrderImportHandler;
|
||||
@@ -93,7 +94,6 @@ import java.io.*;
|
||||
import java.math.BigDecimal;
|
||||
import java.net.URLEncoder;
|
||||
import java.time.LocalDate;
|
||||
import java.time.format.DateTimeFormatter;
|
||||
import java.time.temporal.ChronoUnit;
|
||||
import java.util.*;
|
||||
import java.util.function.Function;
|
||||
@@ -193,8 +193,9 @@ public class OrderServiceImpl implements OrderService {
|
||||
public Long createOrder(OrderSaveReqVO createReqVO) {
|
||||
//校验手机号是否合法
|
||||
validatePhoneNumber(createReqVO.getPhoneNumber());
|
||||
Long parentId = createReqVO.getParentId();
|
||||
// 校验上级订单是否存在
|
||||
validateParentOrderExists(createReqVO.getParentId());
|
||||
validateParentOrderExists(parentId);
|
||||
|
||||
//验证自定义单号是否存在,业务员、拆单员是否存在
|
||||
validateCustomOrderNoExists(createReqVO.getCustomOrderNo());
|
||||
@@ -207,11 +208,12 @@ public class OrderServiceImpl implements OrderService {
|
||||
createReqVO.setDeliveryDate(deliveryDate.atStartOfDay());
|
||||
// 插入
|
||||
OrderDO order = BeanUtils.toBean(createReqVO, OrderDO.class);
|
||||
order.setId((Long)identifierGenerator.nextId(null));
|
||||
// 默认api类型订单
|
||||
if(ObjectUtil.isNull(order.getDataType())) {
|
||||
order.setDataType(DataTypeEnum.API_IMPORT.getStatus());
|
||||
}
|
||||
// 订单类型
|
||||
order.setOrderType(getOrderType(parentId, createReqVO.getOrderType()));
|
||||
orderMapper.insert(order);
|
||||
// 返回
|
||||
return order.getId();
|
||||
@@ -228,8 +230,11 @@ public class OrderServiceImpl implements OrderService {
|
||||
//验证自定义单号是否存在, 订单未删除
|
||||
validateCustomOrderNoExists(updateReqVO.getCustomOrderNo(), updateReqVO.getId());
|
||||
|
||||
Long parentId = updateReqVO.getParentId();
|
||||
// 校验上级订单是否存在
|
||||
validateParentOrderExists(parentId);
|
||||
|
||||
// 发货日期校验
|
||||
DateTimeFormatter formatter = DateTimeFormatter.ofPattern("yyyy-MM-dd");
|
||||
LocalDate orderDate = LocalDate.from(updateReqVO.getOrderDate());
|
||||
LocalDate deliveryDate = LocalDate.from(updateReqVO.getDeliveryDate());
|
||||
if (deliveryDate.isBefore(orderDate)) {
|
||||
@@ -251,9 +256,29 @@ public class OrderServiceImpl implements OrderService {
|
||||
if (updateReqVO.getRemark() == null || updateReqVO.getRemark().equals("")) {
|
||||
updateObj.setRemark("");
|
||||
}
|
||||
// 订单类型
|
||||
updateObj.setOrderType(getOrderType(parentId, updateReqVO.getOrderType()));
|
||||
orderMapper.updateById(updateObj);
|
||||
}
|
||||
|
||||
/**
|
||||
* 获取对应的订单类型
|
||||
*
|
||||
* @param parentId 父级订单id
|
||||
* @param orderType 入参订单类型
|
||||
* @return
|
||||
*/
|
||||
private Integer getOrderType(Long parentId, Integer orderType) {
|
||||
if (ObjectUtil.isNotNull(parentId)) {
|
||||
if (!OrderTypeEnum.isSubType(orderType)) {
|
||||
throw new ServiceException(ORDER_SUBTYPE_NOT_SUPPORT);
|
||||
}
|
||||
} else {
|
||||
return OrderTypeEnum.MAIN_ORDER.getStatus();
|
||||
}
|
||||
return orderType;
|
||||
}
|
||||
|
||||
@Override
|
||||
public OrderDO getOrder(Long id) {
|
||||
return orderMapper.selectOrderOne(id, getUserOrganId(), OrderDeletedEnum.NOT_DELETED.getStatus());
|
||||
@@ -273,6 +298,11 @@ public class OrderServiceImpl implements OrderService {
|
||||
|
||||
@Override
|
||||
public PageResult<OrderDO> getOrderPage(OrderPageReqVO pageReqVO) {
|
||||
return orderMapper.selectPage(pageReqVO.setOrganId(getUserOrganId()));
|
||||
}
|
||||
|
||||
@Override
|
||||
public PageResult<OrderDO> getMainOrderPage(OrderPageReqVO pageReqVO) {
|
||||
PageResult<OrderDO> pageResult = orderMapper.selectPage(pageReqVO.setOrganId(getUserOrganId()));
|
||||
Long pageResultTotal = pageResult.getTotal();
|
||||
if (pageResultTotal > 0) {
|
||||
@@ -282,8 +312,9 @@ public class OrderServiceImpl implements OrderService {
|
||||
|
||||
// 2、查询订单id列表对应的子单
|
||||
List<OrderDO> childList = orderMapper.selectList(
|
||||
new LambdaQueryWrapper<OrderDO>()
|
||||
new LambdaQueryWrapperX<OrderDO>()
|
||||
.in(OrderDO::getParentId, orderIds)
|
||||
.eqIfPresent(OrderDO::getDeleted, pageReqVO.getDeleted())
|
||||
.orderByDesc(OrderDO::getId)
|
||||
);
|
||||
|
||||
|
||||
Reference in New Issue
Block a user