From c8fa32bece1540b977b4c33892089742f0ee02b0 Mon Sep 17 00:00:00 2001
From: liyong <18434998025@163.com>
Date: 星期四, 23 四月 2026 17:07:25 +0800
Subject: [PATCH] feat(approve): 重构审批流程配置功能
---
src/main/resources/mapper/sales/SalesLedgerMapper.xml | 4
src/main/java/com/ruoyi/approve/service/IApproveProcessService.java | 6
src/main/java/com/ruoyi/purchase/service/impl/PurchaseLedgerServiceImpl.java | 17 +
src/main/java/com/ruoyi/approve/controller/ApproveProcessConfigNodeController.java | 49 ++++
src/main/java/com/ruoyi/approve/controller/KnowledgeBaseController.java | 6
src/main/java/com/ruoyi/approve/service/ApproveProcessConfigNodeService.java | 22 ++
src/main/java/com/ruoyi/collaborativeApproval/service/impl/MeetingServiceImpl.java | 1
src/main/java/com/ruoyi/framework/security/handle/LogoutSuccessHandlerImpl.java | 4
src/main/java/com/ruoyi/approve/bean/dto/ApproveProcessConfigNodeDto.java | 12 +
src/main/java/com/ruoyi/approve/utils/ApproveProcessConfigNodeUtils.java | 9
src/main/java/com/ruoyi/sales/service/impl/SalesQuotationServiceImpl.java | 6
src/main/java/com/ruoyi/approve/controller/ApproveProcessController.java | 4
src/main/resources/application-dev.yml | 4
src/main/java/com/ruoyi/approve/bean/vo/ApproveProcessConfigNodeVo.java | 9
src/main/java/com/ruoyi/approve/pojo/ApproveProcessConfigNode.java | 118 ++++++++++
src/main/java/com/ruoyi/sales/controller/ShippingInfoController.java | 13 -
src/main/java/com/ruoyi/approve/service/impl/ApproveProcessServiceImpl.java | 107 ++++-----
src/main/java/com/ruoyi/approve/mapper/ApproveProcessConfigNodeMapper.java | 18 +
src/main/resources/mapper/approve/ApproveProcessConfigNodeMapper.xml | 21 +
src/main/java/com/ruoyi/approve/pojo/ApproveProcess.java | 11
src/main/java/com/ruoyi/approve/service/KnowledgeBaseService.java | 3
src/main/java/com/ruoyi/approve/service/impl/ApproveProcessConfigNodeServiceImpl.java | 50 ++++
src/main/java/com/ruoyi/approve/bean/vo/ApproveGetAndUpdateVo.java | 3
src/main/java/com/ruoyi/approve/service/impl/ApproveNodeServiceImpl.java | 131 ++++++-----
src/main/java/com/ruoyi/approve/bean/vo/KnowledgeBaseVo.java | 3
src/main/java/com/ruoyi/approve/service/impl/KnowledgeBaseServiceImpl.java | 3
src/main/java/com/ruoyi/approve/bean/vo/ApproveProcessVO.java | 3
src/main/java/com/ruoyi/approve/mapper/KnowledgeBaseMapper.java | 2
28 files changed, 463 insertions(+), 176 deletions(-)
diff --git a/src/main/java/com/ruoyi/approve/bean/dto/ApproveProcessConfigNodeDto.java b/src/main/java/com/ruoyi/approve/bean/dto/ApproveProcessConfigNodeDto.java
new file mode 100644
index 0000000..0d4c34a
--- /dev/null
+++ b/src/main/java/com/ruoyi/approve/bean/dto/ApproveProcessConfigNodeDto.java
@@ -0,0 +1,12 @@
+package com.ruoyi.approve.bean.dto;
+
+import com.ruoyi.approve.pojo.ApproveProcessConfigNode;
+import lombok.Data;
+
+import java.util.List;
+
+@Data
+public class ApproveProcessConfigNodeDto extends ApproveProcessConfigNode {
+
+ private List<ApproveProcessConfigNode> approveProcessConfigNodes;
+}
diff --git a/src/main/java/com/ruoyi/approve/vo/ApproveGetAndUpdateVo.java b/src/main/java/com/ruoyi/approve/bean/vo/ApproveGetAndUpdateVo.java
similarity index 94%
rename from src/main/java/com/ruoyi/approve/vo/ApproveGetAndUpdateVo.java
rename to src/main/java/com/ruoyi/approve/bean/vo/ApproveGetAndUpdateVo.java
index 1d3637f..2ada5cb 100644
--- a/src/main/java/com/ruoyi/approve/vo/ApproveGetAndUpdateVo.java
+++ b/src/main/java/com/ruoyi/approve/bean/vo/ApproveGetAndUpdateVo.java
@@ -1,7 +1,8 @@
-package com.ruoyi.approve.vo;
+package com.ruoyi.approve.bean.vo;
import com.fasterxml.jackson.annotation.JsonFormat;
import com.ruoyi.framework.aspectj.lang.annotation.Excel;
+import io.swagger.annotations.ApiModelProperty;
import com.ruoyi.sales.pojo.CommonFile;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
diff --git a/src/main/java/com/ruoyi/approve/bean/vo/ApproveProcessConfigNodeVo.java b/src/main/java/com/ruoyi/approve/bean/vo/ApproveProcessConfigNodeVo.java
new file mode 100644
index 0000000..fb92c55
--- /dev/null
+++ b/src/main/java/com/ruoyi/approve/bean/vo/ApproveProcessConfigNodeVo.java
@@ -0,0 +1,9 @@
+package com.ruoyi.approve.bean.vo;
+
+import com.ruoyi.approve.pojo.ApproveProcessConfigNode;
+import lombok.Data;
+
+@Data
+public class ApproveProcessConfigNodeVo extends ApproveProcessConfigNode {
+
+}
diff --git a/src/main/java/com/ruoyi/approve/vo/ApproveProcessVO.java b/src/main/java/com/ruoyi/approve/bean/vo/ApproveProcessVO.java
similarity index 95%
rename from src/main/java/com/ruoyi/approve/vo/ApproveProcessVO.java
rename to src/main/java/com/ruoyi/approve/bean/vo/ApproveProcessVO.java
index 52d38b4..c233b72 100644
--- a/src/main/java/com/ruoyi/approve/vo/ApproveProcessVO.java
+++ b/src/main/java/com/ruoyi/approve/bean/vo/ApproveProcessVO.java
@@ -1,7 +1,8 @@
-package com.ruoyi.approve.vo;
+package com.ruoyi.approve.bean.vo;
import com.fasterxml.jackson.annotation.JsonFormat;
import com.ruoyi.framework.aspectj.lang.annotation.Excel;
+import io.swagger.annotations.ApiModelProperty;
import com.ruoyi.sales.pojo.CommonFile;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
diff --git a/src/main/java/com/ruoyi/approve/vo/KnowledgeBaseVo.java b/src/main/java/com/ruoyi/approve/bean/vo/KnowledgeBaseVo.java
similarity index 73%
rename from src/main/java/com/ruoyi/approve/vo/KnowledgeBaseVo.java
rename to src/main/java/com/ruoyi/approve/bean/vo/KnowledgeBaseVo.java
index 03180ea..ee75d0d 100644
--- a/src/main/java/com/ruoyi/approve/vo/KnowledgeBaseVo.java
+++ b/src/main/java/com/ruoyi/approve/bean/vo/KnowledgeBaseVo.java
@@ -1,9 +1,8 @@
-package com.ruoyi.approve.vo;
+package com.ruoyi.approve.bean.vo;
import com.ruoyi.approve.pojo.KnowledgeBase;
import com.ruoyi.approve.pojo.KnowledgeBaseFile;
import lombok.Data;
-import org.springframework.web.multipart.MultipartFile;
import java.util.List;
diff --git a/src/main/java/com/ruoyi/approve/controller/ApproveProcessConfigNodeController.java b/src/main/java/com/ruoyi/approve/controller/ApproveProcessConfigNodeController.java
new file mode 100644
index 0000000..b837af6
--- /dev/null
+++ b/src/main/java/com/ruoyi/approve/controller/ApproveProcessConfigNodeController.java
@@ -0,0 +1,49 @@
+package com.ruoyi.approve.controller;
+
+import com.ruoyi.approve.pojo.ApproveProcessConfigNode;
+import com.ruoyi.approve.service.ApproveProcessConfigNodeService;
+import com.ruoyi.framework.web.domain.R;
+import io.swagger.annotations.ApiOperation;
+import lombok.AllArgsConstructor;
+import org.springframework.web.bind.annotation.*;
+
+import java.util.List;
+
+/**
+ * <p>
+ * 瀹℃壒娴佺▼閰嶇疆鑺傜偣琛� 鍓嶇鎺у埗鍣�
+ * </p>
+ *
+ * @author 鑺杞欢锛堟睙鑻忥級鏈夐檺鍏徃
+ * @since 2026-04-23 10:21:41
+ */
+@RestController
+@RequestMapping("/approveProcessConfigNode")
+@AllArgsConstructor
+public class ApproveProcessConfigNodeController {
+
+ private final ApproveProcessConfigNodeService approveProcessConfigNodeService;
+
+
+ /**
+ * 鏌ヨ瀹℃壒涓嬮潰鐨勮妭鐐�
+ * @param type
+ * @return
+ */
+ @GetMapping("/list")
+ public R listNode(Integer type) {
+ return R.ok(approveProcessConfigNodeService.listNode(type));
+ }
+
+ /**
+ * 娣诲姞瀹℃壒鑺傜偣
+ * @param approveProcessConfigNodes
+ * @return
+ */
+ @ApiOperation("娣诲姞瀹℃壒鑺傜偣")
+ @PostMapping("/add")
+ public R addApproveProcessConfigNodes(@RequestBody List<ApproveProcessConfigNode> approveProcessConfigNodes) {
+ return R.ok(approveProcessConfigNodeService.addApproveProcessConfigNodes(approveProcessConfigNodes));
+ }
+
+}
diff --git a/src/main/java/com/ruoyi/approve/controller/ApproveProcessController.java b/src/main/java/com/ruoyi/approve/controller/ApproveProcessController.java
index 7554ff4..a56f6b1 100644
--- a/src/main/java/com/ruoyi/approve/controller/ApproveProcessController.java
+++ b/src/main/java/com/ruoyi/approve/controller/ApproveProcessController.java
@@ -5,8 +5,8 @@
import com.ruoyi.account.pojo.AccountExpense;
import com.ruoyi.approve.pojo.ApproveProcess;
import com.ruoyi.approve.service.IApproveProcessService;
-import com.ruoyi.approve.vo.ApproveGetAndUpdateVo;
-import com.ruoyi.approve.vo.ApproveProcessVO;
+import com.ruoyi.approve.bean.vo.ApproveGetAndUpdateVo;
+import com.ruoyi.approve.bean.vo.ApproveProcessVO;
import com.ruoyi.common.utils.SecurityUtils;
import com.ruoyi.common.utils.poi.ExcelUtil;
import com.ruoyi.framework.security.LoginUser;
diff --git a/src/main/java/com/ruoyi/approve/controller/KnowledgeBaseController.java b/src/main/java/com/ruoyi/approve/controller/KnowledgeBaseController.java
index b6cfcf8..01bf2d0 100644
--- a/src/main/java/com/ruoyi/approve/controller/KnowledgeBaseController.java
+++ b/src/main/java/com/ruoyi/approve/controller/KnowledgeBaseController.java
@@ -4,14 +4,11 @@
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.core.toolkit.CollectionUtils;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
-import com.ruoyi.approve.mapper.KnowledgeBaseFileMapper;
-import com.ruoyi.approve.mapper.KnowledgeBaseMapper;
+import com.ruoyi.approve.bean.vo.KnowledgeBaseVo;
import com.ruoyi.approve.pojo.KnowledgeBase;
import com.ruoyi.approve.pojo.KnowledgeBaseFile;
-import com.ruoyi.approve.pojo.RpaProcessAutomation;
import com.ruoyi.approve.service.KnowledgeBaseFileService;
import com.ruoyi.approve.service.KnowledgeBaseService;
-import com.ruoyi.approve.vo.KnowledgeBaseVo;
import com.ruoyi.common.utils.poi.ExcelUtil;
import com.ruoyi.framework.web.domain.AjaxResult;
import io.swagger.annotations.Api;
@@ -19,7 +16,6 @@
import lombok.AllArgsConstructor;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.*;
-import org.springframework.web.multipart.MultipartFile;
import javax.servlet.http.HttpServletResponse;
import java.util.List;
diff --git a/src/main/java/com/ruoyi/approve/mapper/ApproveProcessConfigNodeMapper.java b/src/main/java/com/ruoyi/approve/mapper/ApproveProcessConfigNodeMapper.java
new file mode 100644
index 0000000..5dbb393
--- /dev/null
+++ b/src/main/java/com/ruoyi/approve/mapper/ApproveProcessConfigNodeMapper.java
@@ -0,0 +1,18 @@
+package com.ruoyi.approve.mapper;
+
+import com.baomidou.mybatisplus.core.mapper.BaseMapper;
+import com.ruoyi.approve.pojo.ApproveProcessConfigNode;
+import org.apache.ibatis.annotations.Mapper;
+
+/**
+ * <p>
+ * 瀹℃壒娴佺▼閰嶇疆鑺傜偣琛� Mapper 鎺ュ彛
+ * </p>
+ *
+ * @author 鑺杞欢锛堟睙鑻忥級鏈夐檺鍏徃
+ * @since 2026-04-23 10:21:41
+ */
+@Mapper
+public interface ApproveProcessConfigNodeMapper extends BaseMapper<ApproveProcessConfigNode> {
+
+}
diff --git a/src/main/java/com/ruoyi/approve/mapper/KnowledgeBaseMapper.java b/src/main/java/com/ruoyi/approve/mapper/KnowledgeBaseMapper.java
index b428d09..ba63850 100644
--- a/src/main/java/com/ruoyi/approve/mapper/KnowledgeBaseMapper.java
+++ b/src/main/java/com/ruoyi/approve/mapper/KnowledgeBaseMapper.java
@@ -4,8 +4,8 @@
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
+import com.ruoyi.approve.bean.vo.KnowledgeBaseVo;
import com.ruoyi.approve.pojo.KnowledgeBase;
-import com.ruoyi.approve.vo.KnowledgeBaseVo;
import org.apache.ibatis.annotations.Mapper;
@Mapper
diff --git a/src/main/java/com/ruoyi/approve/pojo/ApproveProcess.java b/src/main/java/com/ruoyi/approve/pojo/ApproveProcess.java
index 6b70139..a7fc46e 100644
--- a/src/main/java/com/ruoyi/approve/pojo/ApproveProcess.java
+++ b/src/main/java/com/ruoyi/approve/pojo/ApproveProcess.java
@@ -1,11 +1,5 @@
package com.ruoyi.approve.pojo;
-import java.io.Serializable;
-import java.math.BigDecimal;
-import java.time.LocalDateTime;
-import java.util.Date;
-import java.util.List;
-
import com.baomidou.mybatisplus.annotation.*;
import com.fasterxml.jackson.annotation.JsonFormat;
import com.ruoyi.framework.aspectj.lang.annotation.Excel;
@@ -15,6 +9,11 @@
import lombok.Data;
import org.springframework.format.annotation.DateTimeFormat;
+import java.math.BigDecimal;
+import java.time.LocalDateTime;
+import java.util.Date;
+import java.util.List;
+
/**
* 瀹℃壒娴佺▼琛�
* @TableName approve_process
diff --git a/src/main/java/com/ruoyi/approve/pojo/ApproveProcessConfigNode.java b/src/main/java/com/ruoyi/approve/pojo/ApproveProcessConfigNode.java
new file mode 100644
index 0000000..bcb3635
--- /dev/null
+++ b/src/main/java/com/ruoyi/approve/pojo/ApproveProcessConfigNode.java
@@ -0,0 +1,118 @@
+package com.ruoyi.approve.pojo;
+
+import com.baomidou.mybatisplus.annotation.FieldFill;
+import com.baomidou.mybatisplus.annotation.IdType;
+import com.baomidou.mybatisplus.annotation.TableField;
+import com.baomidou.mybatisplus.annotation.TableId;
+import com.baomidou.mybatisplus.annotation.TableName;
+import io.swagger.annotations.ApiModel;
+import io.swagger.annotations.ApiModelProperty;
+import lombok.Getter;
+import lombok.Setter;
+import lombok.ToString;
+
+import java.io.Serializable;
+import java.time.LocalDateTime;
+
+/**
+ * <p>
+ * 瀹℃壒娴佺▼閰嶇疆鑺傜偣琛�
+ * </p>
+ *
+ * @author 鑺杞欢锛堟睙鑻忥級鏈夐檺鍏徃
+ * @since 2026-04-23 10:21:41
+ */
+@Getter
+@Setter
+@ToString
+@TableName("approve_process_config_node")
+@ApiModel(value = "ApproveProcessConfigNode瀵硅薄", description = "瀹℃壒娴佺▼閰嶇疆鑺傜偣琛�")
+public class ApproveProcessConfigNode implements Serializable {
+
+ private static final long serialVersionUID = 1L;
+
+ /**
+ * 涓婚敭ID
+ */
+ @ApiModelProperty("涓婚敭ID")
+ @TableId(value = "id", type = IdType.AUTO)
+ private Long id;
+
+
+
+ // '瀹℃壒绫诲瀷锛�1鍏嚭绠$悊锛�2璇峰亣绠$悊锛�3鍑哄樊绠$悊锛�4鎶ラ攢绠$悊锛�5閲囪喘瀹℃壒锛�6鎶ヤ环瀹℃壒锛�7鍙戣揣瀹℃壒锛�8鍗遍櫓浣滀笟瀹℃壒',
+ @ApiModelProperty("瀹℃壒绫诲瀷锛�1鍏嚭绠$悊锛�2璇峰亣绠$悊锛�3鍑哄樊绠$悊锛�4鎶ラ攢绠$悊锛�5閲囪喘瀹℃壒锛�6鎶ヤ环瀹℃壒锛�7鍙戣揣瀹℃壒锛�8鍗遍櫓浣滀笟瀹℃壒")
+ private Integer approveType;
+ /**
+ * 鑺傜偣椤哄簭
+ */
+ @ApiModelProperty("鑺傜偣椤哄簭")
+ private Integer nodeOrder;
+
+
+ /**
+ * 瀹℃壒浜篒Ds锛堝涓敤閫楀彿鍒嗛殧锛�
+ */
+ @ApiModelProperty("瀹℃壒浜篒D")
+ private Long approverId;
+
+ /**
+ * 瀹℃壒浜哄悕绉�
+ */
+ @ApiModelProperty("瀹℃壒浜哄悕绉�")
+ private String approverName;
+
+
+ /**
+ * 瓒呮椂鏃堕暱锛堝皬鏃讹級
+ */
+ @ApiModelProperty("瓒呮椂鏃堕暱锛堝皬鏃讹級")
+ private Integer timeoutHours;
+
+ /**
+ * 绉熸埛ID
+ */
+ @ApiModelProperty("绉熸埛ID")
+ private Long tenantId;
+
+ /**
+ * 鍒涘缓鐢ㄦ埛ID
+ */
+ @ApiModelProperty("鍒涘缓鐢ㄦ埛ID")
+ @TableField(fill = FieldFill.INSERT)
+ private Long createUser;
+
+ /**
+ * 鍒涘缓鏃堕棿
+ */
+ @ApiModelProperty("鍒涘缓鏃堕棿")
+ @TableField(fill = FieldFill.INSERT)
+ private LocalDateTime createTime;
+
+ /**
+ * 淇敼鐢ㄦ埛ID
+ */
+ @ApiModelProperty("淇敼鐢ㄦ埛ID")
+ @TableField(fill = FieldFill.INSERT_UPDATE)
+ private Long updateUser;
+
+ /**
+ * 淇敼鏃堕棿
+ */
+ @ApiModelProperty("淇敼鏃堕棿")
+ @TableField(fill = FieldFill.INSERT_UPDATE)
+ private LocalDateTime updateTime;
+
+ /**
+ * 鍒犻櫎鏍囪锛�0姝e父锛�1鍒犻櫎
+ */
+ @ApiModelProperty("鍒犻櫎鏍囪锛�0姝e父锛�1鍒犻櫎")
+ private Boolean deleteFlag;
+
+ /**
+ * 閮ㄩ棬ID
+ */
+ @ApiModelProperty("閮ㄩ棬ID")
+ @TableField(fill = FieldFill.INSERT)
+ private Long deptId;
+}
diff --git a/src/main/java/com/ruoyi/approve/service/ApproveProcessConfigNodeService.java b/src/main/java/com/ruoyi/approve/service/ApproveProcessConfigNodeService.java
new file mode 100644
index 0000000..9eb0428
--- /dev/null
+++ b/src/main/java/com/ruoyi/approve/service/ApproveProcessConfigNodeService.java
@@ -0,0 +1,22 @@
+package com.ruoyi.approve.service;
+
+import com.ruoyi.approve.bean.vo.ApproveProcessConfigNodeVo;
+import com.ruoyi.approve.pojo.ApproveProcessConfigNode;
+import com.baomidou.mybatisplus.extension.service.IService;
+
+import java.util.List;
+
+/**
+ * <p>
+ * 瀹℃壒娴佺▼閰嶇疆鑺傜偣琛� 鏈嶅姟绫�
+ * </p>
+ *
+ * @author 鑺杞欢锛堟睙鑻忥級鏈夐檺鍏徃
+ * @since 2026-04-23 10:21:41
+ */
+public interface ApproveProcessConfigNodeService extends IService<ApproveProcessConfigNode> {
+
+ List<ApproveProcessConfigNodeVo> listNode(Integer type);
+
+ Boolean addApproveProcessConfigNodes(List<ApproveProcessConfigNode> approveProcessConfigNodes);
+}
diff --git a/src/main/java/com/ruoyi/approve/service/IApproveProcessService.java b/src/main/java/com/ruoyi/approve/service/IApproveProcessService.java
index a951ff6..a71cb90 100644
--- a/src/main/java/com/ruoyi/approve/service/IApproveProcessService.java
+++ b/src/main/java/com/ruoyi/approve/service/IApproveProcessService.java
@@ -3,14 +3,12 @@
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.baomidou.mybatisplus.extension.service.IService;
-import com.ruoyi.approve.pojo.ApproveNode;
import com.ruoyi.approve.pojo.ApproveProcess;
-import com.ruoyi.approve.vo.ApproveGetAndUpdateVo;
-import com.ruoyi.approve.vo.ApproveProcessVO;
+import com.ruoyi.approve.bean.vo.ApproveGetAndUpdateVo;
+import com.ruoyi.approve.bean.vo.ApproveProcessVO;
import com.ruoyi.project.system.domain.SysDept;
import java.io.IOException;
-import java.text.ParseException;
import java.util.List;
public interface IApproveProcessService extends IService<ApproveProcess> {
diff --git a/src/main/java/com/ruoyi/approve/service/KnowledgeBaseService.java b/src/main/java/com/ruoyi/approve/service/KnowledgeBaseService.java
index 3ed06cf..a26a833 100644
--- a/src/main/java/com/ruoyi/approve/service/KnowledgeBaseService.java
+++ b/src/main/java/com/ruoyi/approve/service/KnowledgeBaseService.java
@@ -3,8 +3,9 @@
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.baomidou.mybatisplus.extension.service.IService;
+import com.ruoyi.approve.bean.vo.KnowledgeBaseVo;
import com.ruoyi.approve.pojo.KnowledgeBase;
-import com.ruoyi.approve.vo.KnowledgeBaseVo;
+
public interface KnowledgeBaseService extends IService<KnowledgeBase> {
IPage<KnowledgeBaseVo> listpage(Page page, KnowledgeBaseVo knowledgeBase);
diff --git a/src/main/java/com/ruoyi/approve/service/impl/ApproveNodeServiceImpl.java b/src/main/java/com/ruoyi/approve/service/impl/ApproveNodeServiceImpl.java
index 76c3775..17666b7 100644
--- a/src/main/java/com/ruoyi/approve/service/impl/ApproveNodeServiceImpl.java
+++ b/src/main/java/com/ruoyi/approve/service/impl/ApproveNodeServiceImpl.java
@@ -24,14 +24,24 @@
import com.ruoyi.project.system.service.ISysNoticeService;
import com.ruoyi.purchase.mapper.PurchaseLedgerMapper;
import com.ruoyi.purchase.pojo.PurchaseLedger;
-import com.ruoyi.purchase.service.impl.PurchaseLedgerServiceImpl;
-import com.ruoyi.sales.mapper.*;
+import com.ruoyi.quality.mapper.QualityInspectMapper;
+import com.ruoyi.quality.mapper.QualityInspectParamMapper;
+import com.ruoyi.quality.mapper.QualityTestStandardMapper;
+import com.ruoyi.quality.mapper.QualityTestStandardParamMapper;
+import com.ruoyi.quality.pojo.QualityInspect;
+import com.ruoyi.quality.pojo.QualityInspectParam;
+import com.ruoyi.quality.pojo.QualityTestStandard;
+import com.ruoyi.quality.pojo.QualityTestStandardParam;
+import com.ruoyi.sales.mapper.CommonFileMapper;
+import com.ruoyi.sales.mapper.SalesLedgerProductMapper;
+import com.ruoyi.sales.mapper.SalesQuotationMapper;
+import com.ruoyi.sales.mapper.ShippingInfoMapper;
import com.ruoyi.sales.pojo.CommonFile;
import com.ruoyi.sales.pojo.SalesLedgerProduct;
import com.ruoyi.sales.pojo.SalesQuotation;
import com.ruoyi.sales.pojo.ShippingInfo;
import com.ruoyi.sales.service.impl.CommonFileServiceImpl;
-import org.springframework.beans.factory.annotation.Autowired;
+import lombok.RequiredArgsConstructor;
import org.springframework.stereotype.Service;
import org.springframework.util.CollectionUtils;
@@ -43,44 +53,26 @@
import java.util.List;
@Service
-//@RequiredArgsConstructor
+@RequiredArgsConstructor
public class ApproveNodeServiceImpl extends ServiceImpl<ApproveNodeMapper, ApproveNode> implements IApproveNodeService {
- @Autowired
- private ApproveNodeMapper approveNodeMapper;
- @Autowired
- private ApproveProcessMapper approveProcessMapper;
- @Autowired
- private SysUserMapper sysUserMapper;
-
- @Autowired
- private TempFileServiceImpl tempFileService;
- @Autowired
- private ISysNoticeService sysNoticeService;
-
- @Autowired
- private CommonFileMapper fileMapper;
- @Autowired
- private DeviceRepairMapper deviceRepairMapper;
-
- @Autowired
- private PurchaseLedgerMapper purchaseLedgerMapper;
-
- @Autowired
- private SalesQuotationMapper salesQuotationMapper;
-
- @Autowired
- private ShippingInfoMapper shippingInfoMapper;
-
- @Autowired
- private CommonFileServiceImpl commonFileService;
- @Autowired
- private StockUtils stockUtils;
- @Autowired
- private SalesLedgerProductMapper salesLedgerProductMapper;
-
- @Autowired
- private PurchaseLedgerServiceImpl purchaseLedgerServiceImpl;
+ private final ApproveNodeMapper approveNodeMapper;
+ private final ApproveProcessMapper approveProcessMapper;
+ private final SysUserMapper sysUserMapper;
+ private final TempFileServiceImpl tempFileService;
+ private final ISysNoticeService sysNoticeService;
+ private final CommonFileMapper fileMapper;
+ private final DeviceRepairMapper deviceRepairMapper;
+ private final PurchaseLedgerMapper purchaseLedgerMapper;
+ private final SalesQuotationMapper salesQuotationMapper;
+ private final ShippingInfoMapper shippingInfoMapper;
+ private final CommonFileServiceImpl commonFileService;
+ private final StockUtils stockUtils;
+ private final SalesLedgerProductMapper salesLedgerProductMapper;
+ private final QualityInspectMapper qualityInspectMapper;
+ private final QualityTestStandardMapper qualityTestStandardMapper;
+ private final QualityTestStandardParamMapper qualityTestStandardParamMapper;
+ private final QualityInspectParamMapper qualityInspectParamMapper;
public ApproveProcess getApproveById(String id) {
@@ -94,7 +86,7 @@
}
@Override
- public void initApproveNodes(String approveUserIds,String approveID,Long tenantId) {
+ public void initApproveNodes(String approveUserIds, String approveID, Long tenantId) {
Long userId = SecurityUtils.getLoginUser().getUser().getUserId();
String[] names = approveUserIds.split(",");
for (int i = 0; i < names.length; i++) {
@@ -102,7 +94,7 @@
if (sysUser == null) continue;
ApproveNode approveNode = new ApproveNode();
approveNode.setApproveProcessId(approveID);
- approveNode.setApproveNodeOrder(i +1);
+ approveNode.setApproveNodeOrder(i + 1);
approveNode.setApproveNodeUser(sysUser.getNickName());
approveNode.setApproveNodeUserId(sysUser.getUserId());
approveNode.setApproveNodeTime(new Date());
@@ -132,17 +124,17 @@
// .eq(ApproveProcess::getApproveStatus, 0)
.last("limit 1");
ApproveProcess approveProcess = approveProcessMapper.selectOne(approveProcessLambdaQueryWrapper);
- if(approveProcess != null && approveProcess.getApproveStatus() == 3){
+ if (approveProcess != null && approveProcess.getApproveStatus() == 3) {
return list;
}
for (ApproveNode approveNode : list) {
List<CommonFile> commonFiles = fileMapper.selectList(new LambdaQueryWrapper<CommonFile>()
.eq(CommonFile::getCommonId, approveNode.getId())
.eq(CommonFile::getType, FileNameType.ApproveNode.getValue()));
- if(!CollectionUtils.isEmpty(commonFiles)){
+ if (!CollectionUtils.isEmpty(commonFiles)) {
approveNode.setUrl(commonFiles.get(0).getUrl());
}
- if(approveNode.getApproveNodeStatus() == 1){
+ if (approveNode.getApproveNodeStatus() == 1) {
continue;
}
approveNode.setIsShen(true);
@@ -151,13 +143,13 @@
return list;
}
- public void updateApproveProcessStatus(ApproveNode approveNode,Integer status) throws IOException {
+ public void updateApproveProcessStatus(ApproveNode approveNode, Integer status) throws IOException {
LambdaQueryWrapper<ApproveProcess> approveProcessLambdaQueryWrapper = new LambdaQueryWrapper<>();
approveProcessLambdaQueryWrapper.eq(ApproveProcess::getApproveId, approveNode.getApproveProcessId())
.eq(ApproveProcess::getApproveDelete, 0)
.last("limit 1");
ApproveProcess approveProcess = approveProcessMapper.selectOne(approveProcessLambdaQueryWrapper);
- if(approveProcess == null) throw new RuntimeException("瀹℃壒涓嶅瓨鍦�");
+ if (approveProcess == null) throw new RuntimeException("瀹℃壒涓嶅瓨鍦�");
LambdaQueryWrapper<ApproveNode> approveNodeLambdaQueryWrapper = new LambdaQueryWrapper<>();
approveNodeLambdaQueryWrapper.eq(ApproveNode::getApproveProcessId, approveNode.getApproveProcessId())
.eq(ApproveNode::getApproveNodeOrder, approveNode.getApproveNodeOrder() + 1)
@@ -166,26 +158,14 @@
.last("limit 1");
ApproveNode approveNode1 = approveNodeMapper.selectOne(approveNodeLambdaQueryWrapper);
approveProcess.setApproveStatus(status);
- if(approveNode1 != null){
+ if (approveNode1 != null) {
approveProcess.setApproveUserCurrentId(approveNode1.getApproveNodeUserId());
approveProcess.setApproveUserCurrentName(approveNode1.getApproveNodeUser());
}
- if(approveProcess.getApproveStatus().equals(2) || approveProcess.getApproveStatus().equals(3) || approveProcess.getApproveStatus().equals(4)){
+ if (approveProcess.getApproveStatus().equals(2) || approveProcess.getApproveStatus().equals(3) || approveProcess.getApproveStatus().equals(4)) {
approveProcess.setApproveOverTime(new Date());
}
approveProcessMapper.updateById(approveProcess);
-
- DeviceRepair deviceRepair = deviceRepairMapper.selectById(approveProcess.getDeviceRepairId());
- if(ObjectUtils.isNotNull(deviceRepair)) {
- if(approveProcess.getApproveStatus().equals(2)){
- // 鍚屾剰
- deviceRepair.setStatus(1);
- }else if(approveProcess.getApproveStatus().equals(3)){
- // 鎷掔粷
- deviceRepair.setStatus(2);
- }
- deviceRepairMapper.updateById(deviceRepair);
- }
//閲囪喘瀹℃牳
if(approveProcess.getApproveType().equals(5)){
@@ -201,8 +181,7 @@
for (SalesLedgerProduct salesLedgerProduct : salesLedgerProducts) {
// 璐ㄦ
if (salesLedgerProduct.getIsChecked()) {
- purchaseLedgerServiceImpl.addQualityInspect(purchaseLedger, salesLedgerProduct);
- }else {
+ addQualityInspect(purchaseLedger, salesLedgerProduct); }else {
//鐩存帴鍏ュ簱
stockUtils.addStock(salesLedgerProduct.getProductModelId(), salesLedgerProduct.getQuantity(), StockInQualifiedRecordTypeEnum.PURCHASE_STOCK_IN.getCode(), purchaseLedger.getId(),"-","-","-");
}
@@ -329,4 +308,32 @@
return null;
}
+ private void addQualityInspect(PurchaseLedger purchaseLedger, SalesLedgerProduct saleProduct) {
+ QualityInspect qualityInspect = new QualityInspect();
+ qualityInspect.setInspectType(0);
+ qualityInspect.setSupplier(purchaseLedger.getSupplierName());
+ qualityInspect.setPurchaseLedgerId(purchaseLedger.getId());
+ qualityInspect.setProductId(saleProduct.getProductId());
+ qualityInspect.setProductName(saleProduct.getProductCategory());
+ qualityInspect.setModel(saleProduct.getSpecificationModel());
+ qualityInspect.setProductModelId(saleProduct.getProductModelId());
+ qualityInspect.setUnit(saleProduct.getUnit());
+ qualityInspect.setQuantity(saleProduct.getQuantity());
+ qualityInspectMapper.insert(qualityInspect);
+ List<QualityTestStandard> qualityTestStandard = qualityTestStandardMapper.getQualityTestStandardByProductId(saleProduct.getProductId(), 0,null);
+ if (qualityTestStandard.size()>0){
+ qualityInspect.setTestStandardId(qualityTestStandard.get(0).getId());
+ qualityInspectMapper.updateById(qualityInspect);
+ qualityTestStandardParamMapper.selectList(Wrappers.<QualityTestStandardParam>lambdaQuery()
+ .eq(QualityTestStandardParam::getTestStandardId,qualityTestStandard.get(0).getId()))
+ .forEach(qualityTestStandardParam -> {
+ QualityInspectParam param = new QualityInspectParam();
+ com.ruoyi.common.utils.bean.BeanUtils.copyProperties(qualityTestStandardParam, param);
+ param.setId(null);
+ param.setInspectId(qualityInspect.getId());
+ qualityInspectParamMapper.insert(param);
+ });
+ }
+ }
+
}
diff --git a/src/main/java/com/ruoyi/approve/service/impl/ApproveProcessConfigNodeServiceImpl.java b/src/main/java/com/ruoyi/approve/service/impl/ApproveProcessConfigNodeServiceImpl.java
new file mode 100644
index 0000000..6d4124c
--- /dev/null
+++ b/src/main/java/com/ruoyi/approve/service/impl/ApproveProcessConfigNodeServiceImpl.java
@@ -0,0 +1,50 @@
+package com.ruoyi.approve.service.impl;
+
+import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
+import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
+import com.ruoyi.approve.bean.vo.ApproveProcessConfigNodeVo;
+import com.ruoyi.approve.mapper.ApproveProcessConfigNodeMapper;
+import com.ruoyi.approve.pojo.ApproveProcessConfigNode;
+import com.ruoyi.approve.service.ApproveProcessConfigNodeService;
+import lombok.RequiredArgsConstructor;
+import org.springframework.beans.BeanUtils;
+import org.springframework.stereotype.Service;
+
+import java.util.List;
+
+/**
+ * <p>
+ * 瀹℃壒娴佺▼閰嶇疆鑺傜偣琛� 鏈嶅姟瀹炵幇绫�
+ * </p>
+ *
+ * @author 鑺杞欢锛堟睙鑻忥級鏈夐檺鍏徃
+ * @since 2026-04-23 10:21:41
+ */
+@Service
+@RequiredArgsConstructor
+public class ApproveProcessConfigNodeServiceImpl extends ServiceImpl<ApproveProcessConfigNodeMapper, ApproveProcessConfigNode> implements ApproveProcessConfigNodeService {
+
+ private final ApproveProcessConfigNodeMapper approveProcessConfigNodeMapper;
+ @Override
+ public List<ApproveProcessConfigNodeVo> listNode(Integer type) {
+ List<ApproveProcessConfigNode> approveProcessConfigNodes = approveProcessConfigNodeMapper.selectList(new QueryWrapper<ApproveProcessConfigNode>().lambda().eq(ApproveProcessConfigNode::getApproveType, type).orderByAsc(ApproveProcessConfigNode::getNodeOrder));
+ return approveProcessConfigNodes.stream()
+ .map(node -> {
+ ApproveProcessConfigNodeVo vo = new ApproveProcessConfigNodeVo();
+ BeanUtils.copyProperties(node, vo);
+ return vo;
+ })
+ .collect(java.util.stream.Collectors.toList());
+ }
+
+ @Override
+ public Boolean addApproveProcessConfigNodes(List<ApproveProcessConfigNode> approveProcessConfigNodes) {
+ //鍒犻櫎鏃ф暟鎹�
+ approveProcessConfigNodeMapper.delete(new QueryWrapper<ApproveProcessConfigNode>().lambda().eq(ApproveProcessConfigNode::getApproveType, approveProcessConfigNodes.get(0).getApproveType()));
+ //鏂板 鏁版嵁
+ for (ApproveProcessConfigNode node : approveProcessConfigNodes) {
+ approveProcessConfigNodeMapper.insert(node);
+ }
+ return true;
+ }
+}
diff --git a/src/main/java/com/ruoyi/approve/service/impl/ApproveProcessServiceImpl.java b/src/main/java/com/ruoyi/approve/service/impl/ApproveProcessServiceImpl.java
index a624661..63eb8ac 100644
--- a/src/main/java/com/ruoyi/approve/service/impl/ApproveProcessServiceImpl.java
+++ b/src/main/java/com/ruoyi/approve/service/impl/ApproveProcessServiceImpl.java
@@ -6,15 +6,16 @@
import com.baomidou.mybatisplus.core.toolkit.Wrappers;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
+import com.ruoyi.approve.bean.vo.ApproveGetAndUpdateVo;
+import com.ruoyi.approve.bean.vo.ApproveProcessConfigNodeVo;
+import com.ruoyi.approve.bean.vo.ApproveProcessVO;
import com.ruoyi.approve.mapper.ApproveNodeMapper;
import com.ruoyi.approve.mapper.ApproveProcessMapper;
import com.ruoyi.approve.pojo.ApproveNode;
import com.ruoyi.approve.pojo.ApproveProcess;
+import com.ruoyi.approve.service.ApproveProcessConfigNodeService;
import com.ruoyi.approve.service.IApproveNodeService;
import com.ruoyi.approve.service.IApproveProcessService;
-import com.ruoyi.approve.utils.DailyRedisCounter;
-import com.ruoyi.approve.vo.ApproveGetAndUpdateVo;
-import com.ruoyi.approve.vo.ApproveProcessVO;
import com.ruoyi.common.enums.FileNameType;
import com.ruoyi.common.utils.OrderUtils;
import com.ruoyi.common.utils.SecurityUtils;
@@ -32,80 +33,65 @@
import com.ruoyi.sales.pojo.CommonFile;
import com.ruoyi.sales.pojo.ShippingInfo;
import com.ruoyi.sales.service.impl.CommonFileServiceImpl;
-import lombok.AllArgsConstructor;
import lombok.RequiredArgsConstructor;
import org.springframework.beans.BeanUtils;
-import org.springframework.beans.factory.annotation.Autowired;
-import org.springframework.context.annotation.Lazy;
-import org.springframework.data.redis.core.StringRedisTemplate;
import org.springframework.stereotype.Service;
import org.springframework.util.CollectionUtils;
import org.springframework.util.StringUtils;
import java.io.IOException;
-import java.text.ParseException;
import java.text.SimpleDateFormat;
-import java.time.LocalDate;
import java.time.LocalDateTime;
import java.time.format.DateTimeFormatter;
-import java.util.ArrayList;
-import java.util.Arrays;
-import java.util.Date;
-import java.util.List;
+import java.util.*;
import java.util.stream.Collectors;
@Service
-//@RequiredArgsConstructor
+@RequiredArgsConstructor
public class ApproveProcessServiceImpl extends ServiceImpl<ApproveProcessMapper, ApproveProcess> implements IApproveProcessService {
private static final DateTimeFormatter DATE_FORMAT = DateTimeFormatter.ofPattern("yyyyMMdd");
- @Autowired
- private StringRedisTemplate redisTemplate;
- @Autowired
- private DailyRedisCounter dailyRedisCounter;
- @Autowired
- private SysDeptMapper sysDeptMapper;
- @Autowired
- private IApproveNodeService approveNodeService;
- @Autowired
- private SysUserMapper sysUserMapper;
- @Autowired
- private ApproveProcessMapper approveProcessMapper;
- @Autowired
- private TempFileServiceImpl tempFileService;
- @Autowired
- private CommonFileMapper commonFileMapper;
- @Autowired
- private CommonFileServiceImpl commonFileService;
- @Autowired
- private ISysNoticeService sysNoticeService;
+ private final SysDeptMapper sysDeptMapper;
+ private final IApproveNodeService approveNodeService;
+ private final SysUserMapper sysUserMapper;
+ private final ApproveProcessMapper approveProcessMapper;
+ private final TempFileServiceImpl tempFileService;
+ private final CommonFileMapper commonFileMapper;
+ private final CommonFileServiceImpl commonFileService;
+ private final ISysNoticeService sysNoticeService;
+ private final PurchaseLedgerMapper purchaseLedgerMapper;
+ private final ShippingInfoMapper shippingInfoMapper;
+ private final ApproveNodeMapper approveNodeMapper;
+ private final ApproveProcessConfigNodeService approveProcessConfigNodeService;
@Override
public void addApprove(ApproveProcessVO approveProcessVO) throws Exception {
- SysUser sysUser = sysUserMapper.selectUserById(approveProcessVO.getApproveUser());
- SysDept sysDept = sysDeptMapper.selectDeptById(approveProcessVO.getApproveDeptId());
- String[] split = approveProcessVO.getApproveUserIds().split(",");
- List<Long> longList = Arrays.stream(split)
- .map(Long::valueOf) // 灏嗘瘡涓� String 杞崲涓� Long
+ SysUser sysUser = SecurityUtils.getLoginUser().getUser();
+ SysDept sysDept = sysDeptMapper.selectDeptById(SecurityUtils.getLoginUser().getCurrentDeptId());
+ List<ApproveProcessConfigNodeVo> list = approveProcessConfigNodeService.listNode( approveProcessVO.getApproveType());
+ List<Long> nodeIds = list.stream()
+ .map(ApproveProcessConfigNodeVo::getApproverId)
.collect(Collectors.toList());
- List<SysUser> sysUsers = sysUserMapper.selectUserByIds(longList);
+ List<SysUser> sysUsers = sysUserMapper.selectUserByIds(nodeIds);
if (CollectionUtils.isEmpty(sysUsers)) throw new RuntimeException("瀹℃牳鐢ㄦ埛涓嶅瓨鍦�");
if (sysDept == null) throw new RuntimeException("閮ㄩ棬涓嶅瓨鍦�");
if (sysUser == null) throw new RuntimeException("鐢宠浜轰笉瀛樺湪");
- String today = LocalDate.now().format(DATE_FORMAT);
- Long approveId = dailyRedisCounter.incrementAndGetByDb();
- String formattedCount = String.format("%03d", approveId);
- //娴佺▼ ID
- String approveID = today + formattedCount;
+// String today = LocalDate.now().format(DATE_FORMAT);
+// Long approveId = dailyRedisCounter.incrementAndGetByDb();
+// String formattedCount = String.format("%03d", approveId);
+// //娴佺▼ ID
+// String approveID = today + formattedCount;
SimpleDateFormat dateFormat = new SimpleDateFormat("yyyy-MM-dd");
ApproveProcess approveProcess = new ApproveProcess();
- approveProcess.setApproveId(approveID);
- approveProcess.setApproveUser(approveProcessVO.getApproveUser());
+ String no = OrderUtils.countTodayByCreateTime(approveProcessMapper, "approve_id");
+ approveProcess.setApproveId(no);
+ approveProcess.setApproveUser(sysUser.getUserId());
approveProcess.setApproveUserName(sysUser.getNickName());
- approveProcess.setApproveDeptId(approveProcessVO.getApproveDeptId());
+ approveProcess.setApproveDeptId(sysDept.getDeptId());
+ approveProcess.setApproveUserIds(nodeIds.stream().map(String::valueOf).collect(Collectors.joining(",")));
approveProcess.setApproveDeptName(sysDept.getDeptName());
approveProcess.setApproveUserNames(sysUsers.stream().map(SysUser::getNickName).collect(Collectors.joining(",")));
- approveProcess.setApproveTime(StringUtils.isEmpty(approveProcessVO.getApproveTime()) ? null : dateFormat.parse(approveProcessVO.getApproveTime()));
+ approveProcess.setApproveTime(StringUtils.isEmpty(approveProcessVO.getApproveTime()) ? new Date(): dateFormat.parse(approveProcessVO.getApproveTime()));
approveProcess.setApproveReason(approveProcessVO.getApproveReason());
approveProcess.setDeviceRepairId(approveProcessVO.getDeviceRepairId());
approveProcess.setMaintenancePrice(approveProcessVO.getMaintenancePrice());
@@ -117,11 +103,10 @@
approveProcess.setApproveType(approveProcessVO.getApproveType());
approveProcess.setCreateTime(LocalDateTime.now());
approveProcess.setTenantId(approveProcessVO.getApproveDeptId());
- approveProcess.setApproveUserIds(approveProcessVO.getApproveUserIds());
- approveProcess.setApproveUserCurrentId(longList.get(0));
+ approveProcess.setApproveUserCurrentId(nodeIds.get(0));
approveProcess.setApproveUserCurrentName(sysUsers
.stream()
- .filter(SysUser -> SysUser.getUserId().equals(longList.get(0)))
+ .filter(SysUser -> SysUser.getUserId().equals(nodeIds.get(0)))
.collect(Collectors.toList())
.get(0)
.getNickName());
@@ -133,20 +118,23 @@
}
save(approveProcess);
//鍒濆鍖栧鎵硅妭鐐�
- approveNodeService.initApproveNodes(approveProcessVO.getApproveUserIds(), approveID, approveProcessVO.getApproveDeptId());
+ String nodeIdStr = nodeIds.stream()
+ .map(String::valueOf)
+ .collect(Collectors.joining(","));
+ approveNodeService.initApproveNodes(nodeIdStr, no, approveProcessVO.getApproveDeptId());
// 闄勪欢缁戝畾
tempFileService.migrateTempFilesToFormal(approveProcess.getId(), approveProcessVO.getTempFileIds(), FileNameType.ApproveProcess.getValue());
/*娑堟伅閫氱煡*/
- String id = approveProcessVO.getApproveUserIds().split(",")[0];
+ Long id = nodeIds.get(0);
if (approveProcess.getApproveType()==8){
sysNoticeService.simpleNoticeByUser(approveProcessType(approveProcess.getApproveType()),
approveProcess.getApproveId() + "娴佺▼缂栧彿鐨勫鎵归渶瑕佹偍瀹℃牳!!!!!",
- Arrays.asList(Long.valueOf(id)),
+ Collections.singletonList(id),
"/safeProduction/safeWorkApproval?approveType=" + approveProcess.getApproveType() + "&approveId=" + approveProcess.getApproveId());
}else {
sysNoticeService.simpleNoticeByUser(approveProcessType(approveProcess.getApproveType()),
approveProcess.getApproveId() + "娴佺▼缂栧彿鐨勫鎵归渶瑕佹偍瀹℃牳!!!!!",
- Arrays.asList(Long.valueOf(id)),
+ Collections.singletonList(id),
"/collaborativeApproval/approvalProcess?approveType=" + approveProcess.getApproveType() + "&approveId=" + approveProcess.getApproveId());
}
}
@@ -161,11 +149,6 @@
return sysDeptList;
}
- @Autowired
- private PurchaseLedgerMapper purchaseLedgerMapper;
-
- @Autowired
- private ShippingInfoMapper shippingInfoMapper;
@Override
public IPage<ApproveProcess> listAll(Page page, ApproveProcess approveProcess) {
@@ -304,8 +287,6 @@
return one;
}
- @Autowired
- private ApproveNodeMapper approveNodeMapper;
// 鎶ヤ环瀹℃壒缂栬緫瀹℃牳浜�
public void updateApproveUser(ApproveGetAndUpdateVo approveGetAndUpdateVo) {
diff --git a/src/main/java/com/ruoyi/approve/service/impl/KnowledgeBaseServiceImpl.java b/src/main/java/com/ruoyi/approve/service/impl/KnowledgeBaseServiceImpl.java
index dd200d1..2efdfe7 100644
--- a/src/main/java/com/ruoyi/approve/service/impl/KnowledgeBaseServiceImpl.java
+++ b/src/main/java/com/ruoyi/approve/service/impl/KnowledgeBaseServiceImpl.java
@@ -3,15 +3,14 @@
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
+import com.ruoyi.approve.bean.vo.KnowledgeBaseVo;
import com.ruoyi.approve.mapper.KnowledgeBaseFileMapper;
import com.ruoyi.approve.mapper.KnowledgeBaseMapper;
import com.ruoyi.approve.pojo.KnowledgeBase;
import com.ruoyi.approve.pojo.KnowledgeBaseFile;
import com.ruoyi.approve.service.KnowledgeBaseService;
-import com.ruoyi.approve.vo.KnowledgeBaseVo;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
-import org.springframework.web.multipart.MultipartFile;
@Service
public class KnowledgeBaseServiceImpl extends ServiceImpl<KnowledgeBaseMapper, KnowledgeBase> implements KnowledgeBaseService {
diff --git a/src/main/java/com/ruoyi/approve/utils/ApproveProcessConfigNodeUtils.java b/src/main/java/com/ruoyi/approve/utils/ApproveProcessConfigNodeUtils.java
new file mode 100644
index 0000000..4ae03e6
--- /dev/null
+++ b/src/main/java/com/ruoyi/approve/utils/ApproveProcessConfigNodeUtils.java
@@ -0,0 +1,9 @@
+package com.ruoyi.approve.utils;
+
+import lombok.RequiredArgsConstructor;
+
+@RequiredArgsConstructor
+public class ApproveProcessConfigNodeUtils {
+
+
+}
diff --git a/src/main/java/com/ruoyi/collaborativeApproval/service/impl/MeetingServiceImpl.java b/src/main/java/com/ruoyi/collaborativeApproval/service/impl/MeetingServiceImpl.java
index e5c05ed..636130a 100644
--- a/src/main/java/com/ruoyi/collaborativeApproval/service/impl/MeetingServiceImpl.java
+++ b/src/main/java/com/ruoyi/collaborativeApproval/service/impl/MeetingServiceImpl.java
@@ -3,7 +3,6 @@
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
import com.baomidou.mybatisplus.core.conditions.update.LambdaUpdateWrapper;
import com.baomidou.mybatisplus.core.metadata.IPage;
-import com.baomidou.mybatisplus.core.toolkit.ObjectUtils;
import com.baomidou.mybatisplus.core.toolkit.Wrappers;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
diff --git a/src/main/java/com/ruoyi/framework/security/handle/LogoutSuccessHandlerImpl.java b/src/main/java/com/ruoyi/framework/security/handle/LogoutSuccessHandlerImpl.java
index 04f37b6..929d25e 100644
--- a/src/main/java/com/ruoyi/framework/security/handle/LogoutSuccessHandlerImpl.java
+++ b/src/main/java/com/ruoyi/framework/security/handle/LogoutSuccessHandlerImpl.java
@@ -20,7 +20,7 @@
/**
* 鑷畾涔夐��鍑哄鐞嗙被 杩斿洖鎴愬姛
- *
+ *
* @author ruoyi
*/
@Configuration
@@ -31,7 +31,7 @@
/**
* 閫�鍑哄鐞�
- *
+ *
* @return
*/
@Override
diff --git a/src/main/java/com/ruoyi/purchase/service/impl/PurchaseLedgerServiceImpl.java b/src/main/java/com/ruoyi/purchase/service/impl/PurchaseLedgerServiceImpl.java
index d71b3bb..477aff7 100644
--- a/src/main/java/com/ruoyi/purchase/service/impl/PurchaseLedgerServiceImpl.java
+++ b/src/main/java/com/ruoyi/purchase/service/impl/PurchaseLedgerServiceImpl.java
@@ -13,7 +13,7 @@
import com.ruoyi.account.service.AccountIncomeService;
import com.ruoyi.approve.pojo.ApproveProcess;
import com.ruoyi.approve.service.impl.ApproveProcessServiceImpl;
-import com.ruoyi.approve.vo.ApproveProcessVO;
+import com.ruoyi.approve.bean.vo.ApproveProcessVO;
import com.ruoyi.basic.mapper.ProductMapper;
import com.ruoyi.basic.mapper.ProductModelMapper;
import com.ruoyi.basic.mapper.SupplierManageMapper;
@@ -165,15 +165,23 @@
@Override
@Transactional(rollbackFor = Exception.class)
public int addOrEditPurchase(PurchaseLedgerDto purchaseLedgerDto) throws Exception {
-
+ PurchaseLedger purchaseLedger = new PurchaseLedger();
SalesLedger salesLedger = salesLedgerMapper.selectById(purchaseLedgerDto.getSalesLedgerId());
//褰曞叆浜�
SysUser sysUser = userMapper.selectUserById(purchaseLedgerDto.getRecorderId());
+ if (ObjectUtils.isNotEmpty(sysUser)) {
+ purchaseLedger.setRecorderName(sysUser.getNickName());
+ purchaseLedger.setPhoneNumber(sysUser.getPhonenumber());
+ }else {
+ purchaseLedger.setRecorderName(SecurityUtils.getLoginUser().getNickName());
+ SysUser sysUser1 = userMapper.selectUserById(SecurityUtils.getUserId());
+ purchaseLedger.setPhoneNumber(sysUser1.getPhonenumber());
+ }
SupplierManage supplierManage = supplierManageMapper.selectById(purchaseLedgerDto.getSupplierId());
// DTO杞珽ntity
- PurchaseLedger purchaseLedger = new PurchaseLedger();
+
BeanUtils.copyProperties(purchaseLedgerDto, purchaseLedger);
LoginUser loginUser = SecurityUtils.getLoginUser();
if (ObjectUtils.isNotEmpty(loginUser) && null != loginUser.getTenantId()) {
@@ -183,8 +191,7 @@
purchaseLedger.setSalesLedgerId(ObjectUtils.isNotEmpty(salesLedger) ? salesLedger.getId() : -1);
purchaseLedger.setSupplierName(supplierManage.getSupplierName());
purchaseLedger.setRecorderId(purchaseLedgerDto.getRecorderId());
- purchaseLedger.setRecorderName(sysUser.getNickName());
- purchaseLedger.setPhoneNumber(sysUser.getPhonenumber());
+
purchaseLedger.setApprovalStatus(1);
// 3. 鏂板鎴栨洿鏂颁富琛�
if (purchaseLedger.getId() == null) {
diff --git a/src/main/java/com/ruoyi/sales/controller/ShippingInfoController.java b/src/main/java/com/ruoyi/sales/controller/ShippingInfoController.java
index db3c5b9..2b14921 100644
--- a/src/main/java/com/ruoyi/sales/controller/ShippingInfoController.java
+++ b/src/main/java/com/ruoyi/sales/controller/ShippingInfoController.java
@@ -1,12 +1,9 @@
package com.ruoyi.sales.controller;
-import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
-import com.ruoyi.approve.mapper.ApproveProcessMapper;
+import com.ruoyi.approve.bean.vo.ApproveProcessVO;
import com.ruoyi.approve.service.impl.ApproveProcessServiceImpl;
-import com.ruoyi.approve.vo.ApproveProcessVO;
-import com.ruoyi.common.enums.FileNameType;
import com.ruoyi.common.utils.OrderUtils;
import com.ruoyi.common.utils.SecurityUtils;
import com.ruoyi.common.utils.poi.ExcelUtil;
@@ -15,22 +12,14 @@
import com.ruoyi.framework.security.LoginUser;
import com.ruoyi.framework.web.controller.BaseController;
import com.ruoyi.framework.web.domain.AjaxResult;
-import com.ruoyi.other.service.impl.TempFileServiceImpl;
import com.ruoyi.procurementrecord.utils.StockUtils;
import com.ruoyi.sales.dto.ShippingInfoDto;
-import com.ruoyi.sales.mapper.ShipmentApprovalMapper;
import com.ruoyi.sales.mapper.ShippingInfoMapper;
-import com.ruoyi.sales.pojo.SalesLedger;
-import com.ruoyi.sales.pojo.SalesLedgerProduct;
-import com.ruoyi.sales.pojo.ShipmentApproval;
import com.ruoyi.sales.pojo.ShippingInfo;
-import com.ruoyi.sales.service.ISalesLedgerProductService;
-import com.ruoyi.sales.service.ISalesLedgerService;
import com.ruoyi.sales.service.ShippingInfoService;
import com.ruoyi.sales.service.impl.CommonFileServiceImpl;
import io.swagger.annotations.Api;
import io.swagger.annotations.ApiOperation;
-import org.apache.commons.collections4.CollectionUtils;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.transaction.annotation.Transactional;
import org.springframework.web.bind.annotation.*;
diff --git a/src/main/java/com/ruoyi/sales/service/impl/SalesQuotationServiceImpl.java b/src/main/java/com/ruoyi/sales/service/impl/SalesQuotationServiceImpl.java
index 74fa7a4..bdccef5 100644
--- a/src/main/java/com/ruoyi/sales/service/impl/SalesQuotationServiceImpl.java
+++ b/src/main/java/com/ruoyi/sales/service/impl/SalesQuotationServiceImpl.java
@@ -10,8 +10,10 @@
import com.ruoyi.approve.pojo.ApproveProcess;
import com.ruoyi.approve.service.IApproveProcessService;
import com.ruoyi.approve.service.impl.ApproveProcessServiceImpl;
-import com.ruoyi.approve.vo.ApproveGetAndUpdateVo;
-import com.ruoyi.approve.vo.ApproveProcessVO;
+import com.ruoyi.approve.bean.vo.ApproveGetAndUpdateVo;
+import com.ruoyi.approve.bean.vo.ApproveProcessVO;
+import com.ruoyi.basic.dto.CustomerPrivatePoolDto;
+import com.ruoyi.basic.mapper.CustomerPrivatePoolMapper;
import com.ruoyi.common.utils.OrderUtils;
import com.ruoyi.common.utils.SecurityUtils;
import com.ruoyi.common.utils.bean.BeanUtils;
diff --git a/src/main/resources/application-dev.yml b/src/main/resources/application-dev.yml
index 77e5371..3f2b037 100644
--- a/src/main/resources/application-dev.yml
+++ b/src/main/resources/application-dev.yml
@@ -74,9 +74,9 @@
druid:
# 涓诲簱鏁版嵁婧�
master:
- url: jdbc:mysql://1.15.17.182:9999/product-inventory-management-ygcy-kh?useUnicode=true&characterEncoding=utf8&zeroDateTimeBehavior=convertToNull&useSSL=true&serverTimezone=GMT%2B8
+ url: jdbc:mysql://localhost:3300/product-inventory-management-ygcy?useUnicode=true&characterEncoding=utf8&zeroDateTimeBehavior=convertToNull&useSSL=true&serverTimezone=GMT%2B8
username: root
- password: xd@123456..
+ password: root
# 浠庡簱鏁版嵁婧�
slave:
# 浠庢暟鎹簮寮�鍏�/榛樿鍏抽棴
diff --git a/src/main/resources/mapper/approve/ApproveProcessConfigNodeMapper.xml b/src/main/resources/mapper/approve/ApproveProcessConfigNodeMapper.xml
new file mode 100644
index 0000000..7e88ba4
--- /dev/null
+++ b/src/main/resources/mapper/approve/ApproveProcessConfigNodeMapper.xml
@@ -0,0 +1,21 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
+<mapper namespace="com.ruoyi.approve.mapper.ApproveProcessConfigNodeMapper">
+
+ <!-- 閫氱敤鏌ヨ鏄犲皠缁撴灉 -->
+ <resultMap id="BaseResultMap" type="com.ruoyi.approve.pojo.ApproveProcessConfigNode">
+ <id column="id" property="id" />
+ <result column="node_order" property="nodeOrder" />
+ <result column="approver_type" property="approverType" />
+ <result column="is_required" property="isRequired" />
+ <result column="timeout_hours" property="timeoutHours" />
+ <result column="tenant_id" property="tenantId" />
+ <result column="create_user" property="createUser" />
+ <result column="create_time" property="createTime" />
+ <result column="update_user" property="updateUser" />
+ <result column="update_time" property="updateTime" />
+ <result column="delete_flag" property="deleteFlag" />
+ <result column="dept_id" property="deptId" />
+ </resultMap>
+
+</mapper>
diff --git a/src/main/resources/mapper/sales/SalesLedgerMapper.xml b/src/main/resources/mapper/sales/SalesLedgerMapper.xml
index 2096dd7..3ba0c34 100644
--- a/src/main/resources/mapper/sales/SalesLedgerMapper.xml
+++ b/src/main/resources/mapper/sales/SalesLedgerMapper.xml
@@ -10,7 +10,7 @@
WHERE sales_contract_no LIKE CONCAT('%',#{datePart},'%')
</select>
<select id="getSalesNo" resultType="com.ruoyi.sales.pojo.SalesLedger">
-
+
</select>
<select id="selectSalesLedgerList" resultType="com.ruoyi.sales.pojo.SalesLedger">
@@ -122,4 +122,4 @@
</where>
</select>
-</mapper>
\ No newline at end of file
+</mapper>
--
Gitblit v1.9.3