dev-chenwnj
chenwei 1 year ago
parent c43a5a985d
commit d2343f9eba

@ -93,7 +93,7 @@ public class KQFormatData extends BaseBean {
//没有考勤组不需格式化 //没有考勤组不需格式化
return resultMap; return resultMap;
} }
if (workTime == null || workTime.getWorkMins() == 0) { if (workTime == null || (workTime.getWorkMins() == 0 && workTime.getRestShift() != 1)) {
kqLog.info("workTime == null || workTime.getWorkMins() == 0 插入空记录"); kqLog.info("workTime == null || workTime.getWorkMins() == 0 插入空记录");
nonlsParam = new ArrayList<>(); nonlsParam = new ArrayList<>();
formatNonWork(userId, kqDate,nonlsParam,workTime, workFlowInfo); formatNonWork(userId, kqDate,nonlsParam,workTime, workFlowInfo);
@ -199,11 +199,13 @@ public class KQFormatData extends BaseBean {
List<TimeScopeEntity> lsRestTime = new ArrayList<>(); List<TimeScopeEntity> lsRestTime = new ArrayList<>();
List<Object> workFlow = null; List<Object> workFlow = null;
int workminsNew = 0;
if (workTime != null) { if (workTime != null) {
lsSignTime = workTime.getSignTime();//允许打卡时间 lsSignTime = workTime.getSignTime();//允许打卡时间
lsWorkTime = workTime.getWorkTime();//工作时间 lsWorkTime = workTime.getWorkTime();//工作时间
lsRestTime = workTime.getRestTime();//休息时段时间 lsRestTime = workTime.getRestTime();//休息时段时间
oneSign = lsWorkTime!=null&&lsWorkTime.size()==1; oneSign = lsWorkTime!=null&&lsWorkTime.size()==1;
workminsNew = workTime.getWorkMins();
} }
int[] dayMins = new int[2880];//一天所有分钟数 int[] dayMins = new int[2880];//一天所有分钟数
@ -362,9 +364,7 @@ public class KQFormatData extends BaseBean {
String deduct_signofftime = Util.null2String(checkInfo.get("deduct_signofftime")); String deduct_signofftime = Util.null2String(checkInfo.get("deduct_signofftime"));
String flow_signInTime = ""; String flow_signInTime = "";
String flow_signOutTime = ""; String flow_signOutTime = "";
if(kqDate.compareTo(signDate) < 0) { if(kqDate.compareTo(signDate) < 0)endIdx+=1440;
endIdx+=1440;
}
if (signTime.length() > 8) { if (signTime.length() > 8) {
signTime = signTime.substring(0, 8); signTime = signTime.substring(0, 8);
} }
@ -589,12 +589,8 @@ public class KQFormatData extends BaseBean {
val = (Integer) leaveInfo.get(newLeaveType); val = (Integer) leaveInfo.get(newLeaveType);
} }
if(beginIdx<workBeginIdx) { if(beginIdx<workBeginIdx)tmpBeginIdx=workBeginIdx;
tmpBeginIdx=workBeginIdx; if(endIdx>workEndIdx)tmpEndIdx=endIdx;
}
if(endIdx>workEndIdx) {
tmpEndIdx=endIdx;
}
if(tmpEndIdx>tmpBeginIdx){ if(tmpEndIdx>tmpBeginIdx){
leaveInfo.put(newLeaveType,val+(tmpEndIdx-tmpBeginIdx)); leaveInfo.put(newLeaveType,val+(tmpEndIdx-tmpBeginIdx));
} }
@ -762,7 +758,7 @@ public class KQFormatData extends BaseBean {
forgotCheckMins = 0; forgotCheckMins = 0;
} }
if (workTime.getIsExclude()) {//无需考勤人员没有异常状态 if (workminsNew == 0 || workTime.getIsExclude()) {//无需考勤人员没有异常状态
beLateMins = 0; beLateMins = 0;
graveBeLateMins = 0; graveBeLateMins = 0;
leaveEarlyMins = 0; leaveEarlyMins = 0;
@ -878,6 +874,10 @@ public class KQFormatData extends BaseBean {
if("0".equals(nosign_is_absent)) { if("0".equals(nosign_is_absent)) {
attendanceMins = attendanceMins-forgotCheckMins-forgotBeginWorkCheckMins; attendanceMins = attendanceMins-forgotCheckMins-forgotBeginWorkCheckMins;
} }
if(workminsNew == 0) {
attendanceMins = 0;
workMins = 0;
}
if(beforeBegin || attendanceMins < 0) {//还未到上班时间,不用计算任何状体 if(beforeBegin || attendanceMins < 0) {//还未到上班时间,不用计算任何状体
attendanceMins = 0; attendanceMins = 0;
} }
@ -889,6 +889,10 @@ public class KQFormatData extends BaseBean {
// if("0".equals(nosign_is_absent)) { // if("0".equals(nosign_is_absent)) {
// attendanceMins = attendanceMins-forgotCheckMins-forgotBeginWorkCheckMins; // attendanceMins = attendanceMins-forgotCheckMins-forgotBeginWorkCheckMins;
// } // }
// if(workminsNew == 0) {
// attendanceMins = 0;
// workMins = 0;
// }
// if(beforeBegin || attendanceMins < 0) {//还未到上班时间,不用计算任何状体 // if(beforeBegin || attendanceMins < 0) {//还未到上班时间,不用计算任何状体
// attendanceMins = 0; // attendanceMins = 0;
// } // }
@ -916,7 +920,6 @@ public class KQFormatData extends BaseBean {
String groupid = Util.null2String(workTime.getGroupId()); String groupid = Util.null2String(workTime.getGroupId());
String serialid = Util.null2String(workTime.getSerialId()); String serialid = Util.null2String(workTime.getSerialId());
params.add(userId); params.add(userId);
params.add(kqDate); params.add(kqDate);
params.add(groupid.length() == 0 ? null : groupid); params.add(groupid.length() == 0 ? null : groupid);
@ -1025,9 +1028,7 @@ public class KQFormatData extends BaseBean {
// System.out.println("fieldname=="+fieldname); // System.out.println("fieldname=="+fieldname);
String fieldid = KQReportFieldComInfo.field2Id.get(fieldname); String fieldid = KQReportFieldComInfo.field2Id.get(fieldname);
String formula = kqReportFieldComInfo.getFormula(fieldid); String formula = kqReportFieldComInfo.getFormula(fieldid);
if(formula.length()==0) { if(formula.length()==0)continue;
continue;
}
String expression = formula; String expression = formula;
Pattern pattern = Pattern.compile("\\$\\{[^}]+\\}"); Pattern pattern = Pattern.compile("\\$\\{[^}]+\\}");
Matcher matcher = pattern.matcher(expression); Matcher matcher = pattern.matcher(expression);

@ -5,8 +5,7 @@ import com.alibaba.fastjson.JSONObject;
import com.engine.common.biz.AbstractCommonCommand; import com.engine.common.biz.AbstractCommonCommand;
import com.engine.common.entity.BizLogContext; import com.engine.common.entity.BizLogContext;
import com.engine.core.interceptor.CommandContext; import com.engine.core.interceptor.CommandContext;
import com.engine.kq.biz.KQReportBiz; import com.engine.kq.biz.*;
import com.engine.kq.biz.KQSettingsBiz;
import com.engine.kq.cmd.shiftmanagement.toolkit.ShiftManagementToolKit; import com.engine.kq.cmd.shiftmanagement.toolkit.ShiftManagementToolKit;
import com.engine.kq.util.ExcelUtil; import com.engine.kq.util.ExcelUtil;
import com.engine.kq.util.KQDurationCalculatorUtil; import com.engine.kq.util.KQDurationCalculatorUtil;

@ -5,8 +5,7 @@ import com.alibaba.fastjson.JSONObject;
import com.engine.common.biz.AbstractCommonCommand; import com.engine.common.biz.AbstractCommonCommand;
import com.engine.common.entity.BizLogContext; import com.engine.common.entity.BizLogContext;
import com.engine.core.interceptor.CommandContext; import com.engine.core.interceptor.CommandContext;
import com.engine.kq.biz.KQFormatBiz; import com.engine.kq.biz.*;
import com.engine.kq.biz.KQReportBiz;
import com.engine.kq.util.ExcelUtil; import com.engine.kq.util.ExcelUtil;
import com.engine.kq.util.KQDurationCalculatorUtil; import com.engine.kq.util.KQDurationCalculatorUtil;
import com.engine.kq.util.UtilKQ; import com.engine.kq.util.UtilKQ;

@ -6,7 +6,7 @@ import com.alibaba.fastjson.JSONObject;
import com.engine.common.biz.AbstractCommonCommand; import com.engine.common.biz.AbstractCommonCommand;
import com.engine.common.entity.BizLogContext; import com.engine.common.entity.BizLogContext;
import com.engine.core.interceptor.CommandContext; import com.engine.core.interceptor.CommandContext;
import com.engine.kq.biz.KQReportBiz; import com.engine.kq.biz.*;
import com.engine.kq.cmd.shiftmanagement.toolkit.ShiftManagementToolKit; import com.engine.kq.cmd.shiftmanagement.toolkit.ShiftManagementToolKit;
import com.engine.kq.entity.WorkTimeEntity; import com.engine.kq.entity.WorkTimeEntity;
import com.engine.kq.log.KQLog; import com.engine.kq.log.KQLog;

@ -5,8 +5,7 @@ import com.alibaba.fastjson.JSONObject;
import com.engine.common.biz.AbstractCommonCommand; import com.engine.common.biz.AbstractCommonCommand;
import com.engine.common.entity.BizLogContext; import com.engine.common.entity.BizLogContext;
import com.engine.core.interceptor.CommandContext; import com.engine.core.interceptor.CommandContext;
import com.engine.kq.biz.KQFormatBiz; import com.engine.kq.biz.*;
import com.engine.kq.biz.KQReportBiz;
import com.engine.kq.util.KQDurationCalculatorUtil; import com.engine.kq.util.KQDurationCalculatorUtil;
import com.engine.kq.util.PageUidFactory; import com.engine.kq.util.PageUidFactory;
import weaver.common.DateUtil; import weaver.common.DateUtil;

@ -0,0 +1,136 @@
package com.engine.kq.entity;
import java.util.List;
import java.util.Map;
/***
*
*/
public class WorkTimeEntity {
private String groupId;//所属考勤组
private String groupName;//所属考勤组
private String kqType;//考勤类型
private String serialId;//班次
private Map<String,Object> shiftRuleInfo;//班次人性化规则
private List<TimeScopeEntity> signTime;//允许打卡时间
private List<TimeScopeEntity> workTime;//工作时间
private List<TimeScopeEntity> restTime;//休息时间
private int workMins;//工作时长
private String isAcross;//是否跨天
private String signstart;//自由工时开始打卡时间
private boolean isExclude;//无需考勤人员
private String calmethod;//自由班制计算方式
private int restShift;
public String getGroupId() {
return groupId;
}
public void setGroupId(String groupId) {
this.groupId = groupId;
}
public String getGroupName() {
return groupName;
}
public void setGroupName(String groupName) {
this.groupName = groupName;
}
public String getKQType() {
return kqType;
}
public void setKQType(String kqType) {
this.kqType = kqType;
}
public String getSerialId() {
return serialId;
}
public void setSerialId(String serialId) {
this.serialId = serialId;
}
public Map<String, Object> getShiftRuleInfo() {
return shiftRuleInfo;
}
public void setShiftRuleInfo(Map<String, Object> shiftRuleInfo) {
this.shiftRuleInfo = shiftRuleInfo;
}
public List<TimeScopeEntity> getWorkTime() {
return workTime;
}
public void setWorkTime(List<TimeScopeEntity> workTime) {
this.workTime = workTime;
}
public List<TimeScopeEntity> getRestTime() {
return restTime;
}
public void setRestTime(List<TimeScopeEntity> restTime) {
this.restTime = restTime;
}
public int getWorkMins() {
return workMins;
}
public void setWorkMins(int workMins) {
this.workMins = workMins;
}
public String getIsAcross() {
return isAcross;
}
public void setIsAcross(String isAcross) {
this.isAcross = isAcross;
}
public String getSignStart() {
return signstart;
}
public void setSignStart(String signstart) {
this.signstart = signstart;
}
public List<TimeScopeEntity> getSignTime() {
return signTime;
}
public void setSignTime(List<TimeScopeEntity> signTime) {
this.signTime = signTime;
}
public boolean getIsExclude() {
return isExclude;
}
public void setIsExclude(boolean isExclude) {
this.isExclude = isExclude;
}
public String getCalmethod() {
return calmethod;
}
public void setCalmethod(String calmethod) {
this.calmethod = calmethod;
}
public int getRestShift() {
return restShift;
}
public void setRestShift(int restShift) {
this.restShift = restShift;
}
}

@ -25,6 +25,7 @@ public class SskjUtil {
final String THISMONTH = "uf_jbtxdyfjs"; final String THISMONTH = "uf_jbtxdyfjs";
final String OTHERMONTH = "uf_jbtxgyfff"; final String OTHERMONTH = "uf_jbtxgyfff";
/** /**
* *
* @param userId * @param userId

@ -66,7 +66,6 @@ public class SyncZkKqDataJob extends BaseCronJob {
String url = bb.getPropValue("project_sskj", "zkKqUrl"); String url = bb.getPropValue("project_sskj", "zkKqUrl");
//获取日志表建模模块ID //获取日志表建模模块ID
String kqSyncLogModeId = bb.getPropValue("project_sskj","kqSyncLogModeId"); String kqSyncLogModeId = bb.getPropValue("project_sskj","kqSyncLogModeId");
// String url = "http://172.16.50.12:8080/api/v2/transaction/get/?key=28688gxdq7wggprje-nxfdqoqetxe5jscuj0h2bhx2jn";
bb.writeLog("url:"+url); bb.writeLog("url:"+url);
Map<String, String> heads = new HashMap<String, String>(); Map<String, String> heads = new HashMap<String, String>();
Map<String,Object> dataMap = new HashMap<String,Object>(); Map<String,Object> dataMap = new HashMap<String,Object>();
@ -136,7 +135,7 @@ public class SyncZkKqDataJob extends BaseCronJob {
logPa.add("1"); logPa.add("1");
logPa.add("0"); logPa.add("0");
logPa.add(signDate); logPa.add(signDate);
logPa.add(endTime); logPa.add(endTime.substring(10,16));
logParams.add(logPa); logParams.add(logPa);
} }
@ -189,7 +188,6 @@ public class SyncZkKqDataJob extends BaseCronJob {
} }
String sql = ""; String sql = "";
BatchRecordSet bRs = new BatchRecordSet();
RecordSet rsB = new RecordSet(); RecordSet rsB = new RecordSet();
bb.writeLog("开始同步数据"); bb.writeLog("开始同步数据");
@ -204,7 +202,7 @@ public class SyncZkKqDataJob extends BaseCronJob {
String addLogSql = "insert into uf_kqsynclog (syncdate, resourceid, kqdate, kqtime, kqalias, " + String addLogSql = "insert into uf_kqsynclog (syncdate, resourceid, kqdate, kqtime, kqalias, " +
" formmodeid, modedatacreater, modedatacreatertype, modedatacreatedate, modedatacreatetime) " + " formmodeid, modedatacreater, modedatacreatertype, modedatacreatedate, modedatacreatetime) " +
" values (?,?,?,?,?,?,?,?,?,?,?)"; " values (?,?,?,?,?,?,?,?,?,?)";
boolean bLog = rsB.executeBatchSql(addLogSql, logParams); boolean bLog = rsB.executeBatchSql(addLogSql, logParams);
bb.writeLog("bLog: " + bLog); bb.writeLog("bLog: " + bLog);
if (bLog) { if (bLog) {

Loading…
Cancel
Save