diff --git a/src/com/engine/kq/biz/KQFormatData.java b/src/com/engine/kq/biz/KQFormatData.java index 84e18c3..ac2faa4 100644 --- a/src/com/engine/kq/biz/KQFormatData.java +++ b/src/com/engine/kq/biz/KQFormatData.java @@ -306,103 +306,6 @@ public class KQFormatData extends BaseBean { List workFlow = null; bb.writeLog("format.groupId:"+workTime.getGroupId()+"format.serialId:"+workTime.getSerialId()); - if((workTime.getGroupId()!=null&&StringUtils.isNotBlank(workTime.getGroupId()))&&LIST.contains(workTime.getGroupId())&&(workTime.getSerialId()==null||StringUtils.isBlank(workTime.getSerialId()))){ - bb.writeLog("start to Automatic shift alignment"+LIST); - bb.writeLog("format.userId:"+userId+"format.kqDate:"+kqDate+"format.workTime:"+workTime+"format.workFlowInfo:"+workFlowInfo+"format.uuid:"+uuid); - //责任制考勤组 - //当天考勤标识 - boolean kqFlag = false; - boolean xxFlag = false; - boolean ccFlag = false; - boolean wqdkFlag = false; - boolean qjFlag = false; - String showaddress = ""; - String dybc = ""; - //1.查询该员工当天考勤地点(名称) - String sql = "select a.id as id ,a.longitude,a.latitude,a.showaddress,b.id as resourceid, b.lastname," + - " signdate, signtime from hrmschedulesign a left join hrmresource b on b.id = a.userid" + - " left join hrmdepartment c on c.id = b.departmentid" + - " where a.isincom = 1 and b.id = ? and a.signdate = ? order by a.signdate desc"; - rt.executeQuery(sql,userId,kqDate); - if(rt.next()){ - kqFlag = true; - showaddress = Util.null2String(rt.getString("showaddress")); - } - bb.writeLog("sign showaddress:"+showaddress); - //2.查询指定打卡地点的经纬度及范围的list - List> list2 = new ArrayList<>(); - //2.1查询出打卡地点经纬度建模list - String sql2 = "select kqdz,dybc from uf_jwdbj"; - rt.execute(sql2); - while (rt.next()){ - Map map = new HashMap<>(); - map.put("kqdz", Util.null2String(rt.getString("kqdz"))); - map.put("dybc", Util.null2String(rt.getString("dybc"))); - list2.add(map); - } - bb.writeLog("uf_jwdbj.list2:"+list2); - //3.计算两点之间的距离是否大于范围值,小于则自动对班(白班) - for (Map map : list2) { - if(map.get("kqdz").equals(showaddress)){ - dybc = map.get("dybc"); - } - } - bb.writeLog("format.dybc:"+dybc); - // 4.休息日或节假日给休息班次 - int changeType = KQOvertimeRulesBiz.getChangeType(userId, kqDate); - bb.writeLog("format.changeType:"+changeType); - //考勤当天是节假日或者休息日 - if(changeType==1||changeType==3){ - xxFlag = true; - } - bb.writeLog("format.xxFlag:"+xxFlag); - //5.外勤打卡(需要有打卡记录+对应的出差流程) - //5.1打卡记录查询 - String wqSql = "select * from mobile_sign where operater = ? and operate_date = ? "; - rt.executeQuery(wqSql,userId,kqDate); - if(rt.next()){ - wqdkFlag = true; - } - bb.writeLog("format.wqdkFlag:"+wqdkFlag); - //5.2出差记录查询 - String ccSql = "select currentnodetype from workflow_requestbase where requestid in " + - " (select requestId from formtable_main_61 where sqr = ? and " + - " (ksrq +' '+ kssj) <=? " + - " and (yjjsrq+' '+yjjssj) >=? "; - rt.executeQuery(ccSql,userId,kqDate,kqDate); - if(rt.next()){ - ccFlag = true; - } - bb.writeLog("format.ccFlag:"+ccFlag); - //6.查询该员工当天是否有已办结的请假流程(有:自动对班;否:不处理) - //6.1 查询当天是否有休假流程,查询出流程requestid - String sql3 = "select currentnodetype from workflow_requestbase where requestid in (select requestid from kq_flow_split_leave where (fromdatedb +' '+ fromtimedb) <=? " + - "and (todatedb+' '+totimedb) >=?) and currentnodetype in ('1','3') "; - //6.2 查询这些requestid是否在当天前(包含当天)已批准 - rt.executeQuery(sql3,kqDate,kqDate); - if(rt.next()){ - qjFlag = true; - } - bb.writeLog("format.qjFlag:"+qjFlag); - //1.正常打卡给对应打卡地点对应班次 - if(kqFlag){ - //指定白班 - workTime.setSerialId(dybc); - } - if(xxFlag){ - //休息 - workTime.setSerialId("-1"); - } - if(wqdkFlag&&ccFlag){ - //外勤打卡+出差流程 - workTime.setSerialId("9"); - } - if(qjFlag){ - //请假流程指定白班 - workTime.setSerialId("9"); - } - bb.writeLog("format.serialIdLast:"+workTime.getSerialId()); - } if (workTime != null) { lsSignTime = workTime.getSignTime();//允许打卡时间