二开--康瑞考勤需求

kangrui
dxfeng 2 years ago
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";
}

@ -3,6 +3,7 @@ package com.engine.kr.service.impl;
import cn.hutool.http.HttpUtil;
import com.alibaba.fastjson.JSONObject;
import com.engine.core.impl.Service;
import com.engine.kr.entity.kq.KqGlobal;
import com.engine.kr.enums.KqInteractiveEnum;
import com.engine.kr.exception.CustomizeRunTimeException;
import com.engine.kr.service.KqInteractiveService;
@ -19,17 +20,6 @@ import java.util.Map;
* @version: 1.0
*/
public class KqInteractiveServiceImpl extends Service implements KqInteractiveService {
/**
*
*/
private static final String POST_URL = "http://192.168.11.160:8080";
private static final String USER = "OAData";
private static final String PASS = "a22f81793d2dfec1ccaca7d03a330324";
/**
* code
*/
private static final String SUC_CODE = "1";
@Override
public Map<String, Object> getLeaveBal(Map<String, Object> params) {
@ -65,12 +55,12 @@ public class KqInteractiveServiceImpl extends Service implements KqInteractiveSe
// 可不填
postParam.put("leaveDate", params.get("ksrq"));
String returnStr = HttpUtil.post(POST_URL + KqInteractiveEnum.LEAVE_BAL.getPostPath(), postParam);
Map<String, Object> returnMap = new HashMap<>();
String returnStr = HttpUtil.post(KqGlobal.POST_URL + KqInteractiveEnum.LEAVE_BAL.getPostPath(), postParam);
JSONObject jsonObject = JSONObject.parseObject(returnStr);
String code = jsonObject.getString("code");
Map<String, Object> returnMap = new HashMap<>();
if (SUC_CODE.equals(code)) {
if (KqGlobal.SUC_CODE.equals(code)) {
returnMap.put("dayoffBalHours", jsonObject.getString("dayoffBalHours"));
} else {
throw new CustomizeRunTimeException("假期余额获取失败," + jsonObject.getString("msg"));
@ -83,14 +73,14 @@ public class KqInteractiveServiceImpl extends Service implements KqInteractiveSe
*
* @return
*/
private String getToken() {
public String getToken() {
Map<String, Object> params = new HashMap<>(2);
params.put("user", USER);
params.put("pass", PASS);
String returnStr = HttpUtil.post(POST_URL + KqInteractiveEnum.TOKEN.getPostPath(), params);
params.put("user", KqGlobal.USER);
params.put("pass", KqGlobal.PASS);
String returnStr = HttpUtil.post(KqGlobal.POST_URL + KqInteractiveEnum.TOKEN.getPostPath(), params);
JSONObject jsonObject = JSONObject.parseObject(returnStr);
String code = jsonObject.getString("code");
if (SUC_CODE.equals(code)) {
if (KqGlobal.SUC_CODE.equals(code)) {
return jsonObject.getString("token");
} else {
throw new CustomizeRunTimeException("token获取失败," + jsonObject.getString("msg"));

@ -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…
Cancel
Save