二开--康瑞考勤需求
parent
e7e695b05f
commit
f2c4df3e32
@ -0,0 +1,105 @@
|
||||
package com.engine.kr.entity.kq;
|
||||
|
||||
import org.apache.commons.lang3.StringUtils;
|
||||
import weaver.conn.RecordSet;
|
||||
|
||||
/**
|
||||
* 加班流程转换类
|
||||
*
|
||||
* @author:dxfeng
|
||||
* @createTime: 2023/05/23
|
||||
* @version: 1.0
|
||||
*/
|
||||
public class KqActionBO {
|
||||
|
||||
/**
|
||||
* 根据人员ID获取人员名称
|
||||
*
|
||||
* @param userId
|
||||
* @return
|
||||
*/
|
||||
public static String getUserName(String userId) {
|
||||
String userName = "";
|
||||
if (StringUtils.isBlank(userId)) {
|
||||
return userName;
|
||||
}
|
||||
RecordSet rs = new RecordSet();
|
||||
rs.executeQuery("select lastname from hrmresource where id = ? ", userId);
|
||||
if (rs.next()) {
|
||||
userName = rs.getString("lastname");
|
||||
}
|
||||
return userName;
|
||||
}
|
||||
|
||||
/**
|
||||
* 根据人员ID获取人员工号
|
||||
*
|
||||
* @param userId
|
||||
* @return
|
||||
*/
|
||||
public static String getWorkCode(String userId) {
|
||||
String workCode = "";
|
||||
if (StringUtils.isBlank(userId)) {
|
||||
return workCode;
|
||||
}
|
||||
RecordSet rs = new RecordSet();
|
||||
rs.executeQuery("select workcode from hrmresource where id = ? ", userId);
|
||||
if (rs.next()) {
|
||||
workCode = rs.getString("workcode");
|
||||
}
|
||||
return workCode;
|
||||
}
|
||||
|
||||
/**
|
||||
* 获取请假类型代码
|
||||
*
|
||||
* @param leaveType 流程请假类型
|
||||
* @return 请假类型代码
|
||||
*/
|
||||
public static String getLeaveTypeCode(String leaveType) {
|
||||
String leaveTypeCode = "";
|
||||
if (StringUtils.isBlank(leaveType)) {
|
||||
return leaveTypeCode;
|
||||
|
||||
}
|
||||
RecordSet rs = new RecordSet();
|
||||
rs.executeQuery("select kqxtzdz from uf_jqzdpp where lczd =?", leaveType);
|
||||
if (rs.next()) {
|
||||
leaveTypeCode = rs.getString("kqxtzdz");
|
||||
}
|
||||
return leaveTypeCode;
|
||||
}
|
||||
|
||||
/**
|
||||
* 获取加班类型
|
||||
*
|
||||
* @param workType 流程加班类型
|
||||
* @return 加班类型代码
|
||||
*/
|
||||
public static String getWorkTypeCode(String workType) {
|
||||
String workTypeCode = "";
|
||||
if (StringUtils.isBlank(workType)) {
|
||||
return workTypeCode;
|
||||
}
|
||||
switch (workType) {
|
||||
case "0":
|
||||
workTypeCode = "JB01";
|
||||
break;
|
||||
case "1":
|
||||
workTypeCode = "JB02";
|
||||
break;
|
||||
case "2":
|
||||
workTypeCode = "JB03";
|
||||
break;
|
||||
case "3":
|
||||
workTypeCode = "JB20";
|
||||
break;
|
||||
case "4":
|
||||
workTypeCode = "JB30";
|
||||
break;
|
||||
default:
|
||||
break;
|
||||
}
|
||||
return workTypeCode;
|
||||
}
|
||||
}
|
@ -0,0 +1,21 @@
|
||||
package com.engine.kr.entity.kq;
|
||||
|
||||
/**
|
||||
* @author:dxfeng
|
||||
* @createTime: 2023/05/22
|
||||
* @version: 1.0
|
||||
*/
|
||||
public class KqGlobal {
|
||||
/**
|
||||
* 考勤系统请求地址
|
||||
*/
|
||||
public static final String POST_URL = "http://192.168.11.160:8080";
|
||||
public static final String USER = "OAData";
|
||||
public static final String PASS = "a22f81793d2dfec1ccaca7d03a330324";
|
||||
|
||||
/**
|
||||
* 响应成功code
|
||||
*/
|
||||
public static final String SUC_CODE = "1";
|
||||
|
||||
}
|
@ -0,0 +1,137 @@
|
||||
package com.weaver.interfaces.kr.workflow.action;
|
||||
|
||||
import cn.hutool.http.HttpUtil;
|
||||
import com.alibaba.fastjson.JSONObject;
|
||||
import com.engine.kr.entity.kq.KqActionBO;
|
||||
import com.engine.kr.entity.kq.KqGlobal;
|
||||
import com.engine.kr.enums.KqInteractiveEnum;
|
||||
import com.engine.kr.service.impl.KqInteractiveServiceImpl;
|
||||
import weaver.interfaces.workflow.action.Action;
|
||||
import weaver.soa.workflow.request.*;
|
||||
|
||||
import java.util.HashMap;
|
||||
import java.util.Map;
|
||||
|
||||
/**
|
||||
* @author:dxfeng
|
||||
* @createTime: 2023/05/23
|
||||
* @version: 1.0
|
||||
*/
|
||||
public class KrBatchOvertimeCreateAction implements Action {
|
||||
@Override
|
||||
public String execute(RequestInfo requestInfo) {
|
||||
|
||||
String billNo = "";
|
||||
String resourceId = "";
|
||||
|
||||
MainTableInfo mainTableInfo = requestInfo.getMainTableInfo();
|
||||
Property[] properties = mainTableInfo.getProperty();
|
||||
for (Property property : properties) {
|
||||
String name = property.getName();
|
||||
String value = property.getValue();
|
||||
switch (name) {
|
||||
case "resourceId":
|
||||
resourceId = KqActionBO.getUserName(value);
|
||||
break;
|
||||
case "lcbh":
|
||||
billNo = value;
|
||||
break;
|
||||
default:
|
||||
break;
|
||||
}
|
||||
}
|
||||
String token = new KqInteractiveServiceImpl().getToken();
|
||||
String addDay = requestInfo.getRequestManager().getCreatedate() + " " + requestInfo.getRequestManager().getCreatetime();
|
||||
String cfmBy = KqActionBO.getUserName(requestInfo.getLastoperator());
|
||||
String cfmDay = requestInfo.getRequestManager().getLastoperatedate() + " " + requestInfo.getRequestManager().getLastoperatetime();
|
||||
|
||||
|
||||
DetailTableInfo detailTableInfo = requestInfo.getDetailTableInfo();
|
||||
DetailTable detailTable = detailTableInfo.getDetailTable()[0];
|
||||
Row[] rows = detailTable.getRow();
|
||||
boolean isRun = true;
|
||||
for (Row row : rows) {
|
||||
if (!isRun) {
|
||||
break;
|
||||
}
|
||||
String personId = "";
|
||||
String otType = "";
|
||||
String otAdjuest = "";
|
||||
String beginDate = "";
|
||||
String beginTime = "";
|
||||
String endDate = "";
|
||||
String endTime = "";
|
||||
String billHours = "";
|
||||
String otReason = "";
|
||||
Cell[] cells = row.getCell();
|
||||
for (Cell cell : cells) {
|
||||
String name = cell.getName();
|
||||
String value = cell.getValue();
|
||||
switch (name) {
|
||||
case "xm":
|
||||
personId = KqActionBO.getWorkCode(value);
|
||||
break;
|
||||
case "jblx":
|
||||
otType = KqActionBO.getWorkTypeCode(value);
|
||||
break;
|
||||
case "bcfs":
|
||||
otAdjuest = value;
|
||||
break;
|
||||
case "ksrq":
|
||||
beginDate = value;
|
||||
break;
|
||||
case "kssj":
|
||||
beginTime = value;
|
||||
break;
|
||||
case "jsrq":
|
||||
endDate = value;
|
||||
break;
|
||||
case "jssj":
|
||||
endTime = value;
|
||||
break;
|
||||
case "jbsc":
|
||||
billHours = value;
|
||||
break;
|
||||
case "jbsy":
|
||||
otReason = value;
|
||||
break;
|
||||
default:
|
||||
break;
|
||||
}
|
||||
}
|
||||
// 每一行发起一次请求
|
||||
Map<String, Object> params = new HashMap<>();
|
||||
params.put("token", token);
|
||||
params.put("personId", personId);
|
||||
params.put("billNo", billNo + "-" + row.getId());
|
||||
params.put("otType", otType);
|
||||
params.put("otAdjuest", otAdjuest);
|
||||
params.put("beginDate", beginDate);
|
||||
params.put("beginTime", beginTime);
|
||||
params.put("endDate", endDate);
|
||||
params.put("endTime", endTime);
|
||||
params.put("billHours", billHours);
|
||||
params.put("runsNo", null);
|
||||
params.put("otReason", otReason);
|
||||
params.put("addBy", resourceId);
|
||||
params.put("addDay", addDay);
|
||||
params.put("cfmBy", cfmBy);
|
||||
params.put("cfmDay", cfmDay);
|
||||
// 1新增、2变动、3取消
|
||||
params.put("billStat", 1);
|
||||
|
||||
String returnStr = HttpUtil.post(KqGlobal.POST_URL + KqInteractiveEnum.OVERTIME_CREATE.getPostPath(), params);
|
||||
JSONObject jsonObject = JSONObject.parseObject(returnStr);
|
||||
String code = jsonObject.getString("code");
|
||||
if (!KqGlobal.SUC_CODE.equals(code)) {
|
||||
requestInfo.getRequestManager().setMessagecontent(jsonObject.getString("msg"));
|
||||
isRun = false;
|
||||
}
|
||||
}
|
||||
|
||||
if (isRun) {
|
||||
return SUCCESS;
|
||||
}
|
||||
return FAILURE_AND_CONTINUE;
|
||||
}
|
||||
}
|
@ -0,0 +1,107 @@
|
||||
package com.weaver.interfaces.kr.workflow.action;
|
||||
|
||||
import cn.hutool.http.HttpUtil;
|
||||
import com.alibaba.fastjson.JSONObject;
|
||||
import com.engine.kr.entity.kq.KqActionBO;
|
||||
import com.engine.kr.entity.kq.KqGlobal;
|
||||
import com.engine.kr.enums.KqInteractiveEnum;
|
||||
import com.engine.kr.service.impl.KqInteractiveServiceImpl;
|
||||
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 java.util.HashMap;
|
||||
import java.util.Map;
|
||||
|
||||
/**
|
||||
* @author:dxfeng
|
||||
* @createTime: 2023/05/22
|
||||
* @version: 1.0
|
||||
*/
|
||||
public class KrLeaveCreateAction implements Action {
|
||||
@Override
|
||||
public String execute(RequestInfo requestInfo) {
|
||||
MainTableInfo mainTableInfo = requestInfo.getMainTableInfo();
|
||||
String resourceId = "";
|
||||
String leaveType = "";
|
||||
String startDate = "";
|
||||
String startTime = "";
|
||||
String endDate = "";
|
||||
String endTime = "";
|
||||
String leaveDuration = "";
|
||||
String leaveReason = "";
|
||||
String billNo = "";
|
||||
|
||||
Property[] properties = mainTableInfo.getProperty();
|
||||
for (Property property : properties) {
|
||||
String name = property.getName();
|
||||
String value = property.getValue();
|
||||
switch (name) {
|
||||
case "resourceId":
|
||||
resourceId = value;
|
||||
break;
|
||||
case "jqlx":
|
||||
leaveType = value;
|
||||
break;
|
||||
case "ksrq":
|
||||
startDate = value;
|
||||
break;
|
||||
case "kssj":
|
||||
startTime = value;
|
||||
break;
|
||||
case "jsrq":
|
||||
endDate = value;
|
||||
break;
|
||||
case "jssj":
|
||||
endTime = value;
|
||||
break;
|
||||
case "qjsc":
|
||||
leaveDuration = value;
|
||||
break;
|
||||
case "qjsy":
|
||||
leaveReason = value;
|
||||
break;
|
||||
case "lcbh":
|
||||
billNo = value;
|
||||
break;
|
||||
default:
|
||||
break;
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
Map<String, Object> params = new HashMap<>();
|
||||
params.put("token", new KqInteractiveServiceImpl().getToken());
|
||||
params.put("personId", KqActionBO.getWorkCode(resourceId));
|
||||
params.put("billNo", billNo);
|
||||
params.put("dayoffType", KqActionBO.getLeaveTypeCode(leaveType));
|
||||
params.put("beginDate", startDate);
|
||||
params.put("beginTime", startTime);
|
||||
params.put("endDate", endDate);
|
||||
params.put("endTime", endTime);
|
||||
params.put("billHours", leaveDuration);
|
||||
params.put("runsNo", null);
|
||||
params.put("inout", null);
|
||||
params.put("incHoli", null);
|
||||
params.put("dayoffReason", leaveReason);
|
||||
params.put("addBy", KqActionBO.getUserName(requestInfo.getCreatorid()));
|
||||
params.put("addDay", requestInfo.getRequestManager().getCreatedate() + " " + requestInfo.getRequestManager().getCreatetime());
|
||||
params.put("cfmBy", KqActionBO.getUserName(requestInfo.getLastoperator()));
|
||||
params.put("cfmDay", requestInfo.getRequestManager().getLastoperatedate() + " " + requestInfo.getRequestManager().getLastoperatetime());
|
||||
// 1新增、2变动、3取消
|
||||
params.put("billStat", 1);
|
||||
|
||||
String returnStr = HttpUtil.post(KqGlobal.POST_URL + KqInteractiveEnum.LEAVE_CREATE.getPostPath(), params);
|
||||
JSONObject jsonObject = JSONObject.parseObject(returnStr);
|
||||
String code = jsonObject.getString("code");
|
||||
if (KqGlobal.SUC_CODE.equals(code)) {
|
||||
return SUCCESS;
|
||||
} else {
|
||||
requestInfo.getRequestManager().setMessagecontent(jsonObject.getString("msg"));
|
||||
}
|
||||
return FAILURE_AND_CONTINUE;
|
||||
}
|
||||
|
||||
|
||||
}
|
@ -0,0 +1,107 @@
|
||||
package com.weaver.interfaces.kr.workflow.action;
|
||||
|
||||
import cn.hutool.http.HttpUtil;
|
||||
import com.alibaba.fastjson.JSONObject;
|
||||
import com.engine.kr.entity.kq.KqActionBO;
|
||||
import com.engine.kr.entity.kq.KqGlobal;
|
||||
import com.engine.kr.enums.KqInteractiveEnum;
|
||||
import com.engine.kr.service.impl.KqInteractiveServiceImpl;
|
||||
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 java.util.HashMap;
|
||||
import java.util.Map;
|
||||
|
||||
/**
|
||||
* @author:dxfeng
|
||||
* @createTime: 2023/05/23
|
||||
* @version: 1.0
|
||||
*/
|
||||
public class KrSingleOvertimeCreateAction implements Action {
|
||||
@Override
|
||||
public String execute(RequestInfo requestInfo) {
|
||||
String resourceId = "";
|
||||
String fromDate = "";
|
||||
String fromTime = "";
|
||||
String toDate = "";
|
||||
String toTime = "";
|
||||
// 补偿方式
|
||||
String overtimeType = "";
|
||||
String duration = "";
|
||||
String billNo = "";
|
||||
String workType = "";
|
||||
String workReason = "";
|
||||
MainTableInfo mainTableInfo = requestInfo.getMainTableInfo();
|
||||
Property[] properties = mainTableInfo.getProperty();
|
||||
for (Property property : properties) {
|
||||
String name = property.getName();
|
||||
String value = property.getValue();
|
||||
switch (name) {
|
||||
case "resourceId":
|
||||
resourceId = value;
|
||||
break;
|
||||
case "fromDate":
|
||||
fromDate = value;
|
||||
break;
|
||||
case "fromTime":
|
||||
fromTime = value;
|
||||
break;
|
||||
case "toDate":
|
||||
toDate = value;
|
||||
break;
|
||||
case "toTime":
|
||||
toTime = value;
|
||||
break;
|
||||
case "overtime_type":
|
||||
overtimeType = value;
|
||||
break;
|
||||
case "duration":
|
||||
duration = value;
|
||||
break;
|
||||
case "lcbh":
|
||||
billNo = value;
|
||||
break;
|
||||
case "jblx":
|
||||
workType = value;
|
||||
break;
|
||||
case "jbsy":
|
||||
workReason = value;
|
||||
break;
|
||||
default:
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
||||
Map<String, Object> params = new HashMap<>();
|
||||
params.put("token", new KqInteractiveServiceImpl().getToken());
|
||||
params.put("personId", KqActionBO.getWorkCode(resourceId));
|
||||
params.put("billNo", billNo);
|
||||
params.put("otType", KqActionBO.getWorkTypeCode(workType));
|
||||
params.put("otAdjuest", overtimeType);
|
||||
params.put("beginDate", fromDate);
|
||||
params.put("beginTime", fromTime);
|
||||
params.put("endDate", toDate);
|
||||
params.put("endTime", toTime);
|
||||
params.put("billHours", duration);
|
||||
params.put("runsNo", null);
|
||||
params.put("otReason", workReason);
|
||||
params.put("addBy", KqActionBO.getUserName(requestInfo.getCreatorid()));
|
||||
params.put("addDay", requestInfo.getRequestManager().getCreatedate() + " " + requestInfo.getRequestManager().getCreatetime());
|
||||
params.put("cfmBy", KqActionBO.getUserName(requestInfo.getLastoperator()));
|
||||
params.put("cfmDay", requestInfo.getRequestManager().getLastoperatedate() + " " + requestInfo.getRequestManager().getLastoperatetime());
|
||||
// 1新增、2变动、3取消
|
||||
params.put("billStat", 1);
|
||||
|
||||
String returnStr = HttpUtil.post(KqGlobal.POST_URL + KqInteractiveEnum.OVERTIME_CREATE.getPostPath(), params);
|
||||
JSONObject jsonObject = JSONObject.parseObject(returnStr);
|
||||
String code = jsonObject.getString("code");
|
||||
if (KqGlobal.SUC_CODE.equals(code)) {
|
||||
return SUCCESS;
|
||||
} else {
|
||||
requestInfo.getRequestManager().setMessagecontent(jsonObject.getString("msg"));
|
||||
}
|
||||
return FAILURE_AND_CONTINUE;
|
||||
}
|
||||
}
|
Loading…
Reference in New Issue