|
|
|
@ -257,8 +257,8 @@ public class AttendanceSummaryServiceImpl extends Service implements AttendanceS
|
|
|
|
|
bs.writeLog("columns : " + columns);
|
|
|
|
|
//收集考勤项目id-核算单位映射
|
|
|
|
|
Map<String, String> kqxmUnitInfo = kqxmDates.stream().collect(Collectors.toMap(e->Util.null2String(e.get("id")),e->Util.null2String(e.get("hsdw"))));
|
|
|
|
|
//收集考勤项目id-考勤项目名称映射
|
|
|
|
|
Map<String, String> kqxmMcInfo = kqxmDates.stream().collect(Collectors.toMap(e->Util.null2String(e.get("id")),e->Util.null2String(e.get("mc"))));
|
|
|
|
|
//收集考勤项目id-考勤项目名称映射, 20241031需求变更,字段“助记码”代替“名称”
|
|
|
|
|
Map<String, String> kqxmMcInfo = kqxmDates.stream().collect(Collectors.toMap(e->Util.null2String(e.get("id")),e->Util.null2String(e.get("zjm"))));
|
|
|
|
|
//获取列表结果,typeSelect为9、10时查询出勤汇总明细表数据,其他则生成临时汇总数据
|
|
|
|
|
List<Map<String,Object>> dtDates = null;
|
|
|
|
|
LocalDate targetDate = LocalDate.now(); // 获取当前日期
|
|
|
|
@ -489,37 +489,39 @@ public class AttendanceSummaryServiceImpl extends Service implements AttendanceS
|
|
|
|
|
//拼接视图内容sql
|
|
|
|
|
StringBuilder viewResourceSql = new StringBuilder("SELECT id, ygid, rq, fbid, bm, zw, bc");
|
|
|
|
|
//考勤项目核算单位、id、名称
|
|
|
|
|
//20241031需求变更,字段“助记码”代替“名称”
|
|
|
|
|
String hsdw = "";
|
|
|
|
|
String kqxmId = "";
|
|
|
|
|
String mc = "";
|
|
|
|
|
// String mc = "";
|
|
|
|
|
String zjm = "";
|
|
|
|
|
for (Map<String, Object> kqxmInfo : kqxmList) {
|
|
|
|
|
hsdw = Util.null2String(kqxmInfo.get("hsdw"));
|
|
|
|
|
kqxmId = Util.null2String(kqxmInfo.get("id"));
|
|
|
|
|
mc = Util.null2String(kqxmInfo.get("mc"));
|
|
|
|
|
zjm = Util.null2String(kqxmInfo.get("zjm"));
|
|
|
|
|
int lengthCompareValue = "字".getBytes().length * 9;
|
|
|
|
|
int mcLength = mc.getBytes().length;
|
|
|
|
|
if ("oracle".equals(dbType) && mcLength > lengthCompareValue) {
|
|
|
|
|
mc = mc.substring(0,9);
|
|
|
|
|
int zjmLength = zjm.getBytes().length;
|
|
|
|
|
if ("oracle".equals(dbType) && zjmLength > lengthCompareValue) {
|
|
|
|
|
zjm = zjm.substring(0,9);
|
|
|
|
|
}
|
|
|
|
|
if ("0".equals(hsdw)) {
|
|
|
|
|
viewResourceSql.append(", SUM(CASE WHEN xm = ").append(kqxmId).append(" THEN sc ELSE 0 END) AS \"").append(mc).append("_t\"");
|
|
|
|
|
viewResourceSql.append(", SUM(CASE WHEN xm = ").append(kqxmId).append(" THEN 1 ELSE 0 END) AS \"").append(mc).append("_c\"");
|
|
|
|
|
viewColumn.append(",").append(mc).append("_t").append(",").append(mc).append("_c");
|
|
|
|
|
viewResourceSql.append(", SUM(CASE WHEN xm = ").append(kqxmId).append(" THEN sc ELSE 0 END) AS \"").append(zjm).append("_t\"");
|
|
|
|
|
viewResourceSql.append(", SUM(CASE WHEN xm = ").append(kqxmId).append(" THEN 1 ELSE 0 END) AS \"").append(zjm).append("_c\"");
|
|
|
|
|
viewColumn.append(",").append(zjm).append("_t").append(",").append(zjm).append("_c");
|
|
|
|
|
} else if ("1".equals(hsdw)) {
|
|
|
|
|
if ("1".equals(kqxmId)) {
|
|
|
|
|
viewResourceSql.append(", SUM(CASE WHEN xm = 1 OR xm = 5").append(" THEN sc ELSE 0 END) AS \"").append(mc).append("_s\"");
|
|
|
|
|
viewResourceSql.append(", SUM(CASE WHEN xm = 1 OR xm = 5").append(" THEN sc ELSE 0 END) AS \"").append(zjm).append("_s\"");
|
|
|
|
|
} else {
|
|
|
|
|
viewResourceSql.append(", SUM(CASE WHEN xm = ").append(kqxmId).append(" THEN sc ELSE 0 END) AS \"").append(mc).append("_s\"");
|
|
|
|
|
viewResourceSql.append(", SUM(CASE WHEN xm = ").append(kqxmId).append(" THEN sc ELSE 0 END) AS \"").append(zjm).append("_s\"");
|
|
|
|
|
}
|
|
|
|
|
viewResourceSql.append(", SUM(CASE WHEN xm = ").append(kqxmId).append(" THEN 1 ELSE 0 END) AS \"").append(mc).append("_c\"");
|
|
|
|
|
viewColumn.append(",").append(mc).append("_s").append(",").append(mc).append("_c");
|
|
|
|
|
viewResourceSql.append(", SUM(CASE WHEN xm = ").append(kqxmId).append(" THEN 1 ELSE 0 END) AS \"").append(zjm).append("_c\"");
|
|
|
|
|
viewColumn.append(",").append(zjm).append("_s").append(",").append(zjm).append("_c");
|
|
|
|
|
} else if ("2".equals(hsdw)) {
|
|
|
|
|
viewResourceSql.append(", SUM(CASE WHEN xm = ").append(kqxmId).append(" THEN sc ELSE 0 END) AS \"").append(mc).append("_f\"");
|
|
|
|
|
viewResourceSql.append(", SUM(CASE WHEN xm = ").append(kqxmId).append(" THEN 1 ELSE 0 END) AS \"").append(mc).append("_c\"");
|
|
|
|
|
viewColumn.append(",").append(mc).append("_f").append(",").append(mc).append("_c");
|
|
|
|
|
viewResourceSql.append(", SUM(CASE WHEN xm = ").append(kqxmId).append(" THEN sc ELSE 0 END) AS \"").append(zjm).append("_f\"");
|
|
|
|
|
viewResourceSql.append(", SUM(CASE WHEN xm = ").append(kqxmId).append(" THEN 1 ELSE 0 END) AS \"").append(zjm).append("_c\"");
|
|
|
|
|
viewColumn.append(",").append(zjm).append("_f").append(",").append(zjm).append("_c");
|
|
|
|
|
} else {
|
|
|
|
|
viewResourceSql.append(", SUM(CASE WHEN xm = ").append(kqxmId).append(" THEN 1 ELSE 0 END) AS \"").append(mc).append("_c\"");
|
|
|
|
|
viewColumn.append(",").append(mc).append("_c");
|
|
|
|
|
viewResourceSql.append(", SUM(CASE WHEN xm = ").append(kqxmId).append(" THEN 1 ELSE 0 END) AS \"").append(zjm).append("_c\"");
|
|
|
|
|
viewColumn.append(",").append(zjm).append("_c");
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
//ifnull函数的适配
|
|
|
|
@ -1568,7 +1570,7 @@ public class AttendanceSummaryServiceImpl extends Service implements AttendanceS
|
|
|
|
|
itemMap.put("ls", String.format("%.2f", time));
|
|
|
|
|
}
|
|
|
|
|
if (accountUnit.equals(AccountingUnitEnum.MINUTES.getKey())) {
|
|
|
|
|
itemMap.put("lf", String.format("%.2f", time));
|
|
|
|
|
itemMap.put("lf", String.format("%.0f", time));
|
|
|
|
|
}
|
|
|
|
|
dailyKqAddList.add(itemMap);
|
|
|
|
|
}
|
|
|
|
|