Quellcode durchsuchen

应用审核优化

S0025136190 vor 3 Wochen
Ursprung
Commit
021f611443

+ 4 - 4
takai-ai/src/main/java/com/takai/ai/service/impl/TakaiAiServiceImpl.java

@@ -943,7 +943,7 @@ public class TakaiAiServiceImpl implements ITakaiAiService {
                 info.setApprover(null);
                 info.setNodeOrder(null);
             }else{
-                info.setStatus("5"); // 未开始审核状态
+                info.setStatus("2"); // 未开始审核状态
                 info.setApprover(String.valueOf(vo.getApprover()));
                 info.setNodeOrder(String.valueOf(vo.getNodeOrder()));
             }
@@ -1492,7 +1492,7 @@ public class TakaiAiServiceImpl implements ITakaiAiService {
             logger.info("开启审核");
             for (DocumentAuditConfig config : list) {
                 // 添加审核节点
-                flowManager.addNode(new ApprovalNode(config.getId(), config.getNodeOrder(), Long.valueOf(config.getApprover()), config.getChain()));
+                flowManager.addNode(new ApprovalNode(config.getId(), config.getNodeOrder(), config.getApprover(), config.getChain()));
             }
 
             ApprovalNode vo = flowManager.getFirstApprover();
@@ -1527,7 +1527,7 @@ public class TakaiAiServiceImpl implements ITakaiAiService {
                 logger.info("审核通过,开始审批流程");
                 for (DocumentAuditConfig config: list){
                     // 添加审核节点
-                    flowManager.addNode(new ApprovalNode(config.getId(), config.getNodeOrder(), Long.valueOf(config.getApprover()), config.getChain()));
+                    flowManager.addNode(new ApprovalNode(config.getId(), config.getNodeOrder(), config.getApprover(), config.getChain()));
                 }
                 // 根据审核节点获取下一个审核节点
                 ApprovalNode nextNode = flowManager.getNextApproverByOrder(Integer.valueOf(appParams.getNodeOrder()));
@@ -1650,7 +1650,7 @@ public class TakaiAiServiceImpl implements ITakaiAiService {
             logger.info("开启审核");
             for (DocumentAuditConfig config : list) {
                 // 添加审核节点
-                flowManager.addNode(new ApprovalNode(config.getId(), config.getNodeOrder(), Long.valueOf(config.getApprover()), config.getChain()));
+                flowManager.addNode(new ApprovalNode(config.getId(), config.getNodeOrder(), config.getApprover(), config.getChain()));
             }
 
             return flowManager.getFirstApprover();

+ 2 - 2
takai-ai/src/main/java/com/takai/ai/utils/ApprovalFlowManager.java

@@ -31,7 +31,7 @@ public class ApprovalFlowManager {
      * @param currentNodeId 当前节点ID
      * @return 上一个节点的审核人,如果没有上一个节点返回null
      */
-    public Long getPreviousApprover(Long currentNodeId) {
+    public String getPreviousApprover(Long currentNodeId) {
         int currentIndex = findNodeIndexById(currentNodeId);
         if (currentIndex <= 0) {
             return null;
@@ -44,7 +44,7 @@ public class ApprovalFlowManager {
      * @param currentNodeId 当前节点ID
      * @return 下一个节点的审核人,如果没有下一个节点返回null
      */
-    public Long getNextApprover(Long currentNodeId) {
+    public String getNextApprover(Long currentNodeId) {
         int currentIndex = findNodeIndexById(currentNodeId);
         if (currentIndex == -1 || currentIndex >= nodes.size() - 1) {
             return null;

+ 3 - 3
takai-ai/src/main/java/com/takai/ai/utils/ApprovalNode.java

@@ -10,10 +10,10 @@ public class ApprovalNode {
 
     private Long id;
     private int nodeOrder;          // 节点顺序
-    private Long approver;      // 当前节点审核人
+    private String approver;      // 当前节点审核人
     private List<Long> chain;  // 审核人链
 
-    public ApprovalNode(Long id, int nodeOrder, Long approver, String chain) {
+    public ApprovalNode(Long id, int nodeOrder, String approver, String chain) {
         this.id = id;
         this.nodeOrder = nodeOrder;
         this.approver = approver;
@@ -33,6 +33,6 @@ public class ApprovalNode {
     // Getters
     public Long getId() { return id; }
     public int getNodeOrder() { return nodeOrder; }
-    public Long getApprover() { return approver; }
+    public String getApprover() { return approver; }
     public List<Long> getChain() { return chain; }
 }

+ 5 - 3
takai-ai/src/main/resources/mapper/takaiai/TakaiApplicationMapper.xml

@@ -370,18 +370,20 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
 
 	<select id="selectAppListByApprover" parameterType="BmApplication" resultMap="BmApplicationListResult">
 		select bm.appId, bm.name, bm.description, bm.prompt, bm.type_id,
-		bm.status, bm.approver, bm.comment, bm.create_time, su.user_name, bm.is_deep_think, bm.visible
+		bm.status, bm.approver, bm.comment, bm.create_time, bm.is_deep_think, bm.visible ,GROUP_CONCAT(su.user_name ) as user_name
 		from bm_application bm
-		left join sys_user su on bm.approver = su.user_id
+		left join sys_user su on FIND_IN_SET(su.user_id,bm.approver) > 0
 		<where>
 			(bm.status = '4'  OR bm.status = '1' OR bm.status = '2')
 			<if test="appId != null and appId != ''">
 				AND bm.appId = #{appId}
 			</if>
 			<if test="approver != null and approver != ''">
-				AND bm.approver = #{approver}
+				AND FIND_IN_SET(#{approver},bm.approver) > 0
 			</if>
 		</where>
+		group by bm.appId, bm.name, bm.description, bm.prompt, bm.type_id,
+		bm.status, bm.approver, bm.comment, bm.create_time, bm.is_deep_think, bm.visible
 		order by bm.create_time desc
 	</select>
 

+ 24 - 11
takai-system/src/main/java/com/takai/system/domain/DocumentAuditConfig.java

@@ -5,9 +5,11 @@ import com.takai.common.core.domain.BaseEntity;
 import org.apache.commons.lang3.builder.ToStringBuilder;
 import org.apache.commons.lang3.builder.ToStringStyle;
 
+import java.util.List;
+
 /**
  * 审核配置对象 document_audit_config
- * 
+ *
  * @author takai
  * @date 2025-05-29
  */
@@ -18,6 +20,7 @@ public class DocumentAuditConfig extends BaseEntity
     /** $column.columnComment */
     private Long id;
 
+
     /** 部门ID */
     @Excel(name = "部门ID")
     private Long deptId;
@@ -39,39 +42,49 @@ public class DocumentAuditConfig extends BaseEntity
 
     private String userName;
 
-    public void setId(Long id) 
+    private List<String> approverList;
+
+    public void setId(Long id)
     {
         this.id = id;
     }
 
-    public Long getId() 
+    public List<String> getApproverList() {
+        return approverList;
+    }
+
+    public void setApproverList(List<String> approverList) {
+        this.approverList = approverList;
+    }
+
+    public Long getId()
     {
         return id;
     }
-    public void setDeptId(Long deptId) 
+    public void setDeptId(Long deptId)
     {
         this.deptId = deptId;
     }
 
-    public Long getDeptId() 
+    public Long getDeptId()
     {
         return deptId;
     }
-    public void setProjectId(String projectId) 
+    public void setProjectId(String projectId)
     {
         this.projectId = projectId;
     }
 
-    public String getProjectId() 
+    public String getProjectId()
     {
         return projectId;
     }
-    public void setNodeOrder(Integer nodeOrder) 
+    public void setNodeOrder(Integer nodeOrder)
     {
         this.nodeOrder = nodeOrder;
     }
 
-    public Integer getNodeOrder() 
+    public Integer getNodeOrder()
     {
         return nodeOrder;
     }
@@ -84,12 +97,12 @@ public class DocumentAuditConfig extends BaseEntity
     {
         return approver;
     }
-    public void setChain(String chain) 
+    public void setChain(String chain)
     {
         this.chain = chain;
     }
 
-    public String getChain() 
+    public String getChain()
     {
         return chain;
     }

+ 16 - 9
takai-system/src/main/java/com/takai/system/service/impl/DocumentAuditConfigServiceImpl.java

@@ -8,24 +8,25 @@ import com.takai.system.service.IDocumentAuditConfigService;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.stereotype.Service;
 
+import java.util.Arrays;
 import java.util.List;
 import java.util.stream.Collectors;
 
 /**
  * 审核配置Service业务层处理
- * 
+ *
  * @author takai
  * @date 2025-05-29
  */
 @Service
-public class DocumentAuditConfigServiceImpl implements IDocumentAuditConfigService 
+public class DocumentAuditConfigServiceImpl implements IDocumentAuditConfigService
 {
     @Autowired
     private DocumentAuditConfigMapper documentAuditConfigMapper;
 
     /**
      * 查询审核配置
-     * 
+     *
      * @param id 审核配置主键
      * @return 审核配置
      */
@@ -37,19 +38,25 @@ public class DocumentAuditConfigServiceImpl implements IDocumentAuditConfigServi
 
     /**
      * 查询审核配置列表
-     * 
+     *
      * @param documentAuditConfig 审核配置
      * @return 审核配置
      */
     @Override
     public List<DocumentAuditConfig> selectDocumentAuditConfigList(DocumentAuditConfig documentAuditConfig)
     {
-        return documentAuditConfigMapper.selectDocumentAuditConfigList(documentAuditConfig);
+        List<DocumentAuditConfig> list = documentAuditConfigMapper.selectDocumentAuditConfigList(documentAuditConfig);
+        if (!list.isEmpty()) {
+            for (DocumentAuditConfig documentAuditConfig1 : list) {
+                documentAuditConfig1.setApproverList(Arrays.asList(documentAuditConfig1.getApprover().split(",")));
+            }
+        }
+        return list;
     }
 
     /**
      * 新增审核配置
-     * 
+     *
      * @param documentAuditConfig 审核配置
      * @return 结果
      */
@@ -66,7 +73,7 @@ public class DocumentAuditConfigServiceImpl implements IDocumentAuditConfigServi
 
     /**
      * 修改审核配置
-     * 
+     *
      * @param documentAuditConfig 审核配置
      * @return 结果
      */
@@ -79,7 +86,7 @@ public class DocumentAuditConfigServiceImpl implements IDocumentAuditConfigServi
 
     /**
      * 批量删除审核配置
-     * 
+     *
      * @param ids 需要删除的审核配置主键
      * @return 结果
      */
@@ -111,7 +118,7 @@ public class DocumentAuditConfigServiceImpl implements IDocumentAuditConfigServi
 
     /**
      * 删除审核配置信息
-     * 
+     *
      * @param id 审核配置主键
      * @return 结果
      */

+ 16 - 7
takai-system/src/main/resources/mapper/system/DocumentAuditConfigMapper.xml

@@ -3,7 +3,7 @@
 PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
 "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
 <mapper namespace="com.takai.system.mapper.DocumentAuditConfigMapper">
-    
+
     <resultMap type="DocumentAuditConfig" id="DocumentAuditConfigResult">
         <result property="id"    column="id"    />
         <result property="deptId"    column="dept_id"    />
@@ -34,9 +34,9 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
             dac.create_time,
             dac.update_by,
             dac.update_time,
-            su.user_name
+            GROUP_CONCAT(su.user_name ) as user_name
         from document_audit_config dac
-        left join sys_user su on dac.approver = su.user_id
+        left join sys_user su ON  FIND_IN_SET(su.user_id,dac.approver) > 0
         <where>
             <if test="approver != null  and approver != ''"> and approver = #{approver}</if>
 <!--            <if test="deptId != null "> and dept_id = #{deptId}</if>-->
@@ -44,13 +44,22 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
 <!--            <if test="approver != null  and approver != ''"> and FIND_IN_SET(#{approver}, approver) > 0</if>-->
 <!--            <if test="chain != null  and chain != ''"> and chain = #{chain}</if>-->
         </where>
+        GROUP BY dac.id,dac.dept_id,
+        dac.project_id,
+        dac.node_order,
+        dac.approver,
+        dac.CHAIN,
+        dac.create_by,
+        dac.create_time,
+        dac.update_by,
+        dac.update_time
     </select>
-    
+
     <select id="selectDocumentAuditConfigById" parameterType="Long" resultMap="DocumentAuditConfigResult">
         <include refid="selectDocumentAuditConfigVo"/>
         where id = #{id}
     </select>
-        
+
     <insert id="insertDocumentAuditConfig" parameterType="DocumentAuditConfig" useGeneratedKeys="true" keyProperty="id">
         insert into document_audit_config
         <trim prefix="(" suffix=")" suffixOverrides=",">
@@ -98,7 +107,7 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
     </delete>
 
     <delete id="deleteDocumentAuditConfigByIds" parameterType="String">
-        delete from document_audit_config where id in 
+        delete from document_audit_config where id in
         <foreach item="id" collection="array" open="(" separator="," close=")">
             #{id}
         </foreach>
@@ -113,4 +122,4 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
         order by node_order asc
     </select>
 
-</mapper>
+</mapper>