소스 검색

匹配不到的数据表入库,后续配置使用

0027005599 2 년 전
부모
커밋
16189b3eab
17개의 변경된 파일221개의 추가작업 그리고 1개의 파일을 삭제
  1. 13 0
      jeecg-module-system/jeecg-system-biz/src/main/java/org/jeecg/modules/medical/Constant.java
  2. 1 1
      jeecg-module-system/jeecg-system-biz/src/main/java/org/jeecg/modules/medical/entity/AdviceDetailsVO.java
  3. 2 0
      jeecg-module-system/jeecg-system-biz/src/main/java/org/jeecg/modules/medical/entity/MaterialItems.java
  4. 3 0
      jeecg-module-system/jeecg-system-biz/src/main/java/org/jeecg/modules/medical/entity/MedicalInsuranceDrugs.java
  5. 1 0
      jeecg-module-system/jeecg-system-biz/src/main/java/org/jeecg/modules/medical/entity/Operative.java
  6. 3 0
      jeecg-module-system/jeecg-system-biz/src/main/java/org/jeecg/modules/medical/entity/TreatmentItems.java
  7. 51 0
      jeecg-module-system/jeecg-system-biz/src/main/java/org/jeecg/modules/medical/ruleengine/dict/DictUtil.java
  8. 2 0
      jeecg-module-system/jeecg-system-biz/src/main/java/org/jeecg/modules/medical/service/IDiagnoseItemsService.java
  9. 3 0
      jeecg-module-system/jeecg-system-biz/src/main/java/org/jeecg/modules/medical/service/IMaterialItemsService.java
  10. 8 0
      jeecg-module-system/jeecg-system-biz/src/main/java/org/jeecg/modules/medical/service/IMedicalInsuranceDrugsService.java
  11. 3 0
      jeecg-module-system/jeecg-system-biz/src/main/java/org/jeecg/modules/medical/service/IOperativeService.java
  12. 3 0
      jeecg-module-system/jeecg-system-biz/src/main/java/org/jeecg/modules/medical/service/ITreatmentItemsService.java
  13. 24 0
      jeecg-module-system/jeecg-system-biz/src/main/java/org/jeecg/modules/medical/service/impl/DiagnoseItemsServiceImpl.java
  14. 29 0
      jeecg-module-system/jeecg-system-biz/src/main/java/org/jeecg/modules/medical/service/impl/MaterialItemsServiceImpl.java
  15. 30 0
      jeecg-module-system/jeecg-system-biz/src/main/java/org/jeecg/modules/medical/service/impl/MedicalInsuranceDrugsServiceImpl.java
  16. 15 0
      jeecg-module-system/jeecg-system-biz/src/main/java/org/jeecg/modules/medical/service/impl/OperativeServiceImpl.java
  17. 30 0
      jeecg-module-system/jeecg-system-biz/src/main/java/org/jeecg/modules/medical/service/impl/TreatmentItemsServiceImpl.java

+ 13 - 0
jeecg-module-system/jeecg-system-biz/src/main/java/org/jeecg/modules/medical/Constant.java

@@ -115,4 +115,17 @@ public class Constant {
      * 医保库属性名前缀
      */
     public static final String MEDICAL_INS_KEY = "medical_ins_";
+
+    /**
+     * 1:药品、2:耗材、3:诊疗、4:手术
+     * project_type
+     */
+
+    public static final String PROJECT_TYPE_MEDICINE = "1";
+
+    public static final String PROJECT_TYPE_CONSUMABLE_METERIAL = "2";
+
+    public static final String PROJECT_TYPE_DIAGNOSIS_TREATMENT = "3";
+
+    public static final String PROJECT_TYPE_OPERATIVE = "4";
 }

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

@@ -62,7 +62,7 @@ public class AdviceDetailsVO {
      * 01 甲类 02 乙类 03 丙类 04 可报丙类
      */
     private String change_class;
-    private String dose_form;//		char	剂型
+    private String dose_form;//	medical_specification	char	剂型
     private String medical_specification;//		char	规格
     private Double price;//	true	float	单价,必须使用数值型,如”12.5”
     @Positive(message = "数量必须是正数")

+ 2 - 0
jeecg-module-system/jeecg-system-biz/src/main/java/org/jeecg/modules/medical/entity/MaterialItems.java

@@ -107,4 +107,6 @@ public class MaterialItems implements Serializable {
 	@Excel(name = "一级医院最高价格", width = 15)
     @ApiModelProperty(value = "一级医院最高价格")
     private java.math.BigDecimal oneHospPrice;
+
+    private java.lang.String materialItemsJson;
 }

+ 3 - 0
jeecg-module-system/jeecg-system-biz/src/main/java/org/jeecg/modules/medical/entity/MedicalInsuranceDrugs.java

@@ -118,4 +118,7 @@ public class MedicalInsuranceDrugs implements Serializable {
 	@Excel(name = "离休价格", width = 15)
     @ApiModelProperty(value = "离休价格")
     private java.math.BigDecimal retirementPrice;
+
+    /**his接口入库全报文*/
+    private java.lang.String medicalInsDrugsJson;
 }

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

@@ -72,4 +72,5 @@ public class Operative implements Serializable {
     @DateTimeFormat(pattern= "yyyy-MM-dd HH:mm:ss")
     @ApiModelProperty(value = "更新时间")
     private java.util.Date updateTime;
+
 }

+ 3 - 0
jeecg-module-system/jeecg-system-biz/src/main/java/org/jeecg/modules/medical/entity/TreatmentItems.java

@@ -128,4 +128,7 @@ public class TreatmentItems implements Serializable {
 	@Excel(name = "生育自付比例", width = 15)
     @ApiModelProperty(value = "生育自付比例")
     private java.lang.String procreationPPayRate;
+
+    /**his接口入库全报文*/
+    private java.lang.String treatmentItemsJson;
 }

+ 51 - 0
jeecg-module-system/jeecg-system-biz/src/main/java/org/jeecg/modules/medical/ruleengine/dict/DictUtil.java

@@ -9,7 +9,12 @@ import org.jeecg.modules.medical.entity.AfterIncidentDetailLog;
 import org.jeecg.modules.medical.entity.DiagnosesVO;
 import org.jeecg.modules.medical.entity.FactorEnchance;
 import org.jeecg.modules.medical.entity.MidIncidentWarningVO;
+import org.jeecg.modules.medical.service.IDiagnoseItemsService;
+import org.jeecg.modules.medical.service.IMaterialItemsService;
+import org.jeecg.modules.medical.service.IMedicalInsuranceDrugsService;
 import org.jeecg.modules.medical.service.IMedicineService;
+import org.jeecg.modules.medical.service.IOperativeService;
+import org.jeecg.modules.medical.service.ITreatmentItemsService;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.data.redis.core.RedisTemplate;
 import org.springframework.stereotype.Component;
@@ -30,6 +35,42 @@ public class DictUtil {
     private IMedicineService medicineService;
     @Autowired
     private RedisTemplate redisTemplate;
+    @Autowired
+    private IMedicalInsuranceDrugsService medicalInsuranceDrugsService;
+    @Autowired
+    private ITreatmentItemsService treatmentItemsService;
+    @Autowired
+    private IMaterialItemsService materialItemsService;
+    @Autowired
+    private IDiagnoseItemsService diagnoseItemsService;
+    @Autowired
+    private IOperativeService operativeService;
+
+    public void genHospItemsAndSendNotice(AdviceDetailsVO adviceDetailsVO, DiagnosesVO diagnose){
+        if(null != adviceDetailsVO){
+            switch (adviceDetailsVO.getProject_type()){
+                case Constant.PROJECT_TYPE_MEDICINE:
+                    medicalInsuranceDrugsService.saveMedicalIns(adviceDetailsVO);
+                    break;
+                case Constant.PROJECT_TYPE_CONSUMABLE_METERIAL:
+                    treatmentItemsService.saveTreatmentItems(adviceDetailsVO);
+                    break;
+                case Constant.PROJECT_TYPE_DIAGNOSIS_TREATMENT:
+                    materialItemsService.saveMaterialItems(adviceDetailsVO);
+                    break;
+                case Constant.PROJECT_TYPE_OPERATIVE:
+
+
+                    break;
+            }
+
+        }
+        if(null != diagnose){
+            diagnoseItemsService.saveHisDiagnose(diagnose);
+        }
+    }
+
+
 
     /**
      * 字典页面配置逻辑
@@ -103,9 +144,11 @@ public class DictUtil {
                     Object value = redisTemplate.opsForHash().get(Constant.HIS_MEDICAL_DICT_KEY, diagnose.getDiagnose_code());
                     if (value == null) {
                         log.error("字段未配置该诊断编码映射的医保记录,项目:{}", diagnose);
+                        genHospItemsAndSendNotice(null, diagnose);
                         value = diagnose.getDiagnose_code();
                         diagnose.setMedical_diagnose_code(value.toString());
                         diagnose.setMedical_diagnose_name(diagnose.getDiagnose_desc());
+
                     }else {
                         diagnose.setMedical_diagnose_code(value.toString());
 //                        itemMap.put(Constant.MEDICAL_DIAGNOSE_CODE_KEY, value);
@@ -127,6 +170,7 @@ public class DictUtil {
                     Object value = redisTemplate.opsForHash().get(Constant.HIS_MEDICAL_DICT_KEY, adviceDetailsVO.getProject_code());
                     if (value == null) {
                         log.error("字段未配置该项目编码映射的医保记录,项目:{}", adviceDetailsVO);
+                        genHospItemsAndSendNotice(adviceDetailsVO, null);
                         value = adviceDetailsVO.getProject_code();
                         adviceDetailsVO.setMedical_project_code(value.toString());
                         adviceDetailsVO.setMedical_project_name(adviceDetailsVO.getProject_name());
@@ -172,14 +216,20 @@ public class DictUtil {
         if (StringUtils.isNotBlank(afterIncidentDetailLog.getDiagnose_code_str())) {
 
             String[] diagnoseCodeArr = afterIncidentDetailLog.getDiagnose_code_str().split(Constant.SPLIT_STR);
+            String[] diagnoseNameArr = afterIncidentDetailLog.getDiagnose_name_str().split(Constant.SPLIT_STR);
             StringBuffer medicalDiagnoseNameStr = new StringBuffer();
             StringBuffer medicalDiagnoseCodeStr = new StringBuffer();
             List<String> medicalDiagnoseNameList = new ArrayList<>();
             List<String> medicalDiagnoseCodeList = new ArrayList<>();
+            int index = 0;
             for(String diagnose_code : diagnoseCodeArr) {
                 Object value = redisTemplate.opsForHash().get(Constant.HIS_MEDICAL_DICT_KEY, diagnose_code);
                 if (value == null) {
                     log.error("字段未配置该诊断编码映射的医保记录,项目:{}", afterIncidentDetailLog);
+                    DiagnosesVO diagnosesVO = new DiagnosesVO();
+                    diagnosesVO.setDiagnose_code(diagnose_code);
+                    diagnosesVO.setDiagnose_desc(diagnoseNameArr[index]);
+                    diagnoseItemsService.saveHisDiagnose(diagnosesVO);
 //                    value = diagnose_code;
 //                    medicalDiagnoseCodeStr.append(value).append(Constant.SPLIT_STR);
 //                    medicalDiagnoseNameStr.append(afterIncidentDetailLog.getDiagnose_desc())
@@ -198,6 +248,7 @@ public class DictUtil {
                         medicalDiagnoseNameList.add(name.toString());
                     }
                 }
+                index++;
             }
             afterIncidentDetailLog.setMedical_diagnose_code_str(medicalDiagnoseCodeStr.toString());
             afterIncidentDetailLog.setMedical_diagnose_name_str(medicalDiagnoseNameStr.toString());

+ 2 - 0
jeecg-module-system/jeecg-system-biz/src/main/java/org/jeecg/modules/medical/service/IDiagnoseItemsService.java

@@ -4,6 +4,7 @@ import com.baomidou.mybatisplus.core.metadata.IPage;
 import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
 import org.jeecg.modules.medical.entity.DiagnoseItems;
 import com.baomidou.mybatisplus.extension.service.IService;
+import org.jeecg.modules.medical.entity.DiagnosesVO;
 
 /**
  * @Description: diagnose_items
@@ -15,5 +16,6 @@ public interface IDiagnoseItemsService extends IService<DiagnoseItems> {
 
      IPage<DiagnoseItems> diagnosePage(Page<DiagnoseItems> page, DiagnoseItems mgVmDevice);
 
+     DiagnoseItems saveHisDiagnose(DiagnosesVO diagnosesVO);
 
 }

+ 3 - 0
jeecg-module-system/jeecg-system-biz/src/main/java/org/jeecg/modules/medical/service/IMaterialItemsService.java

@@ -1,6 +1,7 @@
 package org.jeecg.modules.medical.service;
 
 import org.jeecg.common.api.vo.Result;
+import org.jeecg.modules.medical.entity.AdviceDetailsVO;
 import org.jeecg.modules.medical.entity.MaterialItems;
 import com.baomidou.mybatisplus.extension.service.IService;
 
@@ -16,4 +17,6 @@ import javax.servlet.http.HttpServletResponse;
 public interface IMaterialItemsService extends IService<MaterialItems> {
 
     Result<?> importExcel(HttpServletRequest request, HttpServletResponse response);
+
+    MaterialItems saveMaterialItems(AdviceDetailsVO adviceDetailsVO);
 }

+ 8 - 0
jeecg-module-system/jeecg-system-biz/src/main/java/org/jeecg/modules/medical/service/IMedicalInsuranceDrugsService.java

@@ -1,6 +1,7 @@
 package org.jeecg.modules.medical.service;
 
 import org.jeecg.common.api.vo.Result;
+import org.jeecg.modules.medical.entity.AdviceDetailsVO;
 import org.jeecg.modules.medical.entity.MedicalInsuranceDrugs;
 import com.baomidou.mybatisplus.extension.service.IService;
 import org.springframework.web.servlet.ModelAndView;
@@ -33,5 +34,12 @@ public interface IMedicalInsuranceDrugsService extends IService<MedicalInsurance
      */
     List<MedicalInsuranceDrugs> listByMedicineCodeIn(List<String> medicineCodes);
 
+    /**
+     * 保存未找到医保映射数据的医院药品编码
+     * @param adviceDetailsVO
+     * @return
+     */
+    MedicalInsuranceDrugs saveMedicalIns(AdviceDetailsVO adviceDetailsVO);
+
 
 }

+ 3 - 0
jeecg-module-system/jeecg-system-biz/src/main/java/org/jeecg/modules/medical/service/IOperativeService.java

@@ -1,5 +1,6 @@
 package org.jeecg.modules.medical.service;
 
+import org.jeecg.modules.medical.entity.AdviceDetailsVO;
 import org.jeecg.modules.medical.entity.Operative;
 import com.baomidou.mybatisplus.extension.service.IService;
 
@@ -11,4 +12,6 @@ import com.baomidou.mybatisplus.extension.service.IService;
  */
 public interface IOperativeService extends IService<Operative> {
 
+    Operative saveHisOperative(AdviceDetailsVO adviceDetailsVO);
+
 }

+ 3 - 0
jeecg-module-system/jeecg-system-biz/src/main/java/org/jeecg/modules/medical/service/ITreatmentItemsService.java

@@ -1,6 +1,7 @@
 package org.jeecg.modules.medical.service;
 
 import org.jeecg.common.api.vo.Result;
+import org.jeecg.modules.medical.entity.AdviceDetailsVO;
 import org.jeecg.modules.medical.entity.TreatmentItems;
 import com.baomidou.mybatisplus.extension.service.IService;
 
@@ -16,4 +17,6 @@ import javax.servlet.http.HttpServletResponse;
 public interface ITreatmentItemsService extends IService<TreatmentItems> {
 
     Result<?> importExcel(HttpServletRequest request, HttpServletResponse response);
+
+    TreatmentItems saveTreatmentItems(AdviceDetailsVO adviceDetailsVO);
 }

+ 24 - 0
jeecg-module-system/jeecg-system-biz/src/main/java/org/jeecg/modules/medical/service/impl/DiagnoseItemsServiceImpl.java

@@ -1,14 +1,20 @@
 package org.jeecg.modules.medical.service.impl;
 
+import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
 import com.baomidou.mybatisplus.core.metadata.IPage;
+import com.baomidou.mybatisplus.core.toolkit.Wrappers;
 import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
 import org.jeecg.modules.medical.entity.DiagnoseItems;
+import org.jeecg.modules.medical.entity.DiagnosesVO;
+import org.jeecg.modules.medical.entity.MaterialItems;
 import org.jeecg.modules.medical.mapper.DiagnoseItemsMapper;
 import org.jeecg.modules.medical.service.IDiagnoseItemsService;
 import org.springframework.stereotype.Service;
 
 import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
 
+import java.util.Date;
+
 /**
  * @Description: diagnose_items
  * @Author: jeecg-boot
@@ -23,4 +29,22 @@ public class DiagnoseItemsServiceImpl extends ServiceImpl<DiagnoseItemsMapper, D
 
         return baseMapper.diagnosePage(page,diagnoseItems);
     }
+
+    @Override
+    public DiagnoseItems saveHisDiagnose(DiagnosesVO diagnosesVO) {
+
+        String diagnoseCode = diagnosesVO.getDiagnose_code();
+        LambdaQueryWrapper<DiagnoseItems> in = Wrappers.<DiagnoseItems>lambdaQuery()
+                .eq(DiagnoseItems::getDiagnoseCode, diagnoseCode);
+        long count = this.count(in);
+        if(count<=0){
+            DiagnoseItems diagnoseItems = new DiagnoseItems();
+            diagnoseItems.setDiagnoseCode(diagnoseCode);
+            diagnoseItems.setDiagnoseName(diagnosesVO.getDiagnose_desc());
+            diagnoseItems.setCreateTime(new Date());
+            this.save(diagnoseItems);
+            return diagnoseItems;
+        }
+        return null;
+    }
 }

+ 29 - 0
jeecg-module-system/jeecg-system-biz/src/main/java/org/jeecg/modules/medical/service/impl/MaterialItemsServiceImpl.java

@@ -1,12 +1,15 @@
 package org.jeecg.modules.medical.service.impl;
 
+import com.alibaba.fastjson.JSON;
 import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
 import com.baomidou.mybatisplus.core.toolkit.Wrappers;
 import org.jeecg.common.api.vo.Result;
 import org.jeecg.common.system.util.JwtUtil;
 import org.jeecg.modules.medical.common.ExcelImportUtilService;
+import org.jeecg.modules.medical.entity.AdviceDetailsVO;
 import org.jeecg.modules.medical.entity.MaterialItems;
 import org.jeecg.modules.medical.entity.MedicalInsuranceDrugs;
+import org.jeecg.modules.medical.entity.TreatmentItems;
 import org.jeecg.modules.medical.mapper.MaterialItemsMapper;
 import org.jeecg.modules.medical.service.IMaterialItemsService;
 import org.springframework.beans.factory.annotation.Autowired;
@@ -18,6 +21,7 @@ import org.springframework.util.ObjectUtils;
 
 import javax.servlet.http.HttpServletRequest;
 import javax.servlet.http.HttpServletResponse;
+import java.math.BigDecimal;
 import java.util.Date;
 import java.util.List;
 import java.util.Optional;
@@ -86,6 +90,31 @@ public class MaterialItemsServiceImpl extends ServiceImpl<MaterialItemsMapper, M
         );*/
     }
 
+    @Override
+    public MaterialItems saveMaterialItems(AdviceDetailsVO adviceDetailsVO) {
+        String projectCode = adviceDetailsVO.getProject_code();
+        LambdaQueryWrapper<MaterialItems> in = Wrappers.<MaterialItems>lambdaQuery()
+                .eq(MaterialItems::getItemIdHosp, projectCode);
+        long count = this.count(in);
+        if(count<=0){
+            MaterialItems materialItems = new MaterialItems();
+            materialItems.setItemIdHosp(projectCode);
+            materialItems.setItemNameHosp(adviceDetailsVO.getProject_name());
+            materialItems.setCreateTime(new Date());
+            if(null != adviceDetailsVO.getPrice()) {
+                materialItems.setCellingPrice(new BigDecimal(adviceDetailsVO.getPrice()));
+            }
+//            if(StringUtils.isNotBlank(adviceDetailsVO.getChange_class())) {
+            materialItems.setPCategory(adviceDetailsVO.getChange_class());
+//            }
+            String json = JSON.toJSONString(adviceDetailsVO);
+            materialItems.setMaterialItemsJson(json);
+            this.save(materialItems);
+            return materialItems;
+        }
+        return null;
+    }
+
     private List<MaterialItems> listByItemIdIn(List<String> itemIds) {
         LambdaQueryWrapper<MaterialItems> in = Wrappers.<MaterialItems>lambdaQuery()
                 .in(MaterialItems::getItemId, itemIds);

+ 30 - 0
jeecg-module-system/jeecg-system-biz/src/main/java/org/jeecg/modules/medical/service/impl/MedicalInsuranceDrugsServiceImpl.java

@@ -1,12 +1,15 @@
 package org.jeecg.modules.medical.service.impl;
 
+import com.alibaba.fastjson.JSON;
 import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
 import com.baomidou.mybatisplus.core.toolkit.Wrappers;
 import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
 import lombok.extern.slf4j.Slf4j;
+import org.apache.commons.lang.StringUtils;
 import org.jeecg.common.api.vo.Result;
 import org.jeecg.common.system.util.JwtUtil;
 import org.jeecg.modules.medical.common.ExcelImportUtilService;
+import org.jeecg.modules.medical.entity.AdviceDetailsVO;
 import org.jeecg.modules.medical.entity.MedicalInsuranceDrugs;
 import org.jeecg.modules.medical.mapper.MedicalInsuranceDrugsMapper;
 import org.jeecg.modules.medical.service.IMedicalInsuranceDrugsService;
@@ -16,6 +19,7 @@ import org.springframework.transaction.annotation.Transactional;
 
 import javax.servlet.http.HttpServletRequest;
 import javax.servlet.http.HttpServletResponse;
+import java.math.BigDecimal;
 import java.util.Date;
 import java.util.List;
 import java.util.stream.Collectors;
@@ -181,6 +185,32 @@ public class MedicalInsuranceDrugsServiceImpl extends ServiceImpl<MedicalInsuran
         return list(in);
     }
 
+    @Override
+    public MedicalInsuranceDrugs saveMedicalIns(AdviceDetailsVO adviceDetailsVO) {
+        String projectCode = adviceDetailsVO.getProject_code();
+        LambdaQueryWrapper<MedicalInsuranceDrugs> in = Wrappers.<MedicalInsuranceDrugs>lambdaQuery()
+                .eq(MedicalInsuranceDrugs::getItemIdHosp, projectCode);
+        long count = this.count(in);
+        if(count<=0){
+            MedicalInsuranceDrugs medicalInsuranceDrugs = new MedicalInsuranceDrugs();
+            medicalInsuranceDrugs.setItemIdHosp(projectCode);
+            medicalInsuranceDrugs.setItemNameHosp(adviceDetailsVO.getProject_name());
+            medicalInsuranceDrugs.setDosageForm(adviceDetailsVO.getDose_form());
+            medicalInsuranceDrugs.setDrugSpec(adviceDetailsVO.getMedical_specification());
+            medicalInsuranceDrugs.setMedicationMethod(adviceDetailsVO.getTake_frequence());
+            medicalInsuranceDrugs.setCreateTime(new Date());
+            if(null != adviceDetailsVO.getSingle_dose_number()) {
+                medicalInsuranceDrugs.setDrugUseTotal(adviceDetailsVO.getSingle_dose_number().toString());
+            }
+            if(null != adviceDetailsVO.getPrice()) {
+                medicalInsuranceDrugs.setCellingPrice(new BigDecimal(adviceDetailsVO.getPrice()));
+            }
+            medicalInsuranceDrugs.setMedicalInsDrugsJson(JSON.toJSONString(adviceDetailsVO));
+            save(medicalInsuranceDrugs);
+            return medicalInsuranceDrugs;
+        }
+        return null;
+    }
 
 
 }

+ 15 - 0
jeecg-module-system/jeecg-system-biz/src/main/java/org/jeecg/modules/medical/service/impl/OperativeServiceImpl.java

@@ -1,5 +1,9 @@
 package org.jeecg.modules.medical.service.impl;
 
+import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
+import com.baomidou.mybatisplus.core.toolkit.Wrappers;
+import org.jeecg.modules.medical.entity.AdviceDetailsVO;
+import org.jeecg.modules.medical.entity.DiagnoseItems;
 import org.jeecg.modules.medical.entity.Operative;
 import org.jeecg.modules.medical.mapper.OperativeMapper;
 import org.jeecg.modules.medical.service.IOperativeService;
@@ -16,4 +20,15 @@ import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
 @Service
 public class OperativeServiceImpl extends ServiceImpl<OperativeMapper, Operative> implements IOperativeService {
 
+    @Override
+    public Operative saveHisOperative(AdviceDetailsVO adviceDetailsVO) {
+        String projectCode = adviceDetailsVO.getProject_code();
+        LambdaQueryWrapper<Operative> in = Wrappers.<Operative>lambdaQuery()
+                .eq(Operative::getOperCode, projectCode);
+        long count = this.count(in);
+        if(count<=0){
+            Operative operative = new Operative();
+        }
+        return null;
+    }
 }

+ 30 - 0
jeecg-module-system/jeecg-system-biz/src/main/java/org/jeecg/modules/medical/service/impl/TreatmentItemsServiceImpl.java

@@ -1,12 +1,16 @@
 package org.jeecg.modules.medical.service.impl;
 
+import com.alibaba.fastjson.JSON;
 import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
 import com.baomidou.mybatisplus.core.toolkit.Wrappers;
 import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
 import lombok.extern.slf4j.Slf4j;
+import org.apache.commons.lang.StringUtils;
 import org.jeecg.common.api.vo.Result;
 import org.jeecg.common.system.util.JwtUtil;
 import org.jeecg.modules.medical.common.ExcelImportUtilService;
+import org.jeecg.modules.medical.entity.AdviceDetailsVO;
+import org.jeecg.modules.medical.entity.MedicalInsuranceDrugs;
 import org.jeecg.modules.medical.entity.TreatmentItems;
 import org.jeecg.modules.medical.mapper.TreatmentItemsMapper;
 import org.jeecg.modules.medical.service.ITreatmentItemsService;
@@ -18,6 +22,7 @@ import org.springframework.util.ObjectUtils;
 
 import javax.servlet.http.HttpServletRequest;
 import javax.servlet.http.HttpServletResponse;
+import java.math.BigDecimal;
 import java.util.Date;
 import java.util.List;
 import java.util.Optional;
@@ -64,6 +69,31 @@ public class TreatmentItemsServiceImpl extends ServiceImpl<TreatmentItemsMapper,
         );
     }
 
+    @Override
+    public TreatmentItems saveTreatmentItems(AdviceDetailsVO adviceDetailsVO) {
+        String projectCode = adviceDetailsVO.getProject_code();
+        LambdaQueryWrapper<TreatmentItems> in = Wrappers.<TreatmentItems>lambdaQuery()
+                .eq(TreatmentItems::getItemIdHosp, projectCode);
+        long count = this.count(in);
+        if(count<=0){
+            TreatmentItems items = new TreatmentItems();
+            items.setItemIdHosp(projectCode);
+            items.setItemNameHosp(adviceDetailsVO.getProject_name());
+            items.setCreateTime(new Date());
+            if(null != adviceDetailsVO.getPrice()) {
+                items.setCellingPrice(new BigDecimal(adviceDetailsVO.getPrice()));
+            }
+//            if(StringUtils.isNotBlank(adviceDetailsVO.getChange_class())) {
+            items.setPCategory(adviceDetailsVO.getChange_class());
+//            }
+            String json = JSON.toJSONString(adviceDetailsVO);
+            items.setTreatmentItemsJson(json);
+            this.save(items);
+            return items;
+        }
+        return null;
+    }
+
     /**
      * 根据医保项目编码,获取数据库中以后的内容
      * @param itemIds 医保项目编码