From 733d48f803a002033c5f1d6c22dcc799bf1b724c Mon Sep 17 00:00:00 2001
From: heheng <475597332@qq.com>
Date: 星期二, 23 九月 2025 14:09:20 +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..1f48dfc 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.gkhy.common.core.domain.entity.SysDept;
+import com.gkhy.common.core.domain.entity.SysUser;
+import com.gkhy.common.core.domain.model.LoginUser;
+import com.gkhy.common.utils.SecurityUtils;
+import com.gkhy.system.mapper.SysDeptMapper;
+import com.gkhy.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