Quellcode durchsuchen

事中稽核引擎多要素提取测试修复

0027005599 vor 2 Jahren
Ursprung
Commit
fa6dc1e20f

+ 1 - 1
jeecg-module-system/jeecg-system-biz/src/main/java/org/jeecg/modules/medical/entity/MedicalInsRuleProjectDiagnose.java

@@ -39,7 +39,7 @@ public class MedicalInsRuleProjectDiagnose implements Serializable {
 	/**医保规则id*/
 	@Excel(name = "医保规则id", width = 15)
     @ApiModelProperty(value = "医保规则id")
-    private java.lang.Integer medicalInsRuleProjectId;
+    private java.lang.Integer medicineInsRuleInfoId;
 	/**医保规则项目编码*/
 	@Excel(name = "医保规则项目编码", width = 15)
     @ApiModelProperty(value = "医保规则项目编码")

+ 17 - 4
jeecg-module-system/jeecg-system-biz/src/main/java/org/jeecg/modules/medical/job/AfterWaringLogJob.java

@@ -1,5 +1,6 @@
 package org.jeecg.modules.medical.job;
 
+import cn.hutool.core.collection.CollectionUtil;
 import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
 import org.apache.commons.lang.StringUtils;
 import org.jeecg.modules.medical.Constant;
@@ -62,12 +63,17 @@ public class AfterWaringLogJob implements Job {
         List<HospitalizatioSettleDetail> hospitalizatioSettleDetails = hospitalizatioSettleDetailService.lambdaQuery().eq(HospitalizatioSettleDetail::getHisid, masterAdmissionBill.getHisid()).list();
         List<AfterIncidentDetailLog> afterIncidentDetailLogList = new ArrayList<>();
         AfterIncidentDetailLog afterIncidentDetailLog = null;
+        List<SysUser> sysUserList = sysUserService.lambdaQuery().eq(SysUser::getDoctorId, afterIncidentLog.getDoctorId()).list();
+        String doctorLevel = "0";
+        if(CollectionUtil.isNotEmpty(sysUserList)){
+            doctorLevel = sysUserList.get(0).getDoctorLevel();
+        }
         for(HospitalizatioSettleDetail hospitalizatioSettleDetail : hospitalizatioSettleDetails){
             afterIncidentDetailLog = new AfterIncidentDetailLog();
 
             afterIncidentDetailLog.setAfterIncidentLogId(afterIncidentLog.getId());
-            afterIncidentDetailLog.setMedical_diagnose_name_str(masterAdmissionBill.getDischargeDiseaseNameMain());
-            afterIncidentDetailLog.setMedical_diagnose_code_str(masterAdmissionBill.getDischargeDiseaseIdMain());
+//            afterIncidentDetailLog.setMedical_diagnose_name_str(masterAdmissionBill.getDischargeDiseaseNameMain());
+//            afterIncidentDetailLog.setMedical_diagnose_code_str(masterAdmissionBill.getDischargeDiseaseIdMain());
             afterIncidentDetailLog.setAmount(hospitalizatioSettleDetail.getCost());
             afterIncidentDetailLog.setMedical_project_code(hospitalizatioSettleDetail.getItemId());
             afterIncidentDetailLog.setMedical_project_name(hospitalizatioSettleDetail.getItemName());
@@ -76,8 +82,8 @@ public class AfterWaringLogJob implements Job {
             afterIncidentDetailLog.setCreateTime(afterIncidentLog.getCreateTime());
             afterIncidentDetailLog.setDoctorId(afterIncidentLog.getDoctorId());
             afterIncidentDetailLog.setDoctorName(afterIncidentLog.getDoctorName());
-//            sysUserService.lambdaQuery().eq("")
-//            afterIncidentDetailLog.setDoctorLevel();
+
+            afterIncidentDetailLog.setDoctorLevel(doctorLevel);
             afterIncidentDetailLog.setUseDay(hospitalizatioSettleDetail.getUseDay());
             afterIncidentDetailLog.setDoseForm(hospitalizatioSettleDetail.getDosageForm());
             afterIncidentDetailLog.setDoseUnit(hospitalizatioSettleDetail.getPackageUnit());
@@ -86,8 +92,15 @@ public class AfterWaringLogJob implements Job {
             afterIncidentDetailLog.setExpenseCategory(hospitalizatioSettleDetail.getPCategory());
 //            afterIncidentDetailLog.setInspectionSite();
             afterIncidentDetailLog.setOutHospDate(masterAdmissionBill.getDischargeDate());
+            afterIncidentDetailLog.setDiagnose_code_str(masterAdmissionBill.getDischargeDiseaseIdMain());
+            afterIncidentDetailLog.setDiagnose_name_str(masterAdmissionBill.getDischargeDiseaseNameMain());
+            afterIncidentDetailLog.setMedicalInsuranceMark(masterAdmissionBill.getPayMethod());
+//            afterIncidentDetailLog.setOrderType();
+//            afterIncidentDetailLog.setOrderCatalog();
             afterIncidentDetailLogList.add(afterIncidentDetailLog);
         }
+
+        afterIncidentDetailLogService.saveBatch(afterIncidentDetailLogList);
     }
 
 

+ 9 - 9
jeecg-module-system/jeecg-system-biz/src/main/java/org/jeecg/modules/medical/ruleengine/FactorEnchangeFactory.java

@@ -179,8 +179,8 @@ public class FactorEnchangeFactory {
             Date date = new Date(System.currentTimeMillis());
             for(Map<String,Object> otherMap : itemList){
                 AfterwardsAuditDetail afterwardsAuditDetail = new AfterwardsAuditDetail();
-                Double amount = (Double) otherMap.getOrDefault(Constant.AMOUNT_KEY, 0);
-                afterwardsAuditDetail.setAmount(new BigDecimal(amount));
+                BigDecimal amount = (BigDecimal) otherMap.getOrDefault(Constant.AMOUNT_KEY, 0);
+                afterwardsAuditDetail.setAmount(amount);
                 afterwardsAuditDetail.setProejctCode(otherMap.get(Constant.PROJECT_CODE_KEY).toString());
                 afterwardsAuditDetail.setProejctName(otherMap.get(Constant.PROJECT_NAME_KEY).toString());
                 afterwardsAuditDetail.setMedicalProjectCode(otherMap.get(Constant.MEDICAL_PROJECT_CODE_KEY).toString());
@@ -211,14 +211,14 @@ public class FactorEnchangeFactory {
             }
             afterwardsAuditDetailService.saveBatch(afterwardsAuditDetailList);
         }else {
-            Double amount = (Double) itemMap.getOrDefault(Constant.AMOUNT_KEY, 0);
+            BigDecimal amount = (BigDecimal) itemMap.getOrDefault(Constant.AMOUNT_KEY, 0);
             AfterwardsAuditDetail afterwardsAuditDetail = new AfterwardsAuditDetail();
             afterwardsAuditDetail.setProejctCode(itemMap.get(Constant.PROJECT_CODE_KEY).toString());
             afterwardsAuditDetail.setProejctName(itemMap.get(Constant.PROJECT_NAME_KEY).toString());
             afterwardsAuditDetail.setMedicalProjectCode(itemMap.get(Constant.MEDICAL_PROJECT_CODE_KEY).toString());
             afterwardsAuditDetail.setMedicalProjectName(itemMap.get(Constant.MEDICAL_PROJECT_NAME_KEY).toString());
             afterwardsAuditDetail.setProjectType(itemMap.getOrDefault(Constant.PROJECT_TYPE_KEY, "default").toString());
-            afterwardsAuditDetail.setAmount(new BigDecimal(amount));
+            afterwardsAuditDetail.setAmount(amount);
 
             afterwardsAuditDetail.setMedicalDeptCode(afterwardsAudit.getMedicalDeptCode());
             afterwardsAuditDetail.setMedicalDeptName(afterwardsAudit.getMedicalDeptName());
@@ -241,7 +241,7 @@ public class FactorEnchangeFactory {
             afterwardsAuditDetail.setTreatmentType(medicalInsRuleInfo.getTreatmentType());
             afterwardsAuditDetail.setAfterwardsAuditId(afterwardsAudit.getId());
 
-            afterwardsAuditService.lambdaUpdate().setSql("amount +"+amount).eq(AfterwardsAudit::getId, afterwardsAudit.getId()).update();
+            afterwardsAuditService.lambdaUpdate().setSql("amount = amount +"+amount.doubleValue()).eq(AfterwardsAudit::getId, afterwardsAudit.getId()).update();
             afterwardsAuditDetailService.save(afterwardsAuditDetail);
         }
 
@@ -283,8 +283,8 @@ public class FactorEnchangeFactory {
                 midIncidentAuditDetail.setProejctName(otherItemMap.get(Constant.PROJECT_NAME_KEY).toString());
                 midIncidentAuditDetail.setMedicalProjectCode(otherItemMap.get(Constant.MEDICAL_PROJECT_CODE_KEY).toString());
                 midIncidentAuditDetail.setMedicalProjectName(otherItemMap.get(Constant.MEDICAL_PROJECT_NAME_KEY).toString());
-                Double otherAmount = (Double) otherItemMap.getOrDefault(Constant.AMOUNT_KEY, 0);
-                midIncidentAuditDetail.setAmount(otherAmount);
+                BigDecimal otherAmount = (BigDecimal) otherItemMap.getOrDefault(Constant.AMOUNT_KEY, 0);
+                midIncidentAuditDetail.setAmount(otherAmount.doubleValue());
                 midIncidentAuditDetail.setProjectType(otherItemMap.getOrDefault(Constant.PROJECT_TYPE_KEY, "default").toString());
                 otherList.add(midIncidentAuditDetail);
             }
@@ -292,7 +292,7 @@ public class FactorEnchangeFactory {
         }else {
             MidIncidentAuditDetail midIncidentAuditDetail = new MidIncidentAuditDetail();
             midIncidentAuditDetail.setAmount(midIncidentAudit.getAmount());
-            Double amount = (Double) itemMap.getOrDefault(Constant.AMOUNT_KEY, 0);
+            BigDecimal amount = (BigDecimal) itemMap.getOrDefault(Constant.AMOUNT_KEY, 0);
             midIncidentAuditDetail.setMedicalDeptCode(midIncidentWarningVO.getMedical_dept_code());
             midIncidentAuditDetail.setMedicalDeptName(midIncidentWarningVO.getMedical_dept_name());
             Date date = new Date(System.currentTimeMillis());
@@ -318,7 +318,7 @@ public class FactorEnchangeFactory {
             midIncidentAuditDetail.setMedicalProjectName(itemMap.get(Constant.MEDICAL_PROJECT_NAME_KEY).toString());
 
             midIncidentAuditDetail.setProjectType(itemMap.getOrDefault(Constant.PROJECT_TYPE_KEY, "default").toString());
-            midIncidentAuditService.lambdaUpdate().setSql("amount +"+amount).eq(MidIncidentAudit::getId, midIncidentAudit.getId()).update();
+            midIncidentAuditService.lambdaUpdate().setSql("amount = amount +"+amount.doubleValue()).eq(MidIncidentAudit::getId, midIncidentAudit.getId()).update();
 
             midIncidentAuditDetailService.save(midIncidentAuditDetail);
         }

+ 3 - 2
jeecg-module-system/jeecg-system-biz/src/main/java/org/jeecg/modules/medical/ruleengine/RuleEngine.java

@@ -167,7 +167,7 @@ public class RuleEngine {
                                 itemCodeAndRuleIdMap.put(medicalInsRuleProject.getCorrelationProjectCode(), ruleIdSet);
                             }
                         }
-                        List<MedicalInsRuleProjectDiagnose> medicalInsRuleProjectDiagnoseList = medicalInsRuleProjectDiagnoseService.lambdaQuery().eq(MedicalInsRuleProjectDiagnose::getMedicalInsRuleProjectId, medicalInsRuleProject.getMedicineInsRuleInfoId()).list();
+                        List<MedicalInsRuleProjectDiagnose> medicalInsRuleProjectDiagnoseList = medicalInsRuleProjectDiagnoseService.lambdaQuery().eq(MedicalInsRuleProjectDiagnose::getMedicineInsRuleInfoId, medicalInsRuleProject.getMedicineInsRuleInfoId()).list();
                         if (CollectionUtil.isNotEmpty(medicalInsRuleProjectDiagnoseList)) {
                             for (MedicalInsRuleProjectDiagnose medicalInsRuleProjectDiagnose : medicalInsRuleProjectDiagnoseList) {
                                 if (itemCodeAndRuleIdMap.containsKey(medicalInsRuleProjectDiagnose.getMedicalDiagnoseCode())) {
@@ -388,7 +388,7 @@ public class RuleEngine {
         midIncidentAudit.setTreatmentType(midIncidentWarningVO.getVisit_type());
         midIncidentAudit.setPrescriptionNumber(midIncidentWarningVO.getDoctor_advice_no());
         midIncidentAudit.setNoticeType("事中预警");
-
+        midIncidentAudit.setAmount((double) 0);
         midIncidentAuditService.save(midIncidentAudit);
         double allAmount = 0;
         if (null != midIncidentWarningVO.getTotoal_amount() && midIncidentWarningVO.getTotoal_amount() > 0) {
@@ -437,6 +437,7 @@ public class RuleEngine {
         afterwardsAudit.setPrescriptionNumber(afterIncidentLog.getDoctorAdviceNo());
         afterwardsAudit.setOutpatientNumber(afterIncidentLog.getVisitNo());
         afterwardsAudit.setNoticeType("事后预警");
+        afterwardsAudit.setAmount((double) 0);
         afterwardsAuditService.save(afterwardsAudit);
         if (StringUtils.isNotBlank(afterIncidentLog.getDiagnoses())) {
             List<String> diagonseCodeList = Arrays.asList(afterIncidentLog.getDiagnoses().split(","));

+ 0 - 2
jeecg-module-system/jeecg-system-biz/src/main/java/org/jeecg/modules/medical/ruleengine/plugin/InterfItemListPlugin.java

@@ -68,8 +68,6 @@ public class InterfItemListPlugin {
     }
 
     public void setListAttrToList(List<Map<String,Object>> srcItemList, List<Map<String,Object>> itemTempList, String attrName){
-        List<Map<String,Object>> resultList = new ArrayList<>();
-        Map<String,Object> temMap = null;
         List<Object> itemTempObjectList = new ArrayList<>();
         for(Map<String,Object> itemTempMap : itemTempList){
 

+ 2 - 0
jeecg-module-system/jeecg-system-biz/src/main/java/org/jeecg/modules/message/websocket/WebSocket.java

@@ -45,8 +45,10 @@ public class WebSocket {
     public void onOpen(Session session, @PathParam(value = "userId") String userId) {
         try {
             sessionPool.put(userId, session);
+            log.info("远程链接:{} 链接成功", userId);
             log.info("【系统 WebSocket】有新的连接,总数为:" + sessionPool.size());
         } catch (Exception e) {
+            log.error(e.getMessage(), e);
         }
     }