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 |   83 ++++++++++++++++++++++++++++++-----------
 1 files changed, 61 insertions(+), 22 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 3f0e5d3..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,7 +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;
@@ -9,14 +13,20 @@
 import com.gkhy.sign.mapper.SignatureItemMapper;
 import com.gkhy.sign.service.SignatureItemService;
 import com.ruoyi.common.core.domain.entity.SysDept;
+import com.ruoyi.common.core.domain.entity.SysRole;
 import com.ruoyi.common.core.domain.entity.SysUser;
+import com.ruoyi.common.utils.PageUtils;
 import com.ruoyi.common.utils.SecurityUtils;
 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;
 
@@ -28,42 +38,71 @@
     @Autowired
     private SysDeptMapper sysDeptMapper;
     @Autowired
-    private SysUserMapper sysUser;
+    private SysUserMapper sysUserMapper;
 
     @Autowired
     private SignatureFlowMapper signatureFlowMapper;
 
     @Override
     public List<SignatureItemRep> selectItemList(SignatureItemReq signatureItem) {
-        SysUser user = SecurityUtils.getLoginUser().getUser();
-        signatureItem.setUserId(user.getUserId());
-        return signatureItemMapper.getItemList(signatureItem);
+        if (!SysUser.isAdmin(SecurityUtils.getUserId())) {
+            signatureItem.setUserId(SecurityUtils.getUserId());
+        }
+        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 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());
         signatureItem.setOriginateTime(new Date());
         int insert = signatureItemMapper.insertSignatureItem(signatureItem);
 
-        SignatureFlow signatureFlow = new SignatureFlow();
-        signatureFlow.setItemId(insert);
-        signatureFlow.setUserId(SecurityUtils.getUserId());
-        signatureFlow.setUserName(SecurityUtils.getUsername());
-        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.getUserName());
-        signatureFlow.setSignDeptId(sysDept1.getDeptId());
-        signatureFlow.setSignDeptName(sysDept1.getDeptName());
-        signatureFlow.setStatus(0);
-        signatureFlowMapper.insert(signatureFlow);
-
+        List<SignatureFlowRep> signatureFlowReps = signatureFlowMapper.selectbyItemId(signatureItem.getId());
+        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;
     }
 
@@ -76,7 +115,7 @@
     }
 
     @Override
-    public int deleteItem(Long[] ids) {
+    public int deleteItem(Integer ids) {
         return signatureItemMapper.deleteItemByIds(ids);
     }
 }

--
Gitblit v1.9.2