From 5dbb66977629ad292b4b8a87d43467ebeca72536 Mon Sep 17 00:00:00 2001 From: qiezi <15576055375@163.com> Date: Mon, 4 Nov 2024 16:36:01 +0800 Subject: [PATCH] 20241101 --- .../Impl/AuthGroupMemberServiceImpl.java | 5 - .../service/Impl/AuthGroupServiceImpl.java | 2 - .../service/Impl/AuthHistServiceImpl.java | 25 +++ .../service/Impl/AuthRuleServiceImpl.java | 150 ++++++++++++++++++ 4 files changed, 175 insertions(+), 7 deletions(-) create mode 100644 src/main/java/com/xujie/sys/modules/auth/service/Impl/AuthHistServiceImpl.java create mode 100644 src/main/java/com/xujie/sys/modules/auth/service/Impl/AuthRuleServiceImpl.java diff --git a/src/main/java/com/xujie/sys/modules/auth/service/Impl/AuthGroupMemberServiceImpl.java b/src/main/java/com/xujie/sys/modules/auth/service/Impl/AuthGroupMemberServiceImpl.java index 8e02185a..eb76aaf8 100644 --- a/src/main/java/com/xujie/sys/modules/auth/service/Impl/AuthGroupMemberServiceImpl.java +++ b/src/main/java/com/xujie/sys/modules/auth/service/Impl/AuthGroupMemberServiceImpl.java @@ -3,19 +3,14 @@ package com.xujie.sys.modules.auth.service.Impl; import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; import com.xujie.sys.modules.auth.data.AuthGroupData; import com.xujie.sys.modules.auth.data.AuthGroupMemberData; -import com.xujie.sys.modules.auth.data.vo.AuthBusinessDataVo; import com.xujie.sys.modules.auth.data.vo.AuthGroupMemberDataVo; import com.xujie.sys.modules.auth.service.AuthGroupMemberService; import com.xujie.sys.modules.auth.mapper.AuthGroupMemberMapper; -import com.xujie.sys.modules.sys.dao.SysUserDao; -import com.xujie.sys.modules.sys.entity.SysUserEntity; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; import java.util.Date; -import java.util.HashMap; import java.util.List; -import java.util.Map; /** * @author Jia diff --git a/src/main/java/com/xujie/sys/modules/auth/service/Impl/AuthGroupServiceImpl.java b/src/main/java/com/xujie/sys/modules/auth/service/Impl/AuthGroupServiceImpl.java index d0bfcc96..eab9b9d6 100644 --- a/src/main/java/com/xujie/sys/modules/auth/service/Impl/AuthGroupServiceImpl.java +++ b/src/main/java/com/xujie/sys/modules/auth/service/Impl/AuthGroupServiceImpl.java @@ -3,11 +3,9 @@ package com.xujie.sys.modules.auth.service.Impl; import com.baomidou.mybatisplus.core.metadata.IPage; import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; -import com.sun.org.apache.bcel.internal.generic.NEW; import com.xujie.sys.common.utils.PageUtils; import com.xujie.sys.modules.auth.data.AuthGroupData; import com.xujie.sys.modules.auth.data.AuthStepData; -import com.xujie.sys.modules.auth.data.vo.AuthBusinessDataVo; import com.xujie.sys.modules.auth.data.vo.AuthGroupDataVo; import com.xujie.sys.modules.auth.mapper.AuthStepMapper; import com.xujie.sys.modules.auth.service.AuthGroupService; diff --git a/src/main/java/com/xujie/sys/modules/auth/service/Impl/AuthHistServiceImpl.java b/src/main/java/com/xujie/sys/modules/auth/service/Impl/AuthHistServiceImpl.java new file mode 100644 index 00000000..e899ff3a --- /dev/null +++ b/src/main/java/com/xujie/sys/modules/auth/service/Impl/AuthHistServiceImpl.java @@ -0,0 +1,25 @@ +package com.xujie.sys.modules.auth.service.Impl; + +import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; +import com.xujie.sys.modules.auth.data.AuthHistData; +import com.xujie.sys.modules.auth.service.AuthHistService; +import com.xujie.sys.modules.auth.mapper.AuthHistMapper; +import org.springframework.stereotype.Service; + +/** +* @author Jia +* @description 针对表【auth_hist(审批记录表)】的数据库操作Service实现 +* @createDate 2024-11-01 15:21:32 +*/ +@Service +public class AuthHistServiceImpl extends ServiceImpl + implements AuthHistService{ + + public void saveAuthHist(AuthHistData authHistData) { + this.save(authHistData); + } +} + + + + diff --git a/src/main/java/com/xujie/sys/modules/auth/service/Impl/AuthRuleServiceImpl.java b/src/main/java/com/xujie/sys/modules/auth/service/Impl/AuthRuleServiceImpl.java new file mode 100644 index 00000000..d0fb7ccd --- /dev/null +++ b/src/main/java/com/xujie/sys/modules/auth/service/Impl/AuthRuleServiceImpl.java @@ -0,0 +1,150 @@ +package com.xujie.sys.modules.auth.service.Impl; + +import com.baomidou.mybatisplus.core.metadata.IPage; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; +import com.xujie.sys.common.utils.PageUtils; +import com.xujie.sys.modules.auth.data.AuthHistData; +import com.xujie.sys.modules.auth.data.AuthRuleData; +import com.xujie.sys.modules.auth.data.AuthStepData; +import com.xujie.sys.modules.auth.data.vo.AuthRuleDataVo; +import com.xujie.sys.modules.auth.data.vo.AuthStepDataVo; +import com.xujie.sys.modules.auth.mapper.AuthStepMapper; +import com.xujie.sys.modules.auth.service.AuthRuleService; +import com.xujie.sys.modules.auth.mapper.AuthRuleMapper; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.stereotype.Service; +import org.springframework.transaction.annotation.Transactional; + +import java.util.*; + +/** +* @author Jia +* @description 针对表【auth_rule】的数据库操作Service实现 +* @createDate 2024-08-21 18:34:17 +*/ +@Service +public class AuthRuleServiceImpl extends ServiceImpl + implements AuthRuleService{ + + @Autowired + private AuthRuleMapper authRuleMapper; + + @Autowired + private AuthStepMapper authStepMapper; + + @Autowired + private AuthHistServiceImpl authHistService; + + @Override + public PageUtils authRuleSearch(AuthRuleData inData) { + IPage AuthRuleList = this.authRuleMapper.authRuleSearch(new Page(inData.getPage(), inData.getLimit()), inData); + return new PageUtils(AuthRuleList); + } + + @Override + public void authRuleSave(AuthRuleData data) { + Map map = new HashMap<>(); + map.put("site", data.getSite()); + map.put("rule_no", data.getRuleNo()); + List list = authRuleMapper.selectByMap(map); + if (list.size() > 0) { + throw new RuntimeException("该site下已存在相同的审批规则"); + } + data.setPriority(1); + data.setCreateDate(new Date()); + authRuleMapper.insert(data); + + } + + @Override + public void authRuleEdit(AuthRuleData data) { +// Map map = new HashMap<>(); +// map.put("site", data.getSite()); +// map.put("bu_no", data.getBuNo()); +// map.put("rule_no", data.getRuleNo()); +// List list = authRuleMapper.selectByMap(map); +// if (list.size() > 0) { +// throw new RuntimeException("该site下已存在相同的审批规则"); +// } + data.setUpdateDate(new Date()); + authRuleMapper.updateById(data); + + } + + @Override + public void authRuleDelete(AuthRuleData data) { + AuthStepData authStepData = new AuthStepData(); + authStepData.setAuthRuleId(data.getAuthRuleId()); + List authStepDataVos = authStepMapper.authStepSearch(authStepData); + if (!authStepDataVos.isEmpty()) { + throw new RuntimeException("该审批规则下存在审批步骤,不可删除"); + } + authRuleMapper.deleteById(data.getAuthRuleId()); + } + + @Override + public List getBusinessTypeList(AuthRuleDataVo data) { + List businessTypeList = authRuleMapper.getBusinessTypeList(data); + return businessTypeList; + } + + @Override + @Transactional(rollbackFor = Exception.class) + public void getFormAuthRule(String recordType,String site,String buNo,String orderRef1) { + AuthRuleDataVo authRuleData = authRuleMapper.getFormAuthRule(recordType,site,buNo); + List authStepsByRuleId = authStepMapper.getAuthStepsByRuleId(authRuleData.getAuthRuleId()); + for (AuthStepDataVo authStepDataVo : authStepsByRuleId) { + AuthHistData authHistData = new AuthHistData(); + authHistData.setRecordTypeDb(recordType); + authHistData.setOrderRef1(orderRef1); + authHistData.setSite(site); + authHistData.setAuthRuleId(authStepDataVo.getAuthRuleId()); + authHistData.setStepId(authStepDataVo.getStepNo()); + authHistData.setAuthTypeDb(authStepDataVo.getAuthTypeDb()); + + if (Objects.equals(authStepDataVo.getAuthTypeDb(), "U")){ + authHistData.setAuthUserId(authStepDataVo.getAuthUserNo()); + } else { + authHistData.setAuthGroupId(authStepDataVo.getAuthGroupNo()); + } + + authHistData.setAuthFlag("N"); + + // 如果是同时审批则CanAuthFlag为Y + if (authRuleData.getIsSimultaneous()) { + authHistData.setCanAuthFlag("Y"); + } else { + // 如果是首步骤则CanAuthFlag为Y其余的都为N + if (authStepDataVo.getFirstStepFlag().equals("Y")) { + authHistData.setCanAuthFlag("Y"); + } else { + authHistData.setCanAuthFlag("N"); + } + } + + if (authStepDataVo.getFirstStepFlag().equals("Y")){ + authHistData.setFirstStepFlag("Y"); + authHistData.setLastStepFlag("N"); + } else if (authStepDataVo.getLastStepFlag().equals("Y")){ + authHistData.setFirstStepFlag("N"); + authHistData.setLastStepFlag("Y"); + } else { + authHistData.setFirstStepFlag("N"); + authHistData.setLastStepFlag("N"); + } + + try { + authHistService.saveAuthHist(authHistData); + } catch (Exception e) { + throw new RuntimeException("审批记录保存失败:" + e.getMessage()); + } + + } + } + +} + + + +