去除格式化对班代码

dev
Administrator 1 year ago
parent 29e8b1151f
commit c4b72324cb

@ -306,103 +306,6 @@ public class KQFormatData extends BaseBean {
List<Object> 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<Map<String,String>> list2 = new ArrayList<>();
//2.1查询出打卡地点经纬度建模list
String sql2 = "select kqdz,dybc from uf_jwdbj";
rt.execute(sql2);
while (rt.next()){
Map<String,String> 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<String, String> 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();//允许打卡时间

Loading…
Cancel
Save