diff --git a/src/com/engine/kq/biz/KQFormatData.java b/src/com/engine/kq/biz/KQFormatData.java index 1106dc0..9bfae8a 100644 --- a/src/com/engine/kq/biz/KQFormatData.java +++ b/src/com/engine/kq/biz/KQFormatData.java @@ -93,7 +93,7 @@ public class KQFormatData extends BaseBean { //没有考勤组不需格式化 return resultMap; } - if (workTime == null || workTime.getWorkMins() == 0) { + if (workTime == null || (workTime.getWorkMins() == 0 && workTime.getRestShift() != 1)) { kqLog.info("workTime == null || workTime.getWorkMins() == 0 插入空记录"); nonlsParam = new ArrayList<>(); formatNonWork(userId, kqDate,nonlsParam,workTime, workFlowInfo); @@ -199,11 +199,13 @@ public class KQFormatData extends BaseBean { List lsRestTime = new ArrayList<>(); List workFlow = null; + int workminsNew = 0; if (workTime != null) { lsSignTime = workTime.getSignTime();//允许打卡时间 lsWorkTime = workTime.getWorkTime();//工作时间 lsRestTime = workTime.getRestTime();//休息时段时间 oneSign = lsWorkTime!=null&&lsWorkTime.size()==1; + workminsNew = workTime.getWorkMins(); } int[] dayMins = new int[2880];//一天所有分钟数 @@ -362,9 +364,7 @@ public class KQFormatData extends BaseBean { String deduct_signofftime = Util.null2String(checkInfo.get("deduct_signofftime")); String flow_signInTime = ""; String flow_signOutTime = ""; - if(kqDate.compareTo(signDate) < 0) { - endIdx+=1440; - } + if(kqDate.compareTo(signDate) < 0)endIdx+=1440; if (signTime.length() > 8) { signTime = signTime.substring(0, 8); } @@ -589,12 +589,8 @@ public class KQFormatData extends BaseBean { val = (Integer) leaveInfo.get(newLeaveType); } - if(beginIdxworkEndIdx) { - tmpEndIdx=endIdx; - } + if(beginIdxworkEndIdx)tmpEndIdx=endIdx; if(tmpEndIdx>tmpBeginIdx){ leaveInfo.put(newLeaveType,val+(tmpEndIdx-tmpBeginIdx)); } @@ -762,7 +758,7 @@ public class KQFormatData extends BaseBean { forgotCheckMins = 0; } - if (workTime.getIsExclude()) {//无需考勤人员没有异常状态 + if (workminsNew == 0 || workTime.getIsExclude()) {//无需考勤人员没有异常状态 beLateMins = 0; graveBeLateMins = 0; leaveEarlyMins = 0; @@ -878,6 +874,10 @@ public class KQFormatData extends BaseBean { if("0".equals(nosign_is_absent)) { attendanceMins = attendanceMins-forgotCheckMins-forgotBeginWorkCheckMins; } + if(workminsNew == 0) { + attendanceMins = 0; + workMins = 0; + } if(beforeBegin || attendanceMins < 0) {//还未到上班时间,不用计算任何状体 attendanceMins = 0; } @@ -889,6 +889,10 @@ public class KQFormatData extends BaseBean { // if("0".equals(nosign_is_absent)) { // attendanceMins = attendanceMins-forgotCheckMins-forgotBeginWorkCheckMins; // } +// if(workminsNew == 0) { +// attendanceMins = 0; +// workMins = 0; +// } // if(beforeBegin || attendanceMins < 0) {//还未到上班时间,不用计算任何状体 // attendanceMins = 0; // } @@ -916,7 +920,6 @@ public class KQFormatData extends BaseBean { String groupid = Util.null2String(workTime.getGroupId()); String serialid = Util.null2String(workTime.getSerialId()); - params.add(userId); params.add(kqDate); params.add(groupid.length() == 0 ? null : groupid); @@ -1025,9 +1028,7 @@ public class KQFormatData extends BaseBean { // System.out.println("fieldname=="+fieldname); String fieldid = KQReportFieldComInfo.field2Id.get(fieldname); String formula = kqReportFieldComInfo.getFormula(fieldid); - if(formula.length()==0) { - continue; - } + if(formula.length()==0)continue; String expression = formula; Pattern pattern = Pattern.compile("\\$\\{[^}]+\\}"); Matcher matcher = pattern.matcher(expression); diff --git a/src/com/engine/kq/cmd/report/ExportDailyExcelCmd.java b/src/com/engine/kq/cmd/report/ExportDailyExcelCmd.java index 182dd06..65270e2 100644 --- a/src/com/engine/kq/cmd/report/ExportDailyExcelCmd.java +++ b/src/com/engine/kq/cmd/report/ExportDailyExcelCmd.java @@ -5,8 +5,7 @@ import com.alibaba.fastjson.JSONObject; import com.engine.common.biz.AbstractCommonCommand; import com.engine.common.entity.BizLogContext; import com.engine.core.interceptor.CommandContext; -import com.engine.kq.biz.KQReportBiz; -import com.engine.kq.biz.KQSettingsBiz; +import com.engine.kq.biz.*; import com.engine.kq.cmd.shiftmanagement.toolkit.ShiftManagementToolKit; import com.engine.kq.util.ExcelUtil; import com.engine.kq.util.KQDurationCalculatorUtil; diff --git a/src/com/engine/kq/cmd/report/ExportExcelCmd.java b/src/com/engine/kq/cmd/report/ExportExcelCmd.java index 9d3e823..e3f5b63 100644 --- a/src/com/engine/kq/cmd/report/ExportExcelCmd.java +++ b/src/com/engine/kq/cmd/report/ExportExcelCmd.java @@ -5,8 +5,7 @@ import com.alibaba.fastjson.JSONObject; import com.engine.common.biz.AbstractCommonCommand; import com.engine.common.entity.BizLogContext; import com.engine.core.interceptor.CommandContext; -import com.engine.kq.biz.KQFormatBiz; -import com.engine.kq.biz.KQReportBiz; +import com.engine.kq.biz.*; import com.engine.kq.util.ExcelUtil; import com.engine.kq.util.KQDurationCalculatorUtil; import com.engine.kq.util.UtilKQ; diff --git a/src/com/engine/kq/cmd/report/GetKQDailyReportCmd.java b/src/com/engine/kq/cmd/report/GetKQDailyReportCmd.java index 6014f23..9cc5c1d 100644 --- a/src/com/engine/kq/cmd/report/GetKQDailyReportCmd.java +++ b/src/com/engine/kq/cmd/report/GetKQDailyReportCmd.java @@ -6,7 +6,7 @@ import com.alibaba.fastjson.JSONObject; import com.engine.common.biz.AbstractCommonCommand; import com.engine.common.entity.BizLogContext; 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.entity.WorkTimeEntity; import com.engine.kq.log.KQLog; diff --git a/src/com/engine/kq/cmd/report/GetKQReportCmd.java b/src/com/engine/kq/cmd/report/GetKQReportCmd.java index 8b54707..e92dd89 100644 --- a/src/com/engine/kq/cmd/report/GetKQReportCmd.java +++ b/src/com/engine/kq/cmd/report/GetKQReportCmd.java @@ -5,8 +5,7 @@ import com.alibaba.fastjson.JSONObject; import com.engine.common.biz.AbstractCommonCommand; import com.engine.common.entity.BizLogContext; import com.engine.core.interceptor.CommandContext; -import com.engine.kq.biz.KQFormatBiz; -import com.engine.kq.biz.KQReportBiz; +import com.engine.kq.biz.*; import com.engine.kq.util.KQDurationCalculatorUtil; import com.engine.kq.util.PageUidFactory; import weaver.common.DateUtil; diff --git a/src/com/engine/kq/entity/WorkTimeEntity.java b/src/com/engine/kq/entity/WorkTimeEntity.java new file mode 100644 index 0000000..b358c44 --- /dev/null +++ b/src/com/engine/kq/entity/WorkTimeEntity.java @@ -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 shiftRuleInfo;//班次人性化规则 + private List signTime;//允许打卡时间 + private List workTime;//工作时间 + private List 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 getShiftRuleInfo() { + return shiftRuleInfo; + } + + public void setShiftRuleInfo(Map shiftRuleInfo) { + this.shiftRuleInfo = shiftRuleInfo; + } + + public List getWorkTime() { + return workTime; + } + + public void setWorkTime(List workTime) { + this.workTime = workTime; + } + + public List getRestTime() { + return restTime; + } + + public void setRestTime(List 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 getSignTime() { + return signTime; + } + + public void setSignTime(List 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; +} +} diff --git a/src/com/engine/sskj/util/SskjUtil.java b/src/com/engine/sskj/util/SskjUtil.java index 3bbe0ac..ea4a010 100644 --- a/src/com/engine/sskj/util/SskjUtil.java +++ b/src/com/engine/sskj/util/SskjUtil.java @@ -25,6 +25,7 @@ public class SskjUtil { final String THISMONTH = "uf_jbtxdyfjs"; final String OTHERMONTH = "uf_jbtxgyfff"; + /** * 建模权限重构 * @param userId diff --git a/src/weaver/interfaces/sskj/job/SyncZkKqDataJob.java b/src/weaver/interfaces/sskj/job/SyncZkKqDataJob.java index aa27bc6..10d7e92 100644 --- a/src/weaver/interfaces/sskj/job/SyncZkKqDataJob.java +++ b/src/weaver/interfaces/sskj/job/SyncZkKqDataJob.java @@ -66,7 +66,6 @@ public class SyncZkKqDataJob extends BaseCronJob { String url = bb.getPropValue("project_sskj", "zkKqUrl"); //获取日志表建模模块ID 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); Map heads = new HashMap(); Map dataMap = new HashMap(); @@ -136,7 +135,7 @@ public class SyncZkKqDataJob extends BaseCronJob { logPa.add("1"); logPa.add("0"); logPa.add(signDate); - logPa.add(endTime); + logPa.add(endTime.substring(10,16)); logParams.add(logPa); } @@ -189,7 +188,6 @@ public class SyncZkKqDataJob extends BaseCronJob { } String sql = ""; - BatchRecordSet bRs = new BatchRecordSet(); RecordSet rsB = new RecordSet(); bb.writeLog("开始同步数据"); @@ -204,7 +202,7 @@ public class SyncZkKqDataJob extends BaseCronJob { String addLogSql = "insert into uf_kqsynclog (syncdate, resourceid, kqdate, kqtime, kqalias, " + " formmodeid, modedatacreater, modedatacreatertype, modedatacreatedate, modedatacreatetime) " + - " values (?,?,?,?,?,?,?,?,?,?,?)"; + " values (?,?,?,?,?,?,?,?,?,?)"; boolean bLog = rsB.executeBatchSql(addLogSql, logParams); bb.writeLog("bLog: " + bLog); if (bLog) {