二开--康瑞考勤需求

kangrui
dxfeng 2 years ago
parent f2c4df3e32
commit e9b8e62287

@ -3,6 +3,9 @@ package com.engine.kr.entity.kq;
import org.apache.commons.lang3.StringUtils;
import weaver.conn.RecordSet;
import java.util.HashMap;
import java.util.Map;
/**
*
*
@ -102,4 +105,25 @@ public class KqActionBO {
}
return workTypeCode;
}
/**
*
*
* @param requestId
* @return
*/
public static Map<String, String> getOperateDateTime(String requestId) {
Map<String, String> map = new HashMap<>(2);
RecordSet rs = new RecordSet();
rs.executeQuery("select createdate,createtime,lastoperatedate,lastoperatetime from workflow_requestbase where requestid = ? ", requestId);
if (rs.next()) {
String createdate = rs.getString("createdate");
String createtime = rs.getString("createtime");
String lastoperatedate = rs.getString("lastoperatedate");
String lastoperatetime = rs.getString("lastoperatetime");
map.put("addDay", createdate + " " + createtime);
map.put("cfmDay", lastoperatedate + " " + lastoperatetime);
}
return map;
}
}

@ -15,5 +15,13 @@ public interface KqInteractiveService {
* @param params
* @return
*/
Map<String,Object> getLeaveBal(Map<String, Object> params);
Map<String, Object> getLeaveBal(Map<String, Object> params);
/**
*
*
* @param params
* @return
*/
Map<String, Object> getUserImage(Map<String, Object> params);
}

@ -8,9 +8,15 @@ import com.engine.kr.enums.KqInteractiveEnum;
import com.engine.kr.exception.CustomizeRunTimeException;
import com.engine.kr.service.KqInteractiveService;
import org.apache.commons.lang3.StringUtils;
import org.apache.poi.util.IOUtils;
import weaver.conn.RecordSet;
import weaver.file.ImageFileManager;
import weaver.general.BaseBean;
import weaver.general.Util;
import java.io.IOException;
import java.io.InputStream;
import java.util.Base64;
import java.util.HashMap;
import java.util.Map;
@ -68,6 +74,35 @@ public class KqInteractiveServiceImpl extends Service implements KqInteractiveSe
return returnMap;
}
@Override
public Map<String, Object> getUserImage(Map<String, Object> params) {
Map<String, Object> returnMap = new HashMap<>(3);
String personId = Util.null2String(params.get("personId"));
RecordSet rs = new RecordSet();
rs.executeQuery("select resourceimageid from hrmresource where workcode = ? ", personId);
String resourceImageId = "";
if (rs.next()) {
resourceImageId = rs.getString("resourceimageid");
}
if (StringUtils.isNotBlank(resourceImageId)) {
ImageFileManager manager = new ImageFileManager();
manager.getImageFileInfoById(Util.getIntValue(resourceImageId));
InputStream inputStream = manager.getInputStream();
try {
returnMap.put("base64", Base64.getEncoder().encodeToString(IOUtils.toByteArray(inputStream)));
returnMap.put("filetype", manager.getImageFileType());
returnMap.put("fileName", manager.getImageFileName());
} catch (IOException e) {
new BaseBean().writeLog(e);
throw new CustomizeRunTimeException(e.getMessage());
}
} else {
throw new CustomizeRunTimeException("文件获取失败");
}
return returnMap;
}
/**
* token
*

@ -1,5 +1,6 @@
package com.engine.kr.web;
import com.engine.common.util.ParamUtil;
import com.engine.common.util.ServiceUtil;
import com.engine.kr.service.KqInteractiveService;
import com.engine.kr.service.impl.KqInteractiveServiceImpl;
@ -9,6 +10,7 @@ import weaver.hrm.User;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import javax.ws.rs.GET;
import javax.ws.rs.POST;
import javax.ws.rs.Path;
import javax.ws.rs.Produces;
@ -29,8 +31,17 @@ public class KqInteractiveController {
@POST
@Path("/getLeaveBal")
@Produces(MediaType.APPLICATION_JSON)
public String getLeaveBal(@Context HttpServletRequest request, @Context HttpServletResponse response,Map<String,Object> params) {
public String getLeaveBal(@Context HttpServletRequest request, @Context HttpServletResponse response, Map<String, Object> params) {
User user = HrmUserVarify.getUser(request, response);
return new ResponseResult<Map<String, Object>, Map<String, Object>>(user).run(getService(user)::getLeaveBal, params);
}
@GET
@Path("/getUserImage")
@Produces(MediaType.APPLICATION_JSON)
public String getUserImage(@Context HttpServletRequest request, @Context HttpServletResponse response) {
User user = HrmUserVarify.getUser(request, response);
Map<String, Object> params = ParamUtil.request2Map(request);
return new ResponseResult<Map<String, Object>, Map<String, Object>>(user).run(getService(user)::getUserImage, params);
}
}

@ -1,4 +1,4 @@
package com.weaver.interfaces.kr.workflow.action;
package weaver.interfaces.kr.workflow.action;
import cn.hutool.http.HttpUtil;
import com.alibaba.fastjson.JSONObject;
@ -22,7 +22,6 @@ public class KrBatchOvertimeCreateAction implements Action {
public String execute(RequestInfo requestInfo) {
String billNo = "";
String resourceId = "";
MainTableInfo mainTableInfo = requestInfo.getMainTableInfo();
Property[] properties = mainTableInfo.getProperty();
@ -30,9 +29,6 @@ public class KrBatchOvertimeCreateAction implements Action {
String name = property.getName();
String value = property.getValue();
switch (name) {
case "resourceId":
resourceId = KqActionBO.getUserName(value);
break;
case "lcbh":
billNo = value;
break;
@ -41,9 +37,8 @@ public class KrBatchOvertimeCreateAction implements Action {
}
}
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();
Map<String, String> operateDateTime = KqActionBO.getOperateDateTime(requestInfo.getRequestid());
DetailTableInfo detailTableInfo = requestInfo.getDetailTableInfo();
@ -113,10 +108,10 @@ public class KrBatchOvertimeCreateAction implements Action {
params.put("billHours", billHours);
params.put("runsNo", null);
params.put("otReason", otReason);
params.put("addBy", resourceId);
params.put("addDay", addDay);
params.put("addBy", requestInfo.getCreatorid());
params.put("addDay", operateDateTime.get("addDay"));
params.put("cfmBy", cfmBy);
params.put("cfmDay", cfmDay);
params.put("cfmDay", operateDateTime.get("cfmDay"));
// 1新增、2变动、3取消
params.put("billStat", 1);

@ -1,4 +1,4 @@
package com.weaver.interfaces.kr.workflow.action;
package weaver.interfaces.kr.workflow.action;
import cn.hutool.http.HttpUtil;
import com.alibaba.fastjson.JSONObject;
@ -70,7 +70,7 @@ public class KrLeaveCreateAction implements Action {
}
}
Map<String, String> operateDateTime = KqActionBO.getOperateDateTime(requestInfo.getRequestid());
Map<String, Object> params = new HashMap<>();
params.put("token", new KqInteractiveServiceImpl().getToken());
params.put("personId", KqActionBO.getWorkCode(resourceId));
@ -85,10 +85,10 @@ public class KrLeaveCreateAction implements Action {
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("addBy", requestInfo.getCreatorid());
params.put("addDay", operateDateTime.get("addDay"));
params.put("cfmBy", KqActionBO.getUserName(requestInfo.getLastoperator()));
params.put("cfmDay", requestInfo.getRequestManager().getLastoperatedate() + " " + requestInfo.getRequestManager().getLastoperatetime());
params.put("cfmDay", operateDateTime.get("addDay"));
// 1新增、2变动、3取消
params.put("billStat", 1);
@ -97,9 +97,8 @@ public class KrLeaveCreateAction implements Action {
String code = jsonObject.getString("code");
if (KqGlobal.SUC_CODE.equals(code)) {
return SUCCESS;
} else {
requestInfo.getRequestManager().setMessagecontent(jsonObject.getString("msg"));
}
requestInfo.getRequestManager().setMessagecontent(jsonObject.getString("msg"));
return FAILURE_AND_CONTINUE;
}

@ -0,0 +1,49 @@
package weaver.interfaces.kr.workflow.action;
import weaver.conn.RecordSet;
import weaver.interfaces.workflow.action.Action;
import weaver.soa.workflow.request.MainTableInfo;
import weaver.soa.workflow.request.Property;
import weaver.soa.workflow.request.RequestInfo;
/**
* @author:dxfeng
* @createTime: 2023/05/24
* @version: 1.0
*/
public class KrLeaveRepeatAction implements Action {
@Override
public String execute(RequestInfo requestInfo) {
MainTableInfo mainTableInfo = requestInfo.getMainTableInfo();
String resourceId = "";
String leaveType = "";
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;
default:
break;
}
}
String billTableName = requestInfo.getRequestManager().getBillTableName();
RecordSet rs = new RecordSet();
rs.executeQuery("select count(1) as num from " + billTableName + " where resourceId = ? and jqlx =? and spzt != 2", resourceId, leaveType);
if (rs.next()) {
int num = rs.getInt("num");
if (num > 0) {
requestInfo.getRequestManager().setMessagecontent("当前人员存在未审批完成的请假审核流程,请勿重复提交");
return FAILURE_AND_CONTINUE;
}
}
return SUCCESS;
}
}

@ -1,4 +1,4 @@
package com.weaver.interfaces.kr.workflow.action;
package weaver.interfaces.kr.workflow.action;
import cn.hutool.http.HttpUtil;
import com.alibaba.fastjson.JSONObject;
@ -73,6 +73,7 @@ public class KrSingleOvertimeCreateAction implements Action {
break;
}
}
Map<String, String> operateDateTime = KqActionBO.getOperateDateTime(requestInfo.getRequestid());
Map<String, Object> params = new HashMap<>();
params.put("token", new KqInteractiveServiceImpl().getToken());
@ -87,11 +88,10 @@ public class KrSingleOvertimeCreateAction implements Action {
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("addBy", requestInfo.getCreatorid());
params.put("addDay", operateDateTime.get("addDay"));
params.put("cfmBy", KqActionBO.getUserName(requestInfo.getLastoperator()));
params.put("cfmDay", requestInfo.getRequestManager().getLastoperatedate() + " " + requestInfo.getRequestManager().getLastoperatetime());
// 1新增、2变动、3取消
params.put("cfmDay", operateDateTime.get("addDay"));
params.put("billStat", 1);
String returnStr = HttpUtil.post(KqGlobal.POST_URL + KqInteractiveEnum.OVERTIME_CREATE.getPostPath(), params);
@ -99,9 +99,8 @@ public class KrSingleOvertimeCreateAction implements Action {
String code = jsonObject.getString("code");
if (KqGlobal.SUC_CODE.equals(code)) {
return SUCCESS;
} else {
requestInfo.getRequestManager().setMessagecontent(jsonObject.getString("msg"));
}
requestInfo.getRequestManager().setMessagecontent(jsonObject.getString("msg"));
return FAILURE_AND_CONTINUE;
}
}
Loading…
Cancel
Save