4 changed files with 175 additions and 7 deletions
-
5src/main/java/com/xujie/sys/modules/auth/service/Impl/AuthGroupMemberServiceImpl.java
-
2src/main/java/com/xujie/sys/modules/auth/service/Impl/AuthGroupServiceImpl.java
-
25src/main/java/com/xujie/sys/modules/auth/service/Impl/AuthHistServiceImpl.java
-
150src/main/java/com/xujie/sys/modules/auth/service/Impl/AuthRuleServiceImpl.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<AuthHistMapper, AuthHistData> |
||||
|
implements AuthHistService{ |
||||
|
|
||||
|
public void saveAuthHist(AuthHistData authHistData) { |
||||
|
this.save(authHistData); |
||||
|
} |
||||
|
} |
||||
|
|
||||
|
|
||||
|
|
||||
|
|
||||
@ -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<AuthRuleMapper, AuthRuleData> |
||||
|
implements AuthRuleService{ |
||||
|
|
||||
|
@Autowired |
||||
|
private AuthRuleMapper authRuleMapper; |
||||
|
|
||||
|
@Autowired |
||||
|
private AuthStepMapper authStepMapper; |
||||
|
|
||||
|
@Autowired |
||||
|
private AuthHistServiceImpl authHistService; |
||||
|
|
||||
|
@Override |
||||
|
public PageUtils authRuleSearch(AuthRuleData inData) { |
||||
|
IPage<AuthRuleDataVo> AuthRuleList = this.authRuleMapper.authRuleSearch(new Page<AuthRuleData>(inData.getPage(), inData.getLimit()), inData); |
||||
|
return new PageUtils(AuthRuleList); |
||||
|
} |
||||
|
|
||||
|
@Override |
||||
|
public void authRuleSave(AuthRuleData data) { |
||||
|
Map<String, Object> map = new HashMap<>(); |
||||
|
map.put("site", data.getSite()); |
||||
|
map.put("rule_no", data.getRuleNo()); |
||||
|
List<AuthRuleData> 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<String, Object> map = new HashMap<>(); |
||||
|
// map.put("site", data.getSite()); |
||||
|
// map.put("bu_no", data.getBuNo()); |
||||
|
// map.put("rule_no", data.getRuleNo()); |
||||
|
// List<AuthRuleData> 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<AuthStepDataVo> authStepDataVos = authStepMapper.authStepSearch(authStepData); |
||||
|
if (!authStepDataVos.isEmpty()) { |
||||
|
throw new RuntimeException("该审批规则下存在审批步骤,不可删除"); |
||||
|
} |
||||
|
authRuleMapper.deleteById(data.getAuthRuleId()); |
||||
|
} |
||||
|
|
||||
|
@Override |
||||
|
public List<AuthRuleDataVo> getBusinessTypeList(AuthRuleDataVo data) { |
||||
|
List<AuthRuleDataVo> 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<AuthStepDataVo> 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()); |
||||
|
} |
||||
|
|
||||
|
} |
||||
|
} |
||||
|
|
||||
|
} |
||||
|
|
||||
|
|
||||
|
|
||||
|
|
||||
Write
Preview
Loading…
Cancel
Save
Reference in new issue