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