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