自动触发流程:管理员发起《5.2.6培训效果评估管理》选择了培训名称后会自动带出多人力资源值,,并且 培训效果评估方式选择了 培训效果评估表 提交流程后多人里资源里面所有的人收到《培训效果评估表》流程进行打分,收到时处于审批环节,打分直接提交流程即可归档。自动触发的培训效果评估表也要自动带出评估项目培训课程 就是培训主题
This commit is contained in:
parent
85026bce47
commit
fd691a4eef
|
|
@ -0,0 +1,164 @@
|
||||||
|
package weaver.interfaces.hzzx.action;
|
||||||
|
|
||||||
|
import cn.hutool.core.convert.Convert;
|
||||||
|
import org.apache.commons.lang.StringUtils;
|
||||||
|
import weaver.common.DateUtil;
|
||||||
|
import weaver.conn.RecordSet;
|
||||||
|
import weaver.hrm.resource.ResourceComInfo;
|
||||||
|
import weaver.interfaces.workflow.action.Action;
|
||||||
|
import weaver.soa.workflow.request.MainTableInfo;
|
||||||
|
import weaver.soa.workflow.request.Property;
|
||||||
|
import weaver.soa.workflow.request.RequestInfo;
|
||||||
|
import weaver.workflow.webservices.*;
|
||||||
|
|
||||||
|
import java.util.HashMap;
|
||||||
|
import java.util.Map;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @author:dxfeng
|
||||||
|
* @createTime: 2025/03/27
|
||||||
|
* @version: 1.0
|
||||||
|
*/
|
||||||
|
public class TrainingManageCreateFlowAction implements Action {
|
||||||
|
/**
|
||||||
|
* 培训效果评估表 流程ID
|
||||||
|
*/
|
||||||
|
private String FLOW_ID = "65";
|
||||||
|
|
||||||
|
RecordSet rs = new RecordSet();
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public String execute(RequestInfo requestInfo) {
|
||||||
|
try {
|
||||||
|
MainTableInfo mainTableInfo = requestInfo.getMainTableInfo();
|
||||||
|
Property[] properties = mainTableInfo.getProperty();
|
||||||
|
Map<String, String> mainDataMap = new HashMap<>();
|
||||||
|
for (Property property : properties) {
|
||||||
|
mainDataMap.put(property.getName(), property.getValue());
|
||||||
|
}
|
||||||
|
|
||||||
|
String pxxgpgfs = mainDataMap.get("pxxgpgfs");
|
||||||
|
String drlzy = mainDataMap.get("drlzy");
|
||||||
|
String pxmc = mainDataMap.get("pxmc");
|
||||||
|
rs.writeLog("pxxgpgfs==" + pxxgpgfs + ",drlzy==" + drlzy + ",pxmc==" + pxmc );
|
||||||
|
if (!"0".equals(pxxgpgfs)) {
|
||||||
|
// 不是“培训效果评估表”,不做处理
|
||||||
|
return SUCCESS;
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
ResourceComInfo resourceComInfo = new ResourceComInfo();
|
||||||
|
if (StringUtils.isNotBlank(drlzy)) {
|
||||||
|
String[] userIds = drlzy.split(",");
|
||||||
|
for (String userId : userIds) {
|
||||||
|
// 创建流程
|
||||||
|
String lastName = resourceComInfo.getLastname(userId);
|
||||||
|
String workCode = resourceComInfo.getWorkcode(userId);
|
||||||
|
String departmentId = resourceComInfo.getDepartmentID(userId);
|
||||||
|
rs.writeLog("lastName==" + lastName + ",workCode==" + workCode + ",departmentId==" + departmentId);
|
||||||
|
createWorkFLow(lastName, userId, workCode, departmentId, pxmc);
|
||||||
|
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
return SUCCESS;
|
||||||
|
} catch (Exception e) {
|
||||||
|
rs.writeLog(e);
|
||||||
|
requestInfo.getRequestManager().setMessagecontent(e.getMessage());
|
||||||
|
return FAILURE_AND_CONTINUE;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 创建流程
|
||||||
|
*
|
||||||
|
* @param lastName
|
||||||
|
* @param userId
|
||||||
|
* @param workCode
|
||||||
|
* @param departmentId
|
||||||
|
* @param pxmc
|
||||||
|
*/
|
||||||
|
private void createWorkFLow(String lastName, String userId, String workCode, String departmentId, String pxmc) {
|
||||||
|
// 构建主表流程数据
|
||||||
|
WorkflowRequestTableField[] workflowRequestTableField = {
|
||||||
|
createWorkflowRequestTableField("xm", userId),
|
||||||
|
createWorkflowRequestTableField("gh", workCode),
|
||||||
|
createWorkflowRequestTableField("bm", departmentId)
|
||||||
|
};
|
||||||
|
WorkflowMainTableInfo workflowMainTableInfo = new WorkflowMainTableInfo();
|
||||||
|
WorkflowRequestTableRecord[] workflowRequestTableRecord = new WorkflowRequestTableRecord[1];
|
||||||
|
workflowMainTableInfo.setRequestRecords(workflowRequestTableRecord);
|
||||||
|
workflowRequestTableRecord[0] = new WorkflowRequestTableRecord();
|
||||||
|
workflowRequestTableRecord[0].setWorkflowRequestTableFields(workflowRequestTableField);
|
||||||
|
|
||||||
|
// 构建明细表数据
|
||||||
|
WorkflowDetailTableInfo[] workflowDetailTableInfoArray = new WorkflowDetailTableInfo[3];
|
||||||
|
workflowDetailTableInfoArray[0] = new WorkflowDetailTableInfo();
|
||||||
|
|
||||||
|
// 明细表一
|
||||||
|
WorkflowRequestTableRecord[] workflowRequestTableRecordDt = new WorkflowRequestTableRecord[1];
|
||||||
|
|
||||||
|
WorkflowRequestTableField[] workflowRequestTableFieldDt = {
|
||||||
|
createWorkflowRequestTableField("pgxmpxkc", pxmc)
|
||||||
|
};
|
||||||
|
workflowRequestTableRecordDt[0] = new WorkflowRequestTableRecord();
|
||||||
|
workflowRequestTableRecordDt[0].setWorkflowRequestTableFields(workflowRequestTableFieldDt);
|
||||||
|
workflowDetailTableInfoArray[0].setWorkflowRequestTableRecords(workflowRequestTableRecordDt);
|
||||||
|
|
||||||
|
createWorkflowRequest(FLOW_ID, "培训效果评估表-" + lastName + "-" + DateUtil.getCurrentDate(), userId, "1", workflowMainTableInfo, workflowDetailTableInfoArray);
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 创建流程
|
||||||
|
*
|
||||||
|
* @param flowId
|
||||||
|
* @param title
|
||||||
|
* @param creatorId
|
||||||
|
* @param isNextFlow
|
||||||
|
* @param workflowMainTableInfo
|
||||||
|
* @param workflowDetailTableInfoArray
|
||||||
|
* @return
|
||||||
|
*/
|
||||||
|
public static String createWorkflowRequest(String flowId, String title, String creatorId, String isNextFlow, WorkflowMainTableInfo workflowMainTableInfo, WorkflowDetailTableInfo[] workflowDetailTableInfoArray) {
|
||||||
|
WorkflowBaseInfo workflowBaseInfo = new WorkflowBaseInfo();
|
||||||
|
workflowBaseInfo.setWorkflowId(flowId);
|
||||||
|
//工作流程请求信息
|
||||||
|
WorkflowRequestInfo workflowRequestInfo = new WorkflowRequestInfo();
|
||||||
|
//请求标题
|
||||||
|
workflowRequestInfo.setRequestName(title);
|
||||||
|
//请求重要级别
|
||||||
|
workflowRequestInfo.setRequestLevel("1");
|
||||||
|
//显示
|
||||||
|
workflowRequestInfo.setCanView(true);
|
||||||
|
//创建者id
|
||||||
|
workflowRequestInfo.setCreatorId(creatorId);
|
||||||
|
//工作流信息
|
||||||
|
workflowRequestInfo.setWorkflowBaseInfo(workflowBaseInfo);
|
||||||
|
//主表
|
||||||
|
workflowRequestInfo.setWorkflowMainTableInfo(workflowMainTableInfo);
|
||||||
|
workflowRequestInfo.setWorkflowDetailTableInfos(workflowDetailTableInfoArray);
|
||||||
|
//是否提交下一节点
|
||||||
|
workflowRequestInfo.setIsnextflow(isNextFlow);
|
||||||
|
|
||||||
|
WorkflowService workflow = new WorkflowServiceImpl();
|
||||||
|
return workflow.doCreateWorkflowRequest(workflowRequestInfo, Convert.toInt(creatorId, 1));
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 创建流程字段
|
||||||
|
*
|
||||||
|
* @param fieldName
|
||||||
|
* @param fieldValue
|
||||||
|
* @return
|
||||||
|
*/
|
||||||
|
public static WorkflowRequestTableField createWorkflowRequestTableField(String fieldName, String fieldValue) {
|
||||||
|
WorkflowRequestTableField tableField = new WorkflowRequestTableField();
|
||||||
|
tableField.setFieldName(fieldName);
|
||||||
|
tableField.setFieldValue(fieldValue);
|
||||||
|
tableField.setView(true);
|
||||||
|
tableField.setEdit(true);
|
||||||
|
return tableField;
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
||||||
Loading…
Reference in New Issue