feat: 权限申请流程结束后自动赋予临时权限
This commit is contained in:
+29
-24
@@ -21,9 +21,13 @@ import com.jero.modules.activiti.process.espermissionapply.entity.ProcessEsPermi
|
||||
import com.jero.modules.activiti.process.espermissionapply.service.EsPermissionApplyFlowService;
|
||||
import com.jero.modules.activiti.process.espermissionapply.service.IProcessEsPermissionApplyService;
|
||||
import com.jero.modules.activiti.process.espermissionapply.vo.EsPermissionApplyFlowVO;
|
||||
import com.jero.modules.activiti.process.espermissionapply.vo.ProcessEsPermissionApplyVO;
|
||||
import com.jero.modules.activiti.service.ProcessAllService;
|
||||
import com.jero.modules.activiti.service.ProcessApprovalRecordService;
|
||||
import com.jero.modules.activiti.service.ProcessNodeLinkService;
|
||||
import com.jero.modules.laws.enterprise.service.EnterpriseStandardAuthUserService;
|
||||
import com.jero.modules.laws.standard.entity.LawsEnterpriseStandard;
|
||||
import com.jero.modules.laws.standard.entity.LawsStandardTempPermission;
|
||||
import org.activiti.engine.ProcessEngine;
|
||||
import org.activiti.engine.ProcessEngines;
|
||||
import org.activiti.engine.RuntimeService;
|
||||
@@ -74,6 +78,9 @@ public class EsPermissionApplyFlowServiceImpl implements EsPermissionApplyFlowSe
|
||||
@Resource
|
||||
private TaskService taskService;
|
||||
|
||||
@Resource
|
||||
private EnterpriseStandardAuthUserService enterpriseStandardAuthUserService;
|
||||
|
||||
@Override
|
||||
public void flowStart(EsPermissionApplyFlowVO esPermissionApplyFlowVO) {
|
||||
// 流程信息
|
||||
@@ -127,9 +134,9 @@ public class EsPermissionApplyFlowServiceImpl implements EsPermissionApplyFlowSe
|
||||
|
||||
private void handleBusinessData(EsPermissionApplyFlowVO esPermissionApplyFlowVO) {
|
||||
ProcessEsPermissionApply processEsPermissionApply = esPermissionApplyFlowVO.getProcessEsPermissionApply();
|
||||
if (StringUtils.isNotBlank(processEsPermissionApply.getId())){
|
||||
if (StringUtils.isNotBlank(processEsPermissionApply.getId())) {
|
||||
processEsPermissionApplyService.updateById(processEsPermissionApply);
|
||||
}else {
|
||||
} else {
|
||||
processEsPermissionApplyService.save(processEsPermissionApply);
|
||||
}
|
||||
}
|
||||
@@ -138,7 +145,7 @@ public class EsPermissionApplyFlowServiceImpl implements EsPermissionApplyFlowSe
|
||||
Map<String, Object> stringObjectHashMap;
|
||||
stringObjectHashMap = map.entrySet().stream().map(v -> {
|
||||
if (v.getValue() instanceof List) {
|
||||
List<String> list = (List<String>)v.getValue();
|
||||
List<String> list = (List<String>) v.getValue();
|
||||
v.setValue(String.join(",", list));
|
||||
}
|
||||
return v;
|
||||
@@ -183,12 +190,12 @@ public class EsPermissionApplyFlowServiceImpl implements EsPermissionApplyFlowSe
|
||||
.eq(ProcessDraft::getUserId, loginUser.getId())
|
||||
.and(qw -> qw.ne(ProcessDraft::getSaveSource, "3")
|
||||
.or().isNull(ProcessDraft::getSaveSource)));
|
||||
if (!processDraftList.isEmpty()){
|
||||
if (!processDraftList.isEmpty()) {
|
||||
String id = "";
|
||||
if(Objects.isNull(processAll)){
|
||||
if (Objects.isNull(processAll)) {
|
||||
processAll = new ProcessAll();
|
||||
id = String.valueOf(SnowflakeUtils.snowflake());
|
||||
}else {
|
||||
} else {
|
||||
id = processAll.getId();
|
||||
}
|
||||
// 存在草稿
|
||||
@@ -196,22 +203,22 @@ public class EsPermissionApplyFlowServiceImpl implements EsPermissionApplyFlowSe
|
||||
// 属性拷贝
|
||||
BeanUtils.copyProperties(processDraft, processAll);
|
||||
processAll.setId(id);
|
||||
if (StringUtils.isNotBlank(processDraft.getHandleFile())){
|
||||
if (StringUtils.isNotBlank(processDraft.getHandleFile())) {
|
||||
processApprovalRecord.setCommitFile(processDraft.getHandleFile());
|
||||
}
|
||||
if (StringUtils.isNotBlank(processDraft.getHandleText())){
|
||||
if (StringUtils.isNotBlank(processDraft.getHandleText())) {
|
||||
processApprovalRecord.setCommitText(processDraft.getHandleText());
|
||||
}
|
||||
if (!Objects.isNull(processDraft.getProcessDueDate())){
|
||||
if (!Objects.isNull(processDraft.getProcessDueDate())) {
|
||||
processAll.setDueTime(processDraft.getProcessDueDate());
|
||||
}
|
||||
if (StringUtils.isNotBlank(processDraft.getProcessDescription())){
|
||||
if (StringUtils.isNotBlank(processDraft.getProcessDescription())) {
|
||||
processAll.setPrcMes(processDraft.getProcessDescription());
|
||||
}
|
||||
if (StringUtils.isNotBlank(processDraft.getInfoJsonStr())){
|
||||
if (StringUtils.isNotBlank(processDraft.getInfoJsonStr())) {
|
||||
esPermissionApplyFlowVO.setInfoJsonStr(processDraft.getInfoJsonStr());
|
||||
}
|
||||
}else {
|
||||
} else {
|
||||
// 不存在草稿
|
||||
processApprovalRecord = processApprovalRecordService.getOne(new LambdaQueryWrapper<ProcessApprovalRecord>()
|
||||
.eq(ProcessApprovalRecord::getUserId, loginUser.getId())
|
||||
@@ -253,7 +260,7 @@ public class EsPermissionApplyFlowServiceImpl implements EsPermissionApplyFlowSe
|
||||
.set(ProcessApprovalRecord::getEndTime, new Date()));
|
||||
|
||||
Task task = taskService.createTaskQuery().taskId(processAll.getTaskId()).singleResult();
|
||||
if (task!= null) {
|
||||
if (task != null) {
|
||||
// 完成任务
|
||||
taskService.complete(task.getId(), map);
|
||||
// 处理业务表数据
|
||||
@@ -265,18 +272,16 @@ public class EsPermissionApplyFlowServiceImpl implements EsPermissionApplyFlowSe
|
||||
.set(ProcessApprovalRecord::getCommitFlag, processApprovalRecord.getCommitFlag()));
|
||||
// 判断是否是最后一个节点
|
||||
if (isLastNode(processAll.getProcessInstanceId())
|
||||
&& map.containsKey("pass") && (boolean) map.get("pass")){
|
||||
&& map.containsKey("pass") && (boolean) map.get("pass")) {
|
||||
// 临时权限设置
|
||||
/**
|
||||
* ProcessEsPermissionApplyVO processEsPermissionApplyVO = processEsPermissionApplyService.queryByProjectId(processAll.getProjectId());
|
||||
* List<LawsEnterpriseStandard> lawsEnterpriseStandardList = processEsPermissionApplyVO.getLawsEnterpriseStandardList();
|
||||
* List<String> idList = lawsEnterpriseStandardList.stream().map(LawsEnterpriseStandard::getId).collect(Collectors.toList());
|
||||
* LawsStandardTempPermission lawsStandardTempPermission = new LawsStandardTempPermission();
|
||||
* lawsStandardTempPermission.setStandardIds(String.join(",", idList));
|
||||
* lawsStandardTempPermission.setUserIds(processEsPermissionApplyVO.getUserId());
|
||||
* lawsStandardTempPermission.setAuthDate(processEsPermissionApplyVO.getExpirationDate());
|
||||
* enterpriseStandardAuthUserService.saveTempPermissionTwo(lawsStandardTempPermission);
|
||||
*/
|
||||
ProcessEsPermissionApplyVO processEsPermissionApplyVO = processEsPermissionApplyService.queryByProjectId(processAll.getProjectId());
|
||||
List<LawsEnterpriseStandard> lawsEnterpriseStandardList = processEsPermissionApplyVO.getLawsEnterpriseStandardList();
|
||||
List<String> idList = lawsEnterpriseStandardList.stream().map(LawsEnterpriseStandard::getId).collect(Collectors.toList());
|
||||
LawsStandardTempPermission lawsStandardTempPermission = new LawsStandardTempPermission();
|
||||
lawsStandardTempPermission.setStandardIds(String.join(",", idList));
|
||||
lawsStandardTempPermission.setUserIds(processEsPermissionApplyVO.getUserId());
|
||||
lawsStandardTempPermission.setAuthDate(processEsPermissionApplyVO.getExpirationDate());
|
||||
enterpriseStandardAuthUserService.saveTempPermissionTwo(lawsStandardTempPermission);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
+1
-9
@@ -142,15 +142,7 @@ public class EnterpriseStandardAuthUserServiceImpl extends ServiceImpl<Enterpris
|
||||
EnterpriseStandardAuthUser enterpriseStandardAuthUser = new EnterpriseStandardAuthUser();
|
||||
enterpriseStandardAuthUser.setAuthUser(userId);
|
||||
enterpriseStandardAuthUser.setStandardId(standardId);
|
||||
if (lawsStandardTempPermission.getAuthDate() != null) {
|
||||
Date authDate = lawsStandardTempPermission.getAuthDate();
|
||||
// 对authDate加一天
|
||||
Calendar c = Calendar.getInstance();
|
||||
c.setTime(authDate);
|
||||
c.add(Calendar.DATE, 1);
|
||||
authDate = c.getTime();
|
||||
enterpriseStandardAuthUser.setAuthExpireDate(authDate);
|
||||
}
|
||||
enterpriseStandardAuthUser.setAuthExpireDate(lawsStandardTempPermission.getAuthDate());
|
||||
esAuthUsers.add(enterpriseStandardAuthUser);
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user