Browse Source

数据仓库查询功能修复BUG

zmy18710171902 4 years ago
parent
commit
0a7dadd988

+ 30 - 16
src/main/java/com/minpay/common/service/impl/Report95598ServiceImpl.java

@@ -207,27 +207,41 @@ public class Report95598ServiceImpl implements IReport95598Service {
 			for (int j = 0; j < indexList6.size(); j++) {
 				mapHjMydTemp = indexList6.get(j);
 				mapHjMyd.put("ORZ_NAME","合计");
-				mapHjMyd.put("BDWHZ",ArithUtils.addToInt(mapHjMydTemp.get("BDWHZ"),mapHjMyd.get("BDWHZ"))+"");
-				mapHjMyd.put("CPGDS",ArithUtils.add(mapHjMydTemp.get("CPGDS"),mapHjMyd.get("CPGDS"))+"");
-				mapHjMyd.put("QXLZB",ArithUtils.add(mapHjMydTemp.get("QXMYS"),mapHjMyd.get("QXLZB")) + "");
-				mapHjMyd.put("FQXLZB",ArithUtils.add(StringUtil.ObjectToString(mapHjMydTemp.get("FQXLSL")),StringUtil.ObjectToString(mapHjMyd.get("FQXLSL"))) + "");
-				mapHjMyd.put("CPLHJ",ArithUtils.div(ArithUtils.mul(mapHjMyd.get("CPGDS"),"100"),mapHjMyd.get("BDWHZ")) + "%");
-				mapHjMyd.put("BDWBMYHZ",ArithUtils.add(StringUtil.ObjectToString(mapHjMydTemp.get("BDWBMYHZ")),StringUtil.ObjectToString(mapHjMyd.get("BDWBMYHZ"))) + "");
-
-				mapHjMyd.put("QXMYS",ArithUtils.add(StringUtil.ObjectToString(mapHjMydTemp.get("QXMYS")),StringUtil.ObjectToString(mapHjMyd.get("QXMYS"))) + "");
-				mapHjMyd.put("QXBMYS",ArithUtils.add(StringUtil.ObjectToString(mapHjMydTemp.get("QXBMYS")),StringUtil.ObjectToString(mapHjMyd.get("QXBMYS"))) + "");
-				mapHjMyd.put("FQXMYS",ArithUtils.add(StringUtil.ObjectToString(mapHjMydTemp.get("FQXMYS")),StringUtil.ObjectToString(mapHjMyd.get("FQXMYS"))) + "");
-				mapHjMyd.put("FQXBMYS",ArithUtils.add(StringUtil.ObjectToString(mapHjMydTemp.get("FQXBMYS")),StringUtil.ObjectToString(mapHjMyd.get("FQXBMYS"))) + "");
-
-				mapHjMyd.put("QXLMYD",ArithUtils.div(ArithUtils.mul(mapHjMyd.get("QXMYS"),100),ArithUtils.add(mapHjMyd.get("QXMYS"),mapHjMyd.get("QXBMYS")))+"");
-				mapHjMyd.put("FQXLMYD",ArithUtils.div(ArithUtils.mul(mapHjMyd.get("FQXMYS"),100),ArithUtils.add(mapHjMyd.get("QXMYS"),mapHjMyd.get("QXBMYS")))+"");
-				mapHjMyd.put("BDWBMYHZHJ",ArithUtils.div(ArithUtils.mul(ArithUtils.add(mapHjMyd.get("QXMYS"),mapHjMyd.get("FQXMYS")),100),mapHjMyd.get("CPGDS")) + "%");
+				mapHjMyd.put("BDWHZ",ArithUtils.addToInt(mapHjMydTemp.get("BDWHZ"),mapHjMyd.get("BDWHZ")).toString());
+				mapHjMyd.put("CPGDS",ArithUtils.addToInt(mapHjMydTemp.get("CPGDS"),mapHjMyd.get("CPGDS")).toString());
+
+				mapHjMyd.put("QXLSL",ArithUtils.addToInt(mapHjMydTemp.get("QXLSL"),mapHjMyd.get("QXLSL")) + "");
+				mapHjMyd.put("FQXLSL",ArithUtils.addToInt(mapHjMydTemp.get("FQXLSL"),mapHjMyd.get("FQXLSL")) + "");
+
+				mapHjMyd.put("QXLZB",ArithUtils.div3(mapHjMyd.get("QXLSL"),mapHjMyd.get("BDWHZ")) + "");
+				mapHjMyd.put("FQXLZB",ArithUtils.div3(mapHjMyd.get("FQXLSL"),mapHjMyd.get("BDWHZ")) + "");
+
+				mapHjMyd.put("CPLHJ",ArithUtils.div3(mapHjMyd.get("CPGDS"),mapHjMyd.get("BDWHZ")));
+				mapHjMyd.put("BDWBMYHZ",ArithUtils.addToInt(mapHjMydTemp.get("BDWBMYHZ"),mapHjMyd.get("BDWBMYHZ")) + "");
+
+				mapHjMyd.put("QXMYS",ArithUtils.addToInt(mapHjMydTemp.get("QXMYS"),mapHjMyd.get("QXMYS")) + "");
+				mapHjMyd.put("QXBMYS",ArithUtils.addToInt(mapHjMydTemp.get("QXBMYS"),mapHjMyd.get("QXBMYS")) + "");
+				mapHjMyd.put("FQXMYS",ArithUtils.addToInt(mapHjMydTemp.get("FQXMYS"),mapHjMyd.get("FQXMYS")) + "");
+				mapHjMyd.put("FQXBMYS",ArithUtils.addToInt(mapHjMydTemp.get("FQXBMYS"),mapHjMyd.get("FQXBMYS")) + "");
+
+				mapHjMyd.put("QXLMYD",ArithUtils.div3(mapHjMyd.get("QXMYS"),ArithUtils.addToInt(mapHjMyd.get("QXMYS"),mapHjMyd.get("QXBMYS"))));
+				mapHjMyd.put("FQXLMYD",ArithUtils.div3(mapHjMyd.get("FQXMYS"),ArithUtils.addToInt(mapHjMyd.get("FQXMYS"),mapHjMyd.get("FQXBMYS"))));
+				mapHjMyd.put("BDWBMYHZHJ",ArithUtils.div3(ArithUtils.add(mapHjMyd.get("QXMYS"),mapHjMyd.get("FQXMYS")),mapHjMyd.get("CPGDS")));
 			}
 			indexList6.add(mapHjMyd);
 			//描述信息-满意度
-			Util95598zb.operateYjDescData(descMap3,list22,null,unitMapp,gdMapp2);//按单位统计
+			Util95598zb.operateMydDescData(tempDesc6,indexList6,null,unitMapp,gdMapp);//按单位统计
 		}
 		rstMap.put("list6",indexList6);
+		rstMap.put("desc6",tempDesc6.get("desc6"));
+		//***********************************************本周意见工单重复督办明细********************************************//
+		mm.put("cfdbindex","1");
+		List<Map<String,String>> cfdbList = db.getMybatisMapper(IZb95598ReportMapper.class).selectCfdbmx(mm);
+		rstMap.put("list7",cfdbList);
+		//***********************************************本周不满意工单明细********************************************//
+		mm.put("bmyd","1");
+		List<Map<String,String>> bmyList = db.getMybatisMapper(IZb95598ReportMapper.class).selectBmymx(mm);
+		rstMap.put("list8",bmyList);
 		return rstMap;
 	}
 

+ 100 - 8
src/main/java/com/minpay/common/util/ArithUtils.java

@@ -1,6 +1,9 @@
 package com.minpay.common.util;
 
+import java.io.Serializable;
 import java.math.BigDecimal;
+import java.math.RoundingMode;
+import java.text.NumberFormat;
 import java.util.ArrayList;
 import java.util.List;
 
@@ -9,7 +12,7 @@ import java.util.List;
  */
 public class ArithUtils {
 
-    private static final int DEF_DIV_SCALE = 4;
+    private static final int DEF_DIV_SCALE = 2;
 
     /**
      * 加法
@@ -17,15 +20,17 @@ public class ArithUtils {
      * @param v2
      * @return
      */
-    public static float add(String v1,String v2){
+    public static float add(Object v1,Object v2){
         if(v1 == null || "".equals(v1)){
             v1 = "0";
         }
         if(v2 == null || "".equals(v2)){
             v2 = "0";
         }
-        BigDecimal b1 = new BigDecimal(v1);
-        BigDecimal b2 = new BigDecimal(v2);
+        String vv1 = StringUtil.ObjectToString(v1);
+        String vv2 = StringUtil.ObjectToString(v2);
+        BigDecimal b1 = new BigDecimal(vv1);
+        BigDecimal b2 = new BigDecimal(vv2);
         return b1.add(b2).floatValue();
 
     }
@@ -39,7 +44,7 @@ public class ArithUtils {
         return Integer.valueOf(StringUtil.ObjectToString(v1)) + Integer.valueOf(StringUtil.ObjectToString(v2));
     }
     /**
-     * 减法
+     * 减法-返回float
      * @param v1
      * @param v2
      * @return
@@ -57,6 +62,26 @@ public class ArithUtils {
         BigDecimal b2 = new BigDecimal(vv2);
         return b1.subtract(b2).floatValue();
     }
+
+    /**
+     * 减法-返回整数
+     * @param v1
+     * @param v2
+     * @return
+     */
+    public static Integer sub2(Object v1,Object v2) {
+        if(v1 == null ){
+            v1 = 0;
+        }
+        if(v2 == null ){
+            v2 = 0;
+        }
+        String vv1 = StringUtil.ObjectToString(v1);
+        String vv2 =  StringUtil.ObjectToString(v2);
+        BigDecimal b1 = new BigDecimal(vv1);
+        BigDecimal b2 = new BigDecimal(vv2);
+        return b1.subtract(b2).intValue();
+    }
     /**
      * 乘法
      * @param v1
@@ -106,9 +131,22 @@ public class ArithUtils {
         }
         return b1.divide(b2, DEF_DIV_SCALE, BigDecimal.ROUND_HALF_UP).floatValue();
     }
-
-    public static void main(String[] args) {
-        System.out.println(ArithUtils.div("12","232233"));
+    public static String div3(Object v1,Object v2){
+        if( v1 == null || v2 == null){
+            return "";
+        }
+        String v11 = StringUtil.ObjectToString(v1);
+        String v22 = StringUtil.ObjectToString(v2);
+        BigDecimal b1 = new BigDecimal(v11);
+        BigDecimal b2 = new BigDecimal(v22);
+        BigDecimal b0 = new BigDecimal(0) ;//把 0 转为 BigDecimal
+        if("".equals(b2) || b2.compareTo(b0) == 0 ){
+            return "";
+        }
+        BigDecimal b3 = b1.divide(b2, DEF_DIV_SCALE, BigDecimal.ROUND_HALF_UP);
+        NumberFormat percent = NumberFormat.getPercentInstance();
+        percent.setMaximumFractionDigits(2);
+        return percent.format(b3.doubleValue());
     }
     /**
      * 获取0.9~1.1之间的随机数
@@ -137,4 +175,58 @@ public class ArithUtils {
         return f;
     }
 
+    public static void main(String[] args) {
+//        BigDecimal a =null;
+//        Integer faultRate = 5;
+//        a = BigDecimal.valueOf(faultRate.doubleValue()/3);
+//        BigDecimal b =a.setScale(3, RoundingMode.HALF_UP);//保留两位小数
+//        System.out.println("结果是"+b);
+//        //百分比
+//        NumberFormat percent = NumberFormat.getPercentInstance();
+//        percent.setMaximumFractionDigits(2);
+//        System.out.println(percent.format(b.doubleValue()));
+        Object a = 1234;
+
+        System.out.println(div2(0.9784,1.02415));
+    }
+//        BigDecimal.setScale()方法用于格式化小数点
+//        setScale(1)表示保留一位小数,默认用四舍五入方式 
+//        setScale(1,BigDecimal.ROUND_DOWN)直接删除多余的小数位,如2.35会变成2.3 
+//        setScale(1,BigDecimal.ROUND_UP)进位处理,2.35变成2.4 
+//        setScale(1,BigDecimal.ROUND_HALF_UP)四舍五入,2.35变成2.4
+//        setScaler(1,BigDecimal.ROUND_HALF_DOWN)四舍五入,2.35变成2.3,如果是5则向下舍
+//        setScaler(1,BigDecimal.ROUND_CEILING)接近正无穷大的舍入
+//        setScaler(1,BigDecimal.ROUND_FLOOR)接近负无穷大的舍入,数字>0和ROUND_UP作用一样,数字<0和ROUND_DOWN作用一样
+//        setScaler(1,BigDecimal.ROUND_HALF_EVEN)向最接近的数字舍入,如果与两个相邻数字的距离相等,则向相邻的偶数舍入。
+
+    /**
+     * 除法计算
+     * @param a         除数
+     * @param b         被除数
+     * @return
+     */
+    public static Double div2(Object a ,Object b){
+        String a1 = "";
+        String a2 = "";
+        BigDecimal b1 = null;
+        BigDecimal b2 = null;
+        BigDecimal b3 = null;
+        if(a == null || b == null){
+            return 0d;
+        }
+        a1 = StringUtil.ObjectToString(a);
+        a2 = StringUtil.ObjectToString(b);
+//        b1 = BigDecimal.valueOf(Double.parseDouble(a1));
+//        b2 = BigDecimal.valueOf(Double.parseDouble(a2));
+        b1 = new BigDecimal(a1);
+        b2 = new BigDecimal(a2);
+        b3 = b1.divide(b2,6,BigDecimal.ROUND_HALF_UP);
+
+        System.out.println(b3.doubleValue());
+        System.out.println(b3.floatValue());
+
+        BigDecimal b4 = b3.setScale(1, RoundingMode.HALF_UP);
+        return b4.doubleValue();
+    }
+
 }

+ 14 - 0
src/main/java/com/minpay/db/table/own/mapper/IZb95598ReportMapper.java

@@ -32,4 +32,18 @@ public interface IZb95598ReportMapper extends IMINMybatisMapper {
      * @return
      */
     List<Map<String, String>> selectMydgdk(Map<String, Object> mm);
+
+    /**
+     * 重复督办明细
+     * @param mm
+     * @return
+     */
+    List<Map<String, String>> selectCfdbmx(Map<String, Object> mm);
+
+    /**
+     * 不满意明细
+     * @param mm
+     * @return
+     */
+    List<Map<String, String>> selectBmymx(Map<String, Object> mm);
 }

+ 58 - 7
src/main/java/com/minpay/reportManage/action/r95598/Util95598zb.java

@@ -259,6 +259,10 @@ public class Util95598zb {
      */
     public static void operateMydData(Map<String, String> temp6, List<Map<String, String>> mydList,
                                       List<Map<String, String>> unitMapp, List<Map<String, String>> gdMapp) {
+        //COU1 单位、业务类型、处理满意度-分类汇总
+        //COU2 单位-汇总
+        //COU3 单位-不参与评价数
+        //COU4 单位-不满意数
         String unitName = temp6.get("ORZ_NAME");
         Map<String,String> tempList;
         String ywlx = "",myd = "";
@@ -267,7 +271,7 @@ public class Util95598zb {
             tempList = mydList.get(i);
             if(unitName.equals(getUnitName(tempList.get("DFD20_DWXZ"),unitMapp))){//单位相同
                 temp6.put("BDWHZ",tempList.get("COU2"));//本单位归档工单数
-                temp6.put("CPGDS",ArithUtils.sub(tempList.get("COU2") ,tempList.get("COU3")) + "");//参评数=各单位汇总-不评价数
+                temp6.put("CPGDS",ArithUtils.sub2(tempList.get("COU2") ,tempList.get("COU3")).toString());//参评数=各单位汇总-不评价数
                 temp6.put("BDWBMYHZ",tempList.get("COU4"));//不满意
                 ywlx = tempList.get("DFD20_YWLX");
                 myd = tempList.get("DFD20_CLMYD");
@@ -288,14 +292,14 @@ public class Util95598zb {
                 }
             }
         }
-        temp6.put("QXLZB",(ArithUtils.div(ArithUtils.mul(temp6.get("QXLSL"),100),temp6.get("BDWHZ"))) + "%");//抢修类占比
-        temp6.put("FQXLZB",(ArithUtils.div(ArithUtils.mul(temp6.get("FQXLSL"),100),temp6.get("BDWHZ"))  ) + "%");//非抢修类占比
-        temp6.put("CPLHJ",(ArithUtils.div(ArithUtils.mul(temp6.get("CPGDS"),100),temp6.get("BDWHZ"))  ) + "%");//参评率
+        temp6.put("QXLZB",(ArithUtils.div3(temp6.get("QXLSL"),temp6.get("BDWHZ"))) );//抢修类占比
+        temp6.put("FQXLZB",(ArithUtils.div3(temp6.get("FQXLSL"),temp6.get("BDWHZ"))  ) );//非抢修类占比
+        temp6.put("CPLHJ",(ArithUtils.div3(temp6.get("CPGDS"),temp6.get("BDWHZ"))  ) );//参评率
 
-        temp6.put("BDWBMYHZHJ",ArithUtils.div(ArithUtils.mul(ArithUtils.addToInt(temp6.get("QXMYS"),temp6.get("FQXMYS")),100),temp6.get("CPGDS")) + "%");//满意度合计(抢修类+非抢修类)
+        temp6.put("BDWBMYHZHJ",ArithUtils.div3(ArithUtils.addToInt(temp6.get("QXMYS"),temp6.get("FQXMYS")),temp6.get("CPGDS")) );//满意度合计(抢修类+非抢修类)
 
-        temp6.put("QXLMYD",(ArithUtils.div(ArithUtils.mul(temp6.get("QXMYS"),100),ArithUtils.addToInt(temp6.get("QXMYS"),temp6.get("QXBMYS"))) ) + "%");//抢修满意度占比
-        temp6.put("FQXLMYD",(ArithUtils.div(ArithUtils.mul(temp6.get("FQXMYS"),100),ArithUtils.addToInt(temp6.get("FQXMYS"),temp6.get("FQXBMYS"))) ) + "%");//非抢修满意度占比
+        temp6.put("QXLMYD",(ArithUtils.div3(temp6.get("QXMYS"),ArithUtils.addToInt(temp6.get("QXMYS"),temp6.get("QXBMYS")))));//抢修满意度占比
+        temp6.put("FQXLMYD",(ArithUtils.div3(temp6.get("FQXMYS"),ArithUtils.addToInt(temp6.get("FQXMYS"),temp6.get("FQXBMYS"))) ) );//非抢修满意度占比
 
     }
 
@@ -316,4 +320,51 @@ public class Util95598zb {
         }
         return "3";
     }
+
+    /**
+     * 满意度-描述
+     * @param descMap3
+     * @param indexList6
+     * @param o
+     * @param unitMapp
+     * @param gdMapp
+     */
+    public static void operateMydDescData(Map<String, String> descMap6, List<Map<String, String>> indexList6,
+                                          Object o, List<Map<String, String>> unitMapp, List<Map<String, String>> gdMapp) {
+        StringBuffer desc = new StringBuffer();
+        StringBuffer desc2 = new StringBuffer();
+        if(indexList6 != null){
+            Map<String,String> temp;
+            String tempUnitName = "";
+            for (int i = 0; i < indexList6.size(); i++) {
+                temp = indexList6.get(i);
+                tempUnitName = temp.get("ORZ_NAME");
+                if("合计".equals(tempUnitName)){
+                    desc.append("本周归档工单")
+                            .append(StringUtil.replaceAll(FONT_RED_LABEL,"value", temp.get("BDWHZ")))
+                            .append("件,")
+                            .append("参与评价")
+                            .append(StringUtil.replaceAll(FONT_RED_LABEL,"value", temp.get("CPGDS")))
+                            .append("件,")
+                            .append("参评率")
+                            .append(StringUtil.replaceAll(FONT_RED_LABEL,"value", temp.get("CPLHJ")))
+                            .append(",")
+                            .append("满意率")
+                            .append(StringUtil.replaceAll(FONT_RED_LABEL,"value", temp.get("BDWBMYHZHJ")))
+                            .append(",")
+                            .append("不满意工单")
+                            .append(StringUtil.replaceAll(FONT_RED_LABEL,"value", temp.get("BDWBMYHZ")))
+                            .append("件,");
+                }else{
+                    Integer a = StringUtil.ObjToInt(temp.get("BDWBMYHZ"));
+                    if(a  > 0 ){
+                        desc2.append(tempUnitName).append(a).append("件,");
+                    }
+                }
+            }
+            desc.append(desc2);
+
+        }
+        descMap6.put("desc6",desc.toString());
+    }
 }

+ 6 - 1
src/main/resources/com/minpay/db/table/own/mapper/IGdgdhzReportMapper.xml

@@ -45,7 +45,12 @@
 		DFD20_LXDH2    lxdh2   ,
 		DFD20_SLNR2    slnr2   ,
 		DFD20_CLMYD    clmyd   ,
-		DFD20_BMYYY    bmyyy   FROM dw_file_detail_20
+		DFD20_BMYYY    bmyyy   FROM dw_file_detail_20 where 1=1
+		<if test="start != null and start != ''">
 
+		</if>
+		<if test="end != null and end != ''">
+
+		</if>
 	</select>
 </mapper>

+ 83 - 0
src/main/resources/com/minpay/db/table/own/mapper/IZb95598ReportMapper.xml

@@ -85,6 +85,83 @@
 		GROUP BY DFD20_DWXZ
 		) D ON A.DFD20_DWXZ = D.DFD20_DWXZ
 	</select>
+	<!--不满意清单-->
+	<select id="selectBmymx" parameterType="map" resultType="map">
+		SELECT  DFD20_ID       id      ,
+			DFD20_SQBH     sqbh    ,
+			DFD20_DQHJ     dqhj    ,
+			DFD20_DWMCS    dwmcs   ,
+			DFD20_DWMCDS   dwmcds  ,
+			DFD20_GDDW     gddw    ,
+			DFD20_JDW      jdw     ,
+			DFD20_DWXZ     dwxz    ,
+			DFD20_YWLX     ywlx    ,
+			DFD20_SLSJ     slsj    ,
+			DFD20_YJLX     yjlx    ,
+			DFD20_EJLX     ejlx    ,
+			DFD20_SJLX     sjlx    ,
+			DFD20_SLRY     slry    ,
+			DFD20_SLNR     slnr    ,
+			DFD20_KHBH     khbh    ,
+			DFD20_KHMC     khmc    ,
+			DFD20_LXR      lxr     ,
+			DFD20_LXDZ     lxdz    ,
+			DFD20_LXDH     lxdh    ,
+			DFD20_XCDZ     xcdz    ,
+			DFD20_XCDZCZW  xcdzczw ,
+			DFD20_GDXFSJ   gdxfsj  ,
+			DFD20_GDSJ     gdsj    ,
+			DFD20_SJDRY    sjdry   ,
+			DFD20_SCLRY    sclry   ,
+			DFD20_SHDQRRY  shdqrry ,
+			DFD20_CLJG     cljg    ,
+			DFD20_CLQK     clqk    ,
+			DFD20_FWYZ     fwyz    ,
+			DFD20_KHYJ     khyj    ,
+			DFD20_SFSS     sfss    ,
+			DFD20_SFDLGSZR sfdlgszr,
+			DFD20_SFYWCLCS sfywclcs,
+			DFD20_SFZZDF   sfzzdf  ,
+			DFD20_SFHFTD   sfhftd  ,
+			DFD20_HFTDYY   hftdyy  ,
+			DFD20_FSFCB    fsfcb   ,
+			DFD20_GLGD     glgd    ,
+			DFD20_GLTDXX   gltdxx  ,
+			DFD20_LXDH2    lxdh2   ,
+			DFD20_SLNR2    slnr2   ,
+			DFD20_CLMYD    clmyd   ,
+			DFD20_BMYYY    bmyyy   FROM dw_file_detail_20 where 1=1
+		<include refid="sqlWhere6"></include>
+	</select>
+	<!--重复督办-->
+	<select id="selectCfdbmx" parameterType="map" resultType="map">
+		SELECT  DFD18_ID		id		,
+			DFD18_SEQU      sequ    ,
+			DFD18_GWGDBH    gwgdbh  ,
+			DFD18_TJLX      tjlx    ,
+			DFD18_YWLX      ywlx    ,
+			DFD18_SLSJ      slsj    ,
+			DFD18_SLNR      slnr    ,
+			DFD18_YHBH      yhbh    ,
+			DFD18_YHMC      yhmc    ,
+			DFD18_LXDZ      lxdz    ,
+			DFD18_LXDH      lxdh    ,
+			DFD18_YJFL      yjfl    ,
+			DFD18_EJFL      ejfl    ,
+			DFD18_YWZL      ywzl    ,
+			DFD18_GDDW      gddw    ,
+			DFD18_CLJG      cljg    ,
+			DFD18_ZRBS      zrbs    ,
+			DFD18_KHSZTQBH  khsztqbh,
+			DFD18_KHSSZXQ   khsszxq ,
+			DFD18_SFHF      sfhf    ,
+			DFD18_SFCB      sfcb    ,
+			DFD18_SCHFQK    schfqk  ,
+			DFD18_KHMYQK    khmyqk     FROM DW_FILE_DETAIL_18  where 1=1
+			<include refid="sqlWhere3"></include>
+
+			ORDER BY DFD18_SEQU * 1
+	</select>
 	<sql id="sqlWhere">
 		<if test="start != null and start != ''">
 			AND DFD33_SLSJ &gt;= #{start}
@@ -109,6 +186,9 @@
 		<if test="end != null and end != ''">
 			AND DFD18_SLSJ &lt;= #{end}
 		</if>
+		<if test="cfdbindex != null and cfdbindex != ''">
+			AND DFD18_TJLX = '重复督办'
+		</if>
 	</sql>
 	<!--上周时间范围-->
 	<sql id="sqlWhere4">
@@ -136,5 +216,8 @@
 		<if test="end != null and end != ''">
 			AND DFD20_SLSJ &lt;= #{end}
 		</if>
+		<if test="bmyd != null and bmyd != ''">
+			AND  IFNULL(DFD20_CLMYD,'') IN ( '非常不满意', '不满意','一般')
+		</if>
 	</sql>
 </mapper>

+ 100 - 3
src/main/webapp/admin/95598/zb/reportDetail95598.html

@@ -24,6 +24,8 @@
 			<li lay-id="22">12398受理情况</li>
 			<li lay-id="33">客户常态走访情况</li>
 			<li lay-id="33">95598业务处理满意度</li>
+			<li lay-id="33">本周意见工单重复督办明细</li>
+			<li lay-id="33">本周不满意工单明细</li>
 		</ul>
 		<div class="layui-tab-content">
 			<!--95598业务受理情况-->
@@ -57,6 +59,16 @@
 				<p  id ="desc6"  class="desc_label"></p>
 				<table id="demo6" lay-filter="test"></table>
 			</div>
+			<!---->
+			<div class="layui-tab-item">
+				<p  id ="desc7"  class="desc_label"></p>
+				<table id="demo7" lay-filter="test"></table>
+			</div>
+			<!---->
+			<div class="layui-tab-item">
+				<p  id ="desc8"  class="desc_label"></p>
+				<table id="demo8" lay-filter="test"></table>
+			</div>
 		</div>
 	</div>
 </div>
@@ -128,7 +140,6 @@
 									,{field: 'ND_A000102', title: '督办'}
 									,{field: 'ND_A000103', title: '重复督办'}
 									,{field: 'ND_A000104', title: '督办(预警升级)'}
-
 									,{field: 'ZD_A000105', title: '意见工单数'}
 									,{field: 'ZD_A000101', title: '预警'}
 									,{field: 'ZD_A000102', title: '督办'}
@@ -146,7 +157,7 @@
 									{field: 'ORZ_NAME',title:'单位',width:150,rowspan:2}
 									,{field: '', title: '工单参评率',colspan:5}
 									,{field: '', title: '回访满意率',colspan:4}
-
+									// ,{field: '', title: '工单数',colspan:4}
 								],
 								[
 									{field: 'BDWHZ', title: '归档工单数'}
@@ -154,15 +165,100 @@
 									,{field: 'QXLZB', title: '抢修类'}
 									,{field: 'FQXLZB', title: '非抢类'}
 									,{field: 'CPLHJ', title: '合计'}
-
 									,{field: 'BDWBMYHZ', title: '不满意工单数'}
 									,{field: 'QXLMYD', title: '抢修类'}
 									,{field: 'FQXLMYD', title: '非抢类'}
 									,{field: 'BDWBMYHZHJ', title: '合计'}
+									// ,{field: 'QXMYS', title: '抢修满意数'}
+									// ,{field: 'QXBMYS', title: '抢修不满意数'}
+									// ,{field: 'FQXMYS', title: '非抢修满意数'}
+									// ,{field: 'FQXBMYS', title: '非抢修不满意数'}
 								]
 							],
 							data:data.data.resList.list6
 						});
+						// 重复督办明细
+						$table.render({
+							elem: '#demo7'
+							,limit:100
+							,cols: [
+								[   {field:'sequ',title:'编号',width:120},
+									{field:'gwgdbh',title:'国网工单编号',width:120},
+									{field:'tjlx',title:'提级类型',width:120},
+									{field:'ywlx',title:'业务类型',width:120},
+									{field:'slsj',title:'受理时间',width:120},
+									{field:'slnr',title:'受理内容',width:120},
+									{field:'yhbh',title:'用户编号',width:120},
+									{field:'yhmc',title:'用户名称',width:120},
+									{field:'lxdz',title:'联系地址',width:120},
+									{field:'lxdh',title:'联系电话',width:120},
+									{field:'yjfl',title:'一级分类',width:120},
+									{field:'ejfl',title:'二级分类',width:120},
+									{field:'ywzl',title:'业务子类',width:120},
+									{field:'gddw',title:'供电单位',width:120},
+									{field:'cljg',title:'处理结果',width:120},
+									{field:'zrbs',title:'责任班所',width:120},
+									{field:'khsztqbh',title:'客户所在台区编号',width:120},
+									{field:'khsszxq',title:'客户所在小区/行政村',width:120},
+									{field:'sfhf',title:'是否回复',width:120},
+									{field:'sfcb',title:'是否催办',width:120},
+									{field:'schfqk',title:'首次回访情况',width:120},
+									{field:'khmyqk',title:'客户满意情况',width:120},
+									{field:'bbfl',title:'报表类型',width:120}]
+							],
+							data:data.data.resList.list7
+						});
+						//
+						$table.render({
+							elem: '#demo8'
+							,limit:100
+							,cols: [
+								{field:'sqbh',title:'申请编号',width:120},
+								{field:'dqhj',title:'当前环节',width:120},
+								{field:'dwmcs',title:'单位名称(省)',width:120},
+								{field:'dwmcds',title:'单位名称(地市)',width:120},
+								{field:'gddw',title:'供电单位',width:120},
+								{field:'jdw',title:'旧单位',width:120},
+								{field:'dwxz',title:'单位修正',width:120},
+								{field:'ywlx',title:'业务类型',width:120},
+								{field:'slsj',title:'受理时间',width:120},
+								{field:'yjlx',title:'一级类型',width:120},
+								{field:'ejlx',title:'二级类型',width:120},
+								{field:'sjlx',title:'三级类型',width:120},
+								{field:'slry',title:'受理人员',width:120},
+								{field:'slnr',title:'受理内容',width:120},
+								{field:'khbh',title:'客户编号',width:120},
+								{field:'khmc',title:'客户名称',width:120},
+								{field:'lxr',title:'联系人',width:120},
+								{field:'lxdz',title:'联系地址',width:120},
+								{field:'lxdh',title:'联系电话',width:120},
+								{field:'xcdz',title:'现场地址',width:120},
+								{field:'xcdzczw',title:'现场地址参照物',width:120},
+								{field:'gdxfsj',title:'工单下发时间',width:120},
+								{field:'gdsj',title:'归档时间',width:120},
+								{field:'sjdry',title:'省接单人员',width:120},
+								{field:'sclry',title:'省处理人员',width:120},
+								{field:'shdqrry',title:'省回单确认人员',width:120},
+								{field:'cljg',title:'处理结果',width:120},
+								{field:'clqk',title:'处理情况',width:120},
+								{field:'fwyz',title:'服务语种',width:120},
+								{field:'khyj',title:'客户意见',width:120},
+								{field:'sfss',title:'是否属实',width:120},
+								{field:'sfdlgszr',title:'是否电力公司责任',width:120},
+								{field:'sfywclcs',title:'是否业务处理超时',width:120},
+								{field:'sfzzdf',title:'是否最终答复',width:120},
+								{field:'sfhftd',title:'是否回访退单',width:120},
+								{field:'hftdyy',title:'回访退单原因',width:120},
+								{field:'fsfcb',title:'是否催办',width:120},
+								{field:'glgd',title:'关联工单',width:120},
+								{field:'gltdxx',title:'关联停电信息',width:120},
+								{field:'lxdh2',title:'联系电话2',width:120},
+								{field:'slnr2',title:'受理内容2',width:120},
+								{field:'clmyd',title:'处理满意度',width:120},
+								{field:'bmyyy',title:'不满意原因',width:120}
+							],
+							data:data.data.resList.list8
+						});
 						$("#desc1").html("&nbsp;&nbsp;&nbsp;"+data.data.resList.desc1)
 						$("#desc2").html("&nbsp;&nbsp;&nbsp;本周,受理95598客户投诉X件,为YYYY投诉。\n" +
 								"截至A月B日,A月受理投诉C件,万户投诉数全省排名第D。全年累计受理投诉E件,万户投诉数F,全省排名第G。")
@@ -170,6 +266,7 @@
 
 						$("#desc4").html("&nbsp;&nbsp;&nbsp;本周未受理12398能监办投诉举报事项转办工单。");
 						$("#desc5").html("&nbsp;&nbsp;&nbsp;本周各单位共走访客户X户,其中政府部门Y户、重点项目及重要客户A户、普通高压户B户、低压客户C户。共收集网上国网、供电设施位置等意见D条,均已及时答复处理。");
+						$("#desc6").html("&nbsp;&nbsp;&nbsp;"+data.data.resList.desc6);
 
 					} else {
 						$.ErrorAlert(res.MINErrorMessage);