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