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 | 52 ++++++++++++++++++++++++++++++++++++---------------- 1 files changed, 36 insertions(+), 16 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 c19e870..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 @@ -18,6 +18,7 @@ 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; @@ -42,23 +43,42 @@ } @Override - public int insertSignatureFlow(SignatureFlow signatureFlow) { -// SignatureFlow signatureFlow1 = signatureFlowMapper.selectByItemIdAndUserId(signatureFlow); -// if (signatureFlow1.getStatus() == 0 ){ -// throw new RuntimeException("尚未签名,不能流转"); -// } - List<SignatureFlowRep> signatureFlowReps = signatureFlowMapper.selectbyItemId(signatureFlow.getItemId()); - 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(signatureFlow.getSignUserId()); - SysDept sysDeptSign = sysDeptMapper.selectDeptById(signatureFlow.getSignDeptId()); - signatureFlow.setSignUserName(sysUserSign.getNickName()); - signatureFlow.setSignDeptName(sysDeptSign.getDeptName()); + 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("用户已签名,请勿重复选择"); + } + } - return signatureFlowMapper.insert(signatureFlow); + 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 -- Gitblit v1.9.2