项目人员 薛振修改

AISIN
Chengliang 4 months ago
parent 8fb90ca69a
commit ee734edb70

@ -49,12 +49,12 @@ public class KqConfirmWfCrob extends BaseCronJob {
//1.获取指定分部下 类型为排班制的 考勤组
List<String> groupIds = new ArrayList<>();
rs.executeQuery("select id from kq_group where subcompanyid = ? and kqtype = 2",subcompanyid);
rs.executeQuery("select id from kq_group where subcompanyid = ? and kqtype = 2", subcompanyid);
while (rs.next()) {
groupIds.add(Util.null2String(rs.getString("id")));
}
if(CollectionUtils.isEmpty(groupIds)) {
if (CollectionUtils.isEmpty(groupIds)) {
return;
}
@ -69,12 +69,13 @@ public class KqConfirmWfCrob extends BaseCronJob {
.distinct()
.collect(Collectors.toList());
bb.writeLog("需要触发流程的人员 =>" +distinctMembers.toString()+"=>size:"+distinctMembers.size());
bb.writeLog("需要触发流程的人员 =>" + distinctMembers.toString() + "=>size:" + distinctMembers.size());
// 尽量保持 IN 列表的大小在 1000 个值以内
String join = StringUtils.join(distinctMembers, ",");
String sql = "select id,workcode,departmentid from hrmresource where id in ("+join+")";
bb.writeLog("sqlmain:"+sql);
String sql = "select id,workcode,departmentid from hrmresource where id in (" + join + ")";
sql = "select id,workcode,departmentid from hrmresource where lastname in ('ATBP人事管理员','韩园园', '测试加班仙女21-男', '测试加班仙女21-女', '测试考勤', '测试-刘1', '测试小朱-男', '测试小朱-女', '陈曦', '陈莹', '范文露', '蒋珊', '开发', '开发测试', '李鹭', '刘辉', '刘长', '田建萍', '王珺', '王可爱', '吴建国', '闫雅杰', '杨勇', '张航', '张宁', '张子识')";
bb.writeLog("sqlmain:" + sql);
rs.executeQuery(sql);
while (rs.next()) {
resourceList.add(MainTableInfo.builder()
@ -102,7 +103,7 @@ public class KqConfirmWfCrob extends BaseCronJob {
WorkflowRequestTableField startDate = createWorkflowRequestTableField("sqrq", currentDate, true);
WorkflowRequestTableField month = createWorkflowRequestTableField("kqyf", kqMonth, true);
WorkflowRequestTableField[] workflowRequestTableField = {workcode,lastname,deparyment,startDate,month};
WorkflowRequestTableField[] workflowRequestTableField = {workcode, lastname, deparyment, startDate, month};
WorkflowRequestTableRecord[] workflowRequestTableRecord = new WorkflowRequestTableRecord[1];
workflowMainTableInfo.setRequestRecords(workflowRequestTableRecord);
@ -120,14 +121,14 @@ public class KqConfirmWfCrob extends BaseCronJob {
.build();
String requestId = doCreateWorkflow(cusWorkflowRequestInfo);
bb.writeLog("流程创建成功requestId=>"+requestId);
bb.writeLog("流程创建成功requestId=>" + requestId);
if (Integer.parseInt(requestId) < 0) {
break;
}
if (Integer.parseInt(requestId) < 0) {
break;
}
//获取主表id
rs.executeQuery("select id from "+tableName+" where requestid = ?",requestId);
rs.executeQuery("select id from " + tableName + " where requestid = ?", requestId);
rs.next();
Integer mainId = Util.getIntValue(rs.getString("id"));
@ -135,20 +136,20 @@ public class KqConfirmWfCrob extends BaseCronJob {
//2.更新明细表
//2.1 明细表1班次
List<ScheDetailTableInfo> scheDetails = new ArrayList<>();
rs.executeQuery("select kqdate,serialid from kq_shiftschedule where kqdate >= '"+firstDayOfMonth+"' and kqdate <= '"+lastDayOfMonth+"' \n" +
" and resourceid = ? and isdelete = 0 order by kqdate asc",e.getResourceId());
rs.executeQuery("select kqdate,serialid from kq_shiftschedule where kqdate >= '" + firstDayOfMonth + "' and kqdate <= '" + lastDayOfMonth + "' \n" +
" and resourceid = ? and isdelete = 0 order by kqdate asc", e.getResourceId());
while (rs.next()) {
scheDetails.add(ScheDetailTableInfo.builder().date(Util.null2String(rs.getString("kqdate")))
.serialId(Util.null2String(rs.getString("serialid"))).build());
}
scheDetails.forEach(sche -> rs.executeUpdate("insert into "+tableName+"_dt1 (mainid,pbrq,bc) values(?,?,?)",mainId,sche.getDate(),sche.getSerialId()));
scheDetails.forEach(sche -> rs.executeUpdate("insert into " + tableName + "_dt1 (mainid,pbrq,bc) values(?,?,?)", mainId, sche.getDate(), sche.getSerialId()));
//2.2 明细表2加班
List<FlowDetailTableInfo> flowDetails = new ArrayList<>();
rs.executeQuery("select belongdate,duration_min from KQ_FLOW_OVERTIME where belongdate >= '"+firstDayOfMonth+"' and belongdate <= '"+lastDayOfMonth+"' \n" +
" and resourceid = ? order by belongdate asc",e.getResourceId());
while (rs.next()){
rs.executeQuery("select belongdate,duration_min from KQ_FLOW_OVERTIME where belongdate >= '" + firstDayOfMonth + "' and belongdate <= '" + lastDayOfMonth + "' \n" +
" and resourceid = ? order by belongdate asc", e.getResourceId());
while (rs.next()) {
String belongdate = Util.null2String(rs.getString("belongdate"));
String duration_min = Util.null2String(rs.getString("duration_min"));
WorkTimeEntity workTime = kqWorkTime.getWorkTime(e.getResourceId(), belongdate);
@ -160,13 +161,13 @@ public class KqConfirmWfCrob extends BaseCronJob {
.build());
}
flowDetails.forEach(flow -> rs.executeUpdate("insert into "+tableName+"_dt2 (mainid,jbrq,jbbc,jbxs) values(?,?,?,?)",mainId,flow.getDate(),
flow.getSerialId(),flow.getHours()));
flowDetails.forEach(flow -> rs.executeUpdate("insert into " + tableName + "_dt2 (mainid,jbrq,jbbc,jbxs) values(?,?,?,?)", mainId, flow.getDate(),
flow.getSerialId(), flow.getHours()));
//2.3 明细表3请假
List<LeaveDetailTableInfo> leaveDetails = new ArrayList<>();
rs.executeQuery("select belongDate,newleavetype,d_mins,serialid,leavebackrequestid from kq_flow_split_leave where belongDate >= '"+firstDayOfMonth+"' and belongDate <= '"+lastDayOfMonth+"' \n" +
" and resourceid = ? order by belongdate asc",e.getResourceId());
rs.executeQuery("select belongDate,newleavetype,d_mins,serialid,leavebackrequestid from kq_flow_split_leave where belongDate >= '" + firstDayOfMonth + "' and belongDate <= '" + lastDayOfMonth + "' \n" +
" and resourceid = ? order by belongdate asc", e.getResourceId());
while (rs.next()) {
String belongDate = Util.null2String(rs.getString("belongDate"));
String serialId = Util.null2String(rs.getString("serialid"));
@ -190,15 +191,14 @@ public class KqConfirmWfCrob extends BaseCronJob {
}
leaveDetails.forEach(leave -> rs.executeUpdate("insert into "+tableName+"_dt3 (mainid,qjrq,qjbc,qjlx,qjxs) values(?,?,?,?,?)",mainId,
leave.getDate(),leave.getSerialId(),leave.getLeaveType(),leave.getHours()));
leaveDetails.forEach(leave -> rs.executeUpdate("insert into " + tableName + "_dt3 (mainid,qjrq,qjbc,qjlx,qjxs) values(?,?,?,?,?)", mainId,
leave.getDate(), leave.getSerialId(), leave.getLeaveType(), leave.getHours()));
}
}
}
private String doCreateWorkflow(CusWorkflowRequestInfo cusWq){
private String doCreateWorkflow(CusWorkflowRequestInfo cusWq) {
//工作流程请求信息
WorkflowRequestInfo workflowRequestInfo = new WorkflowRequestInfo();
@ -222,7 +222,7 @@ public class KqConfirmWfCrob extends BaseCronJob {
}
private WorkflowRequestTableField createWorkflowRequestTableField(String fieldName, String fieldValue,boolean view) {
private WorkflowRequestTableField createWorkflowRequestTableField(String fieldName, String fieldValue, boolean view) {
WorkflowRequestTableField tableField = new WorkflowRequestTableField();
tableField.setFieldName(fieldName);
tableField.setFieldValue(fieldValue);
@ -233,12 +233,13 @@ public class KqConfirmWfCrob extends BaseCronJob {
/**
*
*
* @param leavebackrequestid
* @param resourceId
* @param belongDate
* @return
*/
private String leaveBack(String leavebackrequestid,String resourceId,String belongDate){
private String leaveBack(String leavebackrequestid, String resourceId, String belongDate) {
RecordSet rs = new RecordSet();
BaseBean bb = new BaseBean();
//leavebackrequestid 格式 ,123456,123467
@ -248,10 +249,10 @@ public class KqConfirmWfCrob extends BaseCronJob {
.filter(str -> !str.isEmpty())
.collect(Collectors.toList());
String join = CollectionUtil.join(filteredStrings, ",");
bb.writeLog("销假requestid =>"+leavebackrequestid+"=>"+join);
bb.writeLog("销假requestid =>" + leavebackrequestid + "=>" + join);
List<Integer> list = new ArrayList<>();
rs.executeQuery("select D_Mins from kq_flow_split_leaveback where resourceid = ? and requestid in ("+join+") " +
" and belongDate = '"+belongDate+"'",resourceId);
rs.executeQuery("select D_Mins from kq_flow_split_leaveback where resourceid = ? and requestid in (" + join + ") " +
" and belongDate = '" + belongDate + "'", resourceId);
while (rs.next()) {
list.add(Util.getIntValue(rs.getString("D_Mins")));
}
@ -269,7 +270,7 @@ public class KqConfirmWfCrob extends BaseCronJob {
return previousMonthDate.format(formatter);
}
private String firstDayOfMonth(String yearMonthStr) {
private String firstDayOfMonth(String yearMonthStr) {
DateTimeFormatter formatter = DateTimeFormatter.ofPattern("yyyy-MM");
YearMonth yearMonth = YearMonth.parse(yearMonthStr, formatter);
LocalDate firstDayOfMonth = yearMonth.atDay(1);
@ -301,5 +302,4 @@ public class KqConfirmWfCrob extends BaseCronJob {
}
}

Loading…
Cancel
Save