فهرست منبع

培训不返回异常,setting没有时返回空

wy 7 ماه پیش
والد
کامیت
3e088a0b23

+ 43 - 8
ibps-provider-root/modules/provider-bpmn/src/main/java/com/lc/ibps/office/provider/BpmInitiatedProvider.java

@@ -1,6 +1,7 @@
 package com.lc.ibps.office.provider;
 
 import java.util.ArrayList;
+import java.util.HashMap;
 import java.util.List;
 import java.util.Map;
 import java.util.concurrent.Callable;
@@ -9,9 +10,11 @@ import java.util.function.Function;
 
 import javax.annotation.Resource;
 
+import com.alibaba.fastjson.JSONObject;
 import com.lc.ibps.base.core.util.Collections;
 import com.lc.ibps.base.framework.table.ICommonDao;
 import com.lc.ibps.bpmn.service.impl.BpmProcInstServiceImpl;
+import org.codehaus.jackson.map.ObjectMapper;
 import org.slf4j.Logger;
 import org.slf4j.LoggerFactory;
 import org.slf4j.event.Level;
@@ -1498,13 +1501,23 @@ public class BpmInitiatedProvider extends GenericProvider implements IBpmInitiat
 				infobox2.setAlias("myTraining");
 				infobox2.setDataText("-1");
 				infobox2.setAccessToken(ContextUtil.getCurrentAccessToken());
-				List<Map<String,Object>> objects =
-						(List<Map<String, Object>>) commonDao.query("SELECT COUNT(1) AS total FROM v_wodepeixun WHERE peixunrenyuan=#{p0} and pei_xun_zhuang_ta NOT IN ('已删除','未发布')",
-								new String[]{currentUserId});
-				int allNum = Integer.parseInt(objects.get(0).get("total").toString());
-				objects =
-						(List<Map<String, Object>>) commonDao.query("SELECT COUNT(1) AS total FROM v_wodepeixun WHERE peixunrenyuan=#{p0} and pei_xun_zhuang_ta NOT IN ('已删除','未发布','已结束')",
-								new String[]{currentUserId});
+				List<Map<String,Object>> objects = new  ArrayList<>();
+				int allNum ;
+				//获取setting配置判断培训版本
+				String setting = ContextUtil.getSetting();
+				ObjectMapper objectMapper = new ObjectMapper();
+				HashMap<String, Object> map =(HashMap) objectMapper.readValue(setting, Map.class);
+				HashMap<String, Object> option = (HashMap)map.get("pxSpectacularsOption");
+				String ver = option.get("version").toString();
+				if(BeanUtils.isNotEmpty(ver) && "1".equals(ver)) {
+					objects=(List<Map<String, Object>>) commonDao.query("SELECT COUNT(1) AS total FROM v_wodepeixun WHERE peixunrenyuan=#{p0} and pei_xun_zhuang_ta NOT IN ('已删除','未发布')",	new String[]{currentUserId});
+					allNum = Integer.parseInt(objects.get(0).get("total").toString());
+					objects =(List<Map<String, Object>>) commonDao.query("SELECT COUNT(1) AS total FROM v_wodepeixun WHERE peixunrenyuan=#{p0} and pei_xun_zhuang_ta NOT IN ('已删除','未发布','已结束')",new String[]{currentUserId});
+				}else {
+					objects = (List<Map<String, Object>>) commonDao.query("SELECT COUNT(1) AS total FROM v_wodepeixun WHERE peixunrenyuan=#{p0} and shi_fou_guo_shen_ NOT IN ('已删除','未发布')",new String[]{currentUserId});
+					allNum = Integer.parseInt(objects.get(0).get("total").toString());
+					objects = (List<Map<String, Object>>) commonDao.query("SELECT COUNT(1) AS total FROM v_wodepeixun WHERE peixunrenyuan=#{p0} and shi_fou_guo_shen_ NOT IN ('已删除','未发布','已结束')",new String[]{currentUserId});
+				}
 				int unNum = Integer.parseInt(objects.get(0).get("total").toString());
 				infobox2.setDataText(String.format("%d,%d,%d",allNum,allNum-unNum,unNum));
 				infobox2.setMessage(String.format("总数:%d,已完成:%d,未完成:%d",allNum,allNum-unNum,unNum));
@@ -1548,6 +1561,17 @@ public class BpmInitiatedProvider extends GenericProvider implements IBpmInitiat
 									"	WHERE di_dian_=#{p0} AND DATE(create_time_)=CURDATE() AND shi_fou_guo_shen_='待处理'", new String[]{(String)object3.get(0).get("id_")});
 					infobox2.setDataText(object4.get(0).get("total").toString());
 				}
+				//恒生医院专用配置-对应任务4792的改造同步 可推送人为空的全部推送,不为空则推送指定的推送人
+				if(BeanUtils.isNotEmpty(ContextUtil.getSetting())){
+					JSONObject configMap = JSONObject.parseObject(ContextUtil.getSetting());
+					String HSYY = configMap.getString("HSYY");
+					if(BeanUtils.isNotEmpty(HSYY) && HSYY.equals("true")){
+						String sql =" SELECT count(*) as count FROM t_mjsbwhbyjlby WHERE DATE(create_time_) = CURDATE()  AND shi_fou_guo_shen_ = '待处理' " +
+								"  AND (ke_tui_song_ren_ IS NULL OR ke_tui_song_ren_ = '' OR ke_tui_song_ren_ LIKE '%"+currentUserId+"%')";
+						Map<String, Object> mjsbwhbyjlbyMap = commonDao.queryOne(sql);
+						infobox2.setDataText(getStringFromMap(mjsbwhbyjlbyMap,"count"));
+					}
+				}
 				list.add(infobox2);
 			} catch (Exception e) {
 				logger.error(e.getMessage(), e);
@@ -1819,6 +1843,17 @@ public class BpmInitiatedProvider extends GenericProvider implements IBpmInitiat
 		}
 		return result;
 	}
-	
+	public static String getStringFromMap(Map<String, Object> map, String key) {
+		if (map == null || key == null) {
+			return "";
+		}
+
+		Object value = map.get(key);
+		if (value == null) {
+			return "";
+		}
+
+		return value.toString();
+	}
 	
 }

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

@@ -17,6 +17,7 @@ import com.lc.ibps.common.api.IDictionaryService;
 import com.lc.ibps.common.cat.persistence.entity.DictionaryPo;
 import com.lc.ibps.org.api.IPartyPositionService;
 import com.lc.ibps.org.party.persistence.entity.PartyPositionPo;
+import com.lc.ibps.untils.settingUtil;
 import org.slf4j.Logger;
 import org.slf4j.LoggerFactory;
 import org.springframework.stereotype.Service;
@@ -68,7 +69,7 @@ public class StatisticServiceImpl implements StatisticService {
     }
 
     @Override
-    public List<TrainingDashBoardDTO> getTrainingDashBoard(String dept, String types11, String dates,String typeProportion,String version) {
+    public List<TrainingDashBoardDTO> getTrainingDashBoard(String dept, String types11, String dates,String typeProportion,String version){
      // public List<TrainingDashBoardDTO> getTrainingDashBoard(String dept, String types11, String dates,String typeProportion) {
         List<TrainingDashBoardDTO> list = new ArrayList<>();
         TrainingDashBoardDTO dashBoardDTO = new TrainingDashBoardDTO();
@@ -903,11 +904,17 @@ public class StatisticServiceImpl implements StatisticService {
         String planSql = "";
         String sumSql = "";
         String condition ="";
-        if(BeanUtils.isNotEmpty(version) && "1".equals(version)){
+        String ve = "";
+        try {
+             ve = settingUtil.getPx();
+        }catch (Exception e){
+            logger.warn("json转换异常");
+        }
+        if(BeanUtils.isNotEmpty(ve) && "1".equals(ve)){
             planSql = "select count(*) as auto from t_lhrypxjlb where ji_hua_wai_jian_ in(select id_ from t_ndrypxjhzb " +
-                    "where di_dian_='"+getDiDian()+"') %s";
+                   "where di_dian_='"+getDiDian()+"') %s";
             sumSql = "select count(*) as total from t_lhrypxjlb where 1=1 %s ";
-            condition = String.format(" AND di_dian_ = '%s' and pei_xun_zhuang_ta='已结束' ", getDiDian());
+           condition = String.format(" AND di_dian_ = '%s' and pei_xun_zhuang_ta='已结束' ", getDiDian());
         }else{
           planSql = "select count(*) as auto from t_rypxcjb where ji_hua_wai_jian_ in(select id_ from t_ndrypxjhzb " +
                     "where di_dian_='"+getDiDian()+"') %s";
@@ -932,7 +939,7 @@ public class StatisticServiceImpl implements StatisticService {
     }
 
     public List<TrainWeekDto> getLastSeven(String dept,String version){
-       // public List<TrainWeekDto> getLastSeven(String dept){
+        //public List<TrainWeekDto> getLastSeven(String dept){
         List<TrainWeekDto> weekDtoList = new ArrayList<>();
         List<String> lastWeek = getLastSevenDaysDates();
         for (String dateStr : lastWeek) {
@@ -940,7 +947,13 @@ public class StatisticServiceImpl implements StatisticService {
             weekDto.setDate(dateStr);
             weekDto.setDayName(getDayName(dateStr));
             String sql = "";
-            if(BeanUtils.isNotEmpty(version) && "1".equals(version)){
+            String ve = "";
+            try {
+                ve = settingUtil.getPx();
+            }catch (Exception e){
+                logger.warn("json转换异常");
+            }
+            if(BeanUtils.isNotEmpty(ve) && "1".equals(ve)){
               sql = "select count(*) value from t_lhrypxjlb where  pei_xun_zhuang_ta='未发布' " +
                         " and di_dian_='%s' and date_format(pei_xun_shi_jian_,'%%Y-%%m-%%d')='%s' ";
             }else{
@@ -980,7 +993,13 @@ public class StatisticServiceImpl implements StatisticService {
         List<TrainRateDto> rateDtoList = new ArrayList<>();
         String sql ="";
         String talSql ="";
-        if(BeanUtils.isNotEmpty(version) && "1".equals(version)){
+        String ve = "";
+        try {
+            ve = settingUtil.getPx();
+        }catch (Exception e){
+            logger.warn("json转换异常");
+        }
+        if(BeanUtils.isNotEmpty(ve) && "1".equals(ve)){
            sql = "select pei_xun_lei_xing_,count(pei_xun_lei_xing_)as nums from t_lhrypxjlb where " +
                     " pei_xun_zhuang_ta='已结束' %s group by pei_xun_lei_xing_";
            talSql = "SELECT COUNT(*) as total_num from t_lhrypxjlb where  pei_xun_zhuang_ta='已结束' %s ";
@@ -1028,7 +1047,13 @@ public class StatisticServiceImpl implements StatisticService {
         }
         String sql = "";
         String talSql = "";
-        if(BeanUtils.isNotEmpty(version) && "1".equals(version)){
+        String ve = "";
+        try {
+            ve = settingUtil.getPx();
+        }catch (Exception e){
+            logger.warn("json转换异常");
+        }
+        if(BeanUtils.isNotEmpty(ve) && "1".equals(ve)){
            sql = "select pei_xun_lei_bie_,count(pei_xun_lei_bie_)as nums from t_lhrypxjlb where " +
                     " pei_xun_zhuang_ta='已结束' %s group by pei_xun_lei_bie_";
             talSql = "select COUNT(*) AS total_num from t_lhrypxjlb where  pei_xun_zhuang_ta='已结束' %s ";
@@ -1059,13 +1084,19 @@ public class StatisticServiceImpl implements StatisticService {
     }
 
     //public TrainYearPreWorkDto getYearPre(String dept,String year){
-    public TrainYearPreWorkDto getYearPre(String dept,String year,String version){
+        public TrainYearPreWorkDto getYearPre(String dept,String year,String version){
         TrainYearPreWorkDto preWorkDto = new TrainYearPreWorkDto();
         preWorkDto.setRemark("本年度岗前培训类别占比");
         List<TrainRateDto> rateDtoList = new ArrayList<>();
         String sql = "";
         String talSql ="";
-        if(BeanUtils.isNotEmpty(version) && "1".equals(version)){
+            String ve = "";
+            try {
+                ve = settingUtil.getPx();
+            }catch (Exception e){
+                logger.warn("json转换异常");
+            }
+        if(BeanUtils.isNotEmpty(ve) && "1".equals(ve)){
            sql = "select pei_xun_lei_bie_,count(pei_xun_lei_bie_)as nums from t_lhrypxjlb where " +
                     " pei_xun_zhuang_ta='已结束' %s group by pei_xun_lei_bie_";
            talSql = "SELECT count(*) AS total FROM t_lhrypxjlb WHERE pei_xun_zhuang_ta = '已结束' %s ";
@@ -1098,9 +1129,15 @@ public class StatisticServiceImpl implements StatisticService {
     }
 
     //public List<Map<String, Object>> getCurrentYearData(List<String> dateStr, String dept,String year) {
-    public List<Map<String, Object>> getCurrentYearData(List<String> dateStr, String dept,String year,String version) {
+     public List<Map<String, Object>> getCurrentYearData(List<String> dateStr, String dept,String year,String version) {
         String baseSql ="";
-        if(BeanUtils.isNotEmpty(version) && "1".equals(version)){
+         String ve = "";
+         try {
+             ve = settingUtil.getPx();
+         }catch (Exception e){
+             logger.warn("json转换异常");
+         }
+        if(BeanUtils.isNotEmpty(ve) && "1".equals(ve)){
             baseSql = "SELECT count(*) AS total FROM t_lhrypxjlb WHERE pei_xun_zhuang_ta = '已结束' and di_dian_='%s'";
         }else{
             baseSql = "SELECT count(*) AS total FROM t_rypxcjb WHERE shi_fou_guo_shen_ = '已结束' and di_dian_='%s'";
@@ -1127,7 +1164,13 @@ public class StatisticServiceImpl implements StatisticService {
     //public List<TrainRankDto> getUserTrainRank(String dept,String dateCondition){
     public List<TrainRankDto> getUserTrainRank(String dept,String dateCondition,String version){
         String sql = "";
-        if(BeanUtils.isNotEmpty(version) && "1".equals(version)){
+        String ve = "";
+        try {
+            ve = settingUtil.getPx();
+        }catch (Exception e){
+            logger.warn("json转换异常");
+        }
+        if(BeanUtils.isNotEmpty(ve) && "1".equals(ve)){
             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_lhrypxjlb where  pei_xun_zhuang_ta='已结束' %s) " +
                     "GROUP BY ren_yuan_id_) a ,ibps_party_employee e WHERE e.id_=a.ren_yuan_id_ ";

+ 54 - 0
ibps-provider-root/modules/provider-business/src/main/java/com/lc/ibps/untils/settingUtil.java

@@ -0,0 +1,54 @@
+package com.lc.ibps.untils;
+
+import com.lc.ibps.base.web.context.ContextUtil;
+import com.lc.ibps.bpmn.service.impl.BpmProcInstServiceImpl;
+import org.codehaus.jackson.map.ObjectMapper;
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
+
+import java.util.HashMap;
+import java.util.Map;
+
+/**
+ * 转换setting的工具类,业务模块直接取这边的方法即可拿到最终值
+ * 依据setting配置的层级自行判断转换逻辑
+ */
+public class settingUtil {
+    private static final Logger logger = LoggerFactory.getLogger(BpmProcInstServiceImpl.class);
+
+    //获取setting
+    public static HashMap<String, Object> getSetting(){
+        HashMap<String, Object> map = new HashMap<>();
+        try {
+            String setting = ContextUtil.getSetting();
+             map =(HashMap) jsonStringToMap(setting);
+        }catch (Exception e){
+            logger.warn("setting获取异常");
+        }
+        return map;
+    }
+    //获取培训方法
+    public static String getPx(){
+        String version = "";
+        try {
+            HashMap<String, Object> setting = getSetting();
+            HashMap<String, Object> option = (HashMap)setting.get("pxSpectacularsOption");
+            version = option.get("version").toString();
+        }catch (Exception e){
+            logger.warn("version转换异常或没有配置");
+        }
+        return version;
+    }
+    //获取XXX
+    //...
+
+    //转换map方法
+    public static Map<String, Object> jsonStringToMap(String jsonString) {
+        try {
+            ObjectMapper objectMapper = new ObjectMapper();
+            return objectMapper.readValue(jsonString, Map.class);
+        } catch (Exception e) {
+            throw new RuntimeException("JSON转换失败", e);
+        }
+    }
+}