Przeglądaj źródła

add + update 档案管 新增 + 修改

bzd_lxf 4 miesięcy temu
rodzic
commit
e1360f5f08

+ 9 - 22
health-admin/src/main/java/com/bzd/web/controller/dtp/PharmaceuticalServiceController.java

@@ -133,7 +133,7 @@ public class PharmaceuticalServiceController extends BaseController {
         PageData pd = this.getPageData();
         pd.put("id", Id);
         PageData pageData = pharmaceuticalService.findArchivesList(pd).get(0);
-        Object updatePatientBasicInfo =  pharmaceuticalService.findBasicInfoById(pd);
+        /*Object updatePatientBasicInfo =  pharmaceuticalService.findBasicInfoById(pd);
         if(StringUtils.isNotNull(updatePatientBasicInfo)){
             PageData BasicpageData = (PageData) updatePatientBasicInfo;
             mmap.putAll(BasicpageData);
@@ -144,7 +144,13 @@ public class PharmaceuticalServiceController extends BaseController {
             mmap.put("historyData",history);
             List<PageData>  contacts =  pharmaceuticalService.findcontactsByarchiveId(pd);
             mmap.put("contactsData",contacts);
-        }
+        }*/
+        pd.put("archiveId", Id);
+        List<PageData>  records =pharmaceuticalService.findrecordsByarchiveId(pd);
+        mmap.put("recordsData",records);
+        mmap.put("dl",pageData.get("dl"));
+        mmap.put("xl",pageData.get("xl"));
+
         mmap.putAll(pageData);
         return prefix_archives + "/archivesEdit";
     }
@@ -321,26 +327,7 @@ public class PharmaceuticalServiceController extends BaseController {
         PageData pd = this.getPageData();
         pd.put("up", "up");
         try {
-            Object insuranceValue = pd.get("insuranceValue");
-            if(insuranceValue != null && !pd.get("insuranceValue").toString().isEmpty()){
-                String insuranceValueStr=   pd.get("insuranceValue").toString();
-                pd.put("insurance",insuranceValueStr);
-            }
-            Object dietaryPreferenceValue = pd.get("dietaryPreferenceValue");
-            if(dietaryPreferenceValue != null && !pd.get("dietaryPreferenceValue").toString().isEmpty()){
-                String insuranceValueStr=   pd.get("dietaryPreferenceValue").toString();
-                pd.put("dietaryPreference",insuranceValueStr);
-            }
-            Object sleepConditionValue = pd.get("sleepConditionValue");
-            if(sleepConditionValue != null && !pd.get("sleepConditionValue").toString().isEmpty()){
-                String sleepConditionValueStr=   pd.get("sleepConditionValue").toString();
-                pd.put("sleepCondition",sleepConditionValueStr);
-            }
-            Object caregiverValue = pd.get("caregiverValue");
-            if(caregiverValue != null &&  !pd.get("caregiverValue").toString().isEmpty()){
-                String caregiverValueStr=   pd.get("caregiverValue").toString();
-                pd.put("caregiver",caregiverValueStr);
-            }
+
             Integer updateResult = pharmaceuticalService.updateArchives(pd);
 
             if (updateResult == 1) {

+ 130 - 1
health-admin/src/main/resources/templates/dtp/archives/archivesAdd.html

@@ -2,6 +2,8 @@
 <html lang="zh" xmlns:th="http://www.thymeleaf.org" >
 <head>
     <th:block th:include="include :: header('新建档案')" />
+
+    <th:block th:include="include :: select2-css" />
 </head>
 <style>
     .ibox {
@@ -109,7 +111,7 @@
             </div>
             <div class="customize-form-group">
                 <label class="col-sm-1 control-label">配送地址:</label>
-                <input name="creator" placeholder="配送地址"  id="creator" class="styled-input" type="text">
+                <input name="addr" placeholder="配送地址"  id="addr" class="styled-input" type="text">
             </div>
 
             <!--<div class="customize-form-group">
@@ -139,6 +141,22 @@
                 <label class="col-sm-1 control-label">建档人:</label>
                     <input name="creator" placeholder="建档人"  id="creator" 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-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>
 </div>
@@ -198,7 +216,94 @@
             var day = ('0' + date.getDate()).slice(-2);
             return `${year}-${month}-${day}`;
         }
+        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();
+            }
+        });
+
+        // 发送 AJAX 请求获取疾病大类数据
+        $.ajax({
+            url: ctx + 'sp/sp/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);
+            }
+        });
+
+        // 初始化子类别下拉框
+        $('#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()) {
@@ -223,6 +328,30 @@
 
     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);
+        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);

+ 214 - 232
health-admin/src/main/resources/templates/dtp/archives/archivesEdit.html

@@ -255,7 +255,7 @@
                                              </div>
                                              <div class="customize-form-group">
                                                  <label class="col-sm-1 control-label">配送地址:</label>
-                                                 <input name="creator" placeholder="配送地址"  id="creator" class="styled-input edit_inputs" type="text" th:value="${creator}">
+                                                 <input name="addr" placeholder="配送地址"  id="addr" class="styled-input edit_inputs" type="text" th:value="${addr}">
                                                  <span class="span_line" readonly></span>
                                              </div>
                                              <div class="customize-form-group">
@@ -268,6 +268,20 @@
                                                  <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">
+                                                     <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>
+                                                     </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>
+                                                     </select>
+                                                     <span class="span_line" readonly></span>
+                                                 </div>
                                          </div>
                                      </div>
                                  </div>
@@ -299,28 +313,28 @@
                                             </div>
                                             <div class="customize-form-group edit">
                                                 <label>腰围:</label>
-                                                <input name="weight" id="waist" placeholder="请输入腰围" class="styled-input edit_inputs" type="number"  th:value="${w}">
+                                                <input name="waist" id="waist" placeholder="请输入腰围" class="styled-input edit_inputs" type="number"  th:value="${waist}">
                                                 <span class="status">
                                                     cm
                                                 </span>
                                             </div>
                                             <div class="customize-form-group edit">
                                                 <label>臀围:</label>
-                                                <input name="weight" id="hip" placeholder="请输入臀围" class="styled-input edit_inputs" type="number"  th:value="${t}">
+                                                <input name="hip" id="hip" placeholder="请输入臀围" class="styled-input edit_inputs" type="number"  th:value="${hip}">
                                                 <span class="status">
                                                     cm
                                                 </span>
                                             </div>
                                             <div class="customize-form-group edit">
                                                 <label>血压:</label>
-                                                <input name="bloodPressure" id="bloodPressure" placeholder="请输入血压" class="styled-input edit_inputs" type="number"  th:value="${t}">
+                                                <input name="bloodPressure" id="bloodPressure" placeholder="请输入血压" class="styled-input edit_inputs" type="number"  th:value="${bloodPressure}">
                                                 <span class="status">
                                                     mmHg
                                                 </span>
                                             </div>
                                             <div class="customize-form-group edit">
                                                 <label>血糖:</label>
-                                                <input name="bloodSugar" id="bloodSugar" placeholder="请输入血糖" class="styled-input edit_inputs" type="number"  th:value="${t}">
+                                                <input name="bloodSugar" id="bloodSugar" placeholder="请输入血糖" class="styled-input edit_inputs" type="number"  th:value="${bloodSugar}">
                                                 <span class="status">
                                                     mmol/L
                                                 </span>
@@ -528,44 +542,38 @@
                                             <!--is-required 增加星号 显示为必填-->
                                             <div class="customize-form-group edit">
                                                 <label>肿瘤TNM分期:</label>
-                                                <select name="businessBelonging"  class="styled-input edit_inputs">
+                                                <select name="businessBelonging"  class="styled-input edit_inputs" th:with="type=${@dict.getType('sys_zlfq')}">
                                                     <option value="">请选择</option>
-                                                    <option value="I期">I期</option>
-                                                    <option value="II期">II期</option>
-                                                    <option value="III期">III期</option>
-                                                    <option value="IV期">IV期</option>
+                                                    <option th:each="dict : ${type}" th:text="${dict.dictLabel}" th:value="${dict.dictLabel}"
+                                                            th:selected="${dict.dictLabel}==${businessBelonging}"></option>
+
                                                 </select>
                                                 <span class="status"></span>
                                             </div>
                                             <div class="customize-form-group edit">
                                                 <label>肿瘤疾病分期:</label>
-                                                <select name="pathologicalStage" class="styled-input edit_inputs" th:with="type=${@dict.getType('sys_select_dtp_ysfw_blfq')}" required>
+                                                <select name="zlfq" class="styled-input edit_inputs" th:with="type=${@dict.getType('sys_select_dtp_ysfw_blfq')}" required>
                                                     <option value="">请选择</option>
                                                     <option th:each="dict : ${type}" th:text="${dict.dictLabel}" th:value="${dict.dictLabel}"
-                                                            th:selected="${dict.dictLabel}==${pathologicalStage}"></option>
+                                                            th:selected="${dict.dictLabel}==${zlfq}"></option>
                                                 </select>
                                                 <span class="status"></span>
                                             </div>
                                             <div class="customize-form-group edit">
                                                 <label>基因突变:</label><!-- 需要配置选择的值-->
-                                                <select name="pathologicalStage" class="styled-input edit_inputs" th:with="type=${@dict.getType('sys_jy_type')}" required>
+                                                <select name="jytb" class="styled-input edit_inputs" th:with="type=${@dict.getType('sys_jy_type')}" required>
                                                     <option value="">请选择</option>
                                                     <option th:each="dict : ${type}" th:text="${dict.dictLabel}" th:value="${dict.dictLabel}"
-                                                            th:selected="${dict.dictLabel}==${pathologicalStage}"></option>
+                                                            th:selected="${dict.dictLabel}==${jytb}"></option>
                                                 </select>
                                                 <span class="status"></span>
                                             </div>
                                             <div class="customize-form-group edit">
                                                 <label>分子分型监测:</label>
-                                                <select name="diseaseType"  class="styled-input edit_inputs">
-                                                    <option value="">请选择</option><!--未监测/LUMINAL A\LUMINAL B\HER2阴性\LUMINAL B\HER2阳性\HER2过表达\三阴性-->
-                                                    <option value="未监测">未监测</option>
-                                                    <option value="LUMINAL A">LUMINAL A</option>
-                                                    <option value="LUMINAL B">LUMINAL B</option>
-                                                    <option value="HER2阴性">HER2阴性</option>
-                                                    <option value="HER2阳性">HER2阳性</option>
-                                                    <option value="HER2过表达">HER2过表达</option>
-                                                    <option value="三阴性">三阴性</option>
+                                                <select name="fzjc"  class="styled-input edit_inputs" th:with="type=${@dict.getType('sys_fzjc')}" required>
+                                                    <option value="">请选择</option>
+                                                    <option th:each="dict : ${type}" th:text="${dict.dictLabel}" th:value="${dict.dictLabel}"
+                                                            th:selected="${dict.dictLabel}==${fzjc}"></option>
                                                 </select>
                                                 <span class="status"></span>
                                             </div>
@@ -580,11 +588,10 @@
                                             </div>-->
                                             <div class="customize-form-group edit">
                                                 <label>PD-L1表达:</label>
-                                                <select name="businessBelonging"  class="styled-input edit_inputs">
+                                                <select name="pdl1"  class="styled-input edit_inputs" th:with="type=${@dict.getType('sys_pdl1')}" required>
                                                     <option value="">请选择</option>
-                                                    <option value="未检测">未检测</option>
-                                                    <option value="有表达">有表达</option>
-                                                    <option value="无表达">无表达</option>
+                                                    <option th:each="dict : ${type}" th:text="${dict.dictLabel}" th:value="${dict.dictLabel}"
+                                                            th:selected="${dict.dictLabel}==${pdl1}"></option>
                                                 </select>
                                                 <span class="status"></span>
                                             </div>
@@ -595,15 +602,10 @@
                                             </div>-->
                                             <div class="customize-form-group edit">
                                                 <label>治疗手段:</label><!-- 值配置到字典-->
-                                                <select name="businessBelonging"  class="styled-input edit_inputs">
-                                                    <<option value="">请选择</option>
-                                                    <option value="无">无</option>
-                                                    <option value="手术">手术</option>
-                                                    <option value="放疗">放疗</option>
-                                                    <option value="化疗">化疗</option>
-                                                    <option value="内分泌治疗">内分泌治疗</option>
-                                                    <option value="靶向治疗">靶向治疗</option>
-                                                    <option value="免疫治疗">免疫治疗</option>
+                                                <select name="zlsd"  class="styled-input edit_inputs" th:with="type=${@dict.getType('sys_zlsd')}" required>
+                                                    <option value="">请选择</option>
+                                                    <option th:each="dict : ${type}" th:text="${dict.dictLabel}" th:value="${dict.dictLabel}"
+                                                            th:selected="${dict.dictLabel}==${zlsd}"></option>
                                                 </select>
                                                 <span class="status"></span>
                                             </div>
@@ -647,20 +649,20 @@
                                        <div class="customize-search-form">
                                            <div class="customize-form-group edit">
                                                <label>糖尿病:</label>
-                                               <input name="contactName" placeholder="临床症状"  id="t1" class="styled-input edit_inputs" type="text" >
-                                               <input name="contactName" placeholder="合并症"  id="t11" class="styled-input edit_inputs" type="text" >
+                                               <input name="tnb" placeholder="临床症状"  id="tnb" class="styled-input edit_inputs" type="text"  th:value="${tnb}">
+                                               <input name="tnbhbz" placeholder="合并症"  id="tnbhbz" class="styled-input edit_inputs" type="text"  th:value="${tnbhbz}">
                                                <span class="status"></span>
                                            </div>
                                            <div class="customize-form-group edit">
                                                <label>高血压:</label>
-                                               <input name="contactName" placeholder="临床症状"  id="t2" class="styled-input edit_inputs" type="text" >
-                                               <input name="contactName" placeholder="合并症"  id="t21" class="styled-input edit_inputs" type="text" >
+                                               <input name="gxy" placeholder="临床症状"  id="gxy" class="styled-input edit_inputs" type="text"  th:value="${gxy}">
+                                               <input name="gxyhbz" placeholder="合并症"  id="gxyhbz" class="styled-input edit_inputs" type="text"  th:value="${gxyhbz}">
                                                <span class="status"></span>
                                            </div>
                                            <div class="customize-form-group edit">
                                                <label>高血脂症:</label>
-                                               <input name="contactName" placeholder="临床症状"  id="t3" class="styled-input edit_inputs" type="text" >
-                                               <input name="contactName" placeholder="合并症"  id="t31" class="styled-input edit_inputs" type="text" >
+                                               <input name="gxz" placeholder="临床症状"  id="gxz" class="styled-input edit_inputs" type="text"  th:value="${gxz}">
+                                               <input name="gxzhbz" placeholder="合并症"  id="gxzhbz" class="styled-input edit_inputs" type="text"  th:value="${gxzhbz}">
                                                <span class="status"></span>
                                            </div>
                                        </div>
@@ -1060,6 +1062,141 @@
     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();
+            }
+        });
+
+        // 发送 AJAX 请求获取疾病大类数据
+        $.ajax({
+            url: ctx + 'sp/sp/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);
+
+                });
+                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 数组
+
+                        // 设置默认选中的 dl 选项
+                        options.val(xlIds).trigger('change');
+                        // 设置默认选中的 xl 选项
+                        $('#subcategory-select').val(xlIds).trigger('change');
+                    }
+                });
+
+                // 重新初始化 Select2 以反映新的选项
+                options.trigger('change');
+            },
+            error: function(xhr, status, error) {
+                console.error("Failed to load subcategories:", error);
+            }
+        });
+    }
     function unbound() {
         $.modal.confirm("请确认是否解除当前患者档案与患者小程序账号的绑定关系?解绑后无法撤销,请谨慎操作", function() {
             var id = $("#id").val();
@@ -1091,200 +1228,45 @@
         unboundLink.hide();
     }
     function submitHandler() {
-        if(formSubmitted===true){
-            //表单 基本信息
-            // 获取选中的值
-            var selectedValues = $('#insurance').val();
-            if (selectedValues) {
-                // 将选中的值合并成一个字符串
-                var combinedValue = selectedValues.join(',');
-                // 设置隐藏字段的值
-                $('#insuranceValue').val(combinedValue);
-            } else {
-                // 如果没有选中任何值,设置为空字符串
-                $('#insuranceValue').val('');
-            }
-            if ($.validate.form("form-server-edit1")) {
-                var data = $("#form-server-edit1").serializeArray();
-                // 遍历 data 数组,查找 realNameStatus flipStatus 字段
-                var realNameStatus = null;
-                var flipStatus = null;
-                for (var i = 0; i < data.length; i++) {
-                    if (data[i].name === 'realNameStatus') {
-                        realNameStatus = data[i].value;
-                        break;
-                    }
-                }
-                for (var i = 0; i < data.length; i++) {
-                    if (data[i].name === 'flipStatus') {
-                        flipStatus = data[i].value;
-                        break;
-                    }
-                }
-                // 判断 flipStatus 的值
-                if (flipStatus === '已上翻') {
-                    flipStatus = 1;
-                    // 更新 data 数组中的 realNameStatus 值
-                    for (var i = 0; i < data.length; i++) {
-                        if (data[i].name === 'flipStatus') {
-                            data[i].value = flipStatus;
-                            break;
-                        }
-                    }
-                }
-                if (flipStatus === '未上翻') {
-                    flipStatus = 2;
-                    // 更新 data 数组中的 flipStatus 值
-                    for (var i = 0; i < data.length; i++) {
-                        if (data[i].name === 'flipStatus') {
-                            data[i].value = flipStatus;
-                            break;
-                        }
-                    }
-                }
-                // 判断 realNameStatus 的值
-                if (realNameStatus === '未实名') {
-                    realNameStatus = 0;
-                    // 更新 data 数组中的 realNameStatus 值
-                    for (var i = 0; i < data.length; i++) {
-                        if (data[i].name === 'realNameStatus') {
-                            data[i].value = realNameStatus;
-                            break;
-                        }
-                    }
-                }
-                if (realNameStatus === '已实名') {
-                    realNameStatus = 1;
-                    // 更新 data 数组中的 realNameStatus 值
-                    for (var i = 0; i < data.length; i++) {
-                        if (data[i].name === 'realNameStatus') {
-                            data[i].value = realNameStatus;
-                            break;
-                        }
-                    }
-                }
-                console.log(data)
-                $.operate.saveTab(prefix + "/archivesEdit", data);
-            }
-        } if(formSubmitted===false){
-            //表单  基础信息
-            //获取基本信息表单
-            var formData = new FormData(document.getElementById('form-server-edit1'));
-            // 获取需要禁用的字段
-            var hiddenDiv = document.getElementById('tab-1');
-            var inputsToDisable = hiddenDiv.querySelectorAll('input[name^="hiddenInput"]');
-            // 遍历并从FormData中删除这些字段
-            inputsToDisable.forEach(function(input) {
-                formData.delete(input.name);
-            });
-
-            var selectedInsurances = []; // 保险
-            var selectedSleepCondition = []; //睡眠状况
-            var selectedDietaryPreference = []; // 饮食偏好
-            var selectedCaregiver = []; // 陪护人
-            $('input[name="insurance2"]:checked').each(function() {
-                selectedInsurances.push($(this).val());
-            });
-            $('input[name="sleepCondition"]:checked').each(function() {
-                selectedSleepCondition.push($(this).val());
-            });
-            $('input[name="dietaryPreference"]:checked').each(function() {
-                selectedDietaryPreference.push($(this).val());
-            });
-            $('input[name="caregiver"]:checked').each(function() {
-                selectedCaregiver.push($(this).val());
-            });
+        //表单 基本信息
+        var data = $("#form-server-edit").serializeArray();
+        const tableBody2 = document.getElementById('yyqkTableBody');
+        const rows2 = tableBody2.getElementsByTagName('tr');
 
-            if (selectedInsurances.length === 0) {
-                $('#insurance-error').show();
-                return false;
-            } else {
-                $('#insurance-error').hide();
-            }
-            if ($.validate.form("form-server-edit")) {
-                var data = $("#form-server-edit").serializeArray();
-                // 获取 textarea 的值
-                var textareaValue = document.getElementById('multipleTreatmentReasonsDescription').value;
-                data.push({name:"multipleTreatmentReasonsDescription",value:textareaValue})
 
-                data.push({name:"insuranceValue",value:selectedInsurances.join(',')})
-                data.push({name:"dietaryPreferenceValue",value:selectedDietaryPreference.join(',')})
-                data.push({name:"sleepConditionValue",value:selectedSleepCondition.join(',')})
-                data.push({name:"caregiverValue",value:selectedCaregiver.join(',')})
-
-                // 遍历 data 数组,查找 realNameStatus flipStatus 字段
-                var realNameStatus = null;
-                for (var i = 0; i < data.length; i++) {
-                    if (data[i].name === 'realNameStatus') {
-                        realNameStatus = data[i].value;
-                    }
-                }
-                const tableBody1 = document.getElementById('familyHistoryTableBody');
-                const rows1 = tableBody1.getElementsByTagName('tr');
-                const tableBody2 = document.getElementById('yyqkTableBody');
-                const rows2 = tableBody2.getElementsByTagName('tr');
-                const tableBody3 = document.getElementById('relationTableBody');
-                const rows3 = tableBody3.getElementsByTagName('tr');
-                if (rows1.length > 0) {
-                    const rowshbs = [];//患病史table
-                    $('#familyHistoryTableBody tr').each(function () {
-                        const row = {
-                            archiveId:  $("#id").val(),
-                            disease: $(this).find('td:eq(1)').text(),
-                            member: $(this).find('td:eq(2)').text(),
-                        };
-                        rowshbs.push(row);
-                    });
-                    data.push({name:"rowshbs",value:JSON.stringify(rowshbs)})
-                }
-                if (rows2.length > 0) {
-                    const rowsRcords = [];//用药情况table
-                    $('#yyqkTableBody tr').each(function () {
-                        const row = {
-                            archiveId:  $("#id").val(),
-                            medicationDescription: $(this).find('td:eq(1)').text(),
-                            medicationType: $(this).find('td:eq(2)').text(),
-                        };
-                        rowsRcords.push(row);
-                    });
-                    data.push({name:"rowsRcords",value:JSON.stringify(rowsRcords)})
-                }
-                if (rows3.length > 0) {
-                    const rowslxr = [];//联系人table
-                    $('#relationTableBody  tr').each(function () {
-                        const row = {
-                            archiveId:  $("#id").val(),
-                            contactPhone: $(this).find('td:eq(1)').text(),
-                            contactName: $(this).find('td:eq(2)').text(),
-                            contactRelationship: $(this).find('td:eq(3)').text()
-                        };
-                        rowslxr.push(row);
-                    });
-                    data.push({name:"rowslxr",value:JSON.stringify(rowslxr)})
-                }
-
-
-                $.operate.saveTab(prefix + "/archivesEdit", data);
-            }
-            console.log("tab-1="+formSubmitted) // 阻止表单提交
-        }else{
-            console.log("当前在基本信息页面formSubmitted="+formSubmitted) // 阻止表单提交
+        if (rows2.length > 0) {
+            const rowsRcords = [];//用药情况table
+            $('#yyqkTableBody tr').each(function () {
+                const row = {
+                    archiveId:  $("#id").val(),
+                    medicationDescription: $(this).find('td:eq(1)').text(),
+                    medicationType: $(this).find('td:eq(2)').text(),
+                };
+                rowsRcords.push(row);
+            });
+            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: "风湿免疫疾病名称库" }]
+        const DL = JSON.stringify(selectedDataDL);
+        const XL = JSON.stringify(selectedDataXL);
+        data.push({name: "dl", value: DL});
+        data.push({name: "xl", value: XL});
+        $.operate.saveTab(prefix + "/archivesEdit", data);
     }
-        $('#weight').on('blur', function() {
-            var inputValue1 = $('#weight').val().trim();
-            var inputValue2 = $('#height').val().trim();
-            var result = calculateBMI( inputValue2, inputValue1); // 身高1.75m 体重70kg,
-            // 显示输入框的值
-            $('#BMI').val(result);
-        });
-        $('#height').on('blur', function() {
-            var inputValue1 = $('#weight').val().trim();
-            var inputValue2 = $('#height').val().trim();
-            var result = calculateBMI(inputValue2,  inputValue1); // 身高1.75m 体重70kg,
-            // 显示输入框的值
-            $('#BMI').val(result);
-        });
+
         $('#weightw').on('blur', function() {
             var inputValuew = $('#weightw').val().trim();
             var inputValueh = $('#heighth').val().trim();

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

@@ -123,7 +123,7 @@
 						checkbox: true
 					},
 					{field: 'id', title: 'id', align: 'center',visible: false},
-					{field: 'name', title: '姓名', align: 'center'},
+					{field: 'name', title: '姓名', align: 'center',sortable:true},
 					{field: 'gender', title: '性别', align: 'center',
 					formatter: function(value, row, index) {
 						switch (value) {
@@ -140,7 +140,7 @@
 				{field: 'age', title: '年龄', align: 'center'},
 				{field: 'phoneNumber', title: '手机号', align: 'center'},
 				{field: 'documentType', title: '证件类型', align: 'center'},
-				{field: 'documentNumber', title: '证件号码', align: 'center'},
+				{field: 'documentNumber', title: '证件号码', align: 'center',sortable:true},
 				{field: 'realNameStatus', title: '实名状态', align: 'center'},
 				{field: 'flipStatus', title: '上翻状态', align: 'center'},
 				{field: 'disease', title: '疾病', align: 'center'},
@@ -157,7 +157,7 @@
 				{field: 'charityAssistance', title: '有无慈善援助', align: 'center'},
 				{field: 'joinProject', title: '是否参加共建项目', align: 'center'},
 				{field: 'followUpStatus', title: '随访状态', align: 'center'},
-				{field: 'updateTime2', title: '更新时间', align: 'center'},
+				{field: 'updateTime2', title: '更新时间', align: 'center',sortable:true},
 				/*{
 		        	formatter: function (value, row, index) {
 						console.log(value+"-------v");

+ 2 - 2
health-common/src/main/java/com/bzd/common/core/page/PageDomain.java

@@ -30,8 +30,8 @@ public class PageDomain
         {
             return "";
         }
-        return orderByColumn + " " + isAsc;
-        //return StringUtils.toUnderScoreCase(orderByColumn) + " " + isAsc; // 驼峰命名问题
+        //return orderByColumn + " " + isAsc;
+        return StringUtils.toUnderScoreCase(orderByColumn) + " " + isAsc; // 驼峰命名问题
     }
 
     public Integer getPageNum()

+ 21 - 120
health-system/src/main/java/com/bzd/system/service/PharmaceuticalService.java

@@ -73,127 +73,28 @@ public class PharmaceuticalService {
         pd.put("archiveId", pd.get("id"));
         pd.put("createdBy", getSysUser().getLoginName());
         pd.put("createdAt", DateUtils.getTime());
-
-        Object rowshbsObj = pd.get("rowshbs");
+        if(StringUtils.isNotNull(pd.get("realNameStatus"))){
+            pd.remove("realNameStatus");
+        }
         Object rowsRcordsObj = pd.get("rowsRcords");
-        Object rowslxrObj = pd.get("rowslxr");
-        // 检查 basicInformation 完善基础信息部分标识=true 是否为 null
-        Object basicInformation = pd.get("basicInformation");
-        if (basicInformation != null && "true".equals(basicInformation.toString())) {
-          Object updatePatientBasicInfo =  daoSupport.findForObject("PharmaceuticalServiceMapper.selectPatientBasicInfoById", pd);
-          if(StringUtils.isNull(updatePatientBasicInfo)){
-              daoSupport.update("PharmaceuticalServiceMapper.insertPatientBasicInfo", pd);
-              if(StringUtils.isNotNull(rowshbsObj)){
-                  try {
-                      // 将 JSON 字符串转换为 List<Map<String, Object>>
-                      ObjectMapper objectMapper = new ObjectMapper();
-                      List<Map<String, Object>> rowsList = objectMapper.readValue(rowshbsObj.toString(), List.class);
-                      // 遍历列表并调用插入数据接口
-                      for (Map<String, Object> hbs : rowsList) {
-                      pd.put("disease", hbs.get("disease"));
-                      pd.put("member", hbs.get("member"));
-                      daoSupport.update("PharmaceuticalServiceMapper.insertFamilyHistory", pd);
-                      //daoSupport.update("PharmaceuticalServiceMapper.updateFamilyHistory", pd);
-                  }
-              } catch (Exception e) {
-                  e.printStackTrace();
-              }
-              }
-              if(StringUtils.isNotNull(rowsRcordsObj)){
-                  try {
-                      // 将 JSON 字符串转换为 List<Map<String, Object>>
-                      ObjectMapper objectMapper = new ObjectMapper();
-                      List<Map<String, Object>> rowsList = objectMapper.readValue(rowsRcordsObj.toString(), List.class);
-                      // 遍历列表并调用插入数据接口
-                      for (Map<String, Object> Rcords : rowsList) {
-                      pd.put("medicationDescription", Rcords.get("medicationDescription"));
-                      pd.put("medicationType", Rcords.get("medicationType"));
-                      daoSupport.update("PharmaceuticalServiceMapper.insertMedicationRecord", pd);
-                      //daoSupport.update("PharmaceuticalServiceMapper.updateMedicationRecord", pd);
-                      }
-                  } catch (Exception e) {
-                      e.printStackTrace();
-                  }
-              }
-              if(StringUtils.isNotNull(rowslxrObj)){
-                  try {
-                      // 将 JSON 字符串转换为 List<Map<String, Object>>
-                      ObjectMapper objectMapper = new ObjectMapper();
-                      List<Map<String, Object>> rowsList = objectMapper.readValue(rowslxrObj.toString(), List.class);
-                      // 遍历列表并调用插入数据接口
-                      for (Map<String, Object> lxr : rowsList) {
-                          pd.put("contactPhone", lxr.get("contactPhone"));
-                          pd.put("contactName", lxr.get("contactName"));
-                          pd.put("contactRelationship", lxr.get("contactRelationship"));
-                          daoSupport.update("PharmaceuticalServiceMapper.insertContact", pd);
-                          // daoSupport.update("PharmaceuticalServiceMapper.updateContact", pd);
-                      }
-                  } catch (Exception e) {
-                      e.printStackTrace();
-                  }
-
-              }
-          }else {
-                     //有患者基础信息 做修改
-              if(StringUtils.isNotNull(rowshbsObj)){
-                  try {
-                      daoSupport.update("PharmaceuticalServiceMapper.DeleteFamilyHistory", pd);
-                      pd.put("updatedAt", DateUtils.getTime());
-
-                      // 将 JSON 字符串转换为 List<Map<String, Object>>
-                      ObjectMapper objectMapper = new ObjectMapper();
-                      List<Map<String, Object>> rowsList = objectMapper.readValue(rowshbsObj.toString(), List.class);
-                      // 遍历列表并调用插入数据接口
-                      for (Map<String, Object> hbs : rowsList) {
-                          pd.put("disease", hbs.get("disease"));
-                          pd.put("member", hbs.get("member"));
-                          daoSupport.update("PharmaceuticalServiceMapper.insertFamilyHistory", pd);
-                          //daoSupport.update("PharmaceuticalServiceMapper.updateFamilyHistory", pd);
-                      }
-                  } catch (Exception e) {
-                      e.printStackTrace();
-                  }
-              }
-              if(StringUtils.isNotNull(rowsRcordsObj)){
-                  try {
-                      daoSupport.update("PharmaceuticalServiceMapper.DeleteMedicationRecord", pd);
-                      // 将 JSON 字符串转换为 List<Map<String, Object>>
-                      ObjectMapper objectMapper = new ObjectMapper();
-                      List<Map<String, Object>> rowsList = objectMapper.readValue(rowsRcordsObj.toString(), List.class);
-                      // 遍历列表并调用插入数据接口
-                      for (Map<String, Object> Rcords : rowsList) {
-                          pd.put("medicationDescription", Rcords.get("medicationDescription"));
-                          pd.put("medicationType", Rcords.get("medicationType"));
-                          daoSupport.update("PharmaceuticalServiceMapper.insertMedicationRecord", pd);
-                          //daoSupport.update("PharmaceuticalServiceMapper.updateMedicationRecord", pd);
-                      }
-                  } catch (Exception e) {
-                      e.printStackTrace();
-                  }
-              }
-              if(StringUtils.isNotNull(rowslxrObj)){
-                  try {
-                      daoSupport.update("PharmaceuticalServiceMapper.DeleteContact", pd);
-                      // 将 JSON 字符串转换为 List<Map<String, Object>>
-                      ObjectMapper objectMapper = new ObjectMapper();
-                      List<Map<String, Object>> rowsList = objectMapper.readValue(rowslxrObj.toString(), List.class);
-                      // 遍历列表并调用插入数据接口
-                      for (Map<String, Object> lxr : rowsList) {
-                          pd.put("contactPhone", lxr.get("contactPhone"));
-                          pd.put("contactName", lxr.get("contactName"));
-                          pd.put("contactRelationship", lxr.get("contactRelationship"));
-                          daoSupport.update("PharmaceuticalServiceMapper.insertContact", pd);
-                          // daoSupport.update("PharmaceuticalServiceMapper.updateContact", pd);
-                      }
-                  } catch (Exception e) {
-                      e.printStackTrace();
-                  }
-
-              }
-              pd.put("basicInfoCompleter", getSysUser().getLoginName());
-              pd.put("recordUpdateTimestamp", DateUtils.getTime());
-              daoSupport.update("PharmaceuticalServiceMapper.updatePatientBasicInfo", pd);
-          }
+
+        // 用药情况 直接删除后新增
+        if(StringUtils.isNotNull(rowsRcordsObj)){
+            try {
+                daoSupport.update("PharmaceuticalServiceMapper.DeleteMedicationRecord", pd);
+                // 将 JSON 字符串转换为 List<Map<String, Object>>
+                ObjectMapper objectMapper = new ObjectMapper();
+                List<Map<String, Object>> rowsList = objectMapper.readValue(rowsRcordsObj.toString(), List.class);
+                // 遍历列表并调用插入数据接口
+                for (Map<String, Object> Rcords : rowsList) {
+                    pd.put("medicationDescription", Rcords.get("medicationDescription"));
+                    pd.put("medicationType", Rcords.get("medicationType"));
+                    daoSupport.update("PharmaceuticalServiceMapper.insertMedicationRecord", pd);
+                    //daoSupport.update("PharmaceuticalServiceMapper.updateMedicationRecord", pd);
+                }
+            } catch (Exception e) {
+                e.printStackTrace();
+            }
         }
         pd.put("archiveCreator", getSysUser().getLoginName());//档案更新人
         pd.put("updateTime", DateUtils.getTime());//更新时间

+ 78 - 4
health-system/src/main/resources/mapper/pmServiceMapper/PharmaceuticalServiceMapper.xml

@@ -130,7 +130,10 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
 			<if test="followUpStatus != null">followUpStatus,</if>
 		    <if test="noFlipCause != null and noFlipCause != ''">noFlipCause,</if>
 			<if test="genericName != null and genericName != ''">genericName,</if>
-			<if test="updateTime != null and updateTime != ''">updateTime</if>
+			<if test="updateTime != null and updateTime != ''">updateTime,</if>
+			<if test="dl != null and dl != ''">dl,</if>
+			<if test="xl != null and xl != ''">xl,</if>
+			<if test="addr != null and addr != ''">addr</if>
 		</trim>
 
 		<trim prefix=" VALUES (" suffix=")" prefixOverrides="," suffixOverrides=",">
@@ -178,7 +181,10 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
 			<if test="followUpStatus != null">#{followUpStatus},</if>
 		    <if test="noFlipCause != null and noFlipCause != ''">#{noFlipCause},</if>
 			<if test="genericName != null and genericName != ''">#{genericName},</if>
-			<if test="updateTime != null and updateTime != ''">#{updateTime}</if>
+			<if test="updateTime != null and updateTime != ''">#{updateTime},</if>
+			<if test="dl != null and dl != ''">#{dl},</if>
+			<if test="xl != null and xl != ''">#{xl},</if>
+			<if test="addr != null and addr != ''">#{addr}</if>
 		</trim>
 
 	</insert>
@@ -187,7 +193,7 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
 	<update id="updateArchiveRecord" parameterType="pd">
 		UPDATE s_dtp_ysfw_archive_management
 		SET
-		<if test="realNameStatus != null and realNameStatus != ''">realNameStatus = #{realNameStatus},</if>
+		<if test="realNameStatus != null ">realNameStatus = #{realNameStatus},</if>
 		<if test="gender != null  and gender != ''">gender = #{gender},</if>
 		<if test="age != null and age != ''" >age = #{age},</if>
 		<if test="dateBirth != null and dateBirth != ''">dateBirth = #{dateBirth},</if>
@@ -279,7 +285,7 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
 	<update id="updateArchives" parameterType="pd">
 		update s_dtp_ysfw_archive_management
 		<trim prefix="SET" suffixOverrides="," prefixOverrides=",">
-			<if test="realNameStatus != null">
+			<if test="realNameStatus != null and realNameStatus!=''">
 				realNameStatus = #{realNameStatus},
 			</if>
 			<if test="name != null and name != ''">
@@ -408,6 +414,74 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
 			<if test="genericName != null and genericName != ''">
 				genericName = #{genericName},
 			</if>
+			<if test="waist != null and waist != ''">
+				waist = #{waist},
+			</if>
+			<if test="hip != null and hip != ''">
+				hip = #{hip},
+			</if>
+			<if test="bloodPressure != null and bloodPressure != ''">
+				bloodPressure = #{bloodPressure},
+			</if>
+			<if test="bloodSugar != null and bloodSugar != ''">
+				bloodSugar = #{bloodSugar},
+			</if>
+			<if test="medicalHistory != null and medicalHistory != ''">
+				medicalHistory = #{medicalHistory},
+			</if>
+			<if test="hasSurgicalTraumaHistory != null">
+				hasSurgicalTraumaHistory = #{hasSurgicalTraumaHistory},
+			</if>
+			<if test="infectiousDiseaseHistory != null and infectiousDiseaseHistory != ''">
+				infectiousDiseaseHistory = #{infectiousDiseaseHistory},
+			</if>
+			<if test="allergyHistory != null and allergyHistory != ''">
+				allergyHistory = #{allergyHistory},
+			</if>
+			<if test="businessBelonging != null and businessBelonging != ''">
+				businessBelonging = #{businessBelonging},
+			</if>
+			<if test="zlfq != null and zlfq != ''">
+				zlfq = #{zlfq},
+			</if>
+			<if test="jytb != null and jytb != ''">
+				jytb = #{jytb},
+			</if>
+			<if test="treatmentStage != null and treatmentStage != ''">
+				treatmentStage = #{treatmentStage},
+			</if>
+			<if test="fzjc != null and fzjc != ''">
+				fzjc = #{fzjc},
+			</if>
+			<if test="pdl1 != null and pdl1 != ''">
+				pdl1 = #{pdl1},
+			</if>
+			<if test="zlsd != null and zlsd != ''">
+				zlsd = #{zlsd},
+			</if>
+			<if test="dl != null and dl != ''">dl=#{dl},</if>
+			<if test="xl != null and xl != ''">xl=#{xl},</if>
+			<if test="addr != null and addr != ''">addr=#{addr},</if>
+			<if test="contactName != null and contactName != ''">contactName=#{contactName},</if>
+			<if test="contactPhone != null and contactPhone != ''">contactPhone=#{contactPhone},</if>
+			<if test="tnb != null and tnb != ''">
+				tnb = #{tnb},
+			</if>
+			<if test="tnbhbz != null and tnbhbz != ''">
+				tnbhbz = #{tnbhbz},
+			</if>
+			<if test="gxy != null and gxy != ''">
+				gxy = #{gxy},
+			</if>
+			<if test="gxyhbz != null and gxyhbz != ''">
+				gxyhbz = #{gxyhbz},
+			</if>
+			<if test="gxz != null and gxz != ''">
+				gxz = #{gxz},
+			</if>
+			<if test="gxzhbz != null and gxzhbz != ''">
+				gxzhbz = #{gxzhbz},
+			</if>
 		</trim>
 		where id = #{id}
 	</update>