diff --git a/src/com/engine/kq/biz/KQReportBiz.java b/src/com/engine/kq/biz/KQReportBiz.java index 72dc7c9..5469c27 100644 --- a/src/com/engine/kq/biz/KQReportBiz.java +++ b/src/com/engine/kq/biz/KQReportBiz.java @@ -716,8 +716,8 @@ public class KQReportBiz extends BaseBean { sqlWhere += " and c.loginid is not null " + (rs.getDBType().equals("oracle") ? "" : " and c.loginid<>'' "); } - sql = " select * from (select * from uf_casleave a left join hrmresource on a.resourceid = b.id " + - " where a.startdate >='" + fromDate + "' and a.enddate <='" + toDate +"' and (isdecu = 0 or isdecu is null ) ) c where 1=1 " + sqlWhere; + sql = " select * from (select * from uf_casleave a left join hrmresource b on a.resourceid = b.id " + + " where a.startdate >='" + fromDate + "' and a.enddate <='" + toDate +"' and (a.isdecu = 0 or a.isdecu is null ) ) c where 1=1 " + sqlWhere; basebean.writeLog("getToComLeaveData sql: " + sql); rs.executeQuery(sql); @@ -987,6 +987,7 @@ public class KQReportBiz extends BaseBean { RecordSet rs = new RecordSet(); String sql = ""; String sqlWhere = " "; + String sqlWhere1 = " "; try { KQTimesArrayComInfo kqTimesArrayComInfo = new KQTimesArrayComInfo(); KQLeaveRulesComInfo kqLeaveRulesComInfo = new KQLeaveRulesComInfo(); @@ -1022,25 +1023,31 @@ public class KQReportBiz extends BaseBean { String viewScope = Util.null2String(jsonObj.get("viewScope")); if (subCompanyId.length() > 0) { sqlWhere += " and c.subcompanyid1 in(" + subCompanyId + ") "; + sqlWhere1 += " and c.subcompanyid1 in(" + subCompanyId + ") "; } if (departmentId.length() > 0) { sqlWhere += " and c.departmentid in(" + departmentId + ") "; + sqlWhere1 += " and c.departmentid in(" + departmentId + ") "; } if (resourceId.length() > 0) { sqlWhere += " and c.resourceid in(" + resourceId + ") "; + sqlWhere1 += " and c.jbry in(" + resourceId + ") "; } if (viewScope.equals("4")) {//我的下属 if (allLevel.equals("1")) {//所有下属 sqlWhere += " and c.managerstr like '%," + user.getUID() + ",%'"; + sqlWhere1 += " and c.managerstr like '%," + user.getUID() + ",%'"; } else { sqlWhere += " and c.managerid=" + user.getUID();//直接下属 + sqlWhere1 += " and c.managerid=" + user.getUID();//直接下属 } } if (!"1".equals(isNoAccount)) { sqlWhere += " and c.loginid is not null " + (rs.getDBType().equals("oracle") ? "" : " and c.loginid<>'' "); + sqlWhere1 += " and c.loginid is not null " + (rs.getDBType().equals("oracle") ? "" : " and c.loginid<>'' "); } //初始化需要检查的加班申请时长 int beginIdx = kqTimesArrayComInfo.getArrayindexByTimes("05:00"); @@ -1079,7 +1086,7 @@ public class KQReportBiz extends BaseBean { " select a.jbry, a.ksrq, a.kssj, a.jsrq, a.jssj, b.subcompanyid1, b.departmentid, b.managerstr, b.managerid, b.loginid " + " FROM "+overtimeBatchTableName+"_dt1 a " + " left join hrmresource b on b.id = a.jbry " + - " ) c where c.ksrq >= '"+fromDate+"' and c.jsrq <='" + toDate + "' " + sqlWhere; + " ) c where c.ksrq >= '"+fromDate+"' and c.jsrq <='" + toDate + "' " + sqlWhere1; rs.executeQuery(acqOverTimeBatchSql); while (rs.next()) { String resourceid = Util.null2String(rs.getString("jbry")); diff --git a/src/weaver/interfaces/sskj/job/SyncZkKqDataJob.java b/src/weaver/interfaces/sskj/job/SyncZkKqDataJob.java index 39f727f..3566134 100644 --- a/src/weaver/interfaces/sskj/job/SyncZkKqDataJob.java +++ b/src/weaver/interfaces/sskj/job/SyncZkKqDataJob.java @@ -21,6 +21,8 @@ import weaver.interfaces.schedule.BaseCronJob; import java.text.DateFormat; import java.text.SimpleDateFormat; +import java.time.Duration; +import java.time.Instant; import java.util.*; import static weaver.interfaces.sskj.util.HttpsUtil.doPostJsonRequest; @@ -29,36 +31,18 @@ import static weaver.interfaces.sskj.util.HttpsUtil.doPostJsonRequest; /** * Created with IntelliJ IDEA. * 获取中控的考勤数据同步至OA - * @Auther: chenxu + * @Auther: chenwnj * @Date: 2023/02/27/14:03 * @Description: */ public class SyncZkKqDataJob extends BaseCronJob { - private String startTime; - private String endTime; - - public String getStartTime() { - return startTime; - } - - public void setStartTime(String startTime) { - this.startTime = startTime; - } - - public String getEndTime() { - return endTime; - } - - public void setEndTime(String endTime) { - this.endTime = endTime; - } - @Override public void execute() { new BaseBean(); BaseBean bb = new BaseBean(); bb.writeLog("获取中控的考勤数据同步至OA!!!"); + Instant startDoTime = Instant.now(); try { //获取所有在职人员的id和workcode Map idWorkcodeMap = new HashMap<>(); @@ -74,9 +58,11 @@ public class SyncZkKqDataJob extends BaseCronJob { } //获取开始时间结束时间 + String startTime = ""; + String endTime = ""; bb.writeLog("startTime = " + startTime); bb.writeLog("endTime = " + endTime); - if (StringUtils.isBlank(startTime) && StringUtils.isNotBlank(endTime)) { + if (StringUtils.isBlank(startTime) && StringUtils.isBlank(endTime)) { Calendar beforeTime = Calendar.getInstance(); beforeTime.add(Calendar.MINUTE, -5);// 5分钟之前的时间 Date beforeD = beforeTime.getTime(); @@ -229,21 +215,21 @@ public class SyncZkKqDataJob extends BaseCronJob { " values (?,?,?,?,?,?,?,?,?,?)"; boolean bLog = rsB.executeBatchSql(addLogSql, logParams); bb.writeLog("bLog: " + bLog); - if (bLog) { - List billids = new ArrayList<>(); - Map billid_creator = new HashMap<>(); - String acqBillidsSql = "select id from uf_kqsynclog where id > ?"; - rsB.executeQuery(acqBillidsSql, maxId); - while (rsB.next()) { - Integer id = Util.getIntValue(Util.null2String(rsB.getString("id"))); - billids.add(id); - billid_creator.put(id, 1); - } - if (billids != null && billids.size() > 0) { - SskjUtil ssutil = new SskjUtil(); - ssutil.modePerReconBatch(billid_creator, kqSyncLogModeId, billids); - } - } +// if (bLog) { +// List billids = new ArrayList<>(); +// Map billid_creator = new HashMap<>(); +// String acqBillidsSql = "select id from uf_kqsynclog where id > ?"; +// rsB.executeQuery(acqBillidsSql, maxId); +// while (rsB.next()) { +// Integer id = Util.getIntValue(Util.null2String(rsB.getString("id"))); +// billids.add(id); +// billid_creator.put(id, 1); +// } +// if (billids != null && billids.size() > 0) { +// SskjUtil ssutil = new SskjUtil(); +// ssutil.modePerReconBatch(billid_creator, kqSyncLogModeId, billids); +// } +// } //删除本次同步数据 bb.writeLog("lsDelParams: " + lsDelParams); @@ -256,6 +242,8 @@ public class SyncZkKqDataJob extends BaseCronJob { boolean b2 = rsB.executeBatchSql(sql, lsParams); bb.writeLog("b2: " + b2); + bb.writeLog("lsFormatParams:"+JSON.toJSONString(lsFormatParams)); + bb.writeLog("lsFormatParams.size:"+lsFormatParams.size()); new KQFormatBiz().format(lsFormatParams); bb.writeLog("开始处理加班生成"); @@ -276,6 +264,11 @@ public class SyncZkKqDataJob extends BaseCronJob { e.printStackTrace(); bb.writeLog(e); bb.writeLog("获取中控的考勤数据同步至OA--error"+e.getMessage()); + }finally { + Instant endDoTime = Instant.now(); + + Duration timeElapsed = Duration.between(startDoTime, endDoTime); + bb.writeLog("中控考勤数据同步代码执行时间: " + timeElapsed.toMillis() + " 毫秒"); } }