瀏覽代碼

中医诊断

lenovodn 2 年之前
父節點
當前提交
1e92827f5e

+ 39 - 0
jeecg-boot-base-core/src/main/java/org/jeecg/common/system/vo/MedicalEnchanceDto.java

@@ -0,0 +1,39 @@
+package org.jeecg.common.system.vo;
+
+import com.fasterxml.jackson.annotation.JsonIgnoreProperties;
+import lombok.Data;
+import lombok.EqualsAndHashCode;
+import lombok.experimental.Accessors;
+
+import java.io.Serializable;
+
+/**
+ * @Description:
+ * @author: jeecg-boot
+ */
+@Data
+@EqualsAndHashCode(callSuper = false)
+@Accessors(chain = true)
+@JsonIgnoreProperties(ignoreUnknown = true)
+public class MedicalEnchanceDto implements Serializable{
+	private static final long serialVersionUID = 1L;
+
+
+	/**
+	 *
+	 */
+	private Object value;
+	/**
+	 * 字典文本
+	 */
+	private String text;
+	/**
+	 * 组件 a-input \ j-dict-select-tag \a-input-number
+	 */
+	private String component;
+	/**
+	 * 字典
+	 */
+	private String  dictCode;
+
+}

+ 261 - 57
jeecg-module-system/jeecg-system-biz/src/main/java/org/jeecg/modules/medical/controller/FactorEnchanceController.java

@@ -11,6 +11,7 @@ import javax.servlet.http.HttpServletResponse;
 import com.alibaba.fastjson.JSONObject;
 import com.baomidou.mybatisplus.core.conditions.Wrapper;
 import com.baomidou.mybatisplus.core.conditions.update.UpdateWrapper;
+import lombok.RequiredArgsConstructor;
 import org.apache.commons.collections.ArrayStack;
 import org.apache.commons.collections.list.AbstractLinkedList;
 import org.apache.shiro.SecurityUtils;
@@ -19,6 +20,8 @@ import org.jeecg.common.constant.CommonConstant;
 import org.jeecg.common.system.query.QueryGenerator;
 import org.jeecg.common.system.util.JwtUtil;
 import org.jeecg.common.system.vo.LoginUser;
+import org.jeecg.common.system.vo.MedicalDto;
+import org.jeecg.common.system.vo.MedicalEnchanceDto;
 import org.jeecg.common.util.SpringContextUtils;
 import org.jeecg.common.util.oConvertUtils;
 import org.jeecg.modules.medical.Constant;
@@ -63,17 +66,14 @@ import org.apache.shiro.authz.annotation.RequiresPermissions;
 @RestController
 @RequestMapping("/medical/factorEnchance")
 @Slf4j
+@RequiredArgsConstructor(onConstructor = @__(@Autowired))
 public class FactorEnchanceController extends JeecgController<FactorEnchance, IFactorEnchanceService> {
-    @Autowired
-    private IFactorEnchanceService factorEnchanceService;
-    @Autowired
-    private IFactorCondRelaService factorCondRelaService;
-    @Autowired
-    private IFactorAttrRelaService factorAttrRelaService;
-    @Autowired
-    private IMedicalInsRuleInfoService medicalInsRuleInfoService;
-    @Autowired
-    private IRuleFactorRelaService ruleFactorRelaService;
+    private final IFactorEnchanceService factorEnchanceService;
+    private final IFactorCondRelaService factorCondRelaService;
+    private final IFactorAttrRelaService factorAttrRelaService;
+    private final IMedicalInsRuleInfoService medicalInsRuleInfoService;
+    private final IRuleFactorRelaService ruleFactorRelaService;
+    private final IEventAttrService eventAttrService;
 
 
     /**
@@ -247,7 +247,7 @@ public class FactorEnchanceController extends JeecgController<FactorEnchance, IF
             factorEnchance.setFactorCatalogStr(first.get().getRuleName());
         }
         factorEnchance.setFactorCatalogId(factorEnchance.getFactorCatalog());
-        if (factorEnchance.getEnhanceType() == 1 || factorEnchance.getEnhanceType() == 4) {
+        if (factorEnchance.getEnhanceType() == 1 || factorEnchance.getEnhanceType() == 4|| factorEnchance.getEnhanceType() == 7) {
             List<FactorAttrRela> inList = factorAttrRelaService.lambdaQuery().eq(FactorAttrRela::getIoType, Constant.INPUT).eq(FactorAttrRela::getFactorEnhanceId, factorEnchance.getId()).list();
             if (inList.size() > 0) {
                 inList.sort(Comparator.comparing(FactorAttrRela::getSeqNum));
@@ -288,84 +288,288 @@ public class FactorEnchanceController extends JeecgController<FactorEnchance, IF
             factorEnchance.setFactorCatalogStr(first.get().getRuleName());
         }
         factorEnchance.setFactorCatalogId(factorEnchance.getFactorCatalog());
-        if (factorEnchance.getEnhanceType() == 1 || factorEnchance.getEnhanceType() == 4) {
+        if (factorEnchance.getEnhanceType() == 1 || factorEnchance.getEnhanceType() == 4|| factorEnchance.getEnhanceType() == 7) {
             List<FactorAttrRela> inList = factorAttrRelaService.lambdaQuery().eq(FactorAttrRela::getIoType, Constant.INPUT).eq(FactorAttrRela::getFactorEnhanceId, factorEnchance.getId()).list();
             if (inList.size() > 0) {
                 inList.sort(Comparator.comparing(FactorAttrRela::getSeqNum));
                 List<Integer> in = inList.stream().map(item -> item.getEventAttrId()).collect(Collectors.toList());
-                factorEnchance.setInParamList(in);
+                List<EventAttr> list = eventAttrService.lambdaQuery().in(EventAttr::getId, in).list();
+                if (list.size() > 0) {
+                    List<String> collect = list.stream().map(item -> item.getChName()).collect(Collectors.toList());
+                    factorEnchance.setInParamNameList(collect);
+                }
             }
             List<FactorAttrRela> outList = factorAttrRelaService.lambdaQuery().eq(FactorAttrRela::getIoType, Constant.OUTPUT).eq(FactorAttrRela::getFactorEnhanceId, factorEnchance.getId()).list();
             if (outList.size() > 0) {
-                inList.sort(Comparator.comparing(FactorAttrRela::getSeqNum));
+                outList.sort(Comparator.comparing(FactorAttrRela::getSeqNum));
                 List<Integer> out = outList.stream().map(item -> item.getEventAttrId()).collect(Collectors.toList());
-                factorEnchance.setOutParamList(out);
+                List<EventAttr> list = eventAttrService.lambdaQuery().in(EventAttr::getId, out).list();
+                if (list.size() > 0) {
+                    List<String> collect = list.stream().map(item -> item.getChName()).collect(Collectors.toList());
+                    factorEnchance.setOutParamNameList(collect);
+                }
             }
         }
         if (factorEnchance.getEnhanceType() == 2 && factorEnchance.getExtAttr3().equals("0")) {
             List<FactorCondRela> factorCondRelaList = factorCondRelaService.lambdaQuery().eq(FactorCondRela::getFactorEnhanceId, factorEnchance.getId()).list();
             factorEnchance.setFactorCondRelaList(factorCondRelaList);
+            List<FactorAttrRela> outList = factorAttrRelaService.lambdaQuery().eq(FactorAttrRela::getIoType, Constant.OUTPUT).eq(FactorAttrRela::getFactorEnhanceId, factorEnchance.getId()).list();
+            if (outList.size() > 0) {
+                outList.sort(Comparator.comparing(FactorAttrRela::getSeqNum));
+                List<Integer> out = outList.stream().map(item -> item.getEventAttrId()).collect(Collectors.toList());
+                List<EventAttr> list = eventAttrService.lambdaQuery().in(EventAttr::getId, out).list();
+                if (list.size() > 0) {
+                    List<String> collect = list.stream().map(item -> item.getChName()).collect(Collectors.toList());
+                    factorEnchance.setOutParamNameList(collect);
+                }
+            }
         }
-
-
-        LinkedHashMap<String, Object> map = new LinkedHashMap<>();
+        if (factorEnchance.getEnhanceType() == 6) {
+            List<FactorCondRela> factorCondRelaList = factorCondRelaService.lambdaQuery().eq(FactorCondRela::getFactorEnhanceId, factorEnchance.getId()).list();
+            factorEnchance.setFactorCondRelaList(factorCondRelaList);
+            List<FactorAttrRela> outList = factorAttrRelaService.lambdaQuery().eq(FactorAttrRela::getIoType, Constant.OUTPUT).eq(FactorAttrRela::getFactorEnhanceId, factorEnchance.getId()).list();
+            if (outList.size() > 0) {
+                outList.sort(Comparator.comparing(FactorAttrRela::getSeqNum));
+                List<Integer> out = outList.stream().map(item -> item.getEventAttrId()).collect(Collectors.toList());
+                List<EventAttr> list = eventAttrService.lambdaQuery().in(EventAttr::getId, out).list();
+                if (list.size() > 0) {
+                    List<String> collect = list.stream().map(item -> item.getChName()).collect(Collectors.toList());
+                    factorEnchance.setOutParamNameList(collect);
+                }
+            }
+        }
+//        if (dictDtos.size() > 0) {
+//            dictDtos.forEach(it -> {
+//                switch (it.getValue()) {
+//                    case "medicineDataType":
+//                        it.setComponent("j-dict-select-tag");
+//                        it.setDictCode("medicine_data_type");
+//                        break;
+//                    case "changeClass":
+//                        it.setComponent("j-dict-select-tag");
+//                        it.setDictCode("change_class");
+//                        break;
+//                    case "categoriesItems":
+//                        it.setComponent("j-dict-select-tag");
+//                        it.setDictCode("categories_items");
+//                        break;
+//                    case "medicalInsLevel":
+//                        it.setComponent("j-dict-select-tag");
+//                        it.setDictCode("medical_ins_level");
+//                        break;
+//                    case "doctorLevel":
+//                        it.setComponent("j-dict-select-tag");
+//                        it.setDictCode("doctor_level");
+//                        break;
+//                    case "state":
+//                        it.setComponent("j-dict-select-tag");
+//                        it.setDictCode("state");
+//                        break;
+//                    case "medicalDiagnoseCode":
+//                        it.setComponent("a-textarea");
+//                        break;
+//                    case "correlationMedicalDiagnoseCode":
+//                        it.setComponent("a-textarea");
+//                        break;
+//                    case "gender":
+//                        it.setComponent("j-dict-select-tag");
+//                        it.setDictCode("sex");
+//                        break;
+//                    default:
+//                        it.setComponent("a-input");
+//                        break;
+//                }
+//            });
+//
+//        }
+
+//        LinkedHashMap<String, Object> map = new LinkedHashMap<>();
         String title = "";
+        List<MedicalEnchanceDto> dtoList = new ArrayList<>();
         switch (enchanceTypeEnum) {
             case SQL:
-                map.put("要素提取标题", factorEnchance.getRuleEnchanceName());
-                map.put("医保规则", factorEnchance.getFactorCatalogStr());
-                map.put("数据库", factorEnchance.getExtAttr1());
-                map.put("SQL语句", factorEnchance.getEnhanceValue());
-                map.put("输入要素", factorEnchance.getInParamList());
-                map.put("输出要素", factorEnchance.getOutParamList());
-                map.put("备注", factorEnchance.getExtAttr2());
+                MedicalEnchanceDto dto1 = new MedicalEnchanceDto();
+                dto1.setText("要素提取标题");
+                dto1.setValue(factorEnchance.getRuleEnchanceName());
+                dto1.setComponent("a-input");
+                dtoList.add(dto1);
+                MedicalEnchanceDto dto2 = new MedicalEnchanceDto();
+                dto2.setText("医保规则");
+                dto2.setValue(factorEnchance.getFactorCatalogStr());
+                dto2.setComponent("a-input");
+                dtoList.add(dto2);
+                MedicalEnchanceDto dto3 = new MedicalEnchanceDto();
+                dto3.setText("数据库");
+                dto3.setValue(factorEnchance.getExtAttr1());
+                dto3.setComponent("a-input");
+                dtoList.add(dto3);
+                MedicalEnchanceDto dto4 = new MedicalEnchanceDto();
+                dto4.setText("SQL语句");
+                dto4.setValue(factorEnchance.getEnhanceValue());
+                dto4.setComponent("a-input");
+                dtoList.add(dto4);
+                MedicalEnchanceDto dto5 = new MedicalEnchanceDto();
+                dto5.setText("输入要素");
+                dto5.setValue(factorEnchance.getInParamNameList());
+                dto5.setComponent("a-select");
+                dtoList.add(dto5);
+                MedicalEnchanceDto dto6 = new MedicalEnchanceDto();
+                dto6.setText("输出要素");
+                dto6.setValue(factorEnchance.getOutParamNameList());
+                dto6.setComponent("a-select");
+                dtoList.add(dto6);
+                MedicalEnchanceDto dto7 = new MedicalEnchanceDto();
+                dto7.setText("备注");
+                dto7.setValue(factorEnchance.getExtAttr2());
+                dto7.setComponent("a-input");
+                dtoList.add(dto7);
                 title = "SQL取值";
                 break;
             case LOGICAL_EXPRESSION:
-                map.put("要素提取标题", factorEnchance.getRuleEnchanceName());
-                map.put("医保规则", factorEnchance.getFactorCatalogStr());
-                map.put("判断类型", factorEnchance.getExtAttr1());
+
+                MedicalEnchanceDto logical1 = new MedicalEnchanceDto();
+                logical1.setText("要素提取标题");
+                logical1.setValue(factorEnchance.getRuleEnchanceName());
+                logical1.setComponent("a-input");
+                dtoList.add(logical1);
+                MedicalEnchanceDto logical2 = new MedicalEnchanceDto();
+                logical2.setText("医保规则");
+                logical2.setValue(factorEnchance.getFactorCatalogStr());
+                logical2.setComponent("a-input");
+                dtoList.add(logical2);
+
+                MedicalEnchanceDto logical3 = new MedicalEnchanceDto();
+                logical3.setText("判断类型");
+                logical3.setValue(factorEnchance.getExtAttr1());
+                logical3.setComponent("a-input");
+                dtoList.add(logical3);
+
+                MedicalEnchanceDto logical4 = new MedicalEnchanceDto();
+                //                logical4.setComponent("a-input");
+//                map.put("要素提取标题", factorEnchance.getRuleEnchanceName());
+//                map.put("医保规则", factorEnchance.getFactorCatalogStr());
+//                map.put("判断类型", factorEnchance.getExtAttr1());
                 if (factorEnchance.getExtAttr3().equals("0")) {
-                    factorEnchance.getFactorCondRelaList().forEach(it -> {
-                        map.put("逻辑表达式", it.getExtAttr1());
-                        map.put("比较符", it.getOperator());
-                        map.put("引用属性类型", it.getRefAttrType());
-                        if (it.getRefAttrType() == 1) {
-                            map.put("扩展属性", it.getExtAttr1());
-                        } else {
-                            map.put("引用属性标识", it.getRefEventAttrId());
-                        }
-                    });
+                    logical4.setText("逻辑表达式");
+                    logical4.setValue(factorEnchance.getFactorCondRelaList());
+//                    factorEnchance.getFactorCondRelaList().forEach(it -> {
+//                        map.put("逻辑表达式", it.getExtAttr1());
+//                        map.put("比较符", it.getOperator());
+//                        map.put("引用属性类型", it.getRefAttrType());
+//                        if (it.getRefAttrType() == 1) {
+//                            map.put("扩展属性", it.getExtAttr1());
+//                        } else {
+//                            map.put("引用属性标识", it.getRefEventAttrId());
+//                        }
+//                    });
                 } else {
-                    map.put("判断表达式字符串", factorEnchance.getEnhanceValue());
+                    logical4.setText("判断表达式字符串");
+                    logical4.setValue(factorEnchance.getEnhanceValue());
                 }
-                map.put("输出要素", factorEnchance.getOutParamList());
+                dtoList.add(logical4);
+
+                MedicalEnchanceDto logical5 = new MedicalEnchanceDto();
+                logical5.setText("输出要素");
+                logical5.setValue(factorEnchance.getOutParamNameList());
+                logical5.setComponent("a-select");
+                dtoList.add(logical5);
+//                map.put("输出要素", factorEnchance.getOutParamList());
                 title = "逻辑判断";
 
                 break;
             case PLUGIN:
-                map.put("插件名称", factorEnchance.getRuleEnchanceName());
-                map.put("医保规则", factorEnchance.getFactorCatalogStr());
-                map.put("描述", factorEnchance.getRemarks());
-                map.put("插件Bean名称", factorEnchance.getEnhanceValue());
-                map.put("输入要素", factorEnchance.getInParamList());
-                map.put("输出要素", factorEnchance.getOutParamList());
+                MedicalEnchanceDto plugin1 = new MedicalEnchanceDto();
+                plugin1.setText("要素提取标题");
+                plugin1.setValue(factorEnchance.getRuleEnchanceName());
+                plugin1.setComponent("a-input");
+                dtoList.add(plugin1);
+                MedicalEnchanceDto plugin2 = new MedicalEnchanceDto();
+                plugin2.setText("医保规则");
+                plugin2.setValue(factorEnchance.getFactorCatalogStr());
+                plugin2.setComponent("a-input");
+                dtoList.add(plugin2);
+//                map.put("插件名称", factorEnchance.getRuleEnchanceName());
+//                map.put("医保规则", factorEnchance.getFactorCatalogStr());
+                MedicalEnchanceDto plugin3 = new MedicalEnchanceDto();
+                plugin3.setText("描述");
+                plugin3.setValue(factorEnchance.getRemarks());
+                plugin3.setComponent("a-input");
+                dtoList.add(plugin3);
+//                map.put("描述", factorEnchance.getRemarks());
+                MedicalEnchanceDto plugin4 = new MedicalEnchanceDto();
+                plugin4.setText("插件Bean名称");
+                plugin4.setValue(factorEnchance.getEnhanceValue());
+                plugin4.setComponent("a-input");
+                dtoList.add(plugin4);
+//                map.put("插件Bean名称", factorEnchance.getEnhanceValue());
+//                map.put("输入要素", factorEnchance.getInParamList());
+//                map.put("输出要素", factorEnchance.getOutParamList());
+                MedicalEnchanceDto plugin5 = new MedicalEnchanceDto();
+                plugin5.setText("输入要素");
+                plugin5.setValue(factorEnchance.getInParamNameList());
+                plugin5.setComponent("a-select");
+                dtoList.add(plugin5);
+                MedicalEnchanceDto plugin6 = new MedicalEnchanceDto();
+                plugin6.setText("输出要素");
+                plugin6.setValue(factorEnchance.getOutParamNameList());
+                plugin6.setComponent("a-select");
+                dtoList.add(plugin6);
                 title = "插件提取";
 
                 break;
             case CONSTANT:
-                map.put("要素提取标题", factorEnchance.getRuleEnchanceName());
-                map.put("医保规则", factorEnchance.getFactorCatalogStr());
-                map.put("常量值", factorEnchance.getExtAttr1());
-                map.put("输出要素", factorEnchance.getOutParamList());
+                MedicalEnchanceDto constant1 = new MedicalEnchanceDto();
+                constant1.setText("要素提取标题");
+                constant1.setValue(factorEnchance.getRuleEnchanceName());
+                constant1.setComponent("a-input");
+                dtoList.add(constant1);
+                MedicalEnchanceDto constant2 = new MedicalEnchanceDto();
+                constant2.setText("医保规则");
+                constant2.setValue(factorEnchance.getFactorCatalogStr());
+                constant2.setComponent("a-input");
+                dtoList.add(constant2);
+//                map.put("要素提取标题", factorEnchance.getRuleEnchanceName());
+//                map.put("医保规则", factorEnchance.getFactorCatalogStr());
+//                map.put("常量值", factorEnchance.getExtAttr1());
+                MedicalEnchanceDto constant3 = new MedicalEnchanceDto();
+                constant3.setText("常量值");
+                constant3.setValue(factorEnchance.getExtAttr1());
+                constant3.setComponent("a-input");
+                dtoList.add(constant3);
+//                map.put("输出要素", factorEnchance.getOutParamList());
+                MedicalEnchanceDto constant4 = new MedicalEnchanceDto();
+                constant4.setText("输出要素");
+                constant4.setValue(factorEnchance.getOutParamNameList());
+                constant4.setComponent("a-select");
+                dtoList.add(constant4);
                 title = "常量赋值";
 
                 break;
             case PROPERTIES:
-                map.put("要素提取标题", factorEnchance.getRuleEnchanceName());
-                map.put("医保规则", factorEnchance.getFactorCatalogStr());
-                map.put("输入要素", factorEnchance.getInParamList());
-                map.put("输出要素", factorEnchance.getOutParamList());
+                MedicalEnchanceDto prop1 = new MedicalEnchanceDto();
+                prop1.setText("要素提取标题");
+                prop1.setValue(factorEnchance.getRuleEnchanceName());
+                prop1.setComponent("a-input");
+                dtoList.add(prop1);
+                MedicalEnchanceDto prop2 = new MedicalEnchanceDto();
+                prop2.setText("医保规则");
+                prop2.setValue(factorEnchance.getFactorCatalogStr());
+                prop2.setComponent("a-input");
+                dtoList.add(prop2);
+//                map.put("要素提取标题", factorEnchance.getRuleEnchanceName());
+//                map.put("医保规则", factorEnchance.getFactorCatalogStr());
+//                map.put("输入要素", factorEnchance.getInParamList());
+//                map.put("输出要素", factorEnchance.getOutParamList());
+                MedicalEnchanceDto prop3 = new MedicalEnchanceDto();
+                prop3.setText("输入要素");
+                prop3.setValue(factorEnchance.getInParamNameList());
+                prop3.setComponent("a-select");
+                dtoList.add(prop3);
+                MedicalEnchanceDto prop4 = new MedicalEnchanceDto();
+                prop4.setText("输出要素");
+                prop4.setValue(factorEnchance.getOutParamNameList());
+                prop4.setComponent("a-select");
+                dtoList.add(prop4);
                 title = "属性赋值";
 
                 break;
@@ -378,9 +582,9 @@ public class FactorEnchanceController extends JeecgController<FactorEnchance, IF
         if (factorEnchance == null) {
             return Result.error("未找到对应数据");
         }
-        HashMap<String,Object> hashMap = new HashMap<>();
-        hashMap.put("title",title);
-        hashMap.put("map",map);
+        HashMap<String, Object> hashMap = new HashMap<>();
+        hashMap.put("title", title);
+        hashMap.put("data", dtoList);
         return Result.OK(hashMap);
     }
 

+ 172 - 0
jeecg-module-system/jeecg-system-biz/src/main/java/org/jeecg/modules/medical/controller/TcmDiagnosisController.java

@@ -0,0 +1,172 @@
+package org.jeecg.modules.medical.controller;
+
+import java.util.Arrays;
+import java.util.List;
+import java.util.Map;
+import java.util.stream.Collectors;
+import java.io.IOException;
+import java.io.UnsupportedEncodingException;
+import java.net.URLDecoder;
+import javax.servlet.http.HttpServletRequest;
+import javax.servlet.http.HttpServletResponse;
+import org.jeecg.common.api.vo.Result;
+import org.jeecg.common.system.query.QueryGenerator;
+import org.jeecg.common.util.oConvertUtils;
+import org.jeecg.modules.medical.entity.TcmDiagnosis;
+import org.jeecg.modules.medical.service.ITcmDiagnosisService;
+
+import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
+import com.baomidou.mybatisplus.core.metadata.IPage;
+import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
+import lombok.extern.slf4j.Slf4j;
+
+import org.jeecgframework.poi.excel.ExcelImportUtil;
+import org.jeecgframework.poi.excel.def.NormalExcelConstants;
+import org.jeecgframework.poi.excel.entity.ExportParams;
+import org.jeecgframework.poi.excel.entity.ImportParams;
+import org.jeecgframework.poi.excel.view.JeecgEntityExcelView;
+import org.jeecg.common.system.base.controller.JeecgController;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.web.bind.annotation.*;
+import org.springframework.web.multipart.MultipartFile;
+import org.springframework.web.multipart.MultipartHttpServletRequest;
+import org.springframework.web.servlet.ModelAndView;
+import com.alibaba.fastjson.JSON;
+import io.swagger.annotations.Api;
+import io.swagger.annotations.ApiOperation;
+import org.jeecg.common.aspect.annotation.AutoLog;
+import org.apache.shiro.authz.annotation.RequiresPermissions;
+
+ /**
+ * @Description: 中医诊断
+ * @Author: jeecg-boot
+ * @Date:   2023-06-10 20:05:49
+ * @Version: V1.0
+ */
+@Api(tags="中医诊断")
+@RestController
+@RequestMapping("/medical/tcmDiagnosis")
+@Slf4j
+public class TcmDiagnosisController extends JeecgController<TcmDiagnosis, ITcmDiagnosisService> {
+	@Autowired
+	private ITcmDiagnosisService tcmDiagnosisService;
+	
+	/**
+	 * 分页列表查询
+	 *
+	 * @param tcmDiagnosis
+	 * @param pageNo
+	 * @param pageSize
+	 * @param req
+	 * @return
+	 */
+	//@AutoLog(value = "中医诊断-分页列表查询")
+	@ApiOperation(value="中医诊断-分页列表查询", notes="中医诊断-分页列表查询")
+	@GetMapping(value = "/list")
+	public Result<IPage<TcmDiagnosis>> queryPageList(TcmDiagnosis tcmDiagnosis,
+								   @RequestParam(name="pageNo", defaultValue="1") Integer pageNo,
+								   @RequestParam(name="pageSize", defaultValue="10") Integer pageSize,
+								   HttpServletRequest req) {
+		QueryWrapper<TcmDiagnosis> queryWrapper = QueryGenerator.initQueryWrapper(tcmDiagnosis, req.getParameterMap());
+		Page<TcmDiagnosis> page = new Page<TcmDiagnosis>(pageNo, pageSize);
+		IPage<TcmDiagnosis> pageList = tcmDiagnosisService.page(page, queryWrapper);
+		return Result.OK(pageList);
+	}
+	
+	/**
+	 *   添加
+	 *
+	 * @param tcmDiagnosis
+	 * @return
+	 */
+	@AutoLog(value = "中医诊断-添加")
+	@ApiOperation(value="中医诊断-添加", notes="中医诊断-添加")
+	@PostMapping(value = "/add")
+	public Result<String> add(@RequestBody TcmDiagnosis tcmDiagnosis) {
+		tcmDiagnosisService.save(tcmDiagnosis);
+		return Result.OK("添加成功!");
+	}
+	
+	/**
+	 *  编辑
+	 *
+	 * @param tcmDiagnosis
+	 * @return
+	 */
+	@AutoLog(value = "中医诊断-编辑")
+	@ApiOperation(value="中医诊断-编辑", notes="中医诊断-编辑")
+	@RequestMapping(value = "/edit", method = {RequestMethod.PUT,RequestMethod.POST})
+	public Result<String> edit(@RequestBody TcmDiagnosis tcmDiagnosis) {
+		tcmDiagnosisService.updateById(tcmDiagnosis);
+		return Result.OK("编辑成功!");
+	}
+	
+	/**
+	 *   通过id删除
+	 *
+	 * @param id
+	 * @return
+	 */
+	@AutoLog(value = "中医诊断-通过id删除")
+	@ApiOperation(value="中医诊断-通过id删除", notes="中医诊断-通过id删除")
+	@DeleteMapping(value = "/delete")
+	public Result<String> delete(@RequestParam(name="id",required=true) String id) {
+		tcmDiagnosisService.removeById(id);
+		return Result.OK("删除成功!");
+	}
+	
+	/**
+	 *  批量删除
+	 *
+	 * @param ids
+	 * @return
+	 */
+	@AutoLog(value = "中医诊断-批量删除")
+	@ApiOperation(value="中医诊断-批量删除", notes="中医诊断-批量删除")
+	@DeleteMapping(value = "/deleteBatch")
+	public Result<String> deleteBatch(@RequestParam(name="ids",required=true) String ids) {
+		this.tcmDiagnosisService.removeByIds(Arrays.asList(ids.split(",")));
+		return Result.OK("批量删除成功!");
+	}
+	
+	/**
+	 * 通过id查询
+	 *
+	 * @param id
+	 * @return
+	 */
+	//@AutoLog(value = "中医诊断-通过id查询")
+	@ApiOperation(value="中医诊断-通过id查询", notes="中医诊断-通过id查询")
+	@GetMapping(value = "/queryById")
+	public Result<TcmDiagnosis> queryById(@RequestParam(name="id",required=true) String id) {
+		TcmDiagnosis tcmDiagnosis = tcmDiagnosisService.getById(id);
+		if(tcmDiagnosis==null) {
+			return Result.error("未找到对应数据");
+		}
+		return Result.OK(tcmDiagnosis);
+	}
+
+    /**
+    * 导出excel
+    *
+    * @param request
+    * @param tcmDiagnosis
+    */
+    @RequestMapping(value = "/exportXls")
+    public ModelAndView exportXls(HttpServletRequest request, TcmDiagnosis tcmDiagnosis) {
+        return super.exportXlsEmpty(request, tcmDiagnosis, TcmDiagnosis.class, "中医诊断");
+    }
+
+    /**
+      * 通过excel导入数据
+    *
+    * @param request
+    * @param response
+    * @return
+    */
+    @RequestMapping(value = "/importExcel", method = RequestMethod.POST)
+    public Result<?> importExcel(HttpServletRequest request, HttpServletResponse response) {
+        return super.importExcel(request, response, TcmDiagnosis.class);
+    }
+
+}

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

@@ -142,8 +142,12 @@ public class FactorEnchance implements Serializable {
     @TableField(exist = false)
     private List<Integer> inParamList;
     @TableField(exist = false)
+    private List<String> inParamNameList;
+    @TableField(exist = false)
     private List<Integer> outParamList;
     @TableField(exist = false)
+    private List<String> outParamNameList;
+    @TableField(exist = false)
     private List<FactorCondRela> factorCondRelaList;
     @TableField(exist = false)
     private String enhanceTypeStr;

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

@@ -0,0 +1,75 @@
+package org.jeecg.modules.medical.entity;
+
+import java.io.Serializable;
+import java.io.UnsupportedEncodingException;
+import java.util.Date;
+import java.math.BigDecimal;
+import com.baomidou.mybatisplus.annotation.IdType;
+import com.baomidou.mybatisplus.annotation.TableId;
+import com.baomidou.mybatisplus.annotation.TableName;
+import com.baomidou.mybatisplus.annotation.TableLogic;
+import lombok.Data;
+import com.fasterxml.jackson.annotation.JsonFormat;
+import org.springframework.format.annotation.DateTimeFormat;
+import org.jeecgframework.poi.excel.annotation.Excel;
+import org.jeecg.common.aspect.annotation.Dict;
+import io.swagger.annotations.ApiModel;
+import io.swagger.annotations.ApiModelProperty;
+import lombok.EqualsAndHashCode;
+import lombok.experimental.Accessors;
+
+/**
+ * @Description: 中医诊断
+ * @Author: jeecg-boot
+ * @Date:   2023-06-10 20:05:49
+ * @Version: V1.0
+ */
+@Data
+@TableName("tcm_diagnosis")
+@Accessors(chain = true)
+@EqualsAndHashCode(callSuper = false)
+@ApiModel(value="tcm_diagnosis对象", description="中医诊断")
+public class TcmDiagnosis implements Serializable {
+    private static final long serialVersionUID = 1L;
+
+	/**主键*/
+	@TableId(type = IdType.ASSIGN_ID)
+    @ApiModelProperty(value = "主键")
+    private String id;
+	/**创建人*/
+    @ApiModelProperty(value = "创建人")
+    private String createBy;
+	/**创建日期*/
+	@JsonFormat(timezone = "GMT+8",pattern = "yyyy-MM-dd HH:mm:ss")
+    @DateTimeFormat(pattern="yyyy-MM-dd HH:mm:ss")
+    @ApiModelProperty(value = "创建日期")
+    private Date createTime;
+	/**更新人*/
+    @ApiModelProperty(value = "更新人")
+    private String updateBy;
+	/**更新日期*/
+	@JsonFormat(timezone = "GMT+8",pattern = "yyyy-MM-dd HH:mm:ss")
+    @DateTimeFormat(pattern="yyyy-MM-dd HH:mm:ss")
+    @ApiModelProperty(value = "更新日期")
+    private Date updateTime;
+	/**疾病分类编码*/
+	@Excel(name = "疾病分类编码", width = 15)
+    @ApiModelProperty(value = "疾病分类编码")
+    private String diseaseClassificationCode;
+	/**疾病分类名称*/
+	@Excel(name = "疾病分类名称", width = 15)
+    @ApiModelProperty(value = "疾病分类名称")
+    private String diseaseClassificationName;
+	/**疾病诊断编码*/
+	@Excel(name = "疾病诊断编码", width = 15)
+    @ApiModelProperty(value = "疾病诊断编码")
+    private String diseaseDiagnosisName;
+	/**疾病诊断名称*/
+	@Excel(name = "疾病诊断名称", width = 15)
+    @ApiModelProperty(value = "疾病诊断名称")
+    private String diseaseDiagnosticCode;
+	/**专科系统分类目*/
+	@Excel(name = "专科系统分类目", width = 15)
+    @ApiModelProperty(value = "专科系统分类目")
+    private String specializedClassification;
+}

+ 17 - 0
jeecg-module-system/jeecg-system-biz/src/main/java/org/jeecg/modules/medical/mapper/TcmDiagnosisMapper.java

@@ -0,0 +1,17 @@
+package org.jeecg.modules.medical.mapper;
+
+import java.util.List;
+
+import org.apache.ibatis.annotations.Param;
+import org.jeecg.modules.medical.entity.TcmDiagnosis;
+import com.baomidou.mybatisplus.core.mapper.BaseMapper;
+
+/**
+ * @Description: 中医诊断
+ * @Author: jeecg-boot
+ * @Date:   2023-06-10 20:05:49
+ * @Version: V1.0
+ */
+public interface TcmDiagnosisMapper extends BaseMapper<TcmDiagnosis> {
+
+}

+ 5 - 0
jeecg-module-system/jeecg-system-biz/src/main/java/org/jeecg/modules/medical/mapper/xml/TcmDiagnosisMapper.xml

@@ -0,0 +1,5 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
+<mapper namespace="org.jeecg.modules.medical.mapper.TcmDiagnosisMapper">
+
+</mapper>

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

@@ -0,0 +1,14 @@
+package org.jeecg.modules.medical.service;
+
+import org.jeecg.modules.medical.entity.TcmDiagnosis;
+import com.baomidou.mybatisplus.extension.service.IService;
+
+/**
+ * @Description: 中医诊断
+ * @Author: jeecg-boot
+ * @Date:   2023-06-10 20:05:49
+ * @Version: V1.0
+ */
+public interface ITcmDiagnosisService extends IService<TcmDiagnosis> {
+
+}

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

@@ -64,10 +64,10 @@ public class ConsumableMaterialServiceImpl extends ServiceImpl<ConsumableMateria
                     // 保证之前的所有的线程都执行完成,才会走下面的
                     countDownLatch.await();
                 } catch (InterruptedException e) {
-                    log.error("阻塞异常:" + e.getMessage());
+//                    log.error("阻塞异常:" + e.getMessage());
                 }
                 long endTime = System.currentTimeMillis();
-                log.info("共耗时:{} 秒", (endTime - startTime) / 1000);
+//                log.info("共耗时:{} 秒", (endTime - startTime) / 1000);
                 return Result.ok("文件导入成功!数据行数:" + list.size());
             } catch (Exception e) {
                 //update-begin-author:taoyan date:20211124 for: 导入数据重复增加提示

+ 1 - 1
jeecg-module-system/jeecg-system-biz/src/main/java/org/jeecg/modules/medical/service/impl/MedicalInsRuleProjectServiceImpl.java

@@ -399,7 +399,7 @@ public class MedicalInsRuleProjectServiceImpl extends ServiceImpl<MedicalInsRule
                 //1200条  saveBatch消耗时间3687毫秒 循环插入消耗时间5212毫秒
                 log.info("消耗时间" + (System.currentTimeMillis() - start) + "毫秒");
                 //update-end-author:taoyan date:20190528 for:批量插入数据
-                return Result.ok("文件导入成功!文件总行数:" + totalNumber + "文件自身重复:" + rmDuplicateNumber + "新增行数: " + addNumber + "更新行数: " + updateNumber);
+                return Result.ok("文件导入成功,请点击刷新!文件总行数:" + totalNumber + "文件自身重复:" + rmDuplicateNumber + "新增行数: " + addNumber + "更新行数: " + updateNumber);
             } catch (Exception e) {
                 //update-begin-author:taoyan date:20211124 for: 导入数据重复增加提示
                 String msg = e.getMessage();

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

@@ -0,0 +1,19 @@
+package org.jeecg.modules.medical.service.impl;
+
+import org.jeecg.modules.medical.entity.TcmDiagnosis;
+import org.jeecg.modules.medical.mapper.TcmDiagnosisMapper;
+import org.jeecg.modules.medical.service.ITcmDiagnosisService;
+import org.springframework.stereotype.Service;
+
+import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
+
+/**
+ * @Description: 中医诊断
+ * @Author: jeecg-boot
+ * @Date:   2023-06-10 20:05:49
+ * @Version: V1.0
+ */
+@Service
+public class TcmDiagnosisServiceImpl extends ServiceImpl<TcmDiagnosisMapper, TcmDiagnosis> implements ITcmDiagnosisService {
+
+}