Bläddra i källkod

更新患者先登记后销售和先销售后登记档案查询按药品查询,临床诊断ICD11,方登记页面加一个功能快速通道

bzd_wsp 3 månader sedan
förälder
incheckning
f9f891fa92
19 ändrade filer med 1890 tillägg och 816 borttagningar
  1. 49 3
      health-admin/src/main/java/com/bzd/web/controller/dtp/PharmaceuticalServiceController.java
  2. 25 16
      health-admin/src/main/java/com/bzd/web/controller/dtp/RecipeRegisterController.java
  3. 24 16
      health-admin/src/main/java/com/bzd/web/controller/dtp/SalesRegistrationController.java
  4. 1 0
      health-admin/src/main/java/com/bzd/web/controller/spgl/SPConfigInfoController.java
  5. 16 0
      health-admin/src/main/resources/static/health/js/ry-ui.js
  6. 159 105
      health-admin/src/main/resources/templates/dtp/archives/archivesAdd.html
  7. 470 0
      health-admin/src/main/resources/templates/dtp/archives/archivesAddCallback.html
  8. 151 131
      health-admin/src/main/resources/templates/dtp/archives/archivesEdit.html
  9. 9 4
      health-admin/src/main/resources/templates/dtp/archives/archivesList.html
  10. 567 283
      health-admin/src/main/resources/templates/dtp/recipe/edit.html
  11. 69 130
      health-admin/src/main/resources/templates/dtp/recipe/newRecipe.html
  12. 1 1
      health-admin/src/main/resources/templates/dtp/recipe/newRecipeView.html
  13. 7 2
      health-admin/src/main/resources/templates/dtp/recipe/salesRegistration.html
  14. 1 0
      health-admin/src/main/resources/templates/dtp/recipe/view.html
  15. 157 112
      health-system/src/main/java/com/bzd/system/service/DTPService.java
  16. 57 1
      health-system/src/main/java/com/bzd/system/service/PharmaceuticalService.java
  17. 27 1
      health-system/src/main/resources/mapper/mdyy/DTPCFDJMapper.xml
  18. 91 7
      health-system/src/main/resources/mapper/pmServiceMapper/PharmaceuticalServiceMapper.xml
  19. 9 4
      health-system/src/main/resources/mapper/spgl/TypeDateMapper.xml

+ 49 - 3
health-admin/src/main/java/com/bzd/web/controller/dtp/PharmaceuticalServiceController.java

@@ -104,6 +104,18 @@ public class PharmaceuticalServiceController extends BaseController {
 
         return AjaxResult.success(pageData);
     }
+    @RequiresPermissions("dtp:pmService:archivesList")
+    @PostMapping("/slectPatientByNameAndPhone")
+    @ResponseBody
+    public AjaxResult slectPatientByNameAndPhone() throws Exception {
+        PageData pd = this.getPageData();
+        PageData pageData = pharmaceuticalService.slectPatientByNameAndPhone(pd);
+        if(StringUtils.isNotNull(pageData)){
+            return AjaxResult.success(pageData);
+        }else {
+            return AjaxResult.warn("未查询到数据");
+        }
+}
 
     @RequiresPermissions("dtp:pmService:archivesList")
     @PostMapping("/slectPatientById")
@@ -181,17 +193,24 @@ public class PharmaceuticalServiceController extends BaseController {
     }
     /**
      * 患者建档
-     *
      * @return
      * @throws Exception
      */
-
-
     @GetMapping("/archivesAdd")
     public String archivesAdd(ModelMap mmap) {
         mmap.put("posts", 1);
         return prefix_archives + "/archivesAdd";
     }
+    /**
+     * 带回调的患者建档
+     * @return
+     * @throws Exception
+     */
+    @GetMapping("/addArchivesCallback")
+    public String addArchivesCallback(ModelMap mmap) {
+        mmap.put("posts", 1);
+        return prefix_archives + "/archivesAddCallback";
+    }
 
     /**
      * 保存处方照片
@@ -257,6 +276,33 @@ public class PharmaceuticalServiceController extends BaseController {
         Integer integer = pharmaceuticalService.addArchives(pd);
         return toAjax(integer);
     }
+    /**
+     * 带回调的患者建档新增保存
+     */
+    @Log(title = "患者建档新增保存带回调的", businessType = BusinessType.INSERT)
+    @PostMapping("/addArchivesCallback")
+    @ResponseBody
+    public AjaxResult addArchivesCallback2() {
+        PageData pd = this.getPageData();
+        try {
+            Object dateBirth= pd.get("dateBirth");
+            if(StringUtils.isNotNull(dateBirth)){
+                Integer age = ServletUtils.calculateAge(dateBirth.toString());//根据出生日期字符串计算年龄
+                pd.put("age",age);
+            }
+            if (pharmaceuticalService.checkPatientIsExist(pd))
+            {
+                return AjaxResult.error("患者建档新增保存: '" + pd.getString("name") +"+"+ pd.getString("documentNumber") +"+" +pd.getString("phoneNumber")+"'失败,患者姓,身份证名或电话已存在");
+            }
+
+            PageData pdc = pharmaceuticalService.addArchivesCallback(pd);
+            return AjaxResult.success(pdc);
+        }catch (Exception e) {
+            e.printStackTrace();
+            return AjaxResult.error(e.getMessage());
+        }
+
+    }
 
     /**
      * 扫码上翻

+ 25 - 16
health-admin/src/main/java/com/bzd/web/controller/dtp/RecipeRegisterController.java

@@ -453,27 +453,36 @@ public class RecipeRegisterController extends BaseController {
         List<PageData> pageData =dtpService.findRevieForList(pd);
         return  AjaxResult.success(pageData);
     }
-    @GetMapping("/typeDate")
+
+
+    /**
+     * 查询s_gxhpz_zd_icd11
+     */
+    @RequiresPermissions("dtp:recipe:view")
+    @PostMapping("/searchICD11")
     @ResponseBody
-    public AjaxResult typeDate() throws Exception
-    {
-        AjaxResult ajax = new AjaxResult();
+    public AjaxResult searchICD11() throws Exception {
         PageData pd = this.getPageData();
-        List<PageData> list = dtpService.typeDate(pd);
-        ajax.put("code", 200);
-        ajax.put("value", list);
-        return ajax;
+        List<PageData> pds =dtpService.searchICD11(pd);
+        return  AjaxResult.success(pds);
     }
-
-    @GetMapping("/typeDate2")
+    /**
+     * 查询s_gxhpz_zd_icd11 根据id
+     */
+    @RequiresPermissions("dtp:recipe:view")
+    @PostMapping("/searchICD11Object")
     @ResponseBody
-    public AjaxResult typeDate2(@RequestParam(value = "jbtype", required = false) String jbtype, ModelMap mmap) throws Exception {
-        AjaxResult ajax = new AjaxResult();
+    public AjaxResult searchICD11Object() throws Exception {
         PageData pd = this.getPageData();
-        List<PageData> list = dtpService.typeDate2(pd);
-        ajax.put("code", 200);
-        ajax.put("value", list);
-        return ajax;
+        String query = (String) pd.get("query");
+        if(StringUtils.isNull(query)){
+            return AjaxResult.success();
+        }
+        PageData pdo =dtpService.searchICD11Object(pd);
+        return  AjaxResult.success(pdo);
     }
 
+
+
+
 }

+ 24 - 16
health-admin/src/main/java/com/bzd/web/controller/dtp/SalesRegistrationController.java

@@ -375,27 +375,35 @@ public class SalesRegistrationController extends BaseController {
         List<PageData> pageData =dtpService.findRevieForList(pd);
         return  AjaxResult.success(pageData);
     }
-    @GetMapping("/typeDate")
+    /**
+     * 查询s_gxhpz_zd_icd11
+     */
+    @RequiresPermissions("dtp:recipe:view")
+    @PostMapping("/searchICD11")
     @ResponseBody
-    public AjaxResult typeDate() throws Exception
-    {
-        AjaxResult ajax = new AjaxResult();
+    public AjaxResult searchDrugs() throws Exception {
         PageData pd = this.getPageData();
-        List<PageData> list = dtpService.typeDate(pd);
-        ajax.put("code", 200);
-        ajax.put("value", list);
-        return ajax;
+        String query = (String) pd.get("query");
+        if(StringUtils.isNull(query)){
+            return AjaxResult.success();
+        }
+        List<PageData> pds =dtpService.searchICD11(pd);
+        return  AjaxResult.success(pds);
     }
-
-    @GetMapping("/typeDate2")
+    /**
+     * 查询s_gxhpz_zd_icd11 根据id
+     */
+    @RequiresPermissions("dtp:recipe:view")
+    @PostMapping("/searchICD11Object")
     @ResponseBody
-    public AjaxResult typeDate2(@RequestParam(value = "jbtype", required = false) String jbtype, ModelMap mmap) throws Exception {
-        AjaxResult ajax = new AjaxResult();
+    public AjaxResult searchDrugsObject() throws Exception {
         PageData pd = this.getPageData();
-        List<PageData> list = dtpService.typeDate2(pd);
-        ajax.put("code", 200);
-        ajax.put("value", list);
-        return ajax;
+        String query = (String) pd.get("query");
+        if(StringUtils.isNull(query)){
+            return AjaxResult.success();
+        }
+        PageData pdo =dtpService.searchICD11Object(pd);
+        return  AjaxResult.success(pdo);
     }
 
 }

+ 1 - 0
health-admin/src/main/java/com/bzd/web/controller/spgl/SPConfigInfoController.java

@@ -49,6 +49,7 @@ public class SPConfigInfoController extends BaseController {
         List<PageData> list = typeDataService.typeDate(pd);
         ajax.put("code", 200);
         ajax.put("value", list);
+
         return ajax;
     }
 

+ 16 - 0
health-admin/src/main/resources/static/health/js/ry-ui.js

@@ -1185,6 +1185,17 @@ var table = {
                 table.set();
                 $.modal.open("添加" + table.options.modalName, $.operate.addUrl(id));
             },
+            // 添加信息
+            addSetwh: function(id,w,h) {
+                table.set();
+                $.modal.open("添加" + table.options.modalName, $.operate.addUrl(id), w, h);
+            },
+            // 添加信息
+            addSetwht: function(name, url, w, h) {
+                // 打开模态窗口,并将回调函数作为参数传递给它
+                $.modal.open(name,url, w,h);
+            },
+
             add2: function(id) {
                 table.set();
                 $.modal.open( table.options.modalName, $.operate.addUrl2(id));
@@ -1423,6 +1434,11 @@ var table = {
                 $.modal.closeLoading();
                 $.modal.enable();
             },
+            successCallback1: function(data) {
+                console.log('父页面成功接收到的数据:', data);
+                $.modal.reload();
+                return data;
+            },
             // 选项卡成功回调执行事件(父窗体静默更新)
             successTabCallback: function(result) {
                 if (result.code == web_status.SUCCESS) {

+ 159 - 105
health-admin/src/main/resources/templates/dtp/archives/archivesAdd.html

@@ -52,7 +52,7 @@
                 </div>
             </div>
             <div class="customize-form-group">
-                <label class="col-sm-1 control-label">姓名:</label>
+                <label class="col-sm-1 control-label is-required">姓名:</label>
                 <input name="name" id="name" placeholder="请输入姓名" class="styled-input" type="text" maxlength="30" required>
                 <input type="hidden" name="idCardImg" id="idCardImg" value="">
             </div>
@@ -77,8 +77,8 @@
                 </div>
             </div>
             <div class="customize-form-group">
-                <label class="col-sm-1 control-label">联系方式:</label>
-                <input name="phoneNumber" placeholder="请输入手机号" class="styled-input isPhone" type="text" maxlength="11"  required>
+                <label class="col-sm-1 control-label is-required">联系方式:</label>
+                <input name="phoneNumber" id="phoneNumber" placeholder="请输入手机号" class="styled-input isPhone" type="text" maxlength="11"  required>
             </div>
             <div class="customize-form-group">
                 <label class="col-sm-1 control-label">联系人手机号:</label>
@@ -109,8 +109,8 @@
             </div>-->
 
             <div class="customize-form-group edit select-time">
-                <label class="col-sm-1 control-label">首次确诊时间:</label>
-                <input name="timeFirstDiagnosis" placeholder="首次确诊时间" class="time-input time-input2"  type="text" >
+                <label class="col-sm-1 control-label is-required">首次确诊时间:</label>
+                <input name="timeFirstDiagnosis" id="timeFirstDiagnosis" placeholder="首次确诊时间" class="time-input time-input2"  type="text" >
             </div>
             <div class="customize-form-group">
                 <label class="col-sm-1 control-label">配送地址:</label>
@@ -149,24 +149,42 @@
 
         <div class="customize-form-group-container">
             <div class="customize-form-group">
-                <label class="col-sm-1 control-label">疾病类型:</label>
-                <select id="category-select"   class="styled-input form-control select2-multiple" multiple placeholder="请选择或输入搜索">
-                    <option value="">请选择疾病大类</option>
+                <label class="col-sm-1 control-label">肿瘤发病部位疾病:</label>
+                <select id="category-select1"   class="styled-input form-control select2-multiple" multiple placeholder="请选择或输入搜索">
                 </select>
             </div>
             <div class="customize-form-group">
-                <label class="col-sm-1 control-label">小类:</label>
-                <select id="subcategory-select" class="styled-input form-control select2-multiple" multiple placeholder="请选择或输入搜索">
-                    <option value="">请选择子类别</option>
+                <label class="col-sm-1 control-label">肿瘤治疗并发症与合并症:</label>
+                <select id="category-select2" class="styled-input form-control select2-multiple" multiple placeholder="请选择或输入搜索">
+                </select>
+            </div>
+            <div class="customize-form-group">
+                <label class="col-sm-1 control-label">风湿免疫疾病名称:</label>
+                <select id="category-select3"   class="styled-input form-control select2-multiple" multiple placeholder="请选择或输入搜索">
+                </select>
+            </div>
+            <div class="customize-form-group">
+                <label class="col-sm-1 control-label">罕见病疾病:</label>
+                <select id="category-select4" class="styled-input form-control select2-multiple" multiple placeholder="请选择或输入搜索">
+                </select>
+            </div>
+            <div class="customize-form-group">
+                <label class="col-sm-1 control-label">感染类疾病:</label>
+                <select id="category-select5"   class="styled-input form-control select2-multiple" multiple placeholder="请选择或输入搜索">
+                </select>
+            </div>
+            <div class="customize-form-group">
+                <label class="col-sm-1 control-label">临时慢病:</label>
+                <select id="category-select6"   class="styled-input form-control select2-multiple" multiple placeholder="请选择或输入搜索">
                 </select>
             </div>
         </div>
     </form>
 </div>
-<th:block th:include="include :: jasny-bootstrap-js" />
+<!--<th:block th:include="include :: jasny-bootstrap-js" />-->
 <th:block th:include="include :: footer" />
 <th:block th:include="include :: select2-js" />
-<th:block th:include="include :: bootstrap-fileinput-js" />
+<!--<th:block th:include="include :: bootstrap-fileinput-js" />-->
 
 </body>
 </html>
@@ -178,143 +196,179 @@
             idCard();
         });
 
+        for (var i = 1; i < 7; i++) {
+            // 初始化 Select2 插件
+            $('#category-select'+i).select2({
+                placeholder: "请选择或直接输入搜索",
+                //allowClear: true //在输入框最后 有一个 删除所有的X 但是会出现 第一个删除出现问题有空格
+            });
+        }
 
-        var clearSpan = $('.select2-selection-clear');
-        // 初始化 Select2 插件
-        $('#category-select').select2({
-            placeholder: "请选择或直接输入搜索",
-            //allowClear: true //在输入框最后 有一个 删除所有的X 但是会出现 第一个删除出现问题有空格
-        });
-        // Listen for the 'select2:select' event
-        $('#category-select').on('select2:select', function(e) {
-            var clearSpan = $('.select2-selection-clear');
-            if (clearSpan.length > 0) {
-                clearSpan.remove();
-            }
-        });
-
+        // 肿瘤发病部位疾病名称 1
+        // 肿瘤治疗并发症与合并症名称 2
+        // 风湿免疫疾病名称库 3
+        // 罕见病疾病名称  4
+        // 感染类疾病名称 5
+        // 临时慢病名称 6
         // 发送 AJAX 请求获取疾病大类数据
         $.ajax({
             url: ctx + 'sp/sp/typeDate',
             method: 'GET',
             dataType: 'json',
             success: function(data) {
-                var options = $('#category-select');
+                var options1 = $('#category-select1');
+                var options2 = $('#category-select2');
+                var options3 = $('#category-select3');
+                var options4 = $('#category-select4');
+                var options5 = $('#category-select5');
+                var options6 = $('#category-select6');
                 // 清空已有选项(除了第一个默认选项)
-                options.find('option').not(':first').remove();
+                options1.find('option').not(':first').remove();
+                options2.find('option').not(':first').remove();
+                options3.find('option').not(':first').remove();
+                options4.find('option').not(':first').remove();
+                options5.find('option').not(':first').remove();
+                options6.find('option').not(':first').remove();
                 $('<option>', {
                     value: '',
-                    text : '请选择疾病类型'
-                }).appendTo(options);
+                    text : '请选择疾病'
+                }).appendTo(options1);
+                $('<option>', {
+                    value: '',
+                    text : '请选择疾病'
+                }).appendTo(options2);
+                $('<option>', {
+                    value: '',
+                    text : '请选择疾病'
+                }).appendTo(options3);
+                $('<option>', {
+                    value: '',
+                    text : '请选择疾病'
+                }).appendTo(options4);
+                $('<option>', {
+                    value: '',
+                    text : '请选择疾病'
+                }).appendTo(options5);
+                $('<option>', {
+                    value: '',
+                    text : '请选择疾病'
+                }).appendTo(options6);
                 // 遍历返回的数据并添加选项
                 $.each(data.value, function(index, item) {
-                    $('<option>', {
-                        value: item.id,
-                        text : item.categoryName
-                    }).appendTo(options);
+                    if(item.dict_key==1){
+                        $('<option>', {
+                            value: item.id,
+                            text : item.categoryName
+                        }).appendTo(options1);
+                    }
+                    if(item.dict_key==2){
+                        $('<option>', {
+                            value: item.id,
+                            text : item.categoryName
+                        }).appendTo(options2);
+                    }
+                    if(item.dict_key==3){
+                        $('<option>', {
+                            value: item.id,
+                            text : item.categoryName
+                        }).appendTo(options3);
+                    }
+                    if(item.dict_key==4){
+                        $('<option>', {
+                            value: item.id,
+                            text : item.categoryName
+                        }).appendTo(options4);
+                    }
+                    if(item.dict_key==5){
+                        $('<option>', {
+                            value: item.id,
+                            text : item.categoryName
+                        }).appendTo(options5);
+                    }
+                    if(item.dict_key==6){
+                        $('<option>', {
+                            value: item.id,
+                            text : item.categoryName
+                        }).appendTo(options6);
+                    }
                 });
 
                 // 重新初始化 Select2 以反映新的选项
-                options.trigger('change');
+                options1.trigger('change');
+                options2.trigger('change');
+                options3.trigger('change');
+                options4.trigger('change');
+                options5.trigger('change');
+                options6.trigger('change');
             },
             error: function(xhr, status, error) {
                 console.error("Failed to load disease categories:", error);
             }
         });
 
-        // 初始化子类别下拉框
-        $('#subcategory-select').select2({
-            placeholder: "请选择或直接输入搜索",
-            //allowClear: true
-        });
 
-        // 监听第一个下拉框的选择事件
-        $('#category-select').on('change', function() {
-            var selectedCategory = $(this).val();
-            if (selectedCategory.length > 0) {
-                loadSubcategories(selectedCategory);
-            } else {
-                // 如果没有选择任何项,清空子类别下拉框
-                $('#subcategory-select').find('option').not(':first').remove();
-                $('#subcategory-select').trigger('change');
-            }
-        });
     });
-    function loadSubcategories(categoryId) {
-        // 模拟从服务器获取子类别数据
-        $.ajax({
-            url: ctx + 'sp/sp/typeDate2?jbtype=' + categoryId, // 假设 ctx 是你的上下文路径
-            method: 'GET',
-            dataType: 'json',
-            success: function(data) {
-                var options = $('#subcategory-select');
-                // 清空已有选项(除了第一个默认选项)
-                options.find('option').not(':first').remove();
 
-                // 遍历返回的数据并添加选项
-                $.each(data.value, function(index, item) {
-                    $('<option>', {
-                        value: item.ida,
-                        text : item.categoryNamea
-                    }).appendTo(options);
-                });
-
-                // 重新初始化 Select2 以反映新的选项
-                options.trigger('change');
-            },
-            error: function(xhr, status, error) {
-                console.error("Failed to load subcategories:", error);
-            }
-        });
-    }
     // 示例使用
     function submitHandler() {
-        if ($.validate.form()) {
             debugger
             var documentType= $("#documentType").val()
             if(documentType=="居民身份证") {
                var IDCard= $("#documentNumber").val()
-                console.log(validateIDCard(IDCard)); // 假设这个身份证号码是有效的
+                if (IDCard == null || IDCard == "" || IDCard == undefined){
+                    $.modal.alert("请输入身份证号码")
+                    return false
+                }
                 if (validateIDCard(IDCard)==false) {
                     $.modal.alert("身份证号码格式不正确,请重新输入!")
                     return false
                 }
             }
             var gender= $("#gender").val()
-            if (gender==null || gender=="") {
+            if (gender==null || gender=="" || gender==undefined) {
                 $.modal.alert("请选择性别")
                 return false
             }
-            add();
+            var timeFirstDiagnosis= $("#timeFirstDiagnosis").val()
+            if (timeFirstDiagnosis==null || timeFirstDiagnosis=="" || timeFirstDiagnosis==undefined) {
+                $.modal.alert("请选择首次确诊时间")
+                return false
+            }
+        var phoneNumber= $("#phoneNumber").val()
+        if (phoneNumber==null || phoneNumber=="" || phoneNumber==undefined) {
+            $.modal.alert("请输入联系方式")
+            return false
         }
+
+            add();
     }
 
     function add() {
         var data = $("#form-server-add").serializeArray();
-        var selectedOptionsDL = $('#category-select option:selected');
-        var selectedOptionsXL = $('#subcategory-select option:selected');
-        /*var JBDL = selectedOptionsDL.map(function() { // 疾病大类
-            return $(this).text();
-        }).get(); // 获取的数据格式 [ "肿瘤治疗并发症与合并症名称", "风湿免疫疾病名称库" ]
-        var JBXL = selectedOptionsXL.map(function() { // 疾病小类
-            return $(this).text();
-        }).get(); // 获取的数据格式 [ "肿瘤治疗并发症与合并症名称", "风湿免疫疾病名称库" ]*/
-        var selectedDataDL = selectedOptionsDL.map(function() {
-            return {
-                id: $(this).val(),
-                name: $(this).text()
-            };
-        }).get();  // 获取的数据格式 [{ id: "2", name: "肿瘤治疗并发症与合并症名称" }, { id: "3", name: "风湿免疫疾病名称库" }]
-        var selectedDataXL = selectedOptionsXL.map(function() {
-            return {
-                id: $(this).val(),
-                name: $(this).text()
-            };
-        }).get();  // 获取的数据格式 [{ id: "2", name: "肿瘤治疗并发症与合并症名称" }, { id: "3", name: "风湿免疫疾病名称库" }]
-        const DL = JSON.stringify(selectedDataDL);
-        const XL = JSON.stringify(selectedDataXL);
+        // 获取所有选中的选项并处理数据
+            var selectedDataDL = [];
+            for (let i = 1; i <= 6; i++) {
+                var selectedOptionsDL = $(`#category-select${i} option:selected`);
+                if (selectedOptionsDL.length > 0) {
+                    selectedOptionsDL.each(function() {
+                        selectedDataDL.push({
+                            id: $(this).val(),
+                            name: $(this).text(),
+                        });
+                    });
+                }
+            }
+           var hasSelection = false;
+            if (selectedDataDL.length > 0) {
+                hasSelection = true;
+            }
+
+            const DL = JSON.stringify(selectedDataDL);
+            if (!hasSelection) {
+                $.modal.alert('请至少选择一个疾病选项!');
+                return;
+            }
         data.push({name: "dl", value: DL});
-        data.push({name: "xl", value: XL});
         data.push({name: "age", value: $("#age").val()});
         data.push({name: "dateBirth", value: $("#dateBirth").val()});
         console.log(data);

+ 470 - 0
health-admin/src/main/resources/templates/dtp/archives/archivesAddCallback.html

@@ -0,0 +1,470 @@
+<!DOCTYPE html>
+<html lang="zh" xmlns:th="http://www.thymeleaf.org" >
+<head>
+
+    <th:block th:include="include :: header('快速建档')" />
+
+    <th:block th:include="include :: select2-css" />
+    <th:block th:include="include :: jasny-bootstrap-css" />
+</head>
+<style>
+    .ibox {
+        width: 700px;
+        margin-bottom: 20px;
+        border: 1px solid #e7eaec;
+        border-radius: 4px;
+    }
+    .ibox-title {
+        background-color: #f3f3f4;
+        border-bottom: 1px solid #e7eaec;
+        padding: 10px 15px;
+        font-size: 16px;
+    }
+    .ibox-content {
+        padding: 15px;
+    }
+    .ibox-content h4 {
+        margin-top: 0;
+    }
+    input[type=file] {
+        display: none;
+    }
+</style>
+<script>
+
+</script>
+<body class="gray-bg">
+<div class="wrapper wrapper-content animated fadeInRight">
+    <form id="form-server-add" class="customize-search-form">
+        <div class="customize-form-group-container">
+            <div class="ibox float-e-margins">
+                <label class="font-noraml">身份证上传</label>
+                <div class="new-contentarea tc">
+                    <a href="javascript:void(0)" class="btn btn-xs btn-primary"><label for="inputImage" >上传图像</label> </a>
+                    <input type="file" name="avatar" id="inputImage" onchange="uploadImage(this)" accept="image/*"/>
+                </div>
+
+            </div>
+
+            <div class="ibox">
+                <div class="ibox-title" style="align-items: center;">
+                    <img id="uploadedImage" src="" style="max-width: 40%; display: block;margin-left: 35%">
+                </div>
+            </div>
+            <div class="customize-form-group">
+                <label class="col-sm-1 control-label is-required">姓名:</label>
+                <input name="name" id="name" placeholder="请输入姓名" class="styled-input" type="text" maxlength="30" required>
+                <input type="hidden" name="idCardImg" id="idCardImg" value="">
+            </div>
+            <div class="customize-form-group">
+                <label class="col-sm-1 control-label is-required">性别:</label>
+                <select name="gender" id="gender" class="styled-input" th:with="type=${@dict.getType('sys_user_sex')}" required>
+                    <option value="">请选择</option>
+                    <option th:each="dict : ${type}" th:text="${dict.dictLabel}" th:value="${dict.dictValue}"
+                    ></option>
+                </select>
+            </div>
+            <div class="customize-form-group select-time">
+                <label class="col-sm-1 control-label">出生年月:</label>
+                <div class="input-group select-time">
+                    <input name="dateBirth" placeholder="出生年月" class="time-input time-input2" type="text" id="dateBirth" disabled>
+                </div>
+            </div>
+            <div class="customize-form-group select-time">
+                <label class="col-sm-1 control-label">年龄:</label>
+                <div class="input-group select-time">
+                    <input name="age" id="age" placeholder="年龄" class="styled-input" type="text" maxlength="30" disabled>
+                </div>
+            </div>
+            <div class="customize-form-group">
+                <label class="col-sm-1 control-label is-required">联系方式:</label>
+                <input name="phoneNumber" id="phoneNumber" placeholder="请输入手机号" class="styled-input isPhone" type="text" maxlength="11"  required>
+            </div>
+            <div class="customize-form-group">
+                <label class="col-sm-1 control-label">联系人手机号:</label>
+                <input name="contactPhone" placeholder="请输入联系人手机号" class="styled-input isPhone" type="text" maxlength="11"  required>
+            </div>
+            <div class="customize-form-group">
+            <label class="col-sm-1 control-label">证件类型:</label>
+            <select name="documentType" id="documentType"  class="styled-input" th:with="type=${@dict.getType('sys_select_dtp_ysfw_zjlx')}" required>
+                <option>请选择</option>
+                <option th:each="dict : ${type}" th:selected="${dict.dictLabel=='居民身份证'}" th:text="${dict.dictLabel}" th:value="${dict.dictLabel}"></option>
+            </select>
+            </div>
+            <div class="customize-form-group">
+                <label class="col-sm-1 control-label">联系人姓名:</label>
+                <input name="contactName" placeholder="请输入联系人姓名" class="styled-input" type="text" maxlength="30"  required>
+            </div>
+            <div class="customize-form-group">
+                <label class="col-sm-1 control-label">证件号码:</label>
+                <input name="documentNumber" id="documentNumber" placeholder="请输入证件号码" class="styled-input" type="text" maxlength="30"  required>
+            </div>
+            <div class="customize-form-group edit select-time">
+                <label class="col-sm-1 control-label is-required">首次确诊时间:</label>
+                <input name="timeFirstDiagnosis" id="timeFirstDiagnosis" placeholder="首次确诊时间" class="time-input time-input2"  type="text" >
+            </div>
+            <div class="customize-form-group">
+                <label class="col-sm-1 control-label">配送地址:</label>
+                <input name="addr" placeholder="配送地址"  id="addr" class="styled-input" type="text">
+            </div>
+
+        </div>
+
+        <div class="customize-form-group-container">
+            <div class="customize-form-group">
+                <label class="col-sm-1 control-label">肿瘤发病部位疾病:</label>
+                <select id="category-select1"   class="styled-input form-control select2-multiple" multiple placeholder="请选择或输入搜索">
+                </select>
+            </div>
+            <div class="customize-form-group">
+                <label class="col-sm-1 control-label">肿瘤治疗并发症与合并症:</label>
+                <select id="category-select2" class="styled-input form-control select2-multiple" multiple placeholder="请选择或输入搜索">
+                </select>
+            </div>
+            <div class="customize-form-group">
+                <label class="col-sm-1 control-label">风湿免疫疾病名称:</label>
+                <select id="category-select3"   class="styled-input form-control select2-multiple" multiple placeholder="请选择或输入搜索">
+                </select>
+            </div>
+            <div class="customize-form-group">
+                <label class="col-sm-1 control-label">罕见病疾病:</label>
+                <select id="category-select4" class="styled-input form-control select2-multiple" multiple placeholder="请选择或输入搜索">
+                </select>
+            </div>
+            <div class="customize-form-group">
+                <label class="col-sm-1 control-label">感染类疾病:</label>
+                <select id="category-select5"   class="styled-input form-control select2-multiple" multiple placeholder="请选择或输入搜索">
+                </select>
+            </div>
+            <div class="customize-form-group">
+                <label class="col-sm-1 control-label">临时慢病:</label>
+                <select id="category-select6"   class="styled-input form-control select2-multiple" multiple placeholder="请选择或输入搜索">
+                </select>
+            </div>
+        </div>
+    </form>
+</div>
+<th:block th:include="include :: footer" />
+<th:block th:include="include :: select2-js" />
+</body>
+</html>
+<script>
+    var prefix = ctx + "dtp/pmService";
+    $(document).ready(function() {
+        $('#documentNumber').on('input', function() {
+            idCard();
+        });
+
+        for (var i = 1; i < 7; i++) {
+            // 初始化 Select2 插件
+            $('#category-select'+i).select2({
+                placeholder: "请选择或直接输入搜索",
+                //allowClear: true //在输入框最后 有一个 删除所有的X 但是会出现 第一个删除出现问题有空格
+            });
+        }
+
+        // 肿瘤发病部位疾病名称 1
+        // 肿瘤治疗并发症与合并症名称 2
+        // 风湿免疫疾病名称库 3
+        // 罕见病疾病名称  4
+        // 感染类疾病名称 5
+        // 临时慢病名称 6
+        // 发送 AJAX 请求获取疾病大类数据
+        $.ajax({
+            url: ctx + 'sp/sp/typeDate',
+            method: 'GET',
+            dataType: 'json',
+            success: function(data) {
+                var options1 = $('#category-select1');
+                var options2 = $('#category-select2');
+                var options3 = $('#category-select3');
+                var options4 = $('#category-select4');
+                var options5 = $('#category-select5');
+                var options6 = $('#category-select6');
+                // 清空已有选项(除了第一个默认选项)
+                options1.find('option').not(':first').remove();
+                options2.find('option').not(':first').remove();
+                options3.find('option').not(':first').remove();
+                options4.find('option').not(':first').remove();
+                options5.find('option').not(':first').remove();
+                options6.find('option').not(':first').remove();
+                $('<option>', {
+                    value: '',
+                    text : '请选择疾病'
+                }).appendTo(options1);
+                $('<option>', {
+                    value: '',
+                    text : '请选择疾病'
+                }).appendTo(options2);
+                $('<option>', {
+                    value: '',
+                    text : '请选择疾病'
+                }).appendTo(options3);
+                $('<option>', {
+                    value: '',
+                    text : '请选择疾病'
+                }).appendTo(options4);
+                $('<option>', {
+                    value: '',
+                    text : '请选择疾病'
+                }).appendTo(options5);
+                $('<option>', {
+                    value: '',
+                    text : '请选择疾病'
+                }).appendTo(options6);
+                // 遍历返回的数据并添加选项
+                $.each(data.value, function(index, item) {
+                    if(item.dict_key==1){
+                        $('<option>', {
+                            value: item.id,
+                            text : item.categoryName
+                        }).appendTo(options1);
+                    }
+                    if(item.dict_key==2){
+                        $('<option>', {
+                            value: item.id,
+                            text : item.categoryName
+                        }).appendTo(options2);
+                    }
+                    if(item.dict_key==3){
+                        $('<option>', {
+                            value: item.id,
+                            text : item.categoryName
+                        }).appendTo(options3);
+                    }
+                    if(item.dict_key==4){
+                        $('<option>', {
+                            value: item.id,
+                            text : item.categoryName
+                        }).appendTo(options4);
+                    }
+                    if(item.dict_key==5){
+                        $('<option>', {
+                            value: item.id,
+                            text : item.categoryName
+                        }).appendTo(options5);
+                    }
+                    if(item.dict_key==6){
+                        $('<option>', {
+                            value: item.id,
+                            text : item.categoryName
+                        }).appendTo(options6);
+                    }
+                });
+
+                // 重新初始化 Select2 以反映新的选项
+                options1.trigger('change');
+                options2.trigger('change');
+                options3.trigger('change');
+                options4.trigger('change');
+                options5.trigger('change');
+                options6.trigger('change');
+            },
+            error: function(xhr, status, error) {
+                console.error("Failed to load disease categories:", error);
+            }
+        });
+
+
+    });
+
+    // 示例使用
+    function submitHandler() {
+            debugger
+            var documentType= $("#documentType").val()
+            if(documentType=="居民身份证") {
+               var IDCard= $("#documentNumber").val()
+                if (IDCard == null || IDCard == "" || IDCard == undefined){
+                    $.modal.alert("请输入身份证号码")
+                    return false
+                }
+                if (validateIDCard(IDCard)==false) {
+                    $.modal.alert("身份证号码格式不正确,请重新输入!")
+                    return false
+                }
+            }
+            var gender= $("#gender").val()
+            if (gender==null || gender=="" || gender==undefined) {
+                $.modal.alert("请选择性别")
+                return false
+            }
+            var timeFirstDiagnosis= $("#timeFirstDiagnosis").val()
+            if (timeFirstDiagnosis==null || timeFirstDiagnosis=="" || timeFirstDiagnosis==undefined) {
+                $.modal.alert("请选择首次确诊时间")
+                return false
+            }
+        var phoneNumber= $("#phoneNumber").val()
+        if (phoneNumber==null || phoneNumber=="" || phoneNumber==undefined) {
+            $.modal.alert("请输入联系方式")
+            return false
+        }
+
+            add();
+    }
+
+    function add() {
+        var data = $("#form-server-add").serializeArray();
+        // 获取所有选中的选项并处理数据
+            var selectedDataDL = [];
+            for (let i = 1; i <= 6; i++) {
+                var selectedOptionsDL = $(`#category-select${i} option:selected`);
+                if (selectedOptionsDL.length > 0) {
+                    selectedOptionsDL.each(function() {
+                        selectedDataDL.push({
+                            id: $(this).val(),
+                            name: $(this).text(),
+                        });
+                    });
+                }
+            }
+           var hasSelection = false;
+            if (selectedDataDL.length > 0) {
+                hasSelection = true;
+            }
+
+            const DL = JSON.stringify(selectedDataDL);
+            if (!hasSelection) {
+                $.modal.alert('请至少选择一个疾病选项!');
+                return;
+            }
+        data.push({name: "dl", value: DL});
+        data.push({name: "age", value: $("#age").val()});
+        data.push({name: "dateBirth", value: $("#dateBirth").val()});
+        console.log("data2"+data);
+        $.ajax({
+            cache : true,
+            type : "POST",
+            url : ctx + "dtp/pmService/addArchivesCallback",
+            data : data,
+            async : false,
+            error : function(request) {
+                $.modal.alertError("系统错误");
+            },
+            success : function(responseData) {
+                $.operate.successCallback1(responseData);
+                // 关闭模态窗口
+                $.modal.close();
+                $.modal.msgSuccessReload();
+            }
+        });
+    }
+
+    function uploadImage(input) {
+        if (input.files && input.files[0]) {
+            var reader = new FileReader();
+            reader.onload = function(e) {
+                $('#uploadedImage').attr('src', e.target.result).show();
+                // 调用 OCR 识别
+                recognizeIdCard(input.files[0]);
+            };
+            reader.readAsDataURL(input.files[0]);
+            // 直接将文件对象传递给 sendImageToServer
+            sendImageToServer(input.files[0]);
+        }
+    }
+    function sendImageToServer(file) {
+        var formdata = new FormData();
+        formdata.append("idcardImgfile", file);
+        $.ajax({
+            url: prefix + "/updateIdcardImg",
+            data: formdata,
+            type: "post",
+            processData: false,
+            contentType: false,
+            success: function(result) {
+                $("#idCardImg").val(result.msg)
+                console.log($("#idCardImg").val())
+            },
+            error: function(xhr, status, error) {
+                console.error("Error uploading image:", error);
+            }
+        });
+    }
+
+    function recognizeIdCard(file) {
+        console.log("file="+file)
+        const formData = new FormData();
+        formData.append('image', file);
+        $.ajax({
+            url: prefix + "/idCard",
+            data: formData,
+            type: 'post',
+            processData: false,
+            contentType: false,
+            success: function(result) {
+                console.log("result="+result)
+                if (result.data.words_result) {
+                    const name =result.data.words_result.姓名.words;
+                    const idNumber = result.data.words_result.公民身份号码.words;
+                    const gender = result.data.words_result.性别.words;
+                    const address = result.data.words_result.住址.words;
+                    const dateBirth = result.data.words_result.出生.words;
+                    //const nation = result.data.words_result.名族.words;
+                    if (gender == "男"){
+                        $("#gender").val("0");
+                    }else if (gender == "女"){
+                        $("#gender").val("1");
+                    }else if (gender == "未知"){
+                        $("#gender").val("2");
+                    }
+                    // 将提取的信息填充到表单中
+                    document.getElementById('name').value = name;
+                    document.getElementById('documentNumber').value = idNumber;
+                    idCard();
+                } else {
+                    console.error('OCR 识别失败:', result);
+                }
+            },
+            error: function(xhr, status, error) {
+                console.error('OCR 识别错误:', error);
+            }
+        });
+    }
+
+    function idCard(){
+        var documentNumber = $('#documentNumber').val();
+        if (documentNumber.length === 18) { // 假设证件号码是18位的身份证号
+            var birthDateStr = documentNumber.substring(6, 14); // 提取出生日期部分
+            var year = birthDateStr.substring(0, 4);
+            var month = birthDateStr.substring(4, 6);
+            var day = birthDateStr.substring(6, 8);
+
+            var birthDate = new Date(year, month - 1, day); // 创建日期对象
+
+            if (!isNaN(birthDate.getTime())) { // 检查日期是否有效
+                document.getElementById('dateBirth').value = formatBirthDate(birthDate);
+                document.getElementById('age').value = calculateAge(birthDate);
+            } else {
+                document.getElementById('dateBirth').value = '';
+                document.getElementById('age').value = '0';
+            }
+        } else {
+            document.getElementById('dateBirth').value = '';
+            document.getElementById('age').value = '0';
+        }
+    }
+    // 定义一个函数来计算年龄
+    function calculateAge(dateOfBirth) {
+        var today = new Date();
+        var age = today.getFullYear() - dateOfBirth.getFullYear();
+        var m = today.getMonth() - dateOfBirth.getMonth();
+
+        if (today.getFullYear() === dateOfBirth.getFullYear()) {
+            return '0';
+        }
+
+        if (m < 0 || (m === 0 && today.getDate() < dateOfBirth.getDate())) {
+            age--;
+        }
+
+        return age;
+    }
+
+    // 格式化出生日期
+    function formatBirthDate(date) {
+        var year = date.getFullYear();
+        var month = ('0' + (date.getMonth() + 1)).slice(-2);
+        var day = ('0' + date.getDate()).slice(-2);
+        return `${year}-${month}-${day}`;
+    }
+</script>

+ 151 - 131
health-admin/src/main/resources/templates/dtp/archives/archivesEdit.html

@@ -268,20 +268,38 @@
                                                  <input name="contactName" placeholder="联系人姓名"  id="contactName" class="styled-input edit_inputs" type="text" th:value="${contactName}">
                                                  <span class="span_line" readonly></span>
                                              </div>
+                                             <div class="customize-form-group-container">
                                                  <div class="customize-form-group">
-                                                     <label class="col-sm-1 control-label">疾病类型:</label>
-                                                     <select id="category-select"   class="styled-input edit_inputs form-control select2-multiple" multiple placeholder="请选择或输入搜索">
-                                                         <option value="">请选择疾病大类</option>
+                                                     <label class="col-sm-1 control-label">肿瘤发病部位疾病:</label>
+                                                     <select id="category-select1"   class="styled-input edit_inputs select2-multiple" multiple placeholder="请选择或输入搜索">
                                                      </select>
-                                                     <span class="span_line" readonly></span>
                                                  </div>
                                                  <div class="customize-form-group">
-                                                     <label class="col-sm-1 control-label">小类:</label>
-                                                     <select id="subcategory-select" class="styled-input edit_inputs form-control select2-multiple" multiple placeholder="请选择或输入搜索">
-                                                         <option value="">请选择子类别</option>
+                                                     <label class="col-sm-1 control-label">肿瘤治疗并发症与合并症:</label>
+                                                     <select id="category-select2" class="styled-input edit_inputs select2-multiple" multiple placeholder="请选择或输入搜索">
                                                      </select>
-                                                     <span class="span_line" readonly></span>
                                                  </div>
+                                                 <div class="customize-form-group">
+                                                     <label class="col-sm-1 control-label">风湿免疫疾病名称:</label>
+                                                     <select id="category-select3"   class="styled-input edit_inputs select2-multiple" multiple placeholder="请选择或输入搜索">
+                                                     </select>
+                                                 </div>
+                                                 <div class="customize-form-group">
+                                                     <label class="col-sm-1 control-label">罕见病疾病:</label>
+                                                     <select id="category-select4" class="styled-input edit_inputs select2-multiple" multiple placeholder="请选择或输入搜索">
+                                                     </select>
+                                                 </div>
+                                                 <div class="customize-form-group">
+                                                     <label class="col-sm-1 control-label">感染类疾病:</label>
+                                                     <select id="category-select5"   class="styled-input edit_inputs select2-multiple" multiple placeholder="请选择或输入搜索">
+                                                     </select>
+                                                 </div>
+                                                 <div class="customize-form-group">
+                                                     <label class="col-sm-1 control-label">临时慢病:</label>
+                                                     <select id="category-select6"   class="styled-input edit_inputs select2-multiple" multiple placeholder="请选择或输入搜索">
+                                                     </select>
+                                                 </div>
+                                             </div>
                                          </div>
                                      </div>
                                  </div>
@@ -1062,141 +1080,137 @@
     var prefix = ctx + "dtp/pmService";
     var prefix2 = ctx + "demo/table";
     var formSubmitted = true;
-    /*<![CDATA[*/
-    var dl  = /*[[${dl}]]*/ '';
-    /*]]>*/
-    /*<![CDATA[*/
-    var xl  = /*[[${xl}]]*/ '';
-    /*]]>*/
+
     $(document).ready(function() {
-        var clearSpan = $('.select2-selection-clear');
-        // 初始化 Select2 插件
-        $('#category-select').select2({
-            placeholder: "请选择或直接输入搜索",
-            //allowClear: true //在输入框最后 有一个 删除所有的X 但是会出现 第一个删除出现问题有空格
-        });
 
-        $('#category-select').on('select2:select', function(e) {
-            var clearSpan = $('.select2-selection-clear');
-            if (clearSpan.length > 0) {
-                clearSpan.remove();
-            }
-        });
+        // 初始化 Select2 插件
+        for (let i = 1; i <= 6; i++) {
+            $(`#category-select${i}`).select2({
+                placeholder: "请选择或直接输入搜索",
+                allowClear: true
+            });
+        }
 
-        // 发送 AJAX 请求获取疾病大类数据
+        // 获取所有下拉选项的数据
         $.ajax({
             url: ctx + 'sp/sp/typeDate',
             method: 'GET',
             dataType: 'json',
             success: function(data) {
-                var options = $('#category-select');
+                var options1 = $('#category-select1');
+                var options2 = $('#category-select2');
+                var options3 = $('#category-select3');
+                var options4 = $('#category-select4');
+                var options5 = $('#category-select5');
+                var options6 = $('#category-select6');
+
                 // 清空已有选项(除了第一个默认选项)
-                options.find('option').not(':first').remove();
+                options1.find('option').not(':first').remove();
+                options2.find('option').not(':first').remove();
+                options3.find('option').not(':first').remove();
+                options4.find('option').not(':first').remove();
+                options5.find('option').not(':first').remove();
+                options6.find('option').not(':first').remove();
+
+                // 添加默认选项
                 $('<option>', {
                     value: '',
-                    text : '请选择疾病类型'
-                }).appendTo(options);
-                // 遍历返回的数据并添加选项
-                $.each(data.value, function(index, item) {
-                    $('<option>', {
-                        value: item.id,
-                        text : item.categoryName
-                    }).appendTo(options);
+                    text : '请选择疾病'
+                }).appendTo(options1);
+                $('<option>', {
+                    value: '',
+                    text : '请选择疾病'
+                }).appendTo(options2);
+                $('<option>', {
+                    value: '',
+                    text : '请选择疾病'
+                }).appendTo(options3);
+                $('<option>', {
+                    value: '',
+                    text : '请选择疾病'
+                }).appendTo(options4);
+                $('<option>', {
+                    value: '',
+                    text : '请选择疾病'
+                }).appendTo(options5);
+                $('<option>', {
+                    value: '',
+                    text : '请选择疾病'
+                }).appendTo(options6);
 
-                });
+                // 回显数据
+                var dl = /*[[${dl}]]*/ '';
+                // 直接使用 dl 数据预填充下拉列表
                 var dlParsed = JSON.parse(dl);
-
-                // 确保 dl 和 xl 是数组后,再进行 map 操作
                 if (Array.isArray(dlParsed)) {
                     var dlIds = dlParsed.map(function (item) {
                         return item.id;
                     }); // 转换为 ID 数组
-
-                    // 设置默认选中的 dl 选项
-                    options.val(dlIds).trigger('change');
-
-                    /*$('#category-select').select2({
-                        placeholder: "请选择或直接输入搜索",
-                        //allowClear: true //在输入框最后 有一个 删除所有的X 但是会出现 第一个删除出现问题有空格
-                    });*/
-                    // 加载对应的 xl 数据
-                    loadSubcategories(dlIds);
-                }
-                // 重新初始化 Select2 以反映新的选项
-                options.trigger('change');
-            },
-            error: function(xhr, status, error) {
-                console.error("Failed to load disease categories:", error);
-            }
-        });
-
-        // 初始化子类别下拉框
-        $('#subcategory-select').select2({
-            placeholder: "请选择或直接输入搜索",
-            //allowClear: true
-        });
-
-        // 监听第一个下拉框的选择事件
-        $('#category-select').on('change', function() {
-            var selectedCategory = $(this).val();
-            if (selectedCategory.length > 0) {
-                loadSubcategories(selectedCategory);
-            } else {
-                // 如果没有选择任何项,清空子类别下拉框
-                $('#subcategory-select').find('option').not(':first').remove();
-                $('#subcategory-select').trigger('change');
-            }
-        });
-    });
-    var flag="";
-    function loadSubcategories(categoryId) {
-        console.log("categoryId"+categoryId);//categoryId1,3,5
-        const categoryIdStr = String(categoryId);
-        const flagStr = String(flag);
-        if(flagStr===categoryIdStr){
-            return;
-        }
-        flag = categoryId;
-
-        // 模拟从服务器获取子类别数据
-        $.ajax({
-            url: ctx + 'sp/sp/typeDate2?jbtype=' + categoryId, // 假设 ctx 是你的上下文路径
-            method: 'GET',
-            dataType: 'json',
-            success: function(data) {
-                var options = $('#subcategory-select');
-                // 清空已有选项(除了第一个默认选项)
-                options.find('option').not(':first').remove();
-
                 // 遍历返回的数据并添加选项
                 $.each(data.value, function(index, item) {
-                    $('<option>', {
-                        value: item.ida,
-                        text : item.categoryNamea
-                    }).appendTo(options);
-                    var xlParsed = JSON.parse(xl);
-
-                    // 确保 dl 和 xl 是数组后,再进行 map 操作
-                    if (Array.isArray(xlParsed)) {
-                        var xlIds = xlParsed.map(function (item) {
-                            return item.ida || item.id;
-                        }); // 转换为 ID 数组
+                    if(item.dict_key == 1){
+                        $('<option>', {
+                            value: item.id,
+                            text : item.categoryName
+                        }).appendTo(options1);
+                        $(`#category-select1`).val(dlIds).trigger('change');
+                    }
+                    if(item.dict_key == 2){
+                        $('<option>', {
+                            value: item.id,
+                            text : item.categoryName
+                        }).appendTo(options2);
+                        $(`#category-select2`).val(dlIds).trigger('change');
+                    }
+                    if(item.dict_key == 3){
+                        $('<option>', {
+                            value: item.id,
+                            text : item.categoryName
+                        }).appendTo(options3);
+                        $(`#category-select3`).val(dlIds).trigger('change');
 
-                        // 设置默认选中的 dl 选项
-                        options.val(xlIds).trigger('change');
-                        // 设置默认选中的 xl 选项
-                        $('#subcategory-select').val(xlIds).trigger('change');
+                    }
+                    if(item.dict_key == 4){
+                        $('<option>', {
+                            value: item.id,
+                            text : item.categoryName
+                        }).appendTo(options4);
+                        $(`#category-select4`).val(dlIds).trigger('change');
+                    }
+                    if(item.dict_key == 5){
+                        $('<option>', {
+                            value: item.id,
+                            text : item.categoryName
+                        }).appendTo(options5);
+                        $(`#category-select5`).val(dlIds).trigger('change');
+                    }
+                    if(item.dict_key == 6){
+                        $('<option>', {
+                            value: item.id,
+                            text : item.categoryName
+                        }).appendTo(options6);
+                        $(`#category-select6`).val(dlIds).trigger('change');
                     }
                 });
 
                 // 重新初始化 Select2 以反映新的选项
-                options.trigger('change');
+                options1.trigger('change');
+                options2.trigger('change');
+                options3.trigger('change');
+                options4.trigger('change');
+                options5.trigger('change');
+                options6.trigger('change');
+
+
+        }
+
             },
             error: function(xhr, status, error) {
-                console.error("Failed to load subcategories:", error);
+                console.error("Failed to load disease categories:", error);
             }
         });
-    }
+
+    });
     function unbound() {
         $.modal.confirm("请确认是否解除当前患者档案与患者小程序账号的绑定关系?解绑后无法撤销,请谨慎操作", function() {
             var id = $("#id").val();
@@ -1246,24 +1260,30 @@
             });
             data.push({name:"rowsRcords",value:JSON.stringify(rowsRcords)})
         }
-        var selectedOptionsDL = $('#category-select option:selected');
-        var selectedOptionsXL = $('#subcategory-select option:selected');
-        var selectedDataDL = selectedOptionsDL.map(function() {
-            return {
-                id: $(this).val(),
-                name: $(this).text()
-            };
-        }).get();  // 获取的数据格式 [{ id: "2", name: "肿瘤治疗并发症与合并症名称" }, { id: "3", name: "风湿免疫疾病名称库" }]
-        var selectedDataXL = selectedOptionsXL.map(function() {
-            return {
-                id: $(this).val(),
-                name: $(this).text()
-            };
-        }).get();  // 获取的数据格式 [{ id: "2", name: "肿瘤治疗并发症与合并症名称" }, { id: "3", name: "风湿免疫疾病名称库" }]
+        // 获取所有选中的选项并处理数据
+        var selectedDataDL = [];
+        for (let i = 1; i <= 6; i++) {
+            var selectedOptionsDL = $(`#category-select${i} option:selected`);
+            if (selectedOptionsDL.length > 0) {
+                selectedOptionsDL.each(function() {
+                    selectedDataDL.push({
+                        id: $(this).val(),
+                        name: $(this).text()
+                    });
+                });
+            }
+        }
+        var hasSelection = false;
+        if (selectedDataDL.length > 0) {
+            hasSelection = true;
+        }
+
         const DL = JSON.stringify(selectedDataDL);
-        const XL = JSON.stringify(selectedDataXL);
+        if (!hasSelection) {
+            alert('请至少选择一个疾病选项!');
+            return;
+        }
         data.push({name: "dl", value: DL});
-        data.push({name: "xl", value: XL});
         $.operate.saveTab(prefix + "/archivesEdit", data);
     }
 

+ 9 - 4
health-admin/src/main/resources/templates/dtp/archives/archivesList.html

@@ -22,7 +22,7 @@
 					<form id="archives-form" class="customize-search-form">
 						<div class="customize-form-group">
 							<label>患者信息:</label>
-							<input type="text" placeholder="请输入姓名手机号" class="styled-input" name="name"/>
+							<input type="text" placeholder="请输入患者ID,姓名手机号" class="styled-input" name="nameQuery"/>
 						</div>
 						<div class="customize-form-group">
 							<label>	药品:</label>
@@ -55,7 +55,7 @@
 				</div>
 
 		        <div class="btn-group-sm" id="toolbar" role="group">
-		        <a class="btn btn-success" onclick="$.operate.add()" shiro:hasPermission="system:user:add">
+		        <a class="btn btn-success" onclick="$.operate.addSetwh(null,900,750)" shiro:hasPermission="system:user:add">
 		                <i class="fa fa-plus"></i> 患者快速建档
 		            </a>
 		            <a class="btn btn-danger multiple disabled" onclick="$.operate.removeAll()" shiro:hasPermission="system:user:remove">
@@ -78,6 +78,8 @@
 		var editFlag = [[${@permission.hasPermi('dtp:RecipeRegister:edit')}]];
 		var removeFlag = [[${@permission.hasPermi('dtp:RecipeRegister:remove')}]];
 		var prefix = ctx + "dtp/pmService";
+		var w=900;
+		var h=900;
 		$(function() {
 		    var panehHidden = false;
 		    if ($(this).width() < 1590) {
@@ -96,6 +98,7 @@
 		});
 
 		function queryArchivesList() {
+
 		    var options = {
 		        url: prefix + "/archivesList",
 		        viewUrl: prefix + "/archivesView/{id}",
@@ -122,7 +125,7 @@
 					{
 						checkbox: true
 					},
-					{field: 'id', title: 'id', align: 'center',visible: false},
+					{field: 'id', title: '患者ID', align: 'center'},
 					{field: 'name', title: '姓名', align: 'center',sortable:true},
 					{field: 'gender', title: '性别', align: 'center',
 					formatter: function(value, row, index) {
@@ -147,7 +150,9 @@
 				{field: 'genericName', title: '药品通用名', align: 'center'},
 				{field: 'productName', title: '商品名', align: 'center'},
 				{field: 'mdmCode', title: 'MDM编码', align: 'center'},
-				{field: 'manufacturer', title: '厂家', align: 'center'},
+				{field: 'manufacturerShortName', title: '厂家', align: 'center'},
+				{field: 'specification', title: '规格', align: 'center'},
+
 				{field: 'storeName', title: '门店', align: 'center'},
 				{field: 'archiveCreator', title: '档案创建人', align: 'center'},
 				{field: 'archiveCompleter', title: '档案完善人', align: 'center'},

Filskillnaden har hållts tillbaka eftersom den är för stor
+ 567 - 283
health-admin/src/main/resources/templates/dtp/recipe/edit.html


+ 69 - 130
health-admin/src/main/resources/templates/dtp/recipe/newRecipe.html

@@ -18,7 +18,8 @@
                 <div class="customize-form-group">
                     <a class="btn btn-primary btn-rounded btn-sm" onclick="search_hz()">&nbsp;搜索</a>
                     <a class="btn btn-warning btn-rounded btn-sm" onclick="resetPre()">重置</a>
-                    <a class="btn btn-info btn-rounded btn-sm" onclick="bookbuilding()">&nbsp;快速建档</a>
+                    <a class="btn btn-info btn-rounded btn-sm" onclick="bookbuilding()">&nbsp快速建档</a>
+<!--        bookbuilding  $.operate.addSetwht('快速建档','dtp/pmService/archivesAdd',800,750)-->
                 </div>
             </div>
      </form>
@@ -46,7 +47,7 @@
         </div>
     </div>
     <div class="col-sm-12 search-collapse">
-    <h4 class="query-condition-title">新建处方登记</h4>
+    <h4 class="query-condition-title">处方登记</h4>
     <form id="dtp-form-newcfxx" class="customize-search-form">
                     <div class="customize-form-group-container">
                         <div class="customize-form-group">
@@ -118,17 +119,12 @@
                             </select>
                         </div>
                         <div class="customize-form-group">
-                            <label class="col-sm-1 control-label">临床诊断大类:</label>
+                            <label class="col-sm-1 control-label">临床诊断:</label>
                             <select id="category-select"   class="styled-input form-control select2-multiple" multiple placeholder="请选择或输入搜索">
-                                <option value="">请选择疾病大类</option>
-                            </select>
-                        </div>
-                        <div class="customize-form-group">
-                            <label class="col-sm-1 control-label">临床诊断小类:</label>
-                            <select id="subcategory-select" class="styled-input form-control select2-multiple" multiple placeholder="请选择或输入搜索">
-                                <option value="">请选择子类别</option>
+
                             </select>
                         </div>
+
                     </div>
      </form>
         <!-- 假设这是你的 HTML 结构class="table table-bordered" -->
@@ -231,7 +227,7 @@
 </div>
 <th:block th:include="include :: footer" />
 <th:block th:include="include :: select2-js" />
-<th:block th:include="include :: bootstrap-fileinput-js" />
+<!--<th:block th:include="include :: bootstrap-fileinput-js" />-->
 <th:block th:include="include :: bootstrap-table-fixed-columns-js" />
 <th:block th:include="include :: layout-latest-js" />
 <script th:inline="javascript">
@@ -256,6 +252,7 @@
     var selectdataList=[];
     var  prescriptionNumber;
     var  drugsLinkId;
+    var reviewFlag=false;
     var reviewFormData = new FormData();
      $(document).ready(function() {
 
@@ -340,118 +337,72 @@
                  console.error("Failed to load disease categories:", error);
              }
          });
-         var clearSpan = $('.select2-selection-clear');
-         // 初始化 Select2 插件
+
+         // 初始化 Select2
          $('#category-select').select2({
-             placeholder: "请选择或直接输入搜索",
-             //allowClear: true //在输入框最后 有一个 删除所有的X 但是会出现 第一个删除出现问题有空格
-         });
-         // Listen for the 'select2:select' event
-         $('#category-select').on('select2:select', function(e) {
-             var clearSpan = $('.select2-selection-clear');
-             if (clearSpan.length > 0) {
-                 clearSpan.remove();
+             placeholder: '--输入疾病名称搜索--',
+             allowClear: true,
+             ajax: {
+                 url: prefix_recipe+'/searchICD11', // 替换为实际的搜索 URL
+                 dataType: 'json',
+                 delay: 300,
+                 method: 'POST', // 使用 POST 方法
+                 data: function (params) {
+                     return {
+                         query: params.term // search term
+                     };
+                 },
+                 processResults: function (data) {
+                     if (data.code == 0) {
+                         return {
+                             results: data.data.map(function(item) {
+                                 return { id: item.id, text: item.categoryName};
+                             })
+                         };
+                     } else {
+                         return { results: [] };
+                     }
+                 },
+                 cache: true
              }
          });
+             //药师审核选择事件 默认打开
+             $('#openCheckYSSid').show();
 
-         // 发送 AJAX 请求获取疾病大类数据
-         $.ajax({
-             url: prefix_recipe+'/typeDate',
-             method: 'GET',
-             dataType: 'json',
-             success: function(data) {
-                 var options = $('#category-select');
-                 // 清空已有选项(除了第一个默认选项)
-                 options.find('option').not(':first').remove();
-                 $('<option>', {
-                     value: '',
-                     text : '请选择疾病类型'
-                 }).appendTo(options);
-                 // 遍历返回的数据并添加选项
-                 $.each(data.value, function(index, item) {
-                     $('<option>', {
-                         value: item.id,
-                         text : item.categoryName
-                     }).appendTo(options);
-                 });
-
-                 // 重新初始化 Select2 以反映新的选项
-                 options.trigger('change');
-             },
-             error: function(xhr, status, error) {
-                 console.error("Failed to load disease categories:", error);
-             }
-         });
+         // 清空表单字段
+         function clearFormFields() {
+             $('#category-select').val('').trigger('change');
+         }
 
-         // 初始化子类别下拉框
-         $('#subcategory-select').select2({
-             placeholder: "请选择或直接输入搜索",
-             //allowClear: true
-         });
+         // 填充表单字段
+         function populateFormFields(data) {
+             $('#category-select').val(data.categoryName);//.trigger('change')
+         }
 
-         // 监听第一个下拉框的选择事件
-         $('#category-select').on('change', function() {
-             var selectedCategory = $(this).val();
-             if (selectedCategory.length > 0) {
-                 loadSubcategories(selectedCategory);
-             } else {
-                 // 如果没有选择任何项,清空子类别下拉框
-                 $('#subcategory-select').find('option').not(':first').remove();
-                 $('#subcategory-select').trigger('change');
-             }
-         });
-             //药师审核选择事件 默认打开
-             $('#openCheckYSSid').show();
     });
 
     // 监听药师审核选择事件
     function onclickshow() {
+        reviewFlag=true;
         $('#openCheckYSSid').show();
     }
     function onclickhide() {
+        reviewFlag=false;
         $('#openCheckYSSid').hide();
     }
 
-    function loadSubcategories(categoryId) {
-        // 模拟从服务器获取子类别数据
-        $.ajax({
-            url: prefix_recipe+'/typeDate2?jbtype=' + categoryId, // 假设 ctx 是你的上下文路径
-            method: 'GET',
-            dataType: 'json',
-            success: function(data) {
-                var options = $('#subcategory-select');
-                // 清空已有选项(除了第一个默认选项)
-                options.find('option').not(':first').remove();
-
-                // 遍历返回的数据并添加选项
-                $.each(data.value, function(index, item) {
-                    $('<option>', {
-                        value: item.ida,
-                        text : item.categoryNamea
-                    }).appendTo(options);
-                });
-
-                // 重新初始化 Select2 以反映新的选项
-                options.trigger('change');
-            },
-            error: function(xhr, status, error) {
-                console.error("Failed to load subcategories:", error);
-            }
-        });
-    }
-
     // 将后端返回的数据填充到表格中
     function populatePatientTable(datas) {
         var tbody = $('#patient-table tbody');
         tbody.empty(); // 清空现有行
-
+       //var prefix = ctx + "dtp/pmService";
         datas.forEach(function(patient, index) {
             var genderText = patient.gender === 0 ? '男' : '女';
             var row = `
             <tr data-index="${index}">
                 <td><input type="radio" name="selectPatient" value="${index}"></td>
                 <td>${patient.id}</td>
-                <td>${patient.name}</td>
+                <td><a onclick="goPatient(${patient.id})" target="_blank">${patient.name}</a></td>
                 <td>${genderText}</td>
                 <td>${patient.age || '-'}</td>
                 <td>${patient.documentType || '-'}</td>
@@ -660,45 +611,29 @@ function initTab(datas){
             }
         });
         var selectedOptionsDL = $('#category-select option:selected');
-        var selectedOptionsXL = $('#subcategory-select option:selected');
-        /*var JBDL = selectedOptionsDL.map(function() { // 疾病大类
-            return $(this).text();
-        }).get(); // 获取的数据格式 [ "肿瘤治疗并发症与合并症名称", "风湿免疫疾病名称库" ]
-        var JBXL = selectedOptionsXL.map(function() { // 疾病小类
-            return $(this).text();
-        }).get(); // 获取的数据格式 [ "肿瘤治疗并发症与合并症名称", "风湿免疫疾病名称库" ]*/
+        //var selectedOptionsXL = $('#subcategory-select option:selected');
+
         var selectedDataDL = selectedOptionsDL.map(function() {
             return {
                 id: $(this).val(),
                 name: $(this).text()
             };
-        }).get();  // 获取的数据格式 [{ id: "2", name: "肿瘤治疗并发症与合并症名称" }, { id: "3", name: "风湿免疫疾病名称库" }]
-        var selectedDataXL = selectedOptionsXL.map(function() {
-            return {
-                id: $(this).val(),
-                name: $(this).text()
-            };
-        }).get();  // 获取的数据格式 [{ id: "2", name: "肿瘤治疗并发症与合并症名称" }, { id: "3", name: "风湿免疫疾病名称库" }]
+        }).get();
         const DL = JSON.stringify(selectedDataDL);
-        const XL = JSON.stringify(selectedDataXL);
+       // const XL = JSON.stringify(selectedDataXL);
         formData.append('dl', DL);
-        formData.append('xl', XL);
+        //formData.append('xl', XL);
         formData.append('dlanme', DL);
-        formData.append('xlname', XL);
+        //formData.append('xlname', XL);
         console.log("DL=" + DL);
-        console.log("XL=" + XL);
-        formData.append('remarks', remarks);
-        formData.append('reviewingName', reviewingName);
-        formData.append('reviewStatus', reviewStatus);
-        formData.append('reviewFormData', reviewFormData);
-// 将药物数据序列化为 JSON 字符串并添加到 FormData 中
-        /*var drugData = getTableData(); // 假设此函数正确获取表格数据
-        if (drugData.length > 0) {
-            formData.append('drugData', JSON.stringify(drugData));
-        }else{
-            $.modal.alertError("请添加药品");
-            return;
-        }*/
+        //console.log("XL=" + XL);
+        if(reviewFlag){
+            formData.append('remarks', remarks);
+            formData.append('reviewingName', reviewingName);
+            formData.append('reviewStatus', reviewStatus);
+            formData.append('reviewFormData', reviewFormData);
+        }
+
         var tableRows = [];
         var falg = true;
         $('#drugInfoTable tbody tr').each(function(index, row) {
@@ -901,7 +836,6 @@ function initTab(datas){
     });
     // 提交审核信息
     function submitReview() {
-        debugger
         if ($('#pharmacistNameSelect').val() && $('#password').is(':visible')) {
             verifyPassword();
         } else {
@@ -1125,8 +1059,13 @@ function initTab(datas){
         $("#treeName").val(body.find('#treeName').val());
         $.modal.close(index);
     }
+
+    function goPatient(id){
+        $.modal.openTab("患者档案馆", prefix_pmService+'/archivesEdit/'+id);
+    }
     function bookbuilding(){
-        $.modal.open("快速建档", prefix_pmService+'/archivesAdd');
+        $.operate.addSetwht('快速建档','dtp/pmService/archivesAdd',800,800)
+        //$.modal.open("快速建档", prefix_pmService+'/archivesAdd');
     }
     function resetPre() {
         resetDate();
@@ -1214,7 +1153,7 @@ function initTab(datas){
 
     .ibox {
         width: auto;
-        height: 500px;
+        height: 370px;
         overflow: auto; /* 当内容超过指定尺寸时显示滚动条 */
     }
 

+ 1 - 1
health-admin/src/main/resources/templates/dtp/recipe/newRecipeView.html

@@ -234,7 +234,7 @@ function closeT() {
     }
     .ibox {
         width: auto;
-        height: 500px;
+        height: 400px;
         overflow: auto; /* 当内容超过指定尺寸时显示滚动条 */
     }
 

+ 7 - 2
health-admin/src/main/resources/templates/dtp/recipe/salesRegistration.html

@@ -28,7 +28,7 @@
 
 						<div class="customize-form-group">
 							<label>销售单号:</label>
-							<input type="text" class="styled-input" placeholder="请输入销售单号号" name="saleOrderNumber"/>
+							<input type="text" class="styled-input" placeholder="请输入销售单号号" name="salesOrderNumber"/>
 						</div>
 						<div class="customize-form-group">
 							<label>药品编码:</label>
@@ -92,7 +92,7 @@
 	var editFlag = [[${@permission.hasPermi('system:user:edit')}]];
 	var removeFlag = [[${@permission.hasPermi('system:user:remove')}]];
 	var prefix = ctx + "dtp/recipe";
-
+	var prefix_pmService = ctx + "dtp/pmService";
 	$(function() {
 		var panehHidden = false;
 		if ($(this).width() < 1590) {
@@ -110,6 +110,11 @@
 		queryUserList();
 	});
 
+	$(document).ready(function() {
+
+	});
+
+
 	function queryUserList() {
 		var options = {
 			url: prefix + "/salesList",

+ 1 - 0
health-admin/src/main/resources/templates/dtp/recipe/view.html

@@ -360,6 +360,7 @@
         })
 </script>
 <style>
+
     .ant-btn-primary {
         color: #fff;
         background-color: #1890ff;

+ 157 - 112
health-system/src/main/java/com/bzd/system/service/DTPService.java

@@ -174,6 +174,11 @@ public class DTPService {
             pd.put("createdBy", getSysUser().getUserId());
             pd.put("createTime", DateUtils.getTime());
             pd.put("drugQuantity", drugQuantity);
+            String gender = (String) pd.get("gender");//获取性别
+            if (StringUtils.isEmpty(gender)) {
+                pd.put("gender", 2);//2等于未知性别
+            }
+            //String age = (String) pd.get("age");//
             int result = daoSupport.save("DTPCFDJMapper.insertPrescriptionRegistration", pd);
             if(resultDrug>0 && result>0){
                 returnPageData.put("code", 200);
@@ -328,112 +333,7 @@ public class DTPService {
         }
     }
 
-    /**
-     * 处方登记 添加
-     *
-     * @param pd
-     * @return
-     * @throws Exception
-     */
-    @Transactional(rollbackFor = Exception.class)
-    public PageData saveCFDJ(final PageData pd) throws Exception {
-        PageData returnPageData = new PageData();
-        Object drugList = pd.get("drugData");//获取药品信息列表
-        Integer drugsLinkId = IdUtils.get10randomNumber();//生成处方与药品关联的编号
-        Integer prescriptionNumber = IdUtils.get10randomNumber();//生成处方单号
-        List<PageData> addList = new ArrayList<>();
-        int resultDrug=0;
-        int drugQuantity=0;
-            try {
-                if (StringUtils.isNotNull(drugList)) {
-                    // 将 JSON 字符串转换为 List<Map<String, Object>>
-                    ObjectMapper objectMapper = new ObjectMapper();
-                    List<Map<String, Object>> rowsdrugList = objectMapper.readValue(drugList.toString(), List.class);
-                    drugQuantity = rowsdrugList.size();//处方取药数量
-                    // 遍历列表并调用插入数据接口
-                    if (rowsdrugList.size() > 0) {
-                        for (Map<String, Object> lxr : rowsdrugList) {
-                            PageData pageData = new PageData();
-
-                            // 设置固定或默认值
-                            pageData.put("createdBy", getSysUser().getLoginName());
-                            pageData.put("createdTime", DateUtils.getTime());
-                            pageData.put("storeId", getSysUser().getDeptId());
-
-                            // 从 lxr 获取数据并映射到数据库字段
-                            pageData.put("mdmCode", lxr.get("mdmCode"));
-                            pageData.put("productName", lxr.get("productName"));
-                            pageData.put("genericName", lxr.get("genericName"));
-                            pageData.put("specification", lxr.get("specification"));
-                            pageData.put("manufacturerShortName", lxr.get("manufacturerShortName"));
-                            pageData.put("administrationMethod", lxr.get("administrationMethod"));
-                            pageData.put("packageQuantity", lxr.get("packageQuantity"));//处方取药数量(包装数)输入框的值
-                            pageData.put("singleDoseValue", lxr.get("singleDoseValue"));//处方单次剂量数值 输入框的值
-                            pageData.put("singleDoseUnit", lxr.get("singleDoseUnit"));//处方单次剂量单位
-                            pageData.put("dosageFrequency", lxr.get("dosageFrequency"));//规范用药频次
-                            pageData.put("dosageFrequencyDays", lxr.get("dosageFrequencyDays"));//用药频次换算使用天数 下拉带出来的 要去字典的value
-                            if(lxr.get("dvalueDays")!=null){
-                                pageData.put("dvalueDays", lxr.get("dvalueDays"));
-                            }else {
-                                pageData.put("dvalueDays", 0);
-                            }
 
-                            // 添加其他可能需要的字段(如果有的话)
-                            pageData.put("medicationRoute", lxr.get("medicationRoute"));
-                            //pageData.put("sales", lxr.get("sales"));
-                            pageData.put("prescriptionNumber", prescriptionNumber);
-                            pageData.put("drugsLinkId", drugsLinkId);
-                            pageData.put("prescriptionDate", DateUtils.getTime());
-                            pageData.put("hospital", lxr.get("hospital"));
-                            pageData.put("prescribingDoctor", lxr.get("prescribingDoctor"));
-                            pageData.put("department", lxr.get("department"));
-                            pageData.put("attendingPhysician", lxr.get("attendingPhysician"));
-                            pageData.put("clinicalDiagnosis", lxr.get("clinicalDiagnosis"));
-                            pageData.put("registrant", lxr.get("registrant"));
-                            pageData.put("registrationDate", DateUtils.getTime());
-//                        pageData.put("saleDate", lxr.get("saleDate"));
-//                        pageData.put("pharmacyName", lxr.get("pharmacyName"));
-//                        pageData.put("updatedBy", lxr.get("updatedBy"));
-//                        pageData.put("updatedTime", lxr.get("updatedTime"));
-//                        pageData.put("remarks", lxr.get("remarks"));
-                            addList.add(pageData);
-                            resultDrug = dao.executeBatch("DTPCFDJMapper.batchAddDrugPurchaseRecordNew", pageData);
-                        }
-//                        final HashMap<String, Object> addMap = new HashMap<String, Object>();
-//                        addMap.put("dataList", addList);
-//                        resultDrug = dao.executeBatch("DTPCFDJMapper.batchAddDrugPurchaseRecord", addMap);
-                    }
-                }
-
-                // 从表单数据填充
-                pd.put("drugsLinkId", drugsLinkId); // 处方与药品关联的唯一编码
-                pd.put("storeId", getSysUser().getDeptId());
-                pd.put("storeName", getSysUser().getDeptId()); // 假设 getDeptName() 可以获取部门名称
-                pd.put("createdBy", getSysUser().getUserId());
-                pd.put("createTime", DateUtils.getTime());
-                pd.put("status", 5);//5待订单销售
-                pd.put("registrationDate", DateUtils.getTime());
-                pd.put("drugQuantity", drugQuantity);
-               String registrant = (String) pd.get("registrant");
-               if(StringUtils.isEmpty(registrant)){
-                   pd.put("registrant", getSysUser().getLoginName());
-               }
-                int result = daoSupport.save("DTPCFDJMapper.insertPrescriptionRegistration", pd);
-                if(resultDrug>0 && result>0){
-                    returnPageData.put("code", 200);
-                    returnPageData.put("prescriptionNumber", prescriptionNumber);
-                    returnPageData.put("drugsLinkId", drugsLinkId);
-                    return returnPageData;
-                }else {
-                    returnPageData.put("msg", "天添加败");
-                    returnPageData.put("code", 300);
-                    return returnPageData;
-                }
-            } catch (Exception e) {
-                e.printStackTrace();
-            }
-            return null;
-    }
 
     /**
      * 处方删除
@@ -641,10 +541,145 @@ public class DTPService {
         pd.put("storeId", getSysUser().getDeptId());
         return (List<PageData>) daoSupport.findForList("DTPMapper.HospitalList", pd);
     }
+
+    /**
+     * 处方登记 添加
+     * @param pd
+     * @throws Exception
+     */
+    @Transactional(rollbackFor = Exception.class)
+    public PageData saveCFDJ(final PageData pd) throws Exception {
+        PageData returnPageData = new PageData();
+        Object drugList = pd.get("drugData");//获取药品信息列表
+        Integer drugsLinkId = IdUtils.get10randomNumber();//生成处方与药品关联的编号
+        Integer prescriptionNumber = IdUtils.get10randomNumber();//生成处方单号
+        String patientId=null;
+        String patientIdif = (String) pd.get("patientId");
+        if(StringUtils.isNotEmpty(patientIdif)){
+            patientId = patientIdif;
+        }
+        List<PageData> addList = new ArrayList<>();
+        int resultDrug=0;
+        int drugQuantity=0;
+        try {
+            if (StringUtils.isNotNull(drugList)) {
+                // 将 JSON 字符串转换为 List<Map<String, Object>>
+                ObjectMapper objectMapper = new ObjectMapper();
+                List<Map<String, Object>> rowsdrugList = objectMapper.readValue(drugList.toString(), List.class);
+                drugQuantity = rowsdrugList.size();//处方取药数量
+                // 遍历列表并调用插入数据接口
+                if (rowsdrugList.size() > 0) {
+                    for (Map<String, Object> lxr : rowsdrugList) {
+                        PageData pageData = new PageData();
+
+                        // 设置固定或默认值
+                        pageData.put("createdBy", getSysUser().getLoginName());
+                        pageData.put("createdTime", DateUtils.getTime());
+                        pageData.put("storeId", getSysUser().getDeptId());
+                        if (StringUtils.isNotEmpty(patientId)) {
+                            pageData.put("patientId", patientId);
+                        }
+
+                        // 从 lxr 获取数据并映射到数据库字段
+                        pageData.put("mdmCode", lxr.get("mdmCode"));
+                        pageData.put("productName", lxr.get("productName"));
+                        pageData.put("genericName", lxr.get("genericName"));
+                        pageData.put("specification", lxr.get("specification"));
+                        pageData.put("manufacturerShortName", lxr.get("manufacturerShortName"));
+                        pageData.put("administrationMethod", lxr.get("administrationMethod"));
+                        pageData.put("packageQuantity", lxr.get("packageQuantity"));//处方取药数量(包装数)输入框的值
+                        pageData.put("singleDoseValue", lxr.get("singleDoseValue"));//处方单次剂量数值 输入框的值
+                        pageData.put("singleDoseUnit", lxr.get("singleDoseUnit"));//处方单次剂量单位
+                        pageData.put("dosageFrequency", lxr.get("dosageFrequency"));//规范用药频次
+                        pageData.put("dosageFrequencyDays", lxr.get("dosageFrequencyDays"));//用药频次换算使用天数 下拉带出来的 要去字典的value
+                        if(lxr.get("dvalueDays")!=null){
+                            pageData.put("dvalueDays", lxr.get("dvalueDays"));
+                        }else {
+                            pageData.put("dvalueDays", 0);
+                        }
+
+                        // 添加其他可能需要的字段(如果有的话)
+                        pageData.put("medicationRoute", lxr.get("medicationRoute"));
+                        //pageData.put("sales", lxr.get("sales"));
+                        pageData.put("prescriptionNumber", prescriptionNumber);
+                        pageData.put("drugsLinkId", drugsLinkId);
+                        pageData.put("prescriptionDate", DateUtils.getTime());
+                        pageData.put("hospital", lxr.get("hospital"));
+
+                        pageData.put("prescribingDoctor", lxr.get("prescribingDoctor"));
+                        pageData.put("department", lxr.get("department"));
+                        pageData.put("attendingPhysician", lxr.get("attendingPhysician"));
+                        pageData.put("clinicalDiagnosis", lxr.get("clinicalDiagnosis"));
+                        pageData.put("registrant", lxr.get("registrant"));
+                        pageData.put("registrationDate", DateUtils.getTime());
+//                        pageData.put("saleDate", lxr.get("saleDate"));
+//                        pageData.put("pharmacyName", lxr.get("pharmacyName"));
+//                        pageData.put("updatedBy", lxr.get("updatedBy"));
+//                        pageData.put("updatedTime", lxr.get("updatedTime"));
+//                        pageData.put("remarks", lxr.get("remarks"));
+                        addList.add(pageData);
+                        resultDrug = dao.executeBatch("DTPCFDJMapper.batchAddDrugPurchaseRecordNew", pageData);
+                    }
+//                        final HashMap<String, Object> addMap = new HashMap<String, Object>();
+//                        addMap.put("dataList", addList);
+//                        resultDrug = dao.executeBatch("DTPCFDJMapper.batchAddDrugPurchaseRecord", addMap);
+                }
+            }
+
+            // 从表单数据填充
+            pd.put("drugsLinkId", drugsLinkId); // 处方与药品关联的唯一编码
+            pd.put("prescriptionNumber", prescriptionNumber);
+            pd.put("storeId", getSysUser().getDeptId());
+            pd.put("storeName", getSysUser().getDeptId()); // 假设 getDeptName() 可以获取部门名称
+            pd.put("createdBy", getSysUser().getUserId());
+            pd.put("createTime", DateUtils.getTime());
+            pd.put("status", 5);//5待订单销售
+            pd.put("registrationDate", DateUtils.getTime());
+            pd.put("drugQuantity", drugQuantity);
+
+            if(StringUtils.isNotEmpty(pd.get("reviewStatus").toString())){
+                pd.put("reviewStatus", 1);
+            }
+            if(StringUtils.isNotEmpty(pd.get("reviewingName").toString())){
+                pd.put("reviewingName", "系统");
+            }
+            if(StringUtils.isNotEmpty(pd.get("remarks").toString())){
+                pd.put("remarks", "系统审核");
+            }
+            String registrant = (String) pd.get("registrant");
+            if(StringUtils.isEmpty(registrant)){
+                pd.put("registrant", getSysUser().getLoginName());
+            }
+            int result = daoSupport.save("DTPCFDJMapper.insertPrescriptionRegistration", pd);
+            if(resultDrug>0 && result>0){
+                returnPageData.put("code", 200);
+                returnPageData.put("prescriptionNumber", prescriptionNumber);
+                returnPageData.put("drugsLinkId", drugsLinkId);
+                return returnPageData;
+            }else {
+                returnPageData.put("msg", "天添加败");
+                returnPageData.put("code", 300);
+                return returnPageData;
+            }
+        } catch (Exception e) {
+            e.printStackTrace();
+        }
+        return null;
+    }
+    /**
+     * 处方登记修改更新
+     * @param pd
+     * @throws Exception
+     */
     @Transactional(rollbackFor = Exception.class)
     public int updateCFDJ(final PageData pd) throws Exception {
         PageData pd3=new PageData();
         try {
+            String patientId=null;
+            String patientIdif = (String) pd.get("patientId");
+            if(StringUtils.isNotEmpty(patientIdif)){
+                patientId = patientIdif;
+            }
             pd3.put("id",pd.get("id"));
             PageData pd1= (PageData) daoSupport.findForObject("DTPCFDJMapper.selectOneById", pd3);
         String status = (String) pd.get("status");
@@ -654,7 +689,7 @@ public class DTPService {
 
         if (status.equals("4")) {//4待处方登记
              onlyId = IdUtils.get10randomNumber();//如果是先销售后登记来做的修改处方信息 生成处方单号
-            flag=true;
+            flag=true;//为先销售后登记
             if (StringUtils.isEmpty(prescriptionImageUrl)) {//3待确认信息
                 status="2";//待上传处方
             }else {
@@ -690,7 +725,9 @@ public class DTPService {
                         pageData.put("createdBy", getSysUser().getLoginName());
                         pageData.put("createdTime", DateUtils.getTime());
                         pageData.put("storeId", getSysUser().getDeptId());
-
+                        if (StringUtils.isNotEmpty(patientId)) {
+                            pageData.put("patientId", patientId);
+                        }
                         // 从 lxr 获取数据并映射到数据库字段
                         pageData.put("mdmCode", lxr.get("mdmCode"));
                         pageData.put("productName", lxr.get("productName"));
@@ -752,6 +789,11 @@ public class DTPService {
                     }
                 }
                 pd.put("drugQuantity", drugQuantity);
+
+            if (StringUtils.isNull(pd.get("reviewingName")) && StringUtils.isNull(pd.get("reviewStatus"))){
+                pd.put("reviewingName", "系统默认");
+                pd.put("reviewStatus", 1);//处方审核状态:0:审核不通过;1:审核通过;2: 待审核;默认 1: "审核通过";
+            }
                 // 患者信息
                 if (StringUtils.isNotNull(pd.get("gender"))){
                     String gender = pd.get("gender").toString();
@@ -763,6 +805,9 @@ public class DTPService {
                         pd.put("gender", "3");
                     }
                 }
+            if (StringUtils.isNull(pd.get("registrant"))){
+                pd.put("registrant", getSysUser().getLoginName());
+            }
                 return daoSupport.save("DTPCFDJMapper.updatePrescriptionRegistration", pd);
 
 
@@ -774,24 +819,24 @@ public class DTPService {
     }
 
     /**
-     * 获取ICD疾病信息
+     * 获取ICD所有疾病信息
      * @param pd
      * @return
      * @throws Exception
      */
-    public List<PageData> typeDate(PageData pd) throws Exception{
+    public List<PageData> searchICD11(PageData pd) throws Exception{
         if (pd==null || pd.size()==0){
             pd.put("dict_key","ICD11");
         }
         return (List<PageData>) daoSupport.findForList("TypeDateMapper.getICD11_Date", pd);
     }
     /**
-     * 获取ICD疾病信息
+     * 获取ICD疾病信息根据id
      * @param pd
      * @return
      * @throws Exception
      */
-    public List<PageData> typeDate2(PageData pd) throws Exception{
-        return (List<PageData>) daoSupport.findForList("TypeDateMapper.getICD11_Date2", pd);
+    public PageData searchICD11Object(PageData pd) throws Exception{
+        return (PageData) daoSupport.findForObject("TypeDateMapper.getICD11_Date", pd);
     }
 }

+ 57 - 1
health-system/src/main/java/com/bzd/system/service/PharmaceuticalService.java

@@ -31,9 +31,15 @@ public class PharmaceuticalService {
     @Resource(name = "daoSupport")
     private DaoSupport daoSupport;
 
+//    public List<PageData> findArchivesList(PageData pd) throws Exception{//之前的档案查询所有患者
+//        return (List<PageData>) daoSupport.findForList("PharmaceuticalServiceMapper.selectArchivesList", pd);
+//    }
+
     public List<PageData> findArchivesList(PageData pd) throws Exception{
-        return (List<PageData>) daoSupport.findForList("PharmaceuticalServiceMapper.selectArchivesList", pd);
+        return (List<PageData>) daoSupport.findForList("PharmaceuticalServiceMapper.selectArchivesListLinkDrugs", pd);
     }
+
+
     public List<PageData> getDrugPurchaseList(PageData pd) throws Exception{
         return (List<PageData>) daoSupport.findForList("PharmaceuticalServiceMapper.getDrugPurchaseList", pd);
     }
@@ -52,6 +58,12 @@ public class PharmaceuticalService {
         return (List<PageData>) daoSupport.findForList("PharmaceuticalServiceMapper.slectPatientByNameOrPhoneOrIdCard", pd);
 
     }
+    //先销售后登记 查询患者是否存在
+    public PageData slectPatientByNameAndPhone(PageData pd) throws Exception{
+        PageData pageData = (PageData) daoSupport.findForObject("PharmaceuticalServiceMapper.slectPatientByNameAndPhone", pd);
+        return pageData;
+
+    }
     public List<PageData> slectPatientById(PageData pd) throws Exception{
         return (List<PageData>) daoSupport.findForList("PharmaceuticalServiceMapper.slectPatientById", pd);
 
@@ -253,4 +265,48 @@ public class PharmaceuticalService {
 
         return daoSupport.update("PharmaceuticalServiceMapper.insertArchiveRecord", pd);
     }
+
+    /**
+     * 新建患者档案
+     */
+    public PageData addArchivesCallback(PageData pd)throws Exception {
+        Object storeName = pd.get("storeName");
+        if (StringUtils.isNull(storeName)) {
+            pd.put("storeName", getSysUser().getDept().getDeptName());
+        }
+        pd.put("storeId", getSysUser().getDeptId());//这里系统先自动获取系统所登录的门店
+        pd.put("creator", getSysUser().getLoginName());//创建人
+        pd.put("createTime", DateUtils.getTime());//创建时间
+        pd.put("archiveCreator", getSysUser().getLoginName());//档案创建人
+        pd.put("archiveCompleteStatus", 0);//档案是否完善 1已完善 0未完善
+        pd.put("realNameStatus", 0);//是否实名 1已经实名 0未实名 待对接服务校验
+      int result =  daoSupport.update("PharmaceuticalServiceMapper.insertArchiveRecord", pd);
+
+      if(result>0){
+          PageData pageData = (PageData) daoSupport.findForObject("PharmaceuticalServiceMapper.slectPatientByNameAndPhone", pd);
+          if(StringUtils.isNotNull(pageData)){
+              PageData pd1=new PageData();
+              pd1.put("patientName",pd.get("name"));
+              pd1.put("patientPhone",pd.get("phoneNumber"));
+              pd1.put("age",pd.get("age"));
+              pd1.put("gender",pd.get("gender"));
+              PageData pageData1 = (PageData) daoSupport.findForObject("DTPCFDJMapper.selectCFOneByNameAndPhone", pd1);
+              if(StringUtils.isNotNull(pageData1)){
+                  pd1.put("id",pageData1.get("id"));
+                  int result2 =  daoSupport.update("DTPCFDJMapper.updateXSCFHZXXById", pd1);
+                  System.err.println("result2:修改销售处方的患者结果:"+result2);
+              }
+              pageData.put("result","200");
+              pageData.put("msg","新建成功");
+              return pageData;
+          }
+      }else{
+          pd.put("result","301");
+          pd.put("msg","新建失败");
+          return pd;
+      }
+        pd.put("result","301");
+        pd.put("msg","新建失败");
+        return pd;
+    }
 }

+ 27 - 1
health-system/src/main/resources/mapper/mdyy/DTPCFDJMapper.xml

@@ -3,7 +3,12 @@
         PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
         "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
 <mapper namespace="DTPCFDJMapper">
-
+    <!-- 根据patientName patientPhone -->
+    <select id="selectCFOneByNameAndPhone" parameterType="pd" resultType="pd">
+        SELECT * FROM s_dtp_prescription_registration
+        WHERE patientName = #{patientName}
+          AND patientPhone  =#{patientPhone}
+    </select>
     <!-- 查询 先登记后销售的处方信息-->
     <select id="selectPrescriptionRegistration" parameterType="pd" resultType="pd">
         SELECT
@@ -179,6 +184,25 @@
         </if>
     </select>
 
+    <!-- 更新销售记录的患者信息记录 -->
+    <update id="updateXSCFHZXXById" parameterType="pd">
+        update s_dtp_prescription_registration
+        <trim prefix="SET " suffix="" prefixOverrides="," suffixOverrides=",">
+            <if test="patientName != null and patientName != ''">
+                patientName = #{patientName},
+            </if>
+            <if test="patientPhone != null and patientPhone != ''">
+                patientPhone = #{patientPhone},
+            </if>
+            <if test="gender != null">
+                gender = #{gender},
+            </if>
+            <if test="age != null">
+                age = #{age},
+            </if>
+        </trim>
+            where id = #{id}
+    </update>
     <!-- 根据patientId查询单条记录 -->
     <select id="selectOneByPatientId" parameterType="pd" resultType="pd">
         SELECT *
@@ -683,6 +707,7 @@
     <insert id="batchAddDrugPurchaseRecordNew" parameterType="pd">
         INSERT INTO s_dtp_drug_purchase_record (
         <trim prefix="" suffix="" prefixOverrides="," suffixOverrides=",">
+            <if test="patientId != null or patientId != ''">patientId,</if>
             <if test="mdmCode != null or mdmCode != ''">mdmCode,</if>
             <if test="productName != null or productName != ''">productName,</if>
             <if test="genericName != null or genericName != ''">genericName,</if>
@@ -719,6 +744,7 @@
         )
         VALUES (
         <trim prefix="" suffix="" prefixOverrides="," suffixOverrides=",">
+            <if test="patientId != null or patientId != ''">#{patientId},</if>
             <if test="mdmCode != null or mdmCode != ''">#{mdmCode},</if>
             <if test="productName != null or productName != ''">#{productName},</if>
             <if test="genericName != null or genericName != ''">#{genericName},</if>

+ 91 - 7
health-system/src/main/resources/mapper/pmServiceMapper/PharmaceuticalServiceMapper.xml

@@ -55,17 +55,99 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
 		<if test="id !=null and id !='' ">
 			and id = #{id}
 		</if>
+<!--		<if test="query!= null and query!=''">-->
+<!--			and name LIKE CONCAT('%', #{query}, '%') or phoneNumber=#{query} or id=#{query}-->
+<!--		</if>-->
+		<if test="nameQuery!= null and nameQuery!=''">
+			and name LIKE CONCAT('%', #{query}, '%') or phoneNumber=#{query} or id=#{query}
+		</if>
+	</select>
+
+	<!--档案查询所有患者和关联的购药信息-->
+	<select id="selectArchivesListLinkDrugs" parameterType="pd" resultType="pd">
+		select
+		    h.id as id,
+		    h.name,
+		    h.gender,
+		    h.age,
+		    h.phoneNumber,
+		    h.documentNumber,
+		    h.documentType,
+		    h.idCardImg,
+		    h.landlineNumber,
+		    h.createTime,
+		    h.archiveCreator,
+		    h.archiveCompleter,
+		    h.creator,
+		    h.followUpPerson,
+		    h.followUpStatus,
+		    h.acceptFollowUp,
+		    h.archiveCompleteStatus,
+		    h.charityAssistance,
+		    h.storeName,
+		    h.disease,
+		    h.flipStatus,
+		    h.joinProject,
+		    h.documentType,
+		    h.realNameStatus,
+		    h.archiveCompleter,
+
+		    d.id as drugId,
+		    d.drugsLinkId,
+		    d.mdmCode,
+		    d.productName,
+		    d.genericName,
+		    d.specification,
+		    d.manufacturerShortName,
+		    DATE_FORMAT(h.updateTime, '%Y-%m-%d %H:%i:%s') AS updateTime2
+		from s_dtp_ysfw_archive_management h left join s_dtp_drug_purchase_record d on h.id=d.patientId where 1=1
+
+		<if test="mdmCode!= null and mdmCode!=''">
+			and d.mdmCode=#{mdmCode}
+		</if>
+		<if test="productName!= null and productName!=''">
+			and d.productName=#{productName}
+		</if>
+		<if test="genericName!= null and genericName!=''">
+			and d.genericName=#{genericName}
+		</if>
+		<if test="query!= null and query!=''">
+			and d.mdmCode LIKE CONCAT('%', #{query}, '%') or d.productName=#{query} or d.genericName=#{query}
+		</if>
+		<if test="gender!= null and gender!=''">
+			and h.gender=#{gender}
+		</if>
+		<if test="name!= null and name!=''">
+			and h.name=#{name}
+		</if>
+		<if test="storeName!= null and storeName!=''">
+			and h.storeName=#{storeName}
+		</if>
 
+		<if test="flipStatus!= null and flipStatus!=''">
+			and h.flipStatus=#{flipStatus}
+		</if>
+		<if test="nameQuery!= null and nameQuery!=''">
+			and h.name LIKE CONCAT('%', #{nameQuery}, '%') or h.phoneNumber=#{nameQuery} or h.id=#{nameQuery}
+		</if>
+		<if test="id!= null and id!=''">
+			and h.id=#{id}
+		</if>
+		order by h.id desc
 	</select>
+
+
+
+
 	<!-- 检查患者是否存在name LIKE CONCAT('%', #{name}, '%') -->
 	<select id="checkPatientIsExist" parameterType="pd" resultType="pd">
-		select name,phoneNumber from s_dtp_ysfw_archive_management where 1=1
+		select name,phoneNumber,documentNumber from s_dtp_ysfw_archive_management where 1=1
 		<if test="name!= null and name!=''">
 			and name =#{name}
 		</if>
-		<if test="documentNumber!= null and documentNumber!=''">
-			and documentNumber=#{documentNumber}
-		</if>
+<!--		<if test="documentNumber!= null and documentNumber!=''">-->
+<!--			and documentNumber=#{documentNumber}-->
+<!--		</if>-->
 		<if test="phoneNumber!= null and phoneNumber!=''">
 			and phoneNumber=#{phoneNumber}
 		</if>
@@ -73,7 +155,9 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
 	<select id="slectPatientByNameOrPhone" parameterType="pd" resultType="pd">
 	select * from s_dtp_ysfw_archive_management where  1=1  AND  name LIKE CONCAT('%', #{query}, '%') or phoneNumber=#{query}
 	</select>
-
+	<select id="slectPatientByNameAndPhone" parameterType="pd" resultType="pd">
+		select * from s_dtp_ysfw_archive_management where  1=1  AND  name  =#{name} and  phoneNumber=#{phoneNumber}
+	</select>
 	<select id="slectPatientByNameOrPhoneOrIdCard" parameterType="pd" resultType="pd">
 		select * from s_dtp_ysfw_archive_management where  1=1  AND name LIKE CONCAT('%', #{query}, '%') or phoneNumber=#{query} or id=#{query} or documentNumber=#{query}
 	</select>
@@ -495,8 +579,8 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
 	<delete id="archivesRemove" parameterType="pd">
 		<if test="ids != null">
 			delete from s_dtp_ysfw_archive_management where
-			<if test="ids != null">
-				id in(#{ids})
+			<if test="ids != null and ids!=''">
+				id in(${ids})
 			</if>
 		</if>
 	</delete>

+ 9 - 4
health-system/src/main/resources/mapper/spgl/TypeDateMapper.xml

@@ -3,10 +3,10 @@
 <mapper namespace="TypeDateMapper" >
     <!-- 通用查询映射结果 -->
     <select id="typeDate" parameterType="pd" resultType="pd">
-        select type as id,categoryName
+        select dict_key,id,categoryName
         from s_gxhpz_zd_attributecategory
         where 1=1
-            and dict_key = '0'
+            and dict_key in ('1', '2', '3', '4', '5', '6')
     </select>
     <select id="typeDate2" parameterType="pd" resultType="pd">
         select id as ida,categoryName as categoryNamea
@@ -18,11 +18,16 @@
 
     <!-- 通用查询ICD11映射结果 -->
     <select id="getICD11_Date" parameterType="pd" resultType="pd">
-        select type as id,categoryName
+        select *
         from s_gxhpz_zd_icd11
         where 1=1
-          and dict_key = 'ICD11'
+          and dict_key != 'ICD11'
+        <if test="query != null and query != ''">
+            and id = #{query}  or  categoryName LIKE CONCAT('%', #{query}, '%')
+        </if>
+        limit 100
     </select>
+
     <select id="getICD11_Date2" parameterType="pd" resultType="pd">
         select id as ida,categoryName as categoryNamea
         from s_gxhpz_zd_icd11

Vissa filer visades inte eftersom för många filer har ändrats