浏览代码

Merge remote-tracking branch 'origin/master'

# Conflicts:
#	yudao-framework/yudao-spring-boot-starter-job/target/yudao-spring-boot-starter-job-2025.11-SNAPSHOT.jar
#	yudao-framework/yudao-spring-boot-starter-mq/target/yudao-spring-boot-starter-mq-2025.11-SNAPSHOT.jar
#	yudao-module-bpm/target/generated-sources/annotations/cn/iocoder/yudao/module/bpm/convert/task/BpmProcessInstanceConvertImpl.java
#	yudao-module-infra/target/yudao-module-infra-2025.11-SNAPSHOT.jar
#	yudao-module-system/target/generated-sources/annotations/cn/iocoder/yudao/module/system/convert/oauth2/OAuth2OpenConvertImpl.java
#	yudao-order-server/src/main/resources/mapper/order/OrderDeliveryMapper.xml
#	yudao-order-server/target/generated-sources/annotations/cn/iocoder/yudao/module/order/convert/OrderConvertImpl.java
#	yudao-order-server/target/yudao-order-server-2025.11-SNAPSHOT.jar
#	yudao-server/target/yudao-server.jar
#	yudao-server/target/yudao-server.jar.original
Pengxy 3 月之前
父节点
当前提交
99e3ed3be9

+ 11 - 0
yudao-module-system/target/generated-sources/annotations/cn/iocoder/yudao/module/system/convert/oauth2/OAuth2OpenConvertImpl.java

@@ -0,0 +1,11 @@
+package cn.iocoder.yudao.module.system.convert.oauth2;
+
+import javax.annotation.processing.Generated;
+
+@Generated(
+    value = "org.mapstruct.ap.MappingProcessor",
+    date = "2025-12-22T16:09:52+0800",
+    comments = "version: 1.6.3, compiler: javac, environment: Java 17.0.17 (Oracle Corporation)"
+)
+public class OAuth2OpenConvertImpl implements OAuth2OpenConvert {
+}

+ 3 - 0
yudao-order-server/src/main/java/cn/iocoder/yudao/module/order/controller/admin/delivery/vo/OrderDeliveryPageItemVO.java

@@ -13,6 +13,9 @@ public class OrderDeliveryPageItemVO {
     @Schema(description = "订单行主键")
     private Long id;
 
+    @Schema(description = "销售订单ID,关联 crm_seorder.id")
+    private Long seorderId;
+
     @Schema(description = "订单编号")
     private String billNo;
 

+ 5 - 5
yudao-order-server/src/main/java/cn/iocoder/yudao/module/order/controller/admin/delivery/vo/ShippingPlanSaveReqVO.java

@@ -37,8 +37,8 @@ public class ShippingPlanSaveReqVO {
     private Integer priority;
 
     @Schema(description = "出货日期", requiredMode = Schema.RequiredMode.REQUIRED)
-    @NotNull(message = "出货日期不能为空")
-    private LocalDateTime shippingDate;
+    @NotBlank(message = "出货日期不能为空")
+    private String shippingDate;
 
     @Schema(description = "收货地址")
     private String shippingAddress;
@@ -79,13 +79,13 @@ public class ShippingPlanSaveReqVO {
         private String itemNum;
 
         @Schema(description = "销售订单ID")
-        private Long seorderId;
+        private String seorderId;
 
         @Schema(description = "订单行ID")
-        private Long sentryId;
+        private String sentryId;
 
         @Schema(description = "下单日期")
-        private LocalDateTime ordDate;
+        private String ordDate;
 
         @Schema(description = "国家")
         private String country;

+ 29 - 0
yudao-order-server/src/main/java/cn/iocoder/yudao/module/order/convert/OrderDeliveryConvert.java

@@ -4,9 +4,15 @@ import cn.iocoder.yudao.module.order.controller.admin.delivery.vo.ShippingPlanRe
 import cn.iocoder.yudao.module.order.controller.admin.delivery.vo.ShippingPlanSaveReqVO;
 import cn.iocoder.yudao.module.order.dal.dataobject.ShippingPlanDO;
 import cn.iocoder.yudao.module.order.dal.dataobject.ShippingPlanDetailDO;
+import org.mapstruct.IterableMapping;
 import org.mapstruct.Mapper;
+import org.mapstruct.Mapping;
+import org.mapstruct.Named;
 import org.mapstruct.factory.Mappers;
 
+import java.time.LocalDate;
+import java.time.LocalDateTime;
+import java.time.format.DateTimeFormatter;
 import java.util.List;
 
 @Mapper
@@ -14,13 +20,36 @@ public interface OrderDeliveryConvert {
 
     OrderDeliveryConvert INSTANCE = Mappers.getMapper(OrderDeliveryConvert.class);
 
+    @Mapping(target = "shippingDate", source = "shippingDate", qualifiedByName = "stringToLocalDateTime")
     ShippingPlanDO convert(ShippingPlanSaveReqVO bean);
 
     ShippingPlanRespVO convert(ShippingPlanDO bean);
 
     List<ShippingPlanRespVO> convertList(List<ShippingPlanDO> list);
 
+    @Named("convertDetailWithDate")
+    @Mapping(target = "ordDate", source = "ordDate", qualifiedByName = "stringToLocalDateTime")
+    ShippingPlanDetailDO convertDetail(ShippingPlanSaveReqVO.ShippingPlanDetailSaveReqVO bean);
+
+    @IterableMapping(qualifiedByName = "convertDetailWithDate")
     List<ShippingPlanDetailDO> convertDetailSaveList(List<ShippingPlanSaveReqVO.ShippingPlanDetailSaveReqVO> list);
 
     List<ShippingPlanRespVO.ShippingPlanDetailRespVO> convertDetailList(List<ShippingPlanDetailDO> list);
+
+    @Named("stringToLocalDateTime")
+    default LocalDateTime stringToLocalDateTime(String dateStr) {
+        if (dateStr == null || dateStr.isEmpty()) {
+            return null;
+        }
+        try {
+            // 支持 YYYY-MM-DD 格式
+            if (dateStr.length() == 10) {
+                return LocalDate.parse(dateStr, DateTimeFormatter.ISO_LOCAL_DATE).atStartOfDay();
+            }
+            // 支持 YYYY-MM-DD HH:mm:ss 格式
+            return LocalDateTime.parse(dateStr, DateTimeFormatter.ofPattern("yyyy-MM-dd HH:mm:ss"));
+        } catch (Exception e) {
+            return null;
+        }
+    }
 }

+ 1 - 1
yudao-order-server/src/main/java/cn/iocoder/yudao/module/order/dal/dataobject/ShippingPlanDO.java

@@ -73,7 +73,7 @@ public class ShippingPlanDO {
 
     /** 优先级 Priority */
     @TableField("Priority")
-    private Integer priority;
+    private java.math.BigDecimal priority;
 
     /** 出货日期 ShippingDate */
     @TableField("ShippingDate")

+ 4 - 4
yudao-order-server/src/main/java/cn/iocoder/yudao/module/order/dal/dataobject/ShippingPlanDetailDO.java

@@ -25,7 +25,7 @@ import java.time.LocalDateTime;
 public class ShippingPlanDetailDO {
 
     /** 自增列 RecID */
-    @TableId(value = "RecID", type = IdType.AUTO)
+    @TableId(value = "RecID", type = IdType.ASSIGN_ID)
     private Long recId;
 
     /** 域名 Domain */
@@ -76,13 +76,13 @@ public class ShippingPlanDetailDO {
     @TableField("ItemNum")
     private String itemNum;
 
-    /** 销售订单ID seorder_id */
+    /** 销售订单ID,关联 crm_seorder.id */
     @TableField("seorder_id")
-    private Long seorderId;
+    private String seorderId;
 
     /** 订单行ID sentry_id */
     @TableField("sentry_id")
-    private Long sentryId;
+    private String sentryId;
 
     /** 主表ID plan_id */
     @TableField("plan_id")

+ 15 - 1
yudao-order-server/src/main/java/cn/iocoder/yudao/module/order/service/impl/OrderDeliveryServiceImpl.java

@@ -102,6 +102,7 @@ public class OrderDeliveryServiceImpl implements OrderDeliveryService {
     }
 
     @Override
+    @TenantIgnore
     public PageResult<ShippingPlanRespVO> getShippingPlanPage(ShippingPlanPageReqVO pageReqVO) {
         PageResult<ShippingPlanDO> pageResult = shippingPlanMapper.selectPage(pageReqVO);
         return new PageResult<>(
@@ -111,6 +112,7 @@ public class OrderDeliveryServiceImpl implements OrderDeliveryService {
     }
 
     @Override
+    @TenantIgnore
     public ShippingPlanRespVO getShippingPlan(Long id) {
         ShippingPlanDO plan = shippingPlanMapper.selectById(id);
         if (plan == null) {
@@ -124,6 +126,7 @@ public class OrderDeliveryServiceImpl implements OrderDeliveryService {
 
     @Override
     @Transactional(rollbackFor = Exception.class)
+    @TenantIgnore
     public Long createShippingPlan(ShippingPlanSaveReqVO createReqVO) {
         ShippingPlanDO plan = OrderDeliveryConvert.INSTANCE.convert(createReqVO);
         LocalDateTime now = LocalDateTime.now();
@@ -131,6 +134,14 @@ public class OrderDeliveryServiceImpl implements OrderDeliveryService {
         plan.setUpdateTime(now);
         plan.setIsActive(true);
         plan.setIsConfirm(false);
+        // Domain 字段不能为空,设置默认值
+        if (plan.getDomain() == null || plan.getDomain().isEmpty()) {
+            plan.setDomain("8010");
+        }
+        // Priority 默认值
+        if (plan.getPriority() == null) {
+            plan.setPriority(java.math.BigDecimal.ZERO);
+        }
 
         Long loginUserId = getLoginUserId();
         if (loginUserId != null) {
@@ -148,6 +159,7 @@ public class OrderDeliveryServiceImpl implements OrderDeliveryService {
 
     @Override
     @Transactional(rollbackFor = Exception.class)
+    @TenantIgnore
     public void updateShippingPlan(ShippingPlanSaveReqVO updateReqVO) {
         ShippingPlanDO exists = validateShippingPlanExists(updateReqVO.getRecId());
         ShippingPlanDO update = OrderDeliveryConvert.INSTANCE.convert(updateReqVO);
@@ -170,6 +182,7 @@ public class OrderDeliveryServiceImpl implements OrderDeliveryService {
 
     @Override
     @Transactional(rollbackFor = Exception.class)
+    @TenantIgnore
     public void deleteShippingPlan(Long id) {
         validateShippingPlanExists(id);
         shippingPlanMapper.deleteById(id);
@@ -182,10 +195,11 @@ public class OrderDeliveryServiceImpl implements OrderDeliveryService {
         }
         LocalDateTime now = LocalDateTime.now();
         String createUser = plan.getCreateUser();
+        String domain = plan.getDomain() != null ? plan.getDomain() : "8010";
         List<ShippingPlanDetailDO> details = OrderDeliveryConvert.INSTANCE.convertDetailSaveList(items);
         for (ShippingPlanDetailDO detail : details) {
             detail.setPlanId(plan.getRecId());
-            detail.setDomain(plan.getDomain());
+            detail.setDomain(domain);
             detail.setCreateTime(now);
             detail.setUpdateTime(now);
             detail.setCreateUser(createUser);