Преглед на файлове

增加性别年龄限制

hsh преди 1 година
родител
ревизия
9adeaa4020

+ 6 - 0
src/main/java/cn/hnthyy/thmz/entity/his/zd/JcZdItem.java

@@ -42,4 +42,10 @@ public class JcZdItem extends PageBean implements Serializable {
     private String groupCode;
     //执行地址
     private String execAddress;
+    //性别限制 1-男 2-女
+    private Integer genderRestriction;
+    //最小年龄限制
+    private Integer minAgeRestriction;
+    //最大年龄限制
+    private Integer maxAgeRestriction;
 }

+ 15 - 4
src/main/java/cn/hnthyy/thmz/mapper/his/zd/JcZdItemMapper.java

@@ -12,7 +12,9 @@ public interface JcZdItemMapper {
      * @return
      */
     @Select("select rtrim(code) code,name,rtrim(class) class_code,py_code,d_code wb_code,rtrim(del_flag) del_flag,rtrim(exec_unit) exec_unit,rtrim(tj_flag) tj_flag," +
-            "rtrim(zy_flag) zy_flag,zy_order_code,rtrim(mz_flag) mz_flag,mz_code,bw_code,group_code,exec_address from jc_zd_item WITH(NOLOCK) where code=#{code,jdbcType=CHAR}")
+            "rtrim(zy_flag) zy_flag,zy_order_code,rtrim(mz_flag) mz_flag,mz_code,bw_code,group_code,exec_address, " +
+            "gender_restriction, min_age_restriction, max_age_restriction " +
+            "from jc_zd_item WITH(NOLOCK) where code=#{code,jdbcType=CHAR}")
     JcZdItem selectJcZdItemByCode(@Param("code") String code);
 
     /**
@@ -22,7 +24,9 @@ public interface JcZdItemMapper {
      */
     @Select({"<script>",
             "select rtrim(code) code,name,rtrim(class) class_code,py_code,d_code wb_code,rtrim(del_flag) del_flag,rtrim(exec_unit) exec_unit,rtrim(tj_flag) tj_flag," +
-                    "rtrim(zy_flag) zy_flag,zy_order_code,rtrim(mz_flag) mz_flag,mz_code,bw_code,group_code,exec_address from jc_zd_item WITH(NOLOCK) where (del_flag <![CDATA[<>]]>  '1' or del_flag is null )",
+                    "rtrim(zy_flag) zy_flag,zy_order_code,rtrim(mz_flag) mz_flag,mz_code,bw_code,group_code,exec_address, " +
+                    "gender_restriction, min_age_restriction, max_age_restriction" +
+                    " from jc_zd_item WITH(NOLOCK) where (del_flag <![CDATA[<>]]>  '1' or del_flag is null )",
             "<when test='codes!=null'>",
             " and code in",
             "<foreach item='item' index='index' collection='codes' open='(' separator=',' close=')'>",
@@ -41,7 +45,9 @@ public interface JcZdItemMapper {
      */
     @Select({"<script>",
             "SELECT top ${pageSize} rtrim(code) code,name,rtrim(class) class_code,py_code,d_code wb_code,rtrim(del_flag) del_flag,rtrim(exec_unit) exec_unit,rtrim(tj_flag) tj_flag,",
-            "rtrim(zy_flag) zy_flag,zy_order_code,rtrim(mz_flag) mz_flag,mz_code,bw_code,group_code,exec_address FROM (SELECT ROW_NUMBER() OVER (ORDER BY jc_zd_item_page.code desc) ",
+            "rtrim(zy_flag) zy_flag,zy_order_code,rtrim(mz_flag) mz_flag,mz_code,bw_code,group_code,exec_address, ",
+            "gender_restriction, min_age_restriction, max_age_restriction ",
+            "FROM (SELECT ROW_NUMBER() OVER (ORDER BY jc_zd_item_page.code desc) ",
             "AS RowNumber,* from dbo.jc_zd_item jc_zd_item_page WITH(NOLOCK) where 1=1 ",
             "<when test='code!=null'>",
             " and (code like #{code} or name like #{code} or py_code like #{code} or d_code like #{code} )",
@@ -110,7 +116,9 @@ public interface JcZdItemMapper {
      */
     @Insert("if not exists (select name  from jc_zd_item WITH(NOLOCK) where code=#{code} or zy_order_code=#{zyOrderCode} or mz_code=#{mzCode}) " +
             "INSERT INTO jc_zd_item(class, code, name, py_code, d_code, del_flag, exec_unit, zy_flag, zy_order_code, mz_flag, mz_code, bw_code, " +
-            "group_code,wx_bookable_flag,exec_address) VALUES (#{classCode}, #{code}, #{name}, #{pyCode}, #{wbCode}, #{delFlag}, #{execUnit}, #{zyFlag}, #{zyOrderCode}, #{mzFlag}, #{mzCode}, #{bwCode}, #{groupCode}, 0,#{execAddress})")
+            "group_code,wx_bookable_flag,exec_address, gender_restriction, min_age_restriction, max_age_restriction) " +
+            "VALUES (#{classCode}, #{code}, #{name}, #{pyCode}, #{wbCode}, #{delFlag}, #{execUnit}, #{zyFlag}, #{zyOrderCode}, #{mzFlag}, " +
+            "#{mzCode}, #{bwCode}, #{groupCode}, 0,#{execAddress}, #{genderRestriction}, #{minAgeRestriction}, #{maxAgeRestriction})")
     int insertJcZdItem(JcZdItem jcZdItem);
 
     /**
@@ -188,6 +196,9 @@ public interface JcZdItemMapper {
             "<when test='execAddress!=null'>",
             ",exec_address =#{execAddress}",
             "</when>",
+            ",gender_restriction =#{genderRestriction}",
+            ",min_age_restriction =#{minAgeRestriction}",
+            ",max_age_restriction =#{maxAgeRestriction}",
             "</trim>",
             "</script>"})
     int updateJcZdItem(JcZdItem jcZdItem);

+ 19 - 6
src/main/java/cn/hnthyy/thmz/mapper/his/zd/JyZdItemMapper.java

@@ -13,7 +13,9 @@ public interface JyZdItemMapper {
      * @return
      */
     @Select("select rtrim(code) code,name,rtrim(class) class_code,rtrim(exec_unit) exec_unit,vessel,dosage,rtrim(sample_code) sample_code,py_code,d_code wb_code," +
-            "rtrim(del_flag) del_flag,rtrim(zy_flag) zy_flag,zy_order_code,rtrim(mz_flag) mz_flag,mz_code,cx_times,exec_address from jy_zd_item WITH(NOLOCK) where code=#{code,jdbcType=CHAR}")
+            "rtrim(del_flag) del_flag,rtrim(zy_flag) zy_flag,zy_order_code,rtrim(mz_flag) mz_flag,mz_code,cx_times,exec_address, " +
+            "gender_restriction, min_age_restriction, max_age_restriction " +
+            "from jy_zd_item WITH(NOLOCK) where code=#{code,jdbcType=CHAR}")
     JyZdItem selectJyZdItemByCode(@Param("code") String code);
 
     /**
@@ -23,7 +25,9 @@ public interface JyZdItemMapper {
      */
     @Select({"<script>",
             "select rtrim(code) code,name,rtrim(class) class_code,rtrim(exec_unit) exec_unit,vessel,dosage,rtrim(sample_code) sample_code,py_code,d_code wb_code," +
-                    "rtrim(del_flag) del_flag,rtrim(zy_flag) zy_flag,zy_order_code,rtrim(mz_flag) mz_flag,mz_code,cx_times,exec_address from jy_zd_item WITH(NOLOCK) where (del_flag <![CDATA[<>]]>  '1' or del_flag is null )",
+                    "rtrim(del_flag) del_flag,rtrim(zy_flag) zy_flag,zy_order_code,rtrim(mz_flag) mz_flag,mz_code,cx_times,exec_address, " +
+                    "gender_restriction, min_age_restriction, max_age_restriction " +
+                    "from jy_zd_item WITH(NOLOCK) where (del_flag <![CDATA[<>]]>  '1' or del_flag is null )",
             "<when test='codes!=null'>",
             " and code in",
             "<foreach item='item' index='index' collection='codes' open='(' separator=',' close=')'>",
@@ -44,7 +48,9 @@ public interface JyZdItemMapper {
      */
     @Select({"<script>",
             "select rtrim(code) code,name,rtrim(class) class_code,rtrim(exec_unit) exec_unit,vessel,dosage,rtrim(sample_code) sample_code,py_code,d_code wb_code," +
-                    "rtrim(del_flag) del_flag,rtrim(zy_flag) zy_flag,zy_order_code,rtrim(mz_flag) mz_flag,mz_code,cx_times,exec_address from jy_zd_item WITH(NOLOCK) " +
+                    "rtrim(del_flag) del_flag,rtrim(zy_flag) zy_flag,zy_order_code,rtrim(mz_flag) mz_flag,mz_code,cx_times,exec_address, " +
+                    "gender_restriction, min_age_restriction, max_age_restriction " +
+                    "from jy_zd_item WITH(NOLOCK) " +
                     " where vessel is not null and vessel <![CDATA[<>]]>  '' ",
             "<when test='codes!=null'>",
             " and code in",
@@ -67,7 +73,9 @@ public interface JyZdItemMapper {
      */
     @Select({"<script>",
             "SELECT top ${pageSize} rtrim(code) code,name,rtrim(class) class_code,py_code,d_code wb_code,rtrim(del_flag) del_flag,rtrim(exec_unit) exec_unit,",
-            "rtrim(zy_flag) zy_flag,zy_order_code,rtrim(mz_flag) mz_flag,mz_code,sample_code,rtrim(vessel) vessel,exec_address FROM (SELECT ROW_NUMBER() OVER (ORDER BY jy_zd_item_page.code desc) ",
+            "rtrim(zy_flag) zy_flag,zy_order_code,rtrim(mz_flag) mz_flag,mz_code,sample_code,rtrim(vessel) vessel,exec_address, ",
+            "gender_restriction, min_age_restriction, max_age_restriction ",
+            "FROM (SELECT ROW_NUMBER() OVER (ORDER BY jy_zd_item_page.code desc) ",
             "AS RowNumber,* from dbo.jy_zd_item jy_zd_item_page WITH(NOLOCK) where 1=1 ",
             "<when test='code!=null'>",
             " and (code like #{code} or name like #{code} or py_code like #{code} or d_code like #{code} )",
@@ -141,8 +149,10 @@ public interface JyZdItemMapper {
      * @return
      */
     @Insert("if not exists (select name  from jy_zd_item WITH(NOLOCK) where code=#{code} or zy_order_code=#{zyOrderCode} or mz_code=#{mzCode}) " +
-            "INSERT INTO jy_zd_item(code, name, class, exec_unit, vessel, sample_code, py_code, d_code, del_flag, zy_flag, zy_order_code, mz_flag, mz_code,exec_address) " +
-            "VALUES (#{code}, #{name}, #{classCode}, #{execUnit}, #{vessel}, #{sampleCode}, #{pyCode}, #{wbCode}, #{delFlag}, #{zyFlag}, #{zyOrderCode}, #{mzFlag}, #{mzCode}, #{execAddress})")
+            "INSERT INTO jy_zd_item(code, name, class, exec_unit, vessel, sample_code, py_code, d_code, del_flag, zy_flag, zy_order_code, " +
+            "mz_flag, mz_code,exec_address, gender_restriction, min_age_restriction, max_age_restriction) " +
+            "VALUES (#{code}, #{name}, #{classCode}, #{execUnit}, #{vessel}, #{sampleCode}, #{pyCode}, #{wbCode}, #{delFlag}, #{zyFlag}, #{zyOrderCode}, " +
+            "#{mzFlag}, #{mzCode}, #{execAddress}, #{genderRestriction}, #{minAgeRestriction}, #{maxAgeRestriction})")
     int insertJyZdItem(JyZdItem jyZdItem);
 
     /**
@@ -222,6 +232,9 @@ public interface JyZdItemMapper {
             "<when test='execAddress!=null'>",
             ",exec_address =#{execAddress}",
             "</when>",
+            ",gender_restriction =#{genderRestriction}",
+            ",min_age_restriction =#{minAgeRestriction}",
+            ",max_age_restriction =#{maxAgeRestriction}",
             "</trim>",
             "</script>"})
     int updateJyZdItem(JyZdItem jyZdItem);

+ 85 - 4
src/main/resources/static/js/mz/jc_jy_zd_item.js

@@ -142,6 +142,21 @@ function getIndex(id) {
 function saveJcZdItem() {
     var code = $("#code").val();
     var data = null;
+    let min = $("#minAgeRestriction").val();
+    let max = $("#maxAgeRestriction").val();
+    let s;
+    if(min){
+        s = callJcJyAgeFormat(min)
+        if(s === '-1'){
+            return false;
+        }
+    }
+    if(max){
+        s = callJcJyAgeFormat(max)
+        if(s === '-1'){
+            return false;
+        }
+    }
     //修改檢查
     if (code != null) {
         data = JSON.stringify({
@@ -153,7 +168,10 @@ function saveJcZdItem() {
             delFlag: $("#delFlag").val(),
             zyFlag: $("#zyFlag").val(),
             mzFlag: $("#mzFlag").val(),
-            execAddress:$("#execAddress").val()
+            execAddress:$("#execAddress").val(),
+            genderRestriction:$("#genderRestriction").val(),
+            minAgeRestriction:$("#minAgeRestriction").val(),
+            maxAgeRestriction:$("#maxAgeRestriction").val()
         });
     } else {
         //新增檢查
@@ -165,7 +183,11 @@ function saveJcZdItem() {
             delFlag: $("#delFlag").val(),
             zyFlag: $("#zyFlag").val(),
             mzFlag: $("#mzFlag").val(),
-            execAddress:$("#execAddress").val()
+            execAddress:$("#execAddress").val(),
+            genderRestriction:$("#genderRestriction").val(),
+            minAgeRestriction:$("#minAgeRestriction").val(),
+            maxAgeRestriction:$("#maxAgeRestriction").val()
+
         });
     }
     $.ajax({
@@ -269,6 +291,21 @@ function saveJyCharge() {
 function saveJyZdItem() {
     var code = $("#codeJy").val();
     var data = null;
+    let min = $("#minAgeRestrictionJy").val();
+    let max = $("#maxAgeRestrictionJy").val();
+    let s;
+    if(min){
+        s = callJcJyAgeFormat(min)
+        if(s === '-1'){
+            return false;
+        }
+    }
+    if(max){
+        s = callJcJyAgeFormat(max)
+        if(s === '-1'){
+            return false;
+        }
+    }
     //修改檢验
     if (code != null) {
         data = JSON.stringify({
@@ -281,7 +318,10 @@ function saveJyZdItem() {
             delFlag: $("#delFlagJy").val(),
             zyFlag: $("#zyFlagJy").val(),
             mzFlag: $("#mzFlagJy").val(),
-            execAddress:$("#jyExecAddress").val()
+            execAddress:$("#jyExecAddress").val(),
+            genderRestriction:$("#genderRestrictionJy").val(),
+            minAgeRestriction:$("#minAgeRestrictionJy").val(),
+            maxAgeRestriction:$("#maxAgeRestrictionJy").val()
         });
     } else {
         //新增檢验
@@ -294,7 +334,10 @@ function saveJyZdItem() {
             delFlag: $("#delFlagJy").val(),
             zyFlag: $("#zyFlagJy").val(),
             mzFlag: $("#mzFlagJy").val(),
-            execAddress:$("#jyExecAddress").val()
+            execAddress:$("#jyExecAddress").val(),
+            genderRestriction:$("#genderRestrictionJy").val(),
+            minAgeRestriction:$("#minAgeRestrictionJy").val(),
+            maxAgeRestriction:$("#maxAgeRestrictionJy").val()
         });
     }
     $.ajax({
@@ -342,6 +385,10 @@ function clearJcInput() {
     $("#mzFlag").selectpicker('val', 0);//默认不选中
     $("#mzFlag").selectpicker('refresh');
     $("#execAddress").val(null);
+    $("#genderRestriction").selectpicker('val', '');//默认不选中
+    $("#genderRestriction").selectpicker('refresh');
+    $("#minAgeRestriction").val(null);
+    $("#maxAgeRestriction").val(null);
 }
 
 /**
@@ -395,6 +442,10 @@ function clearJyInput() {
     $("#mzFlagJy").selectpicker('val', 0);//默认不选中
     $("#mzFlagJy").selectpicker('refresh');
     $("#jyExecAddress").val(null);
+    $("#genderRestrictionJy").selectpicker('val', '');//默认不选中
+    $("#genderRestrictionJy").selectpicker('refresh');
+    $("#minAgeRestrictionJy").val(null);
+    $("#maxAgeRestrictionJy").val(null);
 }
 
 
@@ -1045,6 +1096,10 @@ function editJcZdItem(code) {
                 $("#mzFlag").selectpicker('val', res.data.mzFlag);//默认不选中
                 $("#mzFlag").selectpicker('refresh');
                 $("#execAddress").val(res.data.execAddress);
+                $("#genderRestriction").selectpicker('val', res.data.genderRestriction);//默认不选中
+                $("#genderRestriction").selectpicker('refresh');
+                $("#minAgeRestriction").val(res.data.minAgeRestriction);
+                $("#maxAgeRestriction").val(res.data.maxAgeRestriction);
                 $("#editJcModal").modal();
             } else {
                 errorMesage(res);
@@ -1088,6 +1143,10 @@ function editJyZdItem(code) {
                 $("#mzFlagJy").selectpicker('val', res.data.mzFlag);//默认不选中
                 $("#mzFlagJy").selectpicker('refresh');
                 $("#jyExecAddress").val(res.data.execAddress);
+                $("#genderRestrictionJy").selectpicker('val', res.data.genderRestriction);//默认不选中
+                $("#genderRestrictionJy").selectpicker('refresh');
+                $("#minAgeRestrictionJy").val(res.data.minAgeRestriction);
+                $("#maxAgeRestrictionJy").val(res.data.maxAgeRestriction);
                 $("#editJyModal").modal();
             } else {
                 errorMesage(res);
@@ -1322,6 +1381,11 @@ function initSelect() {
         dropuAuto: false
     });
     var yesNo = '<option value="1">是</option><option value="0">否</option>';
+    var optionSex = '<option value="">不限</option><option value="1">限男性</option><option value="2">限女性</option>';
+    $('#genderRestriction').html(optionSex);
+    $('#genderRestriction').selectpicker('refresh');
+    $("#genderRestriction").selectpicker('val', '');
+    $("#genderRestriction").selectpicker('refresh');
     $('#delFlag').html(yesNo);
     $('#delFlag').selectpicker('refresh');
     $("#delFlag").selectpicker('val', 0);
@@ -1343,6 +1407,10 @@ function initSelect() {
     $("#mzFlagJcCharge").selectpicker('val', 0);
     $("#mzFlagJcCharge").selectpicker('refresh');
 
+    $('#genderRestrictionJy').html(optionSex);
+    $('#genderRestrictionJy').selectpicker('refresh');
+    $("#genderRestrictionJy").selectpicker('val', '');
+    $("#genderRestrictionJy").selectpicker('refresh');
     $('#delFlagJy').html(yesNo);
     $('#delFlagJy').selectpicker('refresh');
     $("#delFlagJy").selectpicker('val', 0);
@@ -1553,4 +1621,17 @@ function addChargeJyZdItem(code) {
     $("#jyItemCode").val(code);
     $("#chargeJyTitle").text("新增");
 
+}
+
+
+function callJcJyAgeFormat(number){
+    if (/^(([1-9][0-9]*)|(([0]\.\d{1,2}|[1-9][0-9]*\.\d{1,2})))$/.test(number) === false) {
+        let r = {
+            message: '年龄填写不合法,请检查!'
+        }
+        errorMesage(r);
+        return "-1";
+    } else {
+        return "0";
+    }
 }

+ 48 - 0
src/main/resources/templates/mz/jc_jy_zd_item.html

@@ -172,6 +172,30 @@
                                    placeholder="请输入">
                         </div>
                     </div>
+                    <div class="item form-group thmz_alert">
+                        <label class="control-label col-md-2 col-sm-2 col-xs-12" for="genderRestriction">性别限制
+                        </label>
+                        <div class="col-md-10 col-sm-10 col-xs-12">
+                            <select class="form-control selectpicker show-tick" id="genderRestriction"
+                                    title="请选择"></select>
+                        </div>
+                    </div>
+                    <div class="item form-group thmz_alert">
+                        <label class="control-label col-md-2 col-sm-2 col-xs-12" for="minAgeRestriction">最小年龄限制
+                        </label>
+                        <div class="col-md-10 col-sm-10 col-xs-12">
+                            <input id="minAgeRestriction" class="form-control optional" type="text"
+                                   placeholder="请输入">
+                        </div>
+                    </div>
+                    <div class="item form-group thmz_alert">
+                        <label class="control-label col-md-2 col-sm-2 col-xs-12" for="maxAgeRestriction">最大年龄限制
+                        </label>
+                        <div class="col-md-10 col-sm-10 col-xs-12">
+                            <input id="maxAgeRestriction" class="form-control optional" type="text"
+                                   placeholder="请输入">
+                        </div>
+                    </div>
                 </form>
             </div>
             <div class="modal-footer">
@@ -271,6 +295,30 @@
                                    placeholder="请输入">
                         </div>
                     </div>
+                    <div class="item form-group thmz_alert">
+                        <label class="control-label col-md-2 col-sm-2 col-xs-12" for="genderRestrictionJy">性别限制
+                        </label>
+                        <div class="col-md-10 col-sm-10 col-xs-12">
+                            <select class="form-control selectpicker show-tick" id="genderRestrictionJy"
+                                    title="请选择"></select>
+                        </div>
+                    </div>
+                    <div class="item form-group thmz_alert">
+                        <label class="control-label col-md-2 col-sm-2 col-xs-12" for="minAgeRestrictionJy">最小年龄限制
+                        </label>
+                        <div class="col-md-10 col-sm-10 col-xs-12">
+                            <input id="minAgeRestrictionJy" class="form-control optional" type="text"
+                                   placeholder="请输入">
+                        </div>
+                    </div>
+                    <div class="item form-group thmz_alert">
+                        <label class="control-label col-md-2 col-sm-2 col-xs-12" for="maxAgeRestrictionJy">最大年龄限制
+                        </label>
+                        <div class="col-md-10 col-sm-10 col-xs-12">
+                            <input id="maxAgeRestrictionJy" class="form-control optional" type="text"
+                                   placeholder="请输入">
+                        </div>
+                    </div>
                 </form>
             </div>
             <div class="modal-footer">