Просмотр исходного кода

task-5758 东莞中医院质量指标/质量目标改造
按照部门细分配置,以前是按照地点

xiexh 1 месяц назад
Родитель
Сommit
ba64f3e636

+ 20 - 2
ibps-provider-root/modules/provider-platform/src/main/java/com/lc/ibps/platform/plan/job/QualityIndicatorJob.java

@@ -11,6 +11,7 @@ import com.lc.ibps.bpmn.api.IBpmInstService;
 import com.lc.ibps.cloud.entity.APIResult;
 import com.lc.ibps.components.quartz.BaseJob2;
 import org.apache.commons.lang3.StringUtils;
+import org.codehaus.jackson.map.ObjectMapper;
 import org.quartz.JobDataMap;
 import org.quartz.JobExecutionContext;
 import org.slf4j.Logger;
@@ -20,8 +21,10 @@ import java.time.DayOfWeek;
 import java.time.LocalDate;
 import java.time.Month;
 import java.time.format.DateTimeFormatter;
+import java.util.HashMap;
 import java.util.List;
 import java.util.Map;
+import java.util.Optional;
 
 public class QualityIndicatorJob extends AbstractJob {
 
@@ -39,11 +42,26 @@ public class QualityIndicatorJob extends AbstractJob {
         logger.warn("jobDataMap=is {}.", JacksonUtil.toJsonString(dataMap.getWrappedMap()));
 //        String sql = "SELECT id_,di_dian_,cha_xun_yu_ju_ FROM t_zlzbpzb WHERE shi_fou_ji_huo_ = 'Y'";
         List<Map<String, Object>> list = fetchRecords("zlzb1");
+        /** 1.是否 东莞医院环境 */
+        String setting = ContextUtil.getSetting();
+        boolean flag1 = false;
+        if (StringUtils.isNotEmpty(setting)) {
+            ObjectMapper objectMapper = new ObjectMapper();
+            HashMap<String, Object> map =(HashMap) objectMapper.readValue(setting, Map.class);
+            String dgyy = Optional.ofNullable(map)
+                    .map(m -> m.get("DGYY"))
+                    .map(Object::toString)
+                    .orElse("");
+            flag1 = Boolean.parseBoolean(dgyy);
+        }
         if (BeanUtils.isNotEmpty(list)) {
             for (Map<String, Object> map : list) {
                 String canshu = (String)map.get("cha_xun_yu_ju_");
                 String id = (String)map.get("id_");
-                String diDian = (String)map.get("di_dian_");
+                //String diDian = (String)map.get("di_dian_");
+                //东莞中医特殊改造,按照部门细分
+                String diDian = flag1?(String)map.get("bian_zhi_bu_men_"):(String)map.get("di_dian_");
+                logger.warn("东莞中医院flag1的值{}应该为true,如果不对请在ipcc中添加配置", flag1);
                 QualityIndicatorJobParameter parameter = JSON.parseObject(canshu, QualityIndicatorJobParameter.class);
                 createRecords(diDian,id,"每月",parameter.checkMonth());
                 createRecords(diDian,id,"每季度",parameter.checkQuarter());
@@ -60,7 +78,7 @@ public class QualityIndicatorJob extends AbstractJob {
 
     private void createRecords(String diDian,String id,String rate, String periodNum) {
         if(StringUtils.isBlank(periodNum) ||
-                fetchRecords("zlzb2", new String[]{diDian, rate, periodNum}) != null){
+                fetchRecords("zlzb2", new String[]{diDian, rate, periodNum}) != null){//统计数据列表防重
             return;
         }