Kaynağa Gözat

fix:完善开发管理增删改查接口

DESKTOP-6104BU4\Administrator 6 ay önce
ebeveyn
işleme
cb8517a200
16 değiştirilmiş dosya ile 430 ekleme ve 194 silme
  1. 2 2
      ruoyi-admin/src/main/resources/application.yml
  2. 48 0
      ruoyi-common/ruoyi-common-core/src/main/java/org/dromara/common/core/utils/OrderNumberGenerator.java
  3. 30 0
      ruoyi-modules/ruoyi-bulkOrder/src/main/java/org/dromara/bulk/controller/DevelopmentOrderRemarkController.java
  4. 32 31
      ruoyi-modules/ruoyi-bulkOrder/src/main/java/org/dromara/bulk/domain/DevelopmentOrder.java
  5. 25 0
      ruoyi-modules/ruoyi-bulkOrder/src/main/java/org/dromara/bulk/domain/DevelopmentOrderRemark.java
  6. 20 30
      ruoyi-modules/ruoyi-bulkOrder/src/main/java/org/dromara/bulk/domain/bo/DevelopmentOrderBo.java
  7. 30 0
      ruoyi-modules/ruoyi-bulkOrder/src/main/java/org/dromara/bulk/domain/bo/DevelopmentOrderRemarkBo.java
  8. 25 0
      ruoyi-modules/ruoyi-bulkOrder/src/main/java/org/dromara/bulk/domain/vo/DevelopmentOrderRemarkVo.java
  9. 8 63
      ruoyi-modules/ruoyi-bulkOrder/src/main/java/org/dromara/bulk/domain/vo/DevelopmentOrderTableDataInfo.java
  10. 73 30
      ruoyi-modules/ruoyi-bulkOrder/src/main/java/org/dromara/bulk/domain/vo/DevelopmentOrderVo.java
  11. 3 4
      ruoyi-modules/ruoyi-bulkOrder/src/main/java/org/dromara/bulk/mapper/DevelopmentOrderMapper.java
  12. 10 0
      ruoyi-modules/ruoyi-bulkOrder/src/main/java/org/dromara/bulk/mapper/DevelopmentOrderRemarkMapper.java
  13. 8 0
      ruoyi-modules/ruoyi-bulkOrder/src/main/java/org/dromara/bulk/service/DevelopmentOrderService.java
  14. 99 27
      ruoyi-modules/ruoyi-bulkOrder/src/main/java/org/dromara/bulk/service/impl/DevelopmentOrderServiceImpl.java
  15. 16 7
      ruoyi-modules/ruoyi-bulkOrder/src/main/resources/mapper/DevelopmentOrderMapper.xml
  16. 1 0
      ruoyi-modules/ruoyi-commodityManagement/src/main/java/org/dromara/commodityManagement/mapper/BrandMapper.java

+ 2 - 2
ruoyi-admin/src/main/resources/application.yml

@@ -22,7 +22,7 @@ captcha:
 # 开发环境配置
 server:
   # 服务器的HTTP端口,默认为8080
-  port: 8110
+  port: 8112
   servlet:
     # 应用的访问路径
     context-path: /
@@ -124,7 +124,7 @@ security:
 # 多租户配置
 tenant:
   # 是否开启
-  enable: true
+  enable: false
   # 排除表
   excludes:
     - sys_menu

+ 48 - 0
ruoyi-common/ruoyi-common-core/src/main/java/org/dromara/common/core/utils/OrderNumberGenerator.java

@@ -0,0 +1,48 @@
+package org.dromara.common.core.utils;
+
+import java.time.LocalDate;
+import java.time.format.DateTimeFormatter;
+import java.util.concurrent.ConcurrentHashMap;
+import java.util.concurrent.atomic.AtomicInteger;
+
+/**
+ * 开发管理订单号生成器
+ */
+
+public class OrderNumberGenerator {
+
+    private static final OrderNumberGenerator INSTANCE = new OrderNumberGenerator();
+    private static final DateTimeFormatter DATE_FORMATTER = DateTimeFormatter.ofPattern("yyyyMMdd");
+
+    // ConcurrentHashMap用于存储每个日期的计数器
+    private final ConcurrentHashMap<String, AtomicInteger> counters = new ConcurrentHashMap<>();
+
+    // 防止实例化的私有构造函数
+    private OrderNumberGenerator() {
+    }
+
+    public static OrderNumberGenerator getInstance() {
+        return INSTANCE;
+    }
+
+    /**
+     * 根据当前日期和自动递增计数器生成唯一的订单号。
+     *
+     * @return 生成的订单号为字符串。
+     */
+    public synchronized String generateOrderNumber() {
+        LocalDate today = LocalDate.now();
+        String datePart = today.format(DATE_FORMATTER);
+
+        // 检查日期是否已更改,必要时重置计数器
+        counters.putIfAbsent(datePart, new AtomicInteger(0));
+        AtomicInteger counter = counters.get(datePart);
+
+        // 通过在计数器对象上同步来确保线程安全
+        synchronized (counter) {
+            int count = counter.incrementAndGet();
+            return String.format("KF%s%03d", datePart, count);
+        }
+    }
+
+}

+ 30 - 0
ruoyi-modules/ruoyi-bulkOrder/src/main/java/org/dromara/bulk/controller/DevelopmentOrderRemarkController.java

@@ -0,0 +1,30 @@
+package org.dromara.bulk.controller;
+
+import lombok.RequiredArgsConstructor;
+import org.dromara.bulk.domain.bo.DevelopmentOrderRemarkBo;
+import org.dromara.bulk.service.DevelopmentOrderService;
+import org.dromara.common.core.domain.R;
+import org.dromara.common.web.core.BaseController;
+import org.springframework.validation.annotation.Validated;
+import org.springframework.web.bind.annotation.PostMapping;
+import org.springframework.web.bind.annotation.RequestBody;
+import org.springframework.web.bind.annotation.RequestMapping;
+import org.springframework.web.bind.annotation.RestController;
+
+@RestController
+@RequestMapping("/development/order/remark")
+@RequiredArgsConstructor
+public class DevelopmentOrderRemarkController extends BaseController {
+
+    private final DevelopmentOrderService developmentOrderService;
+
+    /**
+     * 新增备注
+     * @param developmentOrderBo
+     * @return
+     */
+    @PostMapping("")
+    public R<Void> addRemark(@Validated @RequestBody DevelopmentOrderRemarkBo developmentOrderBo) {
+        return toAjax(developmentOrderService.addRemark(developmentOrderBo));
+    }
+}

+ 32 - 31
ruoyi-modules/ruoyi-bulkOrder/src/main/java/org/dromara/bulk/domain/DevelopmentOrder.java

@@ -7,6 +7,7 @@ import lombok.EqualsAndHashCode;
 import lombok.NoArgsConstructor;
 import org.dromara.common.tenant.core.TenantEntity;
 
+import java.time.LocalDateTime;
 import java.util.Date;
 
 /**
@@ -14,7 +15,7 @@ import java.util.Date;
  */
 @Data
 @NoArgsConstructor
-@TableName("fa_kuyou_user_order")
+@TableName("fa_template_dev_order")
 @EqualsAndHashCode(callSuper = true)
 public class DevelopmentOrder extends TenantEntity {
 
@@ -125,80 +126,80 @@ public class DevelopmentOrder extends TenantEntity {
     /**
      * 取消时间
      */
-    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
-    private Date cancelTime;
+    @JsonFormat(shape = JsonFormat.Shape.STRING, pattern = "yyyy-MM-dd HH:mm:ss")
+    private LocalDateTime cancelTime;
 
     /**
      * 画图开始时间
      */
-    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
-    private Date startingTimeForDrawing;
+    @JsonFormat(shape = JsonFormat.Shape.STRING, pattern = "yyyy-MM-dd HH:mm:ss")
+    private LocalDateTime status1StartTime;
 
     /**
      * 画图结束时间
      */
-    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
-    private Date endTimeOfDrawing;
+    @JsonFormat(shape = JsonFormat.Shape.STRING, pattern = "yyyy-MM-dd HH:mm:ss")
+    private LocalDateTime status1EndTime;
 
     /**
      * 调色开始时间
      */
-    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
-    private Date colorMixingStartTime;
+    @JsonFormat(shape = JsonFormat.Shape.STRING, pattern = "yyyy-MM-dd HH:mm:ss")
+    private LocalDateTime status2StartTime;
 
     /**
      * 调色结束时间
      */
-    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
-    private Date endTimeOfColorAdjustment;
+    @JsonFormat(shape = JsonFormat.Shape.STRING, pattern = "yyyy-MM-dd HH:mm:ss")
+    private LocalDateTime status2EndTime;
 
     /**
      * 确认开始时间
      */
-    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
-    private Date confirmStartTime;
+    @JsonFormat(shape = JsonFormat.Shape.STRING, pattern = "yyyy-MM-dd HH:mm:ss")
+    private LocalDateTime status3StartTime;
 
     /**
      * 确认结束时间
      */
-    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
-    private Date confirmEndTime;
+    @JsonFormat(shape = JsonFormat.Shape.STRING, pattern = "yyyy-MM-dd HH:mm:ss")
+    private LocalDateTime status3EndTime;
 
     /**
      * 排版开始时间
      */
-    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
-    private Date layoutStartTime;
+    @JsonFormat(shape = JsonFormat.Shape.STRING, pattern = "yyyy-MM-dd HH:mm:ss")
+    private LocalDateTime status4StartTime;
 
     /**
      * 排版结束时间
      */
-    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
-    private Date layoutEndTime;
+    @JsonFormat(shape = JsonFormat.Shape.STRING, pattern = "yyyy-MM-dd HH:mm:ss")
+    private LocalDateTime status4EndTime;
 
     /**
      * 打版开始时间
      */
-    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
-    private Date printingStartTime;
+    @JsonFormat(shape = JsonFormat.Shape.STRING, pattern = "yyyy-MM-dd HH:mm:ss")
+    private LocalDateTime status5StartTime;
 
     /**
      * 打版结束时间
      */
-    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
-    private Date endTimeOfTypesetting;
+    @JsonFormat(shape = JsonFormat.Shape.STRING, pattern = "yyyy-MM-dd HH:mm:ss")
+    private LocalDateTime status5EndTime;
 
-    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
-    private Date statusStartTime;
+    @JsonFormat(shape = JsonFormat.Shape.STRING, pattern = "yyyy-MM-dd HH:mm:ss")
+    private LocalDateTime status6StartTime;
 
-    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
-    private Date status6EndTime;
+    @JsonFormat(shape = JsonFormat.Shape.STRING, pattern = "yyyy-MM-dd HH:mm:ss")
+    private LocalDateTime status6EndTime;
 
-    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
-    private Date status7StartTime;
+    @JsonFormat(shape = JsonFormat.Shape.STRING, pattern = "yyyy-MM-dd HH:mm:ss")
+    private LocalDateTime status7StartTime;
 
-    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
-    private Date status7EndTime;
+    @JsonFormat(shape = JsonFormat.Shape.STRING, pattern = "yyyy-MM-dd HH:mm:ss")
+    private LocalDateTime status7EndTime;
 
     private String customerFile;
 

+ 25 - 0
ruoyi-modules/ruoyi-bulkOrder/src/main/java/org/dromara/bulk/domain/DevelopmentOrderRemark.java

@@ -0,0 +1,25 @@
+package org.dromara.bulk.domain;
+
+import com.baomidou.mybatisplus.annotation.TableName;
+import com.fasterxml.jackson.annotation.JsonFormat;
+import lombok.Data;
+
+import java.io.Serializable;
+import java.util.Date;
+
+@Data
+@TableName("fa_template_dev_order_remark")
+public class DevelopmentOrderRemark implements Serializable {
+
+    private Long id;
+
+    private String remark;
+
+    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
+    private Date createTextTime;
+
+    private String createTextName;
+
+    private Long templateDevOrderId;
+
+}

+ 20 - 30
ruoyi-modules/ruoyi-bulkOrder/src/main/java/org/dromara/bulk/domain/bo/DevelopmentOrderBo.java

@@ -1,15 +1,18 @@
 package org.dromara.bulk.domain.bo;
 
 import com.fasterxml.jackson.annotation.JsonFormat;
+import io.github.linpeilie.annotations.AutoMapper;
 import jakarta.validation.constraints.NotBlank;
 import jakarta.validation.constraints.NotNull;
 import lombok.Data;
 import lombok.EqualsAndHashCode;
 import lombok.NoArgsConstructor;
+import org.dromara.bulk.domain.DevelopmentOrder;
 import org.dromara.common.core.validate.AddGroup;
 import org.dromara.common.core.validate.EditGroup;
 import org.dromara.common.mybatis.core.domain.BaseEntity;
 
+import java.time.LocalDateTime;
 import java.util.Date;
 
 /**
@@ -18,6 +21,7 @@ import java.util.Date;
 @Data
 @NoArgsConstructor
 @EqualsAndHashCode(callSuper = true)
+@AutoMapper(target = DevelopmentOrder.class)
 public class DevelopmentOrderBo extends BaseEntity {
 
     @NotNull(message = "ID不能为空", groups = {EditGroup.class})
@@ -142,80 +146,65 @@ public class DevelopmentOrderBo extends BaseEntity {
     /**
      * 取消时间
      */
-    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
-    private Date cancelTime;
+    private LocalDateTime cancelTime;
 
     /**
      * 画图开始时间
      */
-    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
-    private Date startingTimeForDrawing;
+    private LocalDateTime status1StartTime;
 
     /**
      * 画图结束时间
      */
-    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
-    private Date endTimeOfDrawing;
+    private LocalDateTime status1EndTime;
 
     /**
      * 调色开始时间
      */
-    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
-    private Date colorMixingStartTime;
+    private LocalDateTime status2StartTime;
 
     /**
      * 调色结束时间
      */
-    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
-    private Date endTimeOfColorAdjustment;
+    private LocalDateTime status2EndTime;
 
     /**
      * 确认开始时间
      */
-    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
-    private Date confirmStartTime;
+    private LocalDateTime status3StartTime;
 
     /**
      * 确认结束时间
      */
-    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
-    private Date confirmEndTime;
+    private LocalDateTime status3EndTime;
 
     /**
      * 排版开始时间
      */
-    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
-    private Date layoutStartTime;
+    private LocalDateTime status4StartTime;
 
     /**
      * 排版结束时间
      */
-    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
-    private Date layoutEndTime;
+    private LocalDateTime status4EndTime;
 
     /**
      * 打版开始时间
      */
-    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
-    private Date printingStartTime;
+    private LocalDateTime status5StartTime;
 
     /**
      * 打版结束时间
      */
-    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
-    private Date endTimeOfTypesetting;
+    private LocalDateTime status5EndTime;
 
-    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
-    private Date statusStartTime;
+    private LocalDateTime status6StartTime;
 
-    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
-    private Date status6EndTime;
+    private LocalDateTime status6EndTime;
 
-    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
-    private Date status7StartTime;
+    private LocalDateTime status7StartTime;
 
-    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
-    private Date status7EndTime;
+    private LocalDateTime status7EndTime;
 
     private String customerFile;
 
@@ -232,4 +221,5 @@ public class DevelopmentOrderBo extends BaseEntity {
     private String remark;
 
     private Integer flag;
+
 }

+ 30 - 0
ruoyi-modules/ruoyi-bulkOrder/src/main/java/org/dromara/bulk/domain/bo/DevelopmentOrderRemarkBo.java

@@ -0,0 +1,30 @@
+package org.dromara.bulk.domain.bo;
+
+import com.fasterxml.jackson.annotation.JsonFormat;
+import io.github.linpeilie.annotations.AutoMapper;
+import jakarta.validation.constraints.NotBlank;
+import jakarta.validation.constraints.NotNull;
+import lombok.Data;
+import org.dromara.bulk.domain.DevelopmentOrderRemark;
+
+import java.io.Serializable;
+import java.util.Date;
+
+@Data
+@AutoMapper(target = DevelopmentOrderRemark.class)
+public class DevelopmentOrderRemarkBo implements Serializable {
+
+    private Long id;
+
+    @NotBlank(message = "备注内容不能为空")
+    private String remark;
+
+    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
+    private Date createTextTime;
+
+    private String createTextName;
+
+    @NotNull(message = "订单ID不能为空")
+    private Long templateDevOrderId;
+
+}

+ 25 - 0
ruoyi-modules/ruoyi-bulkOrder/src/main/java/org/dromara/bulk/domain/vo/DevelopmentOrderRemarkVo.java

@@ -0,0 +1,25 @@
+package org.dromara.bulk.domain.vo;
+
+import com.fasterxml.jackson.annotation.JsonFormat;
+import io.github.linpeilie.annotations.AutoMapper;
+import lombok.Data;
+import org.dromara.bulk.domain.DevelopmentOrderRemark;
+
+import java.io.Serializable;
+import java.util.Date;
+
+@Data
+@AutoMapper(target = DevelopmentOrderRemark.class)
+public class DevelopmentOrderRemarkVo implements Serializable {
+
+    private Long id;
+
+    private String remark;
+
+    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
+    private Date createTextTime;
+
+    private String createTextName;
+
+    private Long templateDevOrderId;
+}

+ 8 - 63
ruoyi-modules/ruoyi-bulkOrder/src/main/java/org/dromara/bulk/domain/vo/DevelopmentOrderTableDataInfo.java

@@ -8,6 +8,7 @@ import lombok.NoArgsConstructor;
 import java.io.Serial;
 import java.io.Serializable;
 import java.util.List;
+import java.util.Map;
 
 /**
  * 表格分页数据对象
@@ -29,51 +30,17 @@ public class DevelopmentOrderTableDataInfo<T> implements Serializable {
     public static class DataWrapper<T> {
         private List<T> list;
         private long total;
-        //      待处理
-        private Integer pendingProcessing;
-        //      画图中
-        private Integer inTheDrawing;
-        //      确认中
-        private Integer confirmingInProgress;
-        //      修改中
-        private Integer underModification;
-        //      调色中
-        private Integer inColorAdjustment;
-        //      排版中
-        private Integer inTypesetting;
-        //      打版中
-        private Integer printingInProgress;
-        //      已完成
-        private Integer completed;
-        //      已取消
-        private Integer cancelled;
+        private Map<Long, String> map;
 
         public DataWrapper(List<T> list, long total) {
             this.list = list;
             this.total = total;
         }
 
-        public DataWrapper(List<T> list, long total,
-                           Integer pendingProcessing,
-                           Integer inTheDrawing,
-                           Integer confirmingInProgress,
-                           Integer underModification,
-                           Integer inColorAdjustment,
-                           Integer inTypesetting,
-                           Integer printingInProgress,
-                           Integer completed,
-                           Integer cancelled) {
+        public DataWrapper(List<T> list, long total, Map<Long, String> map) {
             this.list = list;
             this.total = total;
-            this.pendingProcessing = pendingProcessing;
-            this.inTheDrawing = inTheDrawing;
-            this.confirmingInProgress = confirmingInProgress;
-            this.underModification = underModification;
-            this.inColorAdjustment = inColorAdjustment;
-            this.inTypesetting = inTypesetting;
-            this.printingInProgress = printingInProgress;
-            this.completed = completed;
-            this.cancelled = cancelled;
+            this.map = map;
         }
 
     }
@@ -115,21 +82,10 @@ public class DevelopmentOrderTableDataInfo<T> implements Serializable {
         this.data = new DataWrapper<>(list, total);
     }
 
-    public DevelopmentOrderTableDataInfo(List<T> list, long total,
-                                         Integer pendingProcessing,
-                                         Integer inTheDrawing,
-                                         Integer confirmingInProgress,
-                                         Integer underModification,
-                                         Integer inColorAdjustment,
-                                         Integer inTypesetting,
-                                         Integer printingInProgress,
-                                         Integer completed,
-                                         Integer cancelled) {
-        this.data = new DataWrapper<>(list, total, pendingProcessing, inTheDrawing, confirmingInProgress, underModification,
-                inColorAdjustment, inTypesetting, printingInProgress, completed, cancelled);
+    public DevelopmentOrderTableDataInfo(List<T> list, long total, Map<Long, String> map) {
+        this.data = new DataWrapper<>(list, total, map);
     }
 
-
     /**
      * 根据分页对象构建表格分页数据对象
      */
@@ -140,19 +96,8 @@ public class DevelopmentOrderTableDataInfo<T> implements Serializable {
         return rspData;
     }
 
-    public static <T> DevelopmentOrderTableDataInfo<T> build(IPage<T> page,
-                                                             Integer pendingProcessing,
-                                                             Integer inTheDrawing,
-                                                             Integer confirmingInProgress,
-                                                             Integer underModification,
-                                                             Integer inColorAdjustment,
-                                                             Integer inTypesetting,
-                                                             Integer printingInProgress,
-                                                             Integer completed,
-                                                             Integer cancelled) {
-        DevelopmentOrderTableDataInfo<T> rspData = new DevelopmentOrderTableDataInfo<>(page.getRecords(), page.getTotal(),
-                pendingProcessing, inTheDrawing, confirmingInProgress, underModification,
-                inColorAdjustment, inTypesetting, printingInProgress, completed, cancelled);
+    public static <T> DevelopmentOrderTableDataInfo<T> build(IPage<T> page, Map<Long, String> map) {
+        DevelopmentOrderTableDataInfo<T> rspData = new DevelopmentOrderTableDataInfo<>(page.getRecords(), page.getTotal(), map);
         rspData.setCode(HttpStatus.HTTP_OK);
         rspData.setMsg("查询成功");
         return rspData;

+ 73 - 30
ruoyi-modules/ruoyi-bulkOrder/src/main/java/org/dromara/bulk/domain/vo/DevelopmentOrderVo.java

@@ -2,13 +2,18 @@ package org.dromara.bulk.domain.vo;
 
 import com.baomidou.mybatisplus.annotation.TableName;
 import com.fasterxml.jackson.annotation.JsonFormat;
+import io.github.linpeilie.annotations.AutoMapper;
 import lombok.Data;
 import lombok.EqualsAndHashCode;
 import lombok.NoArgsConstructor;
+import org.dromara.bulk.domain.DevelopmentOrder;
+import org.dromara.common.core.domain.dto.OssDTO;
 import org.dromara.common.mybatis.core.domain.BaseEntity;
 import org.dromara.common.tenant.core.TenantEntity;
 
+import java.time.LocalDateTime;
 import java.util.Date;
+import java.util.List;
 
 /**
  * 开发订单实体类
@@ -16,6 +21,7 @@ import java.util.Date;
 @Data
 @NoArgsConstructor
 @EqualsAndHashCode(callSuper = true)
+@AutoMapper(target = DevelopmentOrder.class)
 public class DevelopmentOrderVo extends BaseEntity {
 
     private Long id;
@@ -45,16 +51,31 @@ public class DevelopmentOrderVo extends BaseEntity {
      */
     private String referenceImage;
 
+    /**
+     * 参考图列表
+     */
+    private List<OssDTO> refernceImageList;
+
     /**
      * 设计图
      */
     private String designImage;
 
+    /**
+     * 设计图列表
+     */
+    private List<OssDTO> designImageList;
+
     /**
      * 纸张设计文件
      */
     private String paperDesignFile;
 
+    /**
+     * 纸张设计文件列表
+     */
+    private List<OssDTO> paperDesignFileList;
+
     /**
      * 开发描述
      */
@@ -80,11 +101,21 @@ public class DevelopmentOrderVo extends BaseEntity {
      */
     private String designFile;
 
+    /**
+     * 设计文件列表
+     */
+    private List<OssDTO> designFileList;
+
     /**
      * 设计素材
      */
     private String designMaterial;
 
+    /**
+     * 素材列表
+     */
+    private List<OssDTO> designMaterialList;
+
     /**
      * 调色师ID
      */
@@ -95,6 +126,11 @@ public class DevelopmentOrderVo extends BaseEntity {
      */
     private String colorFile;
 
+    /**
+     * 调试文件列表
+     */
+    private List<OssDTO> colorFileList;
+
     /**
      * 排版师ID
      */
@@ -105,6 +141,11 @@ public class DevelopmentOrderVo extends BaseEntity {
      */
     private String patternFile;
 
+    /**
+     * 打版文件列表
+     */
+    private List<OssDTO> patternFileList;
+
     /**
      * 0待处理
      * 1画图中
@@ -125,80 +166,80 @@ public class DevelopmentOrderVo extends BaseEntity {
     /**
      * 取消时间
      */
-    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
-    private Date cancelTime;
+    @JsonFormat(shape = JsonFormat.Shape.STRING, pattern = "yyyy-MM-dd HH:mm:ss")
+    private LocalDateTime cancelTime;
 
     /**
      * 画图开始时间
      */
-    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
-    private Date startingTimeForDrawing;
+    @JsonFormat(shape = JsonFormat.Shape.STRING, pattern = "yyyy-MM-dd HH:mm:ss")
+    private LocalDateTime status1StartTime;
 
     /**
      * 画图结束时间
      */
-    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
-    private Date endTimeOfDrawing;
+    @JsonFormat(shape = JsonFormat.Shape.STRING, pattern = "yyyy-MM-dd HH:mm:ss")
+    private LocalDateTime status1EndTime;
 
     /**
      * 调色开始时间
      */
-    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
-    private Date colorMixingStartTime;
+    @JsonFormat(shape = JsonFormat.Shape.STRING, pattern = "yyyy-MM-dd HH:mm:ss")
+    private LocalDateTime status2StartTime;
 
     /**
      * 调色结束时间
      */
-    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
-    private Date endTimeOfColorAdjustment;
+    @JsonFormat(shape = JsonFormat.Shape.STRING, pattern = "yyyy-MM-dd HH:mm:ss")
+    private LocalDateTime status2EndTime;
 
     /**
      * 确认开始时间
      */
-    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
-    private Date confirmStartTime;
+    @JsonFormat(shape = JsonFormat.Shape.STRING, pattern = "yyyy-MM-dd HH:mm:ss")
+    private LocalDateTime status3StartTime;
 
     /**
      * 确认结束时间
      */
-    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
-    private Date confirmEndTime;
+    @JsonFormat(shape = JsonFormat.Shape.STRING, pattern = "yyyy-MM-dd HH:mm:ss")
+    private LocalDateTime status3EndTime;
 
     /**
      * 排版开始时间
      */
-    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
-    private Date layoutStartTime;
+    @JsonFormat(shape = JsonFormat.Shape.STRING, pattern = "yyyy-MM-dd HH:mm:ss")
+    private LocalDateTime status4StartTime;
 
     /**
      * 排版结束时间
      */
-    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
-    private Date layoutEndTime;
+    @JsonFormat(shape = JsonFormat.Shape.STRING, pattern = "yyyy-MM-dd HH:mm:ss")
+    private LocalDateTime status4EndTime;
 
     /**
      * 打版开始时间
      */
-    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
-    private Date printingStartTime;
+    @JsonFormat(shape = JsonFormat.Shape.STRING, pattern = "yyyy-MM-dd HH:mm:ss")
+    private LocalDateTime status5StartTime;
 
     /**
      * 打版结束时间
      */
-    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
-    private Date endTimeOfTypesetting;
+    @JsonFormat(shape = JsonFormat.Shape.STRING, pattern = "yyyy-MM-dd HH:mm:ss")
+    private LocalDateTime status5EndTime;
 
-    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
-    private Date statusStartTime;
+    @JsonFormat(shape = JsonFormat.Shape.STRING, pattern = "yyyy-MM-dd HH:mm:ss")
+    private LocalDateTime status6StartTime;
 
-    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
-    private Date status6EndTime;
+    @JsonFormat(shape = JsonFormat.Shape.STRING, pattern = "yyyy-MM-dd HH:mm:ss")
+    private LocalDateTime status6EndTime;
 
-    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
-    private Date status7StartTime;
+    @JsonFormat(shape = JsonFormat.Shape.STRING, pattern = "yyyy-MM-dd HH:mm:ss")
+    private LocalDateTime status7StartTime;
 
-    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
-    private Date status7EndTime;
+    @JsonFormat(shape = JsonFormat.Shape.STRING, pattern = "yyyy-MM-dd HH:mm:ss")
+    private LocalDateTime status7EndTime;
 
     private String customerFile;
 
@@ -215,4 +256,6 @@ public class DevelopmentOrderVo extends BaseEntity {
     private String remark;
 
     private Integer flag;
+
+    private List<DevelopmentOrderRemarkVo> developmentOrderRemarkVoList;
 }

+ 3 - 4
ruoyi-modules/ruoyi-bulkOrder/src/main/java/org/dromara/bulk/mapper/DevelopmentOrderMapper.java

@@ -14,14 +14,13 @@ import java.util.Map;
 @Mapper
 public interface DevelopmentOrderMapper extends BaseMapperPlus<DevelopmentOrder, DevelopmentOrderVo> {
 
-    Integer getStatusByCount(@Param("status") Long status);
-
     /**
      * 批量查询各状态的数量
+     *
      * @param statusCodes 状态列表
      * @return 状态统计结果
      */
-//    @Select("SELECT status_code AS key, COUNT(*) AS value FROM development_order GROUP BY status_code HAVING status_code IN (${statusCodes})")
-    Map<Long, Integer> countStatusBatch(@Param("statusCodes") Collection<Long> statusCodes);
+    List<Map<String, Object>> countStatusBatch(@Param("statusCodes") Collection<Long> statusCodes);
 
+    int getCountWithCondition(@Param("status") Long status, @Param("statusFieldName") String statusFieldName);
 }

+ 10 - 0
ruoyi-modules/ruoyi-bulkOrder/src/main/java/org/dromara/bulk/mapper/DevelopmentOrderRemarkMapper.java

@@ -0,0 +1,10 @@
+package org.dromara.bulk.mapper;
+
+import org.apache.ibatis.annotations.Mapper;
+import org.dromara.bulk.domain.DevelopmentOrderRemark;
+import org.dromara.bulk.domain.vo.DevelopmentOrderRemarkVo;
+import org.dromara.common.mybatis.core.mapper.BaseMapperPlus;
+
+@Mapper
+public interface DevelopmentOrderRemarkMapper extends BaseMapperPlus<DevelopmentOrderRemark, DevelopmentOrderRemarkVo> {
+}

+ 8 - 0
ruoyi-modules/ruoyi-bulkOrder/src/main/java/org/dromara/bulk/service/DevelopmentOrderService.java

@@ -1,6 +1,7 @@
 package org.dromara.bulk.service;
 
 import org.dromara.bulk.domain.bo.DevelopmentOrderBo;
+import org.dromara.bulk.domain.bo.DevelopmentOrderRemarkBo;
 import org.dromara.bulk.domain.vo.DevelopmentOrderTableDataInfo;
 import org.dromara.bulk.domain.vo.DevelopmentOrderVo;
 import org.dromara.common.mybatis.core.page.PageQuery;
@@ -22,4 +23,11 @@ public interface DevelopmentOrderService {
      * @param developmentOrderBo
      */
     void checkStatus(DevelopmentOrderBo developmentOrderBo);
+
+    /**
+     * 新增备注
+     * @param developmentOrderBo
+     * @return
+     */
+    int addRemark(DevelopmentOrderRemarkBo developmentOrderBo);
 }

+ 99 - 27
ruoyi-modules/ruoyi-bulkOrder/src/main/java/org/dromara/bulk/service/impl/DevelopmentOrderServiceImpl.java

@@ -1,25 +1,37 @@
 package org.dromara.bulk.service.impl;
 
 import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
+import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
 import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
 import lombok.RequiredArgsConstructor;
 import org.dromara.bulk.domain.DevelopmentOrder;
+import org.dromara.bulk.domain.DevelopmentOrderRemark;
 import org.dromara.bulk.domain.bo.DevelopmentOrderBo;
+import org.dromara.bulk.domain.bo.DevelopmentOrderRemarkBo;
+import org.dromara.bulk.domain.vo.DevelopmentOrderRemarkVo;
 import org.dromara.bulk.domain.vo.DevelopmentOrderTableDataInfo;
 import org.dromara.bulk.domain.vo.DevelopmentOrderVo;
 import org.dromara.bulk.mapper.DevelopmentOrderMapper;
+import org.dromara.bulk.mapper.DevelopmentOrderRemarkMapper;
 import org.dromara.bulk.service.DevelopmentOrderService;
 import org.dromara.common.core.constant.DevelopmentOrderConstants;
 import org.dromara.common.core.exception.ServiceException;
+import org.dromara.common.core.service.OssService;
 import org.dromara.common.core.utils.MapstructUtils;
+import org.dromara.common.core.utils.OrderNumberGenerator;
 import org.dromara.common.core.utils.StringUtils;
 import org.dromara.common.mybatis.core.page.PageQuery;
+import org.dromara.common.satoken.utils.LoginHelper;
+import org.dromara.common.tenant.helper.TenantHelper;
 import org.springframework.stereotype.Service;
 
 import java.time.LocalDate;
+import java.time.LocalDateTime;
+import java.time.ZoneId;
 import java.time.format.DateTimeFormatter;
 import java.time.format.DateTimeParseException;
 import java.util.*;
+import java.util.concurrent.ConcurrentHashMap;
 
 /**
  * 开发订单Service业务层处理
@@ -29,7 +41,8 @@ import java.util.*;
 public class DevelopmentOrderServiceImpl implements DevelopmentOrderService {
 
     private final DevelopmentOrderMapper developmentOrderMapper;
-
+    private final DevelopmentOrderRemarkMapper developmentOrderRemarkMapper;
+    private final OssService ossService;
     /**
      * 创建所有状态的常量Set集合
      */
@@ -45,6 +58,14 @@ public class DevelopmentOrderServiceImpl implements DevelopmentOrderService {
             DevelopmentOrderConstants.CANCELLED
     );
 
+    private static final Map<Long, String> SPECIAL_STATUS_FIELDS = new HashMap<>();
+    static {
+        SPECIAL_STATUS_FIELDS.put(DevelopmentOrderConstants.CONFIRMING_IN_PROGRESS, "confirm_user_id");
+        SPECIAL_STATUS_FIELDS.put(DevelopmentOrderConstants.IN_COLOR_ADJUSTMENT, "color_user_id");
+        SPECIAL_STATUS_FIELDS.put(DevelopmentOrderConstants.IN_TYPESETTING, "layout_user_id");
+        SPECIAL_STATUS_FIELDS.put(DevelopmentOrderConstants.PRINTING_IN_PROGRESS, "pattern_user_id");
+    }
+
     @Override
     public DevelopmentOrderTableDataInfo<DevelopmentOrderVo> getList(DevelopmentOrderBo bo, PageQuery pageQuery) {
         // 构建动态查询条件
@@ -52,20 +73,60 @@ public class DevelopmentOrderServiceImpl implements DevelopmentOrderService {
         addDynamicConditions(queryWrapper, bo);
 
         Page<DevelopmentOrderVo> page = developmentOrderMapper.selectVoPage(pageQuery.build(), queryWrapper);
+        page.getRecords().forEach(item -> {
+//          查询备注
+            QueryWrapper<DevelopmentOrderRemark> remarkQueryWrapper = new QueryWrapper<>();
+            remarkQueryWrapper.eq("template_dev_order_id", item.getId());
+            List<DevelopmentOrderRemarkVo> developmentOrderRemarkVoList = developmentOrderRemarkMapper.selectVoList(remarkQueryWrapper);
+            item.setDevelopmentOrderRemarkVoList(developmentOrderRemarkVoList);
+//          查询各个文件URL
+            item.setColorFileList(ossService.selectByIds(item.getColorFile()));
+            item.setDesignFileList(ossService.selectByIds(item.getDesignFile()));
+            item.setDesignMaterialList(ossService.selectByIds(item.getDesignMaterial()));
+            item.setDesignImageList(ossService.selectByIds(item.getDesignImage()));
+            item.setPaperDesignFileList(ossService.selectByIds(item.getPaperDesignFile()));
+            item.setPatternFileList(ossService.selectByIds(item.getPatternFile()));
+            item.setRefernceImageList(ossService.selectByIds(item.getReferenceImage()));
+        });
+        Map<Long, String> statusCount = getStatusCount();
+        // 组装数据返回
+        return DevelopmentOrderTableDataInfo.build(page, statusCount);
+    }
+
+    /**
+     * 查询每个状态的数量
+     * @return
+     */
+    public Map<Long, String> getStatusCount() {
+        // 定义所有的状态代码
+        Set<Long> allStatusCodes = Set.of(0L, 1L, 2L, 3L, 4L, 5L, 6L, 7L, 8L);
+        // 调用 Mapper 方法获取 List<Map<String, Object>>
+        List<Map<String, Object>> resultList = developmentOrderMapper.countStatusBatch(STATUS_CODES);
+        // 将 List<Map<String, Object>> 转换为 Map<Long, Integer>
+        Map<Long, Integer> result = new HashMap<>();
+        for (Long statusCode : allStatusCodes) {
+            result.put(statusCode, 0); // 初始化所有状态代码,默认值为0
+        }
+        for (Map<String, Object> row : resultList) {
+            Long key = ((Number) row.get("key")).longValue();
+            Integer value = ((Number) row.get("value")).intValue();
+            result.put(key, value);
+        }
+        Map<Long, String> statusCountMap = new HashMap<>();
+        for (Map.Entry<Long, Integer> entry : result.entrySet()) {
+            Long status = entry.getKey();
+            Integer baseCount = entry.getValue();
 
-        Map<Long, Integer> statusCount = developmentOrderMapper.countStatusBatch(STATUS_CODES);
+            statusCountMap.put(status, String.valueOf(baseCount));
 
-        // 组装数据返回
-        return DevelopmentOrderTableDataInfo.build(page,
-                statusCount.get(DevelopmentOrderConstants.PENDING_PROCESSING),
-                statusCount.get(DevelopmentOrderConstants.IN_THE_DRAWING),
-                statusCount.get(DevelopmentOrderConstants.CONFIRMING_IN_PROGRESS),
-                statusCount.get(DevelopmentOrderConstants.UNDER_MODIFICATION),
-                statusCount.get(DevelopmentOrderConstants.IN_COLOR_ADJUSTMENT),
-                statusCount.get(DevelopmentOrderConstants.IN_TYPESETTING),
-                statusCount.get(DevelopmentOrderConstants.PRINTING_IN_PROGRESS),
-                statusCount.get(DevelopmentOrderConstants.COMPLETED),
-                statusCount.get(DevelopmentOrderConstants.CANCELLED));
+            if (SPECIAL_STATUS_FIELDS.containsKey(status)) {
+                String fieldName = SPECIAL_STATUS_FIELDS.get(status);
+                int specialCount = developmentOrderMapper.getCountWithCondition(status, fieldName);
+                String combined = Objects.requireNonNullElse(specialCount, "0") + "/" + baseCount;
+                statusCountMap.put(status, combined);
+            }
+        }
+        return statusCountMap;
     }
 
     private void addDynamicConditions(LambdaQueryWrapper<DevelopmentOrder> queryWrapper, DevelopmentOrderBo bo) {
@@ -77,6 +138,9 @@ public class DevelopmentOrderServiceImpl implements DevelopmentOrderService {
         if (StringUtils.isNotBlank(bo.getFabric())) {
             queryWrapper.like(DevelopmentOrder::getFabric, bo.getFabric());
         }
+        if (StringUtils.isNotBlank(bo.getItemNumber())) {
+            queryWrapper.like(DevelopmentOrder::getItemNumber, bo.getItemNumber());
+        }
 
         // 时间范围处理
         LocalDate startDate = parseDate((String) params.get("beginTime"));
@@ -97,6 +161,7 @@ public class DevelopmentOrderServiceImpl implements DevelopmentOrderService {
 
     @Override
     public int insert(DevelopmentOrderBo developmentOrder) {
+        developmentOrder.setOrderNum(OrderNumberGenerator.getInstance().generateOrderNumber());
         return developmentOrderMapper.insert(MapstructUtils.convert(developmentOrder, DevelopmentOrder.class));
     }
 
@@ -106,10 +171,17 @@ public class DevelopmentOrderServiceImpl implements DevelopmentOrderService {
         return developmentOrderMapper.updateById(MapstructUtils.convert(developmentOrderBo, DevelopmentOrder.class));
     }
 
-    public void editRemark(DevelopmentOrderBo developmentOrderBo) {
-        if (!developmentOrderBo.getRemark().isEmpty()) {
-
-        }
+    /**
+     * 添加备注
+     *
+     * @param developmentOrderBo
+     */
+    public int addRemark(DevelopmentOrderRemarkBo developmentOrderBo) {
+        DevelopmentOrderRemark developmentOrderRemark = new DevelopmentOrderRemark();
+        developmentOrderRemark.setRemark(developmentOrderBo.getRemark());
+        developmentOrderRemark.setCreateTextName(LoginHelper.getUsername());
+        developmentOrderRemark.setCreateTextTime(new Date());
+        return developmentOrderRemarkMapper.insert(developmentOrderRemark);
     }
 
     @Override
@@ -131,43 +203,43 @@ public class DevelopmentOrderServiceImpl implements DevelopmentOrderService {
             assertNotBlank(developmentOrderBo.getDesignImage(), "设计图片不能为空");
             assertNotBlank(developmentOrderBo.getDesignMaterial(), "素材图片不能为空");
 //          设置画图开始时间
-            developmentOrderBo.setStartingTimeForDrawing(new Date());
+            developmentOrderBo.setStatus1StartTime(LocalDateTime.now());
         }
 //      状态为确认中
         if (developmentOrderBo.getStatus().equals(DevelopmentOrderConstants.CONFIRMING_IN_PROGRESS)) {
             assertNotLongBlank(developmentOrderBo.getConfirmUserId(), "确认人不能为空");
             assertNotBlank(developmentOrderBo.getPaperDesignFile(), "纸样文件不能为空");
 //          设置画图结束时间
-            developmentOrderBo.setEndTimeOfDrawing(new Date());
+            developmentOrderBo.setStatus1EndTime(LocalDateTime.now());
 //          设置确认开始时间
-            developmentOrderBo.setConfirmStartTime(new Date());
+            developmentOrderBo.setStatus2StartTime(LocalDateTime.now());
         }
 //      状态为调色中
         if (developmentOrderBo.getStatus().equals(DevelopmentOrderConstants.IN_COLOR_ADJUSTMENT)) {
             assertNotLongBlank(developmentOrderBo.getColorUserId(), "调色人不能为空");
             assertNotBlank(developmentOrderBo.getColorFile(), "调色文件不能为空");
 //          设置确认结束时间
-            developmentOrderBo.setConfirmEndTime(new Date());
+            developmentOrderBo.setStatus2EndTime(LocalDateTime.now());
 //          设置调色开始时间
-            developmentOrderBo.setColorMixingStartTime(new Date());
+            developmentOrderBo.setStatus3StartTime(LocalDateTime.now());
         }
 //      状态为排版中
         if (developmentOrderBo.getStatus().equals(DevelopmentOrderConstants.IN_TYPESETTING)) {
             assertNotLongBlank(developmentOrderBo.getLayoutUserId(), "排版人不能为空");
             assertNotBlank(developmentOrderBo.getLayoutFile(), "排版文件不能为空");
 //          设置调色结束时间
-            developmentOrderBo.setEndTimeOfColorAdjustment(new Date());
+            developmentOrderBo.setStatus3EndTime(LocalDateTime.now());
 //          设置排版开始时间
-            developmentOrderBo.setLayoutStartTime(new Date());
+            developmentOrderBo.setStatus4StartTime(LocalDateTime.now());
         }
 //      状态为打版中
         if (developmentOrderBo.getStatus().equals(DevelopmentOrderConstants.PRINTING_IN_PROGRESS)) {
             assertNotLongBlank(developmentOrderBo.getPatternUserid(), "打版人不能为空");
             assertNotBlank(developmentOrderBo.getPatternFile(), "打版文件不能为空");
 //      设置排版结束时间
-            developmentOrderBo.setLayoutEndTime(new Date());
+            developmentOrderBo.setStatus4EndTime(LocalDateTime.now());
 //      设置打版开始时间
-            developmentOrderBo.setPrintingStartTime(new Date());
+            developmentOrderBo.setStatus5StartTime(LocalDateTime.now());
         }
 //      状态为已完成
         if (developmentOrderBo.getStatus().equals(DevelopmentOrderConstants.COMPLETED)) {
@@ -178,7 +250,7 @@ public class DevelopmentOrderServiceImpl implements DevelopmentOrderService {
             if (!developmentOrderBo.getStatus().equals(DevelopmentOrderConstants.CONFIRMING_IN_PROGRESS)) {
                 throw new ServiceException("状态为确认中才可以取消");
             }
-            developmentOrderBo.setCancelTime(new Date());
+            developmentOrderBo.setCancelTime(LocalDateTime.now());
         }
     }
 

+ 16 - 7
ruoyi-modules/ruoyi-bulkOrder/src/main/resources/mapper/DevelopmentOrderMapper.xml

@@ -4,17 +4,26 @@
         "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
 <mapper namespace="org.dromara.bulk.mapper.DevelopmentOrderMapper">
 
-    <select id="getStatusByCount" resultType="integer">
-        SELECT COUNT(*)
-        FROM fa_template_dev_order
-        WHERE `status` = #{status}
-    </select>
+    <resultMap id="statusCountMap" type="map">
+        <id column="key" property="key" javaType="long"/>
+        <result column="value" property="value" javaType="int"/>
+    </resultMap>
 
-    <select id="countStatusBatch">
+    <select id="countStatusBatch" parameterType="java.util.Collection" resultMap="statusCountMap">
         SELECT `status` AS `key`, COUNT(*) AS `value`
         FROM fa_template_dev_order
-        where `status` IN (${statusCodes})
+        WHERE `status` IN
+        <foreach item="status" collection="statusCodes" open="(" separator="," close=")">
+            #{status}
+        </foreach>
         GROUP BY `status`
     </select>
 
+    <select id="getCountWithCondition" resultType="int">
+        select COUNT(*) from fa_template_dev_order where `status` = #{status}
+        <if test="statusFieldName != null and statusFieldName != ''">
+            AND ${statusFieldName} != 0
+        </if>
+    </select>
+
 </mapper>

+ 1 - 0
ruoyi-modules/ruoyi-commodityManagement/src/main/java/org/dromara/commodityManagement/mapper/BrandMapper.java

@@ -4,6 +4,7 @@ import org.dromara.commodityManagement.domain.Brand;
 import org.dromara.commodityManagement.domain.vo.BrandVo;
 import org.dromara.common.mybatis.core.mapper.BaseMapperPlus;
 
+
 public interface BrandMapper extends BaseMapperPlus<Brand, BrandVo> {
 
 }