From a06aacdfa9fdc493eedfb5f5784853b1d8386165 Mon Sep 17 00:00:00 2001
From: “djh” <“3298565835@qq.com”>
Date: 星期二, 25 三月 2025 15:50:53 +0800
Subject: [PATCH] 更新

---
 signature/src/main/java/com/gkhy/sign/service/impl/SignatureItemServiceImpl.java |   72 ++++++++++++++++++++++++-----------
 1 files changed, 49 insertions(+), 23 deletions(-)

diff --git a/signature/src/main/java/com/gkhy/sign/service/impl/SignatureItemServiceImpl.java b/signature/src/main/java/com/gkhy/sign/service/impl/SignatureItemServiceImpl.java
index d3d14bf..e660910 100644
--- a/signature/src/main/java/com/gkhy/sign/service/impl/SignatureItemServiceImpl.java
+++ b/signature/src/main/java/com/gkhy/sign/service/impl/SignatureItemServiceImpl.java
@@ -1,9 +1,11 @@
 package com.gkhy.sign.service.impl;
 
+import cn.hutool.crypto.asymmetric.Sign;
 import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
 import com.github.pagehelper.PageInfo;
 import com.gkhy.sign.dto.rep.SignatureFlowRep;
 import com.gkhy.sign.dto.rep.SignatureItemRep;
+import com.gkhy.sign.dto.req.SignatureItemAddReq;
 import com.gkhy.sign.dto.req.SignatureItemReq;
 import com.gkhy.sign.entity.SignatureFlow;
 import com.gkhy.sign.entity.SignatureItem;
@@ -18,9 +20,13 @@
 import com.ruoyi.system.mapper.SysDeptMapper;
 import com.ruoyi.system.mapper.SysUserMapper;
 import io.lettuce.core.RedisClient;
+import org.springframework.beans.BeanUtils;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.stereotype.Service;
 
+import javax.validation.constraints.NotNull;
+import java.util.ArrayList;
+import java.util.Arrays;
 import java.util.Date;
 import java.util.List;
 
@@ -32,7 +38,7 @@
     @Autowired
     private SysDeptMapper sysDeptMapper;
     @Autowired
-    private SysUserMapper sysUser;
+    private SysUserMapper sysUserMapper;
 
     @Autowired
     private SignatureFlowMapper signatureFlowMapper;
@@ -42,16 +48,34 @@
         if (!SysUser.isAdmin(SecurityUtils.getUserId())) {
             signatureItem.setUserId(SecurityUtils.getUserId());
         }
-        List<SignatureItemRep> itemList = signatureItemMapper.getItemList(signatureItem);
-        for (SignatureItemRep signatureItemRep : itemList) {
+        List<SignatureItemRep> signatureItemReps = new ArrayList<>();
+
+        if (signatureItem.getType()==1){
+            signatureItemReps  = signatureItemMapper.getItemList(signatureItem);
+        }else {
+            signatureItemReps  = signatureItemMapper.getItemListApp(signatureItem);
+        }
+
+        for (SignatureItemRep signatureItemRep : signatureItemReps) {
             List<SignatureFlowRep> signatureFlowReps = signatureFlowMapper.selectbyItemId(signatureItemRep.getId());
             signatureItemRep.setSignatureFlows(signatureFlowReps);
+            String initiaiUserId = signatureItemRep.getInitiaiUserId();
+            String[] split = initiaiUserId.split(",");
+            StringBuffer stringBuffer = new StringBuffer();
+            for (String userId : split) {
+                SysUser sysUser1 = sysUserMapper.selectUserById(Long.valueOf(userId));
+                stringBuffer.append(sysUser1.getNickName()).append(",");
+            }
+            stringBuffer.deleteCharAt(stringBuffer.length()-1);
+            signatureItemRep.setInitiaiUserName(stringBuffer.toString());
         }
-        return itemList;
+        return signatureItemReps;
     }
 
     @Override
-    public int insertSignatureItem(SignatureItem signatureItem) {
+    public int insertSignatureItem(SignatureItemAddReq signatureItemAddReq) {
+        SignatureItem signatureItem = new SignatureItem();
+        BeanUtils.copyProperties(signatureItemAddReq,signatureItem);
         SysUser user = SecurityUtils.getLoginUser().getUser();
         signatureItem.setCreateBy(user.getUserName());
         signatureItem.setCreateTime(new Date());
@@ -59,24 +83,26 @@
         int insert = signatureItemMapper.insertSignatureItem(signatureItem);
 
         List<SignatureFlowRep> signatureFlowReps = signatureFlowMapper.selectbyItemId(signatureItem.getId());
-        SignatureFlow signatureFlow = new SignatureFlow();
-        signatureFlow.setItemId(signatureItem.getId());
-        signatureFlow.setUserId(SecurityUtils.getUserId());
-        SysUser sysUser2 = sysUser.selectUserById(SecurityUtils.getUserId());
-        signatureFlow.setUserName(sysUser2.getNickName());
-        signatureFlow.setDeptId(SecurityUtils.getDeptId());
-        SysDept sysDept = sysDeptMapper.selectDeptById(SecurityUtils.getDeptId());
-        signatureFlow.setDeptName(sysDept.getDeptName());
-        signatureFlow.setSignUserId(signatureItem.getInitiaiUserId());
-        SysUser sysUser1 = sysUser.selectUserById(signatureItem.getInitiaiUserId());
-        SysDept sysDept1 = sysDeptMapper.selectDeptById(sysUser1.getDeptId());
-        signatureFlow.setSignUserName(sysUser1.getNickName());
-        signatureFlow.setSignDeptId(sysDept1.getDeptId());
-        signatureFlow.setSignDeptName(sysDept1.getDeptName());
-        signatureFlow.setStatus(0);
-        signatureFlow.setSort(signatureFlowReps.size()+1);
-        signatureFlowMapper.insert(signatureFlow);
-
+        for (String userDept : signatureItemAddReq.getUserDept()) {
+            String[] split = userDept.split("_");
+            SignatureFlow signatureFlow = new SignatureFlow();
+            signatureFlow.setItemId(signatureItem.getId());
+            signatureFlow.setUserId(SecurityUtils.getUserId());
+            SysUser sysUser2 = sysUserMapper.selectUserById(SecurityUtils.getUserId());
+            signatureFlow.setUserName(sysUser2.getNickName());
+            signatureFlow.setDeptId(SecurityUtils.getDeptId());
+            SysDept sysDept = sysDeptMapper.selectDeptById(SecurityUtils.getDeptId());
+            signatureFlow.setDeptName(sysDept.getDeptName());
+            signatureFlow.setSignUserId(Long.valueOf(split[0]));
+            SysUser sysUserSign = sysUserMapper.selectUserById(Long.valueOf(split[0]));
+            SysDept sysDeptSign = sysDeptMapper.selectDeptById(Long.valueOf(split[1]));
+            signatureFlow.setSignUserName(sysUserSign.getNickName());
+            signatureFlow.setSignDeptId(sysDeptSign.getDeptId());
+            signatureFlow.setSignDeptName(sysDeptSign.getDeptName());
+            signatureFlow.setStatus(0);
+            signatureFlow.setSort(signatureFlowReps.size()+1);
+            signatureFlowMapper.insert(signatureFlow);
+        }
         return insert;
     }
 

--
Gitblit v1.9.2