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/SignatureFlowServiceImpl.java |   92 +++++++++++++++++++++++++++++++++++++++++++++-
 1 files changed, 90 insertions(+), 2 deletions(-)

diff --git a/signature/src/main/java/com/gkhy/sign/service/impl/SignatureFlowServiceImpl.java b/signature/src/main/java/com/gkhy/sign/service/impl/SignatureFlowServiceImpl.java
index 66f2180..8a288ac 100644
--- a/signature/src/main/java/com/gkhy/sign/service/impl/SignatureFlowServiceImpl.java
+++ b/signature/src/main/java/com/gkhy/sign/service/impl/SignatureFlowServiceImpl.java
@@ -2,12 +2,25 @@
 
 import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
 import com.gkhy.sign.dto.rep.SignatureFlowRep;
+import com.gkhy.sign.dto.req.SignatureFlowAddReq;
+import com.gkhy.sign.dto.req.SignatureFlowSignReq;
 import com.gkhy.sign.entity.SignatureFlow;
+import com.gkhy.sign.entity.SignatureItem;
 import com.gkhy.sign.mapper.SignatureFlowMapper;
+import com.gkhy.sign.mapper.SignatureItemMapper;
 import com.gkhy.sign.service.SignatureFlowService;
+import com.ruoyi.common.core.domain.entity.SysDept;
+import com.ruoyi.common.core.domain.entity.SysUser;
+import com.ruoyi.common.core.domain.model.LoginUser;
+import com.ruoyi.common.utils.SecurityUtils;
+import com.ruoyi.system.mapper.SysDeptMapper;
+import com.ruoyi.system.mapper.SysUserMapper;
+import org.springframework.beans.BeanUtils;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.stereotype.Service;
+import org.springframework.util.CollectionUtils;
 
+import java.util.Date;
 import java.util.List;
 
 @Service
@@ -15,6 +28,12 @@
 
     @Autowired
     private SignatureFlowMapper signatureFlowMapper;
+    @Autowired
+    private SignatureItemMapper signatureItemMapper;
+    @Autowired
+    private SysUserMapper sysUserMapper;
+    @Autowired
+    private SysDeptMapper sysDeptMapper;
 
 
 
@@ -24,7 +43,76 @@
     }
 
     @Override
-    public int insertSignatureFlow(SignatureFlow signatureFlow) {
-        return signatureFlowMapper.insert(signatureFlow);
+    public int insertSignatureFlow(SignatureFlowAddReq signatureFlowAddReq) {
+        List<SignatureFlow> signatureFlows = signatureFlowMapper.selectByItemIdAndStatus(signatureFlowAddReq.getItemId());
+        if (!CollectionUtils.isEmpty(signatureFlows)){
+            throw new RuntimeException("存在未签名记录,不能流转");
+        }
+        List<String> userDept = signatureFlowAddReq.getUserDept();
+        for (String fileData : userDept) {
+            String[] split = fileData.split("_");
+            List<SignatureFlow> signatureFlows1 = signatureFlowMapper.selectByItemIdAndUserId(signatureFlowAddReq.getItemId(), Long.valueOf(split[0]));
+            if (!signatureFlows1.isEmpty()){
+                throw new RuntimeException("用户已签名,请勿重复选择");
+            }
+        }
+
+        int insert = 0;
+        List<SignatureFlowRep> signatureFlowReps = signatureFlowMapper.selectbyItemId(signatureFlowAddReq.getItemId());
+        for (String fileData : userDept) {
+            SignatureFlow signatureFlow = new SignatureFlow();
+            BeanUtils.copyProperties(signatureFlowAddReq,signatureFlow);
+            String[] split = fileData.split("_");
+            signatureFlow.setSort(signatureFlowReps.size()+1);
+            SysUser sysUser = sysUserMapper.selectUserById(signatureFlow.getUserId());
+            SysDept sysDept = sysDeptMapper.selectDeptById(signatureFlow.getDeptId());
+            signatureFlow.setUserName(sysUser.getNickName());
+            signatureFlow.setDeptName(sysDept.getDeptName());
+            SysUser sysUserSign = sysUserMapper.selectUserById(Long.valueOf(split[0]));
+            SysDept sysDeptSign = sysDeptMapper.selectDeptById(Long.valueOf(split[1]));
+            signatureFlow.setSignUserId(sysUserSign.getUserId());
+            signatureFlow.setSignUserName(sysUserSign.getNickName());
+            signatureFlow.setSignDeptId(sysDeptSign.getDeptId());
+            signatureFlow.setSignDeptName(sysDeptSign.getDeptName());
+
+            insert+= signatureFlowMapper.insert(signatureFlow);
+        }
+
+        return insert;
+    }
+
+    @Override
+    public int saveSignatureFlow(SignatureFlowSignReq signatureFlowReq) {
+
+        return signatureFlowMapper.updateByFlowItemId(signatureFlowReq);
+    }
+
+    @Override
+    public int returnFile(SignatureFlow signatureFlow) {
+        LoginUser loginUser = SecurityUtils.getLoginUser();
+        signatureFlow.setStatus(3);
+        SysUser sysUser = sysUserMapper.selectUserById(loginUser.getUserId());
+        SysDept sysDept = sysDeptMapper.selectDeptById(loginUser.getDeptId());
+        signatureFlow.setUserId(loginUser.getUserId());
+        signatureFlow.setUserName(sysUser.getNickName());
+        signatureFlow.setDeptId(loginUser.getDeptId());
+        signatureFlow.setDeptName(sysDept.getDeptName());
+        signatureFlow.setSignDeptId(sysDept.getDeptId());
+        signatureFlow.setSignDeptName(sysDept.getDeptName());
+        signatureFlow.setSignUserId(sysUser.getUserId());
+        signatureFlow.setSignUserName(sysUser.getNickName());
+        List<SignatureFlowRep> signatureFlowReps = signatureFlowMapper.selectbyItemId(signatureFlow.getItemId());
+        signatureFlow.setSort(signatureFlowReps.size()+1);
+        int i = signatureFlowMapper.insert(signatureFlow);
+        SignatureItem signatureItem = new SignatureItem();
+        if (i>0){
+            signatureItem.setId(Long.valueOf(signatureFlow.getItemId()));
+            signatureItem.setFilePath(signatureFlow.getFilePath());
+            signatureItem.setStatus(2);
+            signatureItem.setUpdateBy(SecurityUtils.getUsername());
+            signatureItem.setUpdateTime(new Date());
+            signatureItemMapper.updateByItemId(signatureItem);
+        }
+        return i;
     }
 }

--
Gitblit v1.9.2