考勤流程设置、生成假期余额、请假流程action改造
parent
909cbe0a6a
commit
de6f550356
@ -0,0 +1,93 @@
|
||||
package com.engine.jucailinkq.attendance.workflow.action.askforleave;
|
||||
|
||||
import com.engine.common.util.ServiceUtil;
|
||||
import com.engine.jucailinkq.attendance.attendanceplan.service.AttendancePlanService;
|
||||
import com.engine.jucailinkq.attendance.attendanceplan.service.impl.AttendancePlanServiceImpl;
|
||||
import com.engine.jucailinkq.attendance.vacation.cmd.VocationCmd;
|
||||
import com.engine.jucailinkq.attendance.workflow.enums.WorkFlowTypeEnum;
|
||||
import com.engine.jucailinkq.common.cmd.GetPersonDateBySuitOrganzation;
|
||||
import com.engine.jucailinkq.common.util.CommonUtil;
|
||||
import com.engine.jucailinkq.common.util.DateUtil;
|
||||
import com.engine.jucailinkq.common.util.DbTools;
|
||||
import com.engine.jucailinkq.common.util.Utils;
|
||||
import com.google.common.collect.Maps;
|
||||
import lombok.extern.slf4j.Slf4j;
|
||||
import weaver.general.Util;
|
||||
import weaver.interfaces.workflow.action.Action;
|
||||
import weaver.soa.workflow.request.RequestInfo;
|
||||
|
||||
import java.util.HashMap;
|
||||
import java.util.List;
|
||||
import java.util.Map;
|
||||
|
||||
/**
|
||||
* 请假流程action生成假期余额
|
||||
*/
|
||||
@Slf4j
|
||||
public class GenerateWorkflowVocationAction implements Action {
|
||||
@Override
|
||||
public String execute(RequestInfo requestInfo) {
|
||||
try {
|
||||
log.info("**GenerateWorkflowVocationAction start***");
|
||||
HashMap<String, String> mainTableData = CommonUtil.getMainTableInfo(requestInfo, WorkFlowTypeEnum.ASKFORLEAVE);
|
||||
String qjry = mainTableData.get("xingm");
|
||||
Map<String,String> formmodeIdMap = Utils.getFormmodeIdMap();
|
||||
//假期额度模块id
|
||||
String modeId = formmodeIdMap.get("uf_jcl_kq_jqed");
|
||||
Map<String, Object> params = Maps.newHashMap();
|
||||
params.put("modeId",modeId);
|
||||
params.put("releaseDate",DateUtil.getCurrentDate());
|
||||
params.put("cover","1");
|
||||
CommonUtil.initExtensionClassHolder();
|
||||
|
||||
Map<String,Object> result = new GetPersonDateBySuitOrganzation(params).execute(null);
|
||||
|
||||
String queryDepartEmployeeSql = "select resourceid ,changedate,type_n from HRMSTATUSHISTORY where type_n = 5 or type_n = 7 and resourceid=?";
|
||||
//获取离职日期
|
||||
List<Map<String,Object>> departEmployeeList = DbTools.getSqlToList(queryDepartEmployeeSql,qjry);
|
||||
Map<String,Object> departEmployeeMap = CommonUtil.getDepartEmployeeMap(departEmployeeList);
|
||||
|
||||
|
||||
String sql = "select a.id userid,a.*,b.* from hrmresource a left join cus_fielddata b on a.id=b.id where a.id =?";
|
||||
List<Map<String,Object>> userList = DbTools.getSqlToListKeySmallLetter(sql,qjry);
|
||||
|
||||
log.info("GenerateWorkflowVocationAction : [{}]",result.get(qjry));
|
||||
if (result.get(qjry) != null){
|
||||
Map<String,String> vocationMap = (Map<String, String>)result.get(qjry);
|
||||
Map<String,Object> paramMap = Maps.newHashMap();
|
||||
paramMap.put("startDate", DateUtil.getCurrentDate());
|
||||
paramMap.put("endDate","");
|
||||
paramMap.put("resourceId",qjry);
|
||||
AttendancePlanService basicsetService = ServiceUtil.getService(AttendancePlanServiceImpl.class);
|
||||
Map<String,Object> dataMap = basicsetService.getAttendanceItemsByPerson(paramMap);
|
||||
List<Map<String,Object>> attendanceItems = (List<Map<String,Object>>)dataMap.get("data");
|
||||
Map<String, Object> needGenerateVocationMap = Maps.newHashMap();
|
||||
for (Map<String,Object> map : attendanceItems){
|
||||
if (vocationMap.get(map.get("key")) != null){
|
||||
needGenerateVocationMap.put(Util.null2String(map.get("key")),vocationMap.get(map.get("key")));
|
||||
}
|
||||
}
|
||||
log.debug("VocationServiceImpl userId:{}, userList:{}",qjry,userList);
|
||||
for (Map.Entry<String, Object> e:needGenerateVocationMap.entrySet()){
|
||||
if (e.getValue() != null && ((List<Map<String,Object>>)e.getValue()).size() > 0){
|
||||
Map<String,Object> vocationParam = Maps.newHashMap();
|
||||
vocationParam.put("userId",qjry);
|
||||
vocationParam.put("vocationList",e.getValue());
|
||||
vocationParam.put("userList",userList);
|
||||
vocationParam.put("releaseDate",params.get("releaseDate"));
|
||||
vocationParam.put("cover",params.get("cover"));
|
||||
vocationParam.put("leaveDate",departEmployeeMap.get(qjry));
|
||||
new VocationCmd(vocationParam).execute(null);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
log.info("**GenerateWorkflowVocationAction end***");
|
||||
}catch (Exception e){
|
||||
log.info("GenerateWorkflowVocationAction error :[{}]",e);
|
||||
return Action.FAILURE_AND_CONTINUE;
|
||||
}
|
||||
return Action.SUCCESS;
|
||||
}
|
||||
|
||||
}
|
Loading…
Reference in New Issue