|
|
@@ -37,13 +37,41 @@ public class AfterStaticisJob implements Job {
|
|
|
@Override
|
|
|
public void execute(JobExecutionContext jobExecutionContext) throws JobExecutionException {
|
|
|
List<DictModel> dictModelList = sysDictService.getDictItems(Constant.MANAGER_STATICTIS_CATEGORY);
|
|
|
- if (CollectionUtil.isNotEmpty(dictModelList)) {
|
|
|
+ List<DictModel> ruleDictModelList = sysDictService.getDictItems(Constant.MANAGER_STATICTIS_RULE);
|
|
|
+ if (CollectionUtil.isNotEmpty(dictModelList) || CollectionUtil.isNotEmpty(ruleDictModelList)) {
|
|
|
List<String> categoryList = new ArrayList<>();
|
|
|
- for (DictModel dictModel : dictModelList) {
|
|
|
- categoryList.add(dictModel.getValue());
|
|
|
+ List<Integer> ruleIdList = new ArrayList<>();
|
|
|
+ boolean cFlag = false;
|
|
|
+ if(CollectionUtil.isNotEmpty(dictModelList)) {
|
|
|
+ for (DictModel dictModel : dictModelList) {
|
|
|
+ categoryList.add(dictModel.getValue());
|
|
|
+ }
|
|
|
+ cFlag = true;
|
|
|
+ }
|
|
|
+ boolean rFlag = false;
|
|
|
+ if(CollectionUtil.isNotEmpty(ruleDictModelList)) {
|
|
|
+ for (DictModel dictModel : ruleDictModelList) {
|
|
|
+ ruleIdList.add(Integer.parseInt(dictModel.getValue()));
|
|
|
+ }
|
|
|
+ rFlag = true;
|
|
|
+ }
|
|
|
+ List<MedicalInsRuleInfo> cMedicalInsRuleInfoList = null;
|
|
|
+ if(cFlag) {
|
|
|
+ cMedicalInsRuleInfoList = medicalInsRuleInfoService.lambdaQuery().in(MedicalInsRuleInfo::getCategory, categoryList)
|
|
|
+ .eq(MedicalInsRuleInfo::getState, Constant.EFF_STATE).list();
|
|
|
+ }
|
|
|
+ List<MedicalInsRuleInfo> rMedicalInsRuleInfoList = null;
|
|
|
+ if(rFlag) {
|
|
|
+ rMedicalInsRuleInfoList = medicalInsRuleInfoService.lambdaQuery().in(MedicalInsRuleInfo::getId, ruleIdList)
|
|
|
+ .eq(MedicalInsRuleInfo::getState, Constant.EFF_STATE).list();
|
|
|
+ }
|
|
|
+ List<MedicalInsRuleInfo> medicalInsRuleInfoList = new ArrayList<>();
|
|
|
+ if(CollectionUtil.isNotEmpty(cMedicalInsRuleInfoList)){
|
|
|
+ medicalInsRuleInfoList.addAll(cMedicalInsRuleInfoList);
|
|
|
+ }
|
|
|
+ if(CollectionUtil.isNotEmpty(rMedicalInsRuleInfoList)){
|
|
|
+ medicalInsRuleInfoList.addAll(rMedicalInsRuleInfoList);
|
|
|
}
|
|
|
- List<MedicalInsRuleInfo> medicalInsRuleInfoList = medicalInsRuleInfoService.lambdaQuery().in(MedicalInsRuleInfo::getCategory, categoryList)
|
|
|
- .eq(MedicalInsRuleInfo::getState, Constant.EFF_STATE).list();
|
|
|
if (CollectionUtil.isNotEmpty(medicalInsRuleInfoList)) {
|
|
|
for (MedicalInsRuleInfo medicalInsRuleInfo : medicalInsRuleInfoList) {
|
|
|
statictisRuleByRuleEngine(medicalInsRuleInfo);
|
|
|
@@ -55,6 +83,8 @@ public class AfterStaticisJob implements Job {
|
|
|
log.error("未配置统计监测类的二级分类名");
|
|
|
}
|
|
|
|
|
|
+
|
|
|
+
|
|
|
}
|
|
|
|
|
|
@Async("commonTaskAsyncPool")
|