|
|
@@ -61,12 +61,13 @@ public class QualityIndicatorJob extends AbstractJob {
|
|
|
//String diDian = (String)map.get("di_dian_");
|
|
|
//东莞中医特殊改造,按照部门细分
|
|
|
String diDian = flag1?(String)map.get("bian_zhi_bu_men_"):(String)map.get("di_dian_");
|
|
|
+ String shiYongFangWei = flag1?(String)map.get("shi_yong_fan_wei_"):"";
|
|
|
logger.warn("东莞中医院flag1的值{}应该为true,如果不对请在ipcc中添加配置", flag1);
|
|
|
QualityIndicatorJobParameter parameter = JSON.parseObject(canshu, QualityIndicatorJobParameter.class);
|
|
|
- createRecords(diDian,id,"每月",parameter.checkMonth());
|
|
|
- createRecords(diDian,id,"每季度",parameter.checkQuarter());
|
|
|
- createRecords(diDian,id,"每半年",parameter.checkHalfYear());
|
|
|
- createRecords(diDian,id,"每年",parameter.checkYear());
|
|
|
+ createRecords(diDian,id,"每月",parameter.checkMonth(),flag1,shiYongFangWei);
|
|
|
+ createRecords(diDian,id,"每季度",parameter.checkQuarter(),flag1,shiYongFangWei);
|
|
|
+ createRecords(diDian,id,"每半年",parameter.checkHalfYear(),flag1,shiYongFangWei);
|
|
|
+ createRecords(diDian,id,"每年",parameter.checkYear(),flag1,shiYongFangWei);
|
|
|
}
|
|
|
}
|
|
|
String flow = dataMap.getString(START_FLOW);
|
|
|
@@ -76,12 +77,15 @@ 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){//统计数据列表防重
|
|
|
+ private void createRecords(String diDian,String id,String rate, String periodNum,Boolean flag,String shiYongFangWei) {
|
|
|
+
|
|
|
+ /* if(StringUtils.isBlank(periodNum) ||
|
|
|
+ fetchRecords("zlzb2", new String[]{diDian, rate, periodNum,shiYongFangWei}) != null){//统计数据列表防重
|
|
|
return;
|
|
|
+ }*/
|
|
|
+ if (checkDuplicate(diDian, rate, periodNum, shiYongFangWei,flag)) {
|
|
|
+ return; // 命中防重规则,直接返回
|
|
|
}
|
|
|
-
|
|
|
List<Map<String, Object>> list = fetchRecords("zlzb3", new String[]{periodNum,rate,id});
|
|
|
if(list == null) return ;
|
|
|
try {
|
|
|
@@ -94,7 +98,22 @@ public class QualityIndicatorJob extends AbstractJob {
|
|
|
}
|
|
|
|
|
|
}
|
|
|
-
|
|
|
+ private boolean checkDuplicate(String diDian, String rate, String periodNum,
|
|
|
+ String shiYongFangWei, boolean falg) {
|
|
|
+ // 如果periodNum为空,直接返回 true(表示存在重复/无需继续处理)
|
|
|
+ if (StringUtils.isBlank(periodNum)) {
|
|
|
+ return true;
|
|
|
+ }
|
|
|
+ // 根据条件A动态构建参数数组
|
|
|
+ String[] params;
|
|
|
+ if (falg) {
|
|
|
+ params = new String[]{diDian, rate, periodNum, shiYongFangWei};//东莞专用
|
|
|
+ } else {
|
|
|
+ params = new String[]{diDian, rate, periodNum};//原来的逻辑
|
|
|
+ }
|
|
|
+ // 存在数据则表示已经处理过返回true跳过
|
|
|
+ return fetchRecords("zlzb2", params) != null;
|
|
|
+ }
|
|
|
protected void startWorkflow(String tableName, String formKey, String defKey) {
|
|
|
String fetchSql = "SELECT id_ FROM %s WHERE shi_fou_guo_shen_='待处理' ";
|
|
|
fetchSql = String.format(fetchSql,tableName);
|