大王椰组件跳转工作流提醒接口完成

大王椰非标升级二开备份
Chengliang 1 year ago
parent 80b9bb6de4
commit c61b751fa9

@ -18,13 +18,23 @@ import lombok.NoArgsConstructor;
@Builder @Builder
public class QuickChangeMessageParam { public class QuickChangeMessageParam {
private String workflowId;
private String mainTableName;
private OperateTypeEnum operateType; private OperateTypeEnum operateType;
private Integer companyId; private String type;
private String subCompanyIdFrom;
private String subCompanyIdTo;
private String departmentIdFrom;
private Integer departmentIdFrom; private String departmentIdTo;
private Integer departmentIdTo; private String mergeName;
private String content; private String content;
} }

@ -0,0 +1,40 @@
package com.engine.organization.entity.commom;
import lombok.AllArgsConstructor;
import lombok.Builder;
import lombok.Data;
import lombok.NoArgsConstructor;
import weaver.workflow.webservices.WorkflowBaseInfo;
import weaver.workflow.webservices.WorkflowMainTableInfo;
/**
* @Author liang.cheng
* @Date 2024/4/11 6:10 PM
* @Description:
* @Version 1.0
*/
@Data
@NoArgsConstructor
@Builder
@AllArgsConstructor
public class CusWorkflowRequestInfo {
private String workflowName;
private String nextFlow;
private String requestLevel;
private boolean canView;
private String creatorId;
private WorkflowBaseInfo workflowBaseInfo;
private WorkflowMainTableInfo workflowMainTableInfo;
}

@ -0,0 +1,23 @@
package com.engine.organization.entity.commom;
import lombok.AllArgsConstructor;
import lombok.Builder;
import lombok.Data;
import lombok.NoArgsConstructor;
/**
* @Author liang.cheng
* @Date 2024/4/15 3:31 PM
* @Description:
* @Version 1.0
*/
@Data
@NoArgsConstructor
@Builder
@AllArgsConstructor
public class RemindContentInfo {
private String content;
private String title;
}

@ -1,7 +1,22 @@
package com.engine.organization.service; package com.engine.organization.service;
import com.engine.core.impl.Service; import com.engine.core.impl.Service;
import com.engine.organization.entity.chart.params.QuickChangeMessageParam; 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.util.OrganizationCommonUtil;
import lombok.SneakyThrows;
import weaver.conn.RecordSet;
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;
/** /**
* @Author liang.cheng * @Author liang.cheng
@ -14,6 +29,107 @@ public class RemindMessageServiceImpl extends Service implements RemindMessageSe
@Override @Override
public String remindWorkflow(QuickChangeMessageParam param) { public String remindWorkflow(QuickChangeMessageParam param) {
return null;
BaseBean bb = new BaseBean();
WorkflowBaseInfo workflowBaseInfo = new WorkflowBaseInfo();
workflowBaseInfo.setWorkflowId(param.getWorkflowId());
WorkflowMainTableInfo workflowMainTableInfo = new WorkflowMainTableInfo();
String personId = bb.getPropValue("hrmOrganization", "personId");
WorkflowRequestTableField mutiresource = OrganizationCommonUtil.createWorkflowRequestTableField("mutiresource", personId, 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) {
RecordSet rs = new RecordSet();
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(), "/", "");
switch (param.getOperateType().getValue()){
case "4":
content.append(departmentRealPath).append("").append("已被删除,");
break;
case "8":
content.append(departmentRealPath).append("").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(" 已转移到公司:").append(subcompanyNameT).append(" 部门:").append(departmentNameT)
.append(" 下,");
break;
default :break;
}
}else {
String subCompanynameF = supComInfo.getSubCompanyname(param.getSubCompanyIdFrom());
String subCompanynameT = supComInfo.getSubCompanyname(param.getSubCompanyIdTo());
content.append(subCompanynameF).append(",");
switch (param.getOperateType().getValue()){
case "4":
content.append("已被删除,");
break;
case "8":
content.append("已被封存,");
break;
case "6":
content.append("已合并到公司:").append(subCompanynameT).append(",合并后名称:").append(param.getMergeName()).append("");
break;
case "5":
content.append("已转移到公司:").append(subCompanynameT).append(" 下,");
break;
default :break;
}
}
content.append(" 请检查系统配置。");
return RemindContentInfo.builder().content(content.toString()).title(param.getOperateType().getLabel()).build();
} }
} }

@ -1,5 +1,8 @@
package com.engine.organization.util; package com.engine.organization.util;
import com.engine.organization.entity.commom.CusWorkflowRequestInfo;
import weaver.workflow.webservices.*;
import java.util.ArrayList; import java.util.ArrayList;
import java.util.List; import java.util.List;
@ -28,4 +31,45 @@ public class OrganizationCommonUtil {
} }
return splittedLists; return splittedLists;
} }
/**
* @Description:
* @Author: liang.cheng
* @Date: 2024/4/11 6:18 PM
* @param: [cusWq]
* @return: java.lang.String
*/
public static String doCreateWorkflow(CusWorkflowRequestInfo cusWq){
//工作流程请求信息
WorkflowRequestInfo workflowRequestInfo = new WorkflowRequestInfo();
//请求标题
workflowRequestInfo.setRequestName(cusWq.getWorkflowName());
//请求重要级别
workflowRequestInfo.setRequestLevel(cusWq.getRequestLevel());
//显示
workflowRequestInfo.setCanView(cusWq.isCanView());
//创建者id
workflowRequestInfo.setCreatorId(cusWq.getCreatorId());
//工作流信息
workflowRequestInfo.setWorkflowBaseInfo(cusWq.getWorkflowBaseInfo());
//主表
workflowRequestInfo.setWorkflowMainTableInfo(cusWq.getWorkflowMainTableInfo());
//是否提交下一节点
workflowRequestInfo.setIsnextflow(cusWq.getNextFlow());
WorkflowService workflow = new WorkflowServiceImpl();
return workflow.doCreateWorkflowRequest(workflowRequestInfo, Integer.parseInt(cusWq.getCreatorId()));
}
public static WorkflowRequestTableField createWorkflowRequestTableField(String fieldName, String fieldValue,boolean view) {
WorkflowRequestTableField tableField = new WorkflowRequestTableField();
tableField.setFieldName(fieldName);
tableField.setFieldValue(fieldValue);
tableField.setView(view);
tableField.setEdit(true);
return tableField;
}
} }

Loading…
Cancel
Save