自动触发流程:管理员发起《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