Bläddra i källkod

[bug-2191]培训看板数据问题

szjbdgzl 1 år sedan
förälder
incheckning
d2c0632e53

+ 8 - 8
ibps-provider-root/modules/provider-business/src/main/java/com/lc/ibps/business/service/impl/StatisticServiceImpl.java

@@ -746,17 +746,17 @@ public class StatisticServiceImpl implements StatisticService {
         List<TrainRateDto> rateDtoList = new ArrayList<>();
         String sql = "select pei_xun_lei_bie_,count(pei_xun_lei_bie_)as nums from t_rypxcjb where ji_hua_lei_xing_='岗前培训' " +
                 "and shi_fou_guo_shen_='已结束' %s group by pei_xun_lei_bie_";
-        String talSql = "SELECT COALESCE(SUM(nums), 0) AS total_num from (select pei_xun_lei_bie_,COUNT(pei_xun_lei_bie_)as nums " +
-                "from t_rypxcjb where ji_hua_lei_xing_='岗前培训' and shi_fou_guo_shen_='已结束' %s GROUP BY pei_xun_lei_bie_) as qw";
+        String talSql = "SELECT count(*) AS total FROM t_rypxcjb WHERE ji_hua_lei_xing_ = '岗前培训' AND shi_fou_guo_shen_ = '已结束' %s ";
         String dateCondition = String.format(" AND di_dian_ = '%s' ", getDiDian());
         if (BeanUtils.isNotEmpty(dept)){
             dateCondition += String.format(" AND bian_zhi_bu_men_ = '%s' ", dept);
         }
-        dateCondition += String.format(" AND DATE_FORMAT(pei_xun_shi_jian_,'%%Y-%%m')='%s' ", year);
+        dateCondition += String.format(" AND DATE_FORMAT(pei_xun_shi_jian_,'%%Y')='%s' ", year);
         sql = String.format(sql,dateCondition);
         talSql = String.format(talSql,dateCondition);
         List<Map<String,Object>> list = (List<Map<String, Object>>) commonDao.query(sql);
-        int total = Integer.parseInt(commonDao.queryOne(talSql).get("total_num").toString());
+        Map<String,Object> sumMap = commonDao.queryOne(talSql);
+        int total = Integer.parseInt(sumMap==null?"0":sumMap.get("total").toString());
         preWorkDto.setYearPreWorkTotal(total);
         if (BeanUtils.isNotEmpty(list)){
             for (Map<String,Object> map : list){
@@ -787,7 +787,7 @@ public class StatisticServiceImpl implements StatisticService {
             }
             String countSql = queryBuilder.toString();
             Map<String, Object> countResult = commonDao.queryOne(countSql);
-            map.put("num", Integer.parseInt(countResult.get("total").toString()));
+            map.put("num", Integer.parseInt(countResult==null?"0":countResult.get("total").toString()));
             list.add(map);
         }
         return list;
@@ -796,13 +796,13 @@ public class StatisticServiceImpl implements StatisticService {
     public List<TrainRankDto> getUserTrainRank(String dept,String dateCondition){
         String sql = "SELECT a.ren_yuan_id_ userId,e.NAME_ userName,a.rank as count from (select ren_yuan_id_,COUNT(ren_yuan_id_)as rank  from t_qdxxb " +
                 "where guan_lian_id_ in(select id_ from t_rypxcjb where ji_hua_lei_xing_='在岗培训' and shi_fou_guo_shen_='已结束' %s) " +
-                "GROUP BY guan_lian_id_,ren_yuan_id_) a ,ibps_party_employee e WHERE e.id_=a.ren_yuan_id_ ";
+                "GROUP BY ren_yuan_id_) a ,ibps_party_employee e WHERE e.id_=a.ren_yuan_id_ ";
         dateCondition += String.format(" AND di_dian_ = '%s' ", getDiDian());
         if (BeanUtils.isNotEmpty(dept)){
-            sql = sql + " and POSITIONS_ like '%%%s%%' ";
+            dateCondition += String.format(" AND bian_zhi_bu_men_ = '%s'", dept);
         }
         sql = sql + " ORDER BY a.rank desc ";
-        sql = String.format(sql,dateCondition,dept);
+        sql = String.format(sql,dateCondition);
         List<Map<String,Object>> list = (List<Map<String, Object>>) commonDao.query(sql);
         List<TrainRankDto> rankedResults = new ArrayList<>();
         int rank = 1;

+ 73 - 54
ibps-provider-root/modules/provider-platform/src/main/java/com/lc/ibps/platform/plan/job/BinXiangJob.java

@@ -1,5 +1,7 @@
 package com.lc.ibps.platform.plan.job;
 
+import com.alibaba.fastjson.JSONArray;
+import com.alibaba.fastjson.JSONObject;
 import com.lc.ibps.base.core.util.AppUtil;
 import com.lc.ibps.base.core.util.BeanUtils;
 import com.lc.ibps.base.core.util.JacksonUtil;
@@ -17,6 +19,8 @@ import org.slf4j.Logger;
 import org.slf4j.LoggerFactory;
 
 import java.text.SimpleDateFormat;
+import java.time.LocalDate;
+import java.time.format.DateTimeFormatter;
 import java.util.Date;
 import java.util.HashMap;
 import java.util.List;
@@ -138,7 +142,7 @@ public class BinXiangJob extends AbstractJob {
         String Sql = " select *from equip_relation where bx_bian_hao_ not in (select cai_ji_qi_ming_ch from t_dsfbxwdjl " +
                 " where date(cai_ji_shi_jian_)=date_sub(curdate(),interval 1 day) group by cai_ji_qi_ming_ch) ";
         List<Map<String, Object>> list = (List<Map<String, Object>>) commonDao.query(Sql);
-        String beiZhu = "以下设备未获取到温度采集数据:";
+        String beiZhu = "以下设备未获取到温湿度数据:";
         Map<String,Object> data = new HashMap<>();
         if (BeanUtils.isNotEmpty(list)){
             for (Map<String,Object> equip : list){
@@ -193,68 +197,83 @@ public class BinXiangJob extends AbstractJob {
 
     private void addBxData(List<Map<String, Object>> bxList) throws Exception {
         boolean main = false;
+        DateTimeFormatter formatter = DateTimeFormatter.ofPattern("yyyy-MM-dd HH:mm:ss");
         for (Map<String,Object> map : bxList){
             String pId = UniqueIdUtil.getId();
-            String sheBeiId = StringUtil.defaultString(map.get("she_bei_bian_hao_").toString(),"");
+            String sheBeiId = map.get("she_bei_bian_hao_")==null?"":map.get("she_bei_bian_hao_").toString();
+            String deptId = map.get("dept_id_")==null?"":map.get("dept_id_").toString();
 
             String eqSql = " select v.subId,v.position,v.deviceNo1,v.deviceName1,v.location,v.area,v.roomName,v.roomId " +
                     " FROM v_facs v where v.type='02-冰箱温度监控' and v.deviceNo1='%s' LIMIT 1 ";
             eqSql = String.format(eqSql,sheBeiId);
             Map<String,Object> eqMap = commonDao.queryOne(eqSql);
+            String diDian="";String quYuMingCheng="";String sheBeiMingCheng="";String fangJian="";String gangWei="";String subId="";
             if (BeanUtils.isNotEmpty(eqMap)){
-                String diDian = StringUtil.defaultString(eqMap.get("location").toString(),"");
-                String deptId = StringUtil.defaultString(map.get("dept_id_").toString(),"");
-
-                Map<String,Object> data = new HashMap<>();
-                data.put("id_", pId);
-                data.put("create_time_", new SimpleDateFormat("yyyy-MM-dd HH:mm:ss").format(new Date()));
-                data.put("bian_zhi_shi_jian", new SimpleDateFormat("yyyy-MM-dd HH:mm:ss").format(new Date()));
-                data.put("bian_zhi_bu_men_", deptId);
-                data.put("di_dian_", diDian);
-                if (!main){
-                    // 添加主表数据
-                    commonDao.execute(buildInsertSql(data,"t_bxwdjk_batch"));
-                    main = true;
-                }
-                // 添加子表数据
-                double max = Double.parseDouble(map.get("wen_du_shang_xian").toString());
-                double min = Double.parseDouble(map.get("wen_du_xia_xian_").toString());
-                double wenDu = Double.parseDouble(map.get("wen_du_").toString());
-                if (max>0){
-                    data.put("leng_cang_wen_du_", wenDu);
-                    data.put("cang_wen_xiu_", wenDu);
-                }else if (max<0){
-                    data.put("leng_dong_wen_du_", wenDu);
-                    data.put("dong_wen_xiu_", wenDu);
-                }
-                if (wenDu>max || wenDu<min){
-                    data.put("shi_kong_zhuang_t","失控");
-                }else {
-                    data.put("shi_kong_zhuang_t","正常");
-                }
-                String quYuMingCheng = StringUtil.defaultString(eqMap.get("area").toString(),"");
-                String sheBeiMingCheng = StringUtil.defaultString(eqMap.get("deviceName1").toString(),"");
-                String fangJian = StringUtil.defaultString(eqMap.get("roomName").toString(),"");
-                String gangWei = StringUtil.defaultString(eqMap.get("position").toString(),"");
-                String subId = StringUtil.defaultString(eqMap.get("subId").toString(),"");
-                data.put("id_", UniqueIdUtil.getId());
-                data.put("wai_jian_", pId);
-                data.put("bu_men_", deptId);
-                data.put("bing_xiang_bian_h", sheBeiId+" "+sheBeiMingCheng);
-                data.put("qu_yu_ming_cheng_", quYuMingCheng);
-                data.put("fang_jian_", fangJian);
-                data.put("shi_fou_guo_shen_", "已完成");
-                data.put("wen_kong_zhi_fan_", min + "~" + max + "℃");
-                data.put("shi_ji_shi_jian_", new SimpleDateFormat("yyyy-MM-dd HH:mm:ss").format(map.get("cai_ji_shi_jian_")));
-                data.put("bian_zhi_shi_jian", new SimpleDateFormat("yyyy-MM-dd HH:mm:ss").format(map.get("cai_ji_shi_jian_")));
-                data.put("gang_wei_", gangWei);
-                data.put("bian_zhi_ren_", "1");
-                //data.put("bei_zhu_", sheBeiId + sheBeiMingCheng+",采集时间:"+ caiJiShiJian + ",温度:"+ wenDu + "℃");
-                data.put("config_id_", subId);
-                data.put("yue_ri_qi_", new SimpleDateFormat("yyyy-MM-dd").format(map.get("cai_ji_shi_jian_")));
-                data.put("shi_jian_shi_fen_", new SimpleDateFormat("HH:mm").format(map.get("cai_ji_shi_jian_")));
-                commonDao.execute(buildInsertSql(data,"t_bxwdjkjlb"));
+                diDian = eqMap.get("location")==null?"":eqMap.get("location").toString();
+                quYuMingCheng = eqMap.get("area")==null?"":eqMap.get("area").toString();
+                sheBeiMingCheng = eqMap.get("deviceName1")==null?"":eqMap.get("deviceName1").toString();
+                fangJian = eqMap.get("roomName")==null?"":eqMap.get("roomName").toString();
+                gangWei = eqMap.get("position")==null?"":eqMap.get("position").toString();
+                subId = eqMap.get("subId")==null?"":eqMap.get("subId").toString();
+            }
+            Map<String,Object> data = new HashMap<>();
+            data.put("id_", pId);
+            data.put("create_time_", formatter.format(LocalDate.now()));
+            data.put("bian_zhi_shi_jian", formatter.format(LocalDate.now()));
+            data.put("bian_zhi_bu_men_", deptId);
+            data.put("di_dian_", diDian);
+            if (!main){
+                // 添加主表数据
+                commonDao.execute(buildInsertSql(data,"t_bxwdjk_batch"));
+                main = true;
+            }
+            // 添加子表数据
+            double max = Double.parseDouble(map.get("wen_du_shang_xian").toString());
+            double min = Double.parseDouble(map.get("wen_du_xia_xian_").toString());
+            double wenDu = Double.parseDouble(map.get("wen_du_").toString());
+            if (max>0){
+                data.put("leng_cang_wen_du_", wenDu);
+                data.put("cang_wen_xiu_", wenDu);
+            }else if (max<0){
+                data.put("leng_dong_wen_du_", wenDu);
+                data.put("dong_wen_xiu_", wenDu);
             }
+            String shi_kong_zhuang_t = wenDu > max || wenDu < min ? "失控" : "正常";
+            data.put("id_", UniqueIdUtil.getId());
+            data.put("wai_jian_", pId);
+            data.put("bu_men_", deptId);
+            data.put("bing_xiang_bian_h", sheBeiId+" "+sheBeiMingCheng);
+            data.put("qu_yu_ming_cheng_", quYuMingCheng);
+            data.put("fang_jian_", fangJian);
+            data.put("shi_fou_guo_shen_", "已完成");
+            data.put("wen_kong_zhi_fan_", min + "~" + max + "℃");
+            data.put("shi_ji_shi_jian_", new SimpleDateFormat("yyyy-MM-dd HH:mm:ss").format(map.get("cai_ji_shi_jian_")));
+            data.put("bian_zhi_shi_jian", new SimpleDateFormat("yyyy-MM-dd HH:mm:ss").format(map.get("cai_ji_shi_jian_")));
+            data.put("gang_wei_", gangWei);
+            data.put("bian_zhi_ren_", "1");
+            //data.put("bei_zhu_", sheBeiId + sheBeiMingCheng+",采集时间:"+ caiJiShiJian + ",温度:"+ wenDu + "℃");
+            data.put("config_id_", subId);
+            data.put("yue_ri_qi_", new SimpleDateFormat("yyyy-MM-dd").format(map.get("cai_ji_shi_jian_")));
+            data.put("shi_jian_shi_fen_", new SimpleDateFormat("HH:mm").format(map.get("cai_ji_shi_jian_")));
+            data.put("shi_kong_zhuang_t",shi_kong_zhuang_t);
+            data.put("jian_ce_zhou_qi_","每日");
+            data.put("jian_ce_ri_qi_","每天");
+            data.put("ri_qi_lie_biao_","1,2,3,4,5,6,7");
+            JSONArray params = new JSONArray();
+            JSONObject param = new JSONObject();
+            param.put("label","温湿度");
+            JSONArray range = new JSONArray();
+            range.add(min);range.add(max);
+            param.put("range",range);
+            param.put("fixValue","");
+            param.put("value",wenDu);
+            param.put("result",wenDu);
+            param.put("status",shi_kong_zhuang_t);
+            param.put("unit","℃/%");
+            param.put("rate","每天");
+            params.add(param);
+            data.put("lie_biao_shu_ju_",params);
+            commonDao.execute(buildInsertSql(data,"t_bxwdjkjlb"));
         }
     }