diff --git a/src/com/engine/attendance/attendanceanalysis/service/impl/AttendanceSummaryServiceImpl.java b/src/com/engine/attendance/attendanceanalysis/service/impl/AttendanceSummaryServiceImpl.java index 8639c23..f8dec02 100644 --- a/src/com/engine/attendance/attendanceanalysis/service/impl/AttendanceSummaryServiceImpl.java +++ b/src/com/engine/attendance/attendanceanalysis/service/impl/AttendanceSummaryServiceImpl.java @@ -459,7 +459,7 @@ public class AttendanceSummaryServiceImpl extends Service implements AttendanceS //收集视图列头 StringBuilder viewColumn = new StringBuilder("id,ygid,rq,fbid,bm,zw"); //拼接视图内容sql - StringBuilder viewResourceSql = new StringBuilder("SELECT ta.id AS id,ta.ygid AS ygid,ta.rq AS rq,ta.fbid AS fbid,ta.bm AS bm,ta.zw AS zw"); + StringBuilder viewResourceSql = new StringBuilder("SELECT id, ygid, rq, fbid, bm, zw"); //考勤项目核算单位、id、名称 String hsdw = ""; String kqxmId = ""; @@ -474,19 +474,19 @@ public class AttendanceSummaryServiceImpl extends Service implements AttendanceS mc = mc.substring(0,9); } if ("0".equals(hsdw)) { - viewResourceSql.append(", SUM(CASE WHEN ta.xm = ").append(kqxmId).append(" THEN ta.sc ELSE 0 END) AS \"").append(mc).append("_t\""); - viewResourceSql.append(", SUM(CASE WHEN ta.xm = ").append(kqxmId).append(" THEN ta.sc ELSE 0 END) AS \"").append(mc).append("_c\""); + 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"); } else if ("1".equals(hsdw)) { - viewResourceSql.append(", SUM(CASE WHEN ta.xm = ").append(kqxmId).append(" THEN ta.sc ELSE 0 END) AS \"").append(mc).append("_s\""); - viewResourceSql.append(", SUM(CASE WHEN ta.xm = ").append(kqxmId).append(" THEN ta.sc ELSE 0 END) AS \"").append(mc).append("_c\""); + 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 1 ELSE 0 END) AS \"").append(mc).append("_c\""); viewColumn.append(",").append(mc).append("_s").append(",").append(mc).append("_c"); } else if ("2".equals(hsdw)) { - viewResourceSql.append(", SUM(CASE WHEN ta.xm = ").append(kqxmId).append(" THEN ta.sc ELSE 0 END) AS \"").append(mc).append("_f\""); - viewResourceSql.append(", SUM(CASE WHEN ta.xm = ").append(kqxmId).append(" THEN ta.sc ELSE 0 END) AS \"").append(mc).append("_c\""); + 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"); } else { - viewResourceSql.append(", SUM(CASE WHEN ta.xm = ").append(kqxmId).append(" THEN ta.sc ELSE 0 END) AS \"").append(mc).append("_c\""); + 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"); } } @@ -505,51 +505,31 @@ public class AttendanceSummaryServiceImpl extends Service implements AttendanceS String createViewSql = "CREATE VIEW " + viewName; createViewSql = createViewSql + " AS " + viewResourceSql.toString(); createViewSql = createViewSql + " FROM (" + - "SELECT uf_jcl_kq_cqjg.id AS id,uf_jcl_kq_cqjg.fbid AS fbid,uf_jcl_kq_cqjg.bm AS bm,uf_jcl_kq_cqjg.zw AS zw," + - "uf_jcl_kq_cqjg.ygid AS ygid,uf_jcl_kq_cqjg.rq AS rq,uf_jcl_kq_cqjg.xm1 AS xm," + ifNullFunction + "(uf_jcl_kq_cqjg.sc1,0) AS sc " + - "FROM uf_jcl_kq_cqjg WHERE (uf_jcl_kq_cqjg.xm1 IS NOT NULL) UNION ALL " + "SELECT id, fbid, bm, zw, ygid, rq, xm1 AS xm," + ifNullFunction + "(sc1,0) AS sc FROM uf_jcl_kq_cqjg WHERE (xm1 IS NOT NULL) UNION ALL " + - "SELECT uf_jcl_kq_cqjg.id AS id,uf_jcl_kq_cqjg.fbid AS fbid,uf_jcl_kq_cqjg.bm AS bm,uf_jcl_kq_cqjg.zw AS zw," + - "uf_jcl_kq_cqjg.ygid AS ygid,uf_jcl_kq_cqjg.rq AS rq,uf_jcl_kq_cqjg.xm2 AS xm2," + ifNullFunction + "(uf_jcl_kq_cqjg.sc2,0) AS sc2 " + - "FROM uf_jcl_kq_cqjg WHERE (uf_jcl_kq_cqjg.xm2 IS NOT NULL) UNION ALL " + "SELECT id, fbid, bm, zw, ygid, rq, xm2," + ifNullFunction + "(sc2,0) FROM uf_jcl_kq_cqjg WHERE (xm2 IS NOT NULL) UNION ALL " + - "SELECT uf_jcl_kq_cqjg.id AS id,uf_jcl_kq_cqjg.fbid AS fbid,uf_jcl_kq_cqjg.bm AS bm,uf_jcl_kq_cqjg.zw AS zw," + - "uf_jcl_kq_cqjg.ygid AS ygid,uf_jcl_kq_cqjg.rq AS rq,uf_jcl_kq_cqjg.xm3 AS xm3," + ifNullFunction + "(uf_jcl_kq_cqjg.sc3,0) AS sc3 " + - "FROM uf_jcl_kq_cqjg WHERE (uf_jcl_kq_cqjg.xm3 IS NOT NULL) UNION ALL " + "SELECT id, fbid, bm, zw, ygid, rq, xm3," + ifNullFunction + "(sc3,0) FROM uf_jcl_kq_cqjg WHERE (xm3 IS NOT NULL) UNION ALL " + - "SELECT uf_jcl_kq_cqjg.id AS id,uf_jcl_kq_cqjg.fbid AS fbid,uf_jcl_kq_cqjg.bm AS bm,uf_jcl_kq_cqjg.zw AS zw," + - "uf_jcl_kq_cqjg.ygid AS ygid,uf_jcl_kq_cqjg.rq AS rq,uf_jcl_kq_cqjg.xm4 AS xm4," + ifNullFunction + "(uf_jcl_kq_cqjg.sc4,0) AS sc4 " + - "FROM uf_jcl_kq_cqjg WHERE (uf_jcl_kq_cqjg.xm4 IS NOT NULL) UNION ALL " + "SELECT id, fbid, bm, zw, ygid, rq, xm4," + ifNullFunction + "(sc4,0) FROM uf_jcl_kq_cqjg WHERE (xm4 IS NOT NULL) UNION ALL " + - "SELECT uf_jcl_kq_cqjg.id AS id,uf_jcl_kq_cqjg.fbid AS fbid,uf_jcl_kq_cqjg.bm AS bm,uf_jcl_kq_cqjg.zw AS zw," + - "uf_jcl_kq_cqjg.ygid AS ygid,uf_jcl_kq_cqjg.rq AS rq,uf_jcl_kq_cqjg.xm5 AS xm5," + ifNullFunction + "(uf_jcl_kq_cqjg.sc5,0) AS sc5 " + - "FROM uf_jcl_kq_cqjg WHERE (uf_jcl_kq_cqjg.xm5 IS NOT NULL) UNION ALL " + "SELECT id, fbid, bm, zw, ygid, rq, xm5," + ifNullFunction + "(sc5,0) FROM uf_jcl_kq_cqjg WHERE (xm5 IS NOT NULL) UNION ALL " + - "SELECT uf_jcl_kq_cqjg.id AS id,uf_jcl_kq_cqjg.fbid AS fbid,uf_jcl_kq_cqjg.bm AS bm,uf_jcl_kq_cqjg.zw AS zw," + - "uf_jcl_kq_cqjg.ygid AS ygid,uf_jcl_kq_cqjg.rq AS rq,uf_jcl_kq_cqjg.xm6 AS xm6," + ifNullFunction + "(uf_jcl_kq_cqjg.sc6,0) AS sc6 " + - "FROM uf_jcl_kq_cqjg WHERE (uf_jcl_kq_cqjg.xm6 IS NOT NULL) UNION ALL " + "SELECT id, fbid, bm, zw, ygid, rq, xm6," + ifNullFunction + "(sc6,0) FROM uf_jcl_kq_cqjg WHERE (xm6 IS NOT NULL) UNION ALL " + - "SELECT uf_jcl_kq_cqjg.id AS id,uf_jcl_kq_cqjg.fbid AS fbid,uf_jcl_kq_cqjg.bm AS bm,uf_jcl_kq_cqjg.zw AS zw," + - "uf_jcl_kq_cqjg.ygid AS ygid,uf_jcl_kq_cqjg.rq AS rq,uf_jcl_kq_cqjg.xm7 AS xm7," + ifNullFunction + "(uf_jcl_kq_cqjg.sc7,0) AS sc7 " + - "FROM uf_jcl_kq_cqjg WHERE (uf_jcl_kq_cqjg.xm7 IS NOT NULL) UNION ALL " + "SELECT id, fbid, bm, zw, ygid, rq, xm7," + ifNullFunction + "(sc7,0) FROM uf_jcl_kq_cqjg WHERE (xm7 IS NOT NULL) UNION ALL " + - "SELECT uf_jcl_kq_cqjg.id AS id,uf_jcl_kq_cqjg.fbid AS fbid,uf_jcl_kq_cqjg.bm AS bm,uf_jcl_kq_cqjg.zw AS zw," + - "uf_jcl_kq_cqjg.ygid AS ygid,uf_jcl_kq_cqjg.rq AS rq,uf_jcl_kq_cqjg.xm8 AS xm8," + ifNullFunction + "(uf_jcl_kq_cqjg.sc8,0) AS sc8 " + - "FROM uf_jcl_kq_cqjg WHERE (uf_jcl_kq_cqjg.xm8 IS NOT NULL) UNION ALL " + "SELECT id, fbid, bm, zw, ygid, rq, xm8," + ifNullFunction + "(sc8,0) FROM uf_jcl_kq_cqjg WHERE (xm8 IS NOT NULL) UNION ALL " + - "SELECT uf_jcl_kq_cqjg.id AS id,uf_jcl_kq_cqjg.fbid AS fbid,uf_jcl_kq_cqjg.bm AS bm,uf_jcl_kq_cqjg.zw AS zw,uf_jcl_kq_cqjg.ygid AS ygid,uf_jcl_kq_cqjg.rq AS rq," + - "(CASE WHEN (uf_jcl_kq_cqjg.cqzt = 0) THEN '1' ELSE '5' END) AS cqzt," + - "(CASE WHEN (uf_jcl_kq_cqjg.cqzt = 0) THEN uf_jcl_kq_cqjg.cqsc ELSE 0 END) AS cqsc " + - "FROM uf_jcl_kq_cqjg UNION ALL " + "SELECT id, fbid, bm, zw, ygid, rq, CASE WHEN cqzt = 0 THEN '1' ELSE '5' END, CASE WHEN cqzt = 0 THEN cqsc ELSE 0 END FROM uf_jcl_kq_cqjg UNION ALL " + - "SELECT uf_jcl_kq_cqjg.id AS id,uf_jcl_kq_cqjg.fbid AS fbid,uf_jcl_kq_cqjg.bm AS bm,uf_jcl_kq_cqjg.zw AS zw,uf_jcl_kq_cqjg.ygid AS ygid,uf_jcl_kq_cqjg.rq AS rq, " + - "(CASE WHEN ((uf_jcl_kq_cqjg.rqlx = 0) OR (uf_jcl_kq_cqjg.rqlx = 4)) THEN '2' " + - "WHEN ((uf_jcl_kq_cqjg.rqlx = 2) OR (uf_jcl_kq_cqjg.rqlx = 3)) THEN '3' " + - "WHEN (uf_jcl_kq_cqjg.rqlx = 1) THEN '4' ELSE '0' END) " + - "AS rqlx, " + - "uf_jcl_kq_cqjg.cqsc AS cqsc " + - "FROM uf_jcl_kq_cqjg " + - ") ta GROUP BY ta.id,ta.ygid,ta.rq,ta.fbid,ta.bm,ta.zw"; + "SELECT id, fbid, bm, zw, ygid, rq, CASE WHEN rqlx = 0 OR rqlx = 4 THEN '2' WHEN rqlx = 2 OR rqlx = 3 THEN '3' WHEN rqlx = 1 THEN '4' ELSE '0' END ,cqsc FROM uf_jcl_kq_cqjg UNION ALL " + + + "SELECT T2.id, T2.fbid, T2.bm, T2.zw, T2.ygid, T2.rq, T1.jtlx, " + ifNullFunction + "(T1.sc,0) FROM uf_jcl_kq_cqjt T1 LEFT JOIN uf_jcl_kq_cqjg T2 ON T1.yg = T2.ygid AND T1.rq = T2.rq WHERE T1.zt = 1 UNION ALL " + + + "SELECT T2.id, T2.fbid, T2.bm, T2.zw, T2.ygid, T2.rq, T1.bdklx, 1 FROM uf_jcl_kq_bdkjl T1 LEFT JOIN uf_jcl_kq_cqjg T2 ON T1.bdkry = T2.ygid AND T1.dkrq = T2.rq WHERE T1.jlzt = 1 AND T2.id IS NOT NULL " + + + ") ta GROUP BY id, ygid, rq, fbid, bm, zw"; boolean createSign = DbTools.update(createViewSql); bs.writeLog("创建视图结果:" + createSign);