|
|
|
@ -0,0 +1,161 @@
|
|
|
|
|
package com.engine.organization.service.impl;
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
import com.engine.common.service.impl.HrmCommonServiceImpl;
|
|
|
|
|
import com.engine.core.impl.Service;
|
|
|
|
|
import com.engine.organization.entity.chart.params.QuickChangeMessageParam;
|
|
|
|
|
import com.engine.organization.entity.commom.CusWorkflowRequestInfo;
|
|
|
|
|
import com.engine.organization.entity.commom.RemindContentInfo;
|
|
|
|
|
import com.engine.organization.service.RemindMessageService;
|
|
|
|
|
import com.engine.organization.util.OrganizationCommonUtil;
|
|
|
|
|
import lombok.SneakyThrows;
|
|
|
|
|
|
|
|
|
|
import weaver.general.BaseBean;
|
|
|
|
|
import weaver.hrm.company.DepartmentComInfo;
|
|
|
|
|
import weaver.hrm.company.SubCompanyComInfo;
|
|
|
|
|
import weaver.workflow.webservices.WorkflowBaseInfo;
|
|
|
|
|
import weaver.workflow.webservices.WorkflowMainTableInfo;
|
|
|
|
|
import weaver.workflow.webservices.WorkflowRequestTableField;
|
|
|
|
|
import weaver.workflow.webservices.WorkflowRequestTableRecord;
|
|
|
|
|
|
|
|
|
|
import java.util.HashMap;
|
|
|
|
|
import java.util.List;
|
|
|
|
|
import java.util.Map;
|
|
|
|
|
import java.util.stream.Collectors;
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
/**
|
|
|
|
|
* @Author liang.cheng
|
|
|
|
|
* @Date 2024/4/11 2:30 PM
|
|
|
|
|
* @Description:
|
|
|
|
|
* @Version 1.0
|
|
|
|
|
*/
|
|
|
|
|
public class RemindMessageServiceImpl extends Service implements RemindMessageService {
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
@Override
|
|
|
|
|
public String remindWorkflow(QuickChangeMessageParam param) {
|
|
|
|
|
|
|
|
|
|
BaseBean bb = new BaseBean();
|
|
|
|
|
WorkflowBaseInfo workflowBaseInfo = new WorkflowBaseInfo();
|
|
|
|
|
workflowBaseInfo.setWorkflowId(param.getWorkflowId());
|
|
|
|
|
|
|
|
|
|
WorkflowMainTableInfo workflowMainTableInfo = new WorkflowMainTableInfo();
|
|
|
|
|
//String personId = bb.getPropValue("hrmOrganization", "personId");
|
|
|
|
|
String roleId = bb.getPropValue("hrmOrganization", "roleId");
|
|
|
|
|
|
|
|
|
|
HrmCommonServiceImpl hrmCommonService = new HrmCommonServiceImpl();
|
|
|
|
|
|
|
|
|
|
List<Object> roleMembers = hrmCommonService.getRoleMembers(roleId, "", null);
|
|
|
|
|
String result = roleMembers.stream()
|
|
|
|
|
.map(Object::toString)
|
|
|
|
|
.collect(Collectors.joining(","));
|
|
|
|
|
|
|
|
|
|
WorkflowRequestTableField mutiresource = OrganizationCommonUtil.createWorkflowRequestTableField("mutiresource", result, true);
|
|
|
|
|
RemindContentInfo remindContentInfo = remindContent(param);
|
|
|
|
|
WorkflowRequestTableField remark = OrganizationCommonUtil.createWorkflowRequestTableField("remark", remindContentInfo.getContent(), true);
|
|
|
|
|
WorkflowRequestTableField[] workflowRequestTableField = {mutiresource,remark};
|
|
|
|
|
|
|
|
|
|
WorkflowRequestTableRecord[] workflowRequestTableRecord = new WorkflowRequestTableRecord[1];
|
|
|
|
|
workflowMainTableInfo.setRequestRecords(workflowRequestTableRecord);
|
|
|
|
|
workflowRequestTableRecord[0] = new WorkflowRequestTableRecord();
|
|
|
|
|
workflowRequestTableRecord[0].setWorkflowRequestTableFields(workflowRequestTableField);
|
|
|
|
|
|
|
|
|
|
CusWorkflowRequestInfo cusWorkflowRequestInfo = CusWorkflowRequestInfo.builder()
|
|
|
|
|
.workflowName(String.format("组织架构快速调整审批提醒 (%s)",remindContentInfo.getTitle()))
|
|
|
|
|
.nextFlow("1")
|
|
|
|
|
.requestLevel("1")
|
|
|
|
|
.canView(true)
|
|
|
|
|
.creatorId(String.valueOf(user.getUID()))
|
|
|
|
|
.workflowBaseInfo(workflowBaseInfo)
|
|
|
|
|
.workflowMainTableInfo(workflowMainTableInfo)
|
|
|
|
|
.build();
|
|
|
|
|
|
|
|
|
|
return OrganizationCommonUtil.doCreateWorkflow(cusWorkflowRequestInfo);
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
/**
|
|
|
|
|
* 构造提醒内容
|
|
|
|
|
* @param param
|
|
|
|
|
* @return
|
|
|
|
|
*/
|
|
|
|
|
@SneakyThrows
|
|
|
|
|
private RemindContentInfo remindContent(QuickChangeMessageParam param) {
|
|
|
|
|
DepartmentComInfo deptComInfo = new DepartmentComInfo();
|
|
|
|
|
SubCompanyComInfo supComInfo = new SubCompanyComInfo();
|
|
|
|
|
|
|
|
|
|
StringBuilder content = new StringBuilder();
|
|
|
|
|
content.append("公司:");
|
|
|
|
|
if ("dept".equals(param.getType())) {
|
|
|
|
|
String departmentNameF = deptComInfo.getDepartmentName(param.getDepartmentIdFrom());
|
|
|
|
|
String subcompanyidF = deptComInfo.getSubcompanyid1(param.getDepartmentIdFrom());
|
|
|
|
|
String subcompanyNameF = supComInfo.getSubCompanyname(subcompanyidF);
|
|
|
|
|
|
|
|
|
|
String departmentNameT = deptComInfo.getDepartmentName(param.getDepartmentIdTo());
|
|
|
|
|
String subcompanyidT = deptComInfo.getSubcompanyid1(param.getDepartmentIdTo());
|
|
|
|
|
String subcompanyNameT = supComInfo.getSubCompanyname(subcompanyidT);
|
|
|
|
|
content.append(subcompanyNameF).append(",").append(" 部门:");
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
String departmentRealPath = deptComInfo.getDepartmentRealPath(param.getDepartmentIdFrom(), ">", "0");
|
|
|
|
|
|
|
|
|
|
switch (param.getOperateType().getValue()){
|
|
|
|
|
case "4":
|
|
|
|
|
content.append(param.getDepartmentIdFrom()).append(",").append("已被删除,");
|
|
|
|
|
break;
|
|
|
|
|
case "8":
|
|
|
|
|
content.append(departmentRealPath).append(",");
|
|
|
|
|
if (param.isCanceled()) {
|
|
|
|
|
content.append("已被恢复");
|
|
|
|
|
}else {
|
|
|
|
|
content.append("已被封存,");
|
|
|
|
|
}
|
|
|
|
|
break;
|
|
|
|
|
case "6":
|
|
|
|
|
content.append(departmentNameF).append(" 已合并到公司:").append(subcompanyNameT).append(" 部门:").append(departmentNameT)
|
|
|
|
|
.append(", 合并后名称:").append(param.getMergeName()).append(",");
|
|
|
|
|
break;
|
|
|
|
|
case "5":
|
|
|
|
|
content.append(departmentNameF).append(" 已转移到公司:");
|
|
|
|
|
if (param.getTranfeserType() == 2) {
|
|
|
|
|
content.append(supComInfo.getSubCompanyname(param.getSubCompanyIdTo())).append(" 下,");
|
|
|
|
|
}else {
|
|
|
|
|
content.append(subcompanyNameT).append(" 部门:").append(departmentNameT).append(" 下,");
|
|
|
|
|
}
|
|
|
|
|
break;
|
|
|
|
|
default :break;
|
|
|
|
|
}
|
|
|
|
|
}else {
|
|
|
|
|
String subCompanynameT = supComInfo.getSubCompanyname(param.getSubCompanyIdTo());
|
|
|
|
|
String subCompanynameF = supComInfo.getSubCompanyname(param.getSubCompanyIdFrom());
|
|
|
|
|
|
|
|
|
|
switch (param.getOperateType().getValue()){
|
|
|
|
|
case "4":
|
|
|
|
|
content.append(param.getSubCompanyIdFrom()).append(",");
|
|
|
|
|
content.append("已被删除,");
|
|
|
|
|
break;
|
|
|
|
|
case "8":
|
|
|
|
|
content.append(subCompanynameF).append(",");
|
|
|
|
|
if (param.isCanceled()) {
|
|
|
|
|
content.append("已被恢复,");
|
|
|
|
|
}else {
|
|
|
|
|
content.append("已被封存,");
|
|
|
|
|
}
|
|
|
|
|
break;
|
|
|
|
|
case "5":
|
|
|
|
|
content.append(subCompanynameF).append(",");
|
|
|
|
|
content.append("已转移到公司:").append(subCompanynameT).append(" 下,");
|
|
|
|
|
break;
|
|
|
|
|
default :break;
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
content.append(" 请检查系统配置。");
|
|
|
|
|
return RemindContentInfo.builder().content(content.toString()).title(param.getOperateType().getLabel()).build();
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
}
|
|
|
|
|
|