瀏覽代碼

挂号时间切片功能开发完成。

hurugang 2 年之前
父節點
當前提交
29f661a008

+ 75 - 0
src/main/java/cn/hnthyy/thmz/Utils/CheckTimeHHMM.java

@@ -0,0 +1,75 @@
+package cn.hnthyy.thmz.Utils;
+  
+import java.text.SimpleDateFormat;  
+import java.util.Date;
+
+/** 
+ * @author Gerrard 
+ */  
+public class CheckTimeHHMM {  
+      
+    public static void main(String[] args) {  
+        boolean flg = checkTime("8:00");  
+        boolean flg3 = checkTime("24:00");  
+        boolean flg1 = checkTime("8:60");  
+        boolean flg2 = checkTime("25:00");  
+        boolean flg4 = checkTime("25:0-");  
+        boolean flg6 = checkTime("ss:0-");  
+        if (flg) {  
+            System.out.println("8:00是正确格式");  
+        }  
+        if (flg3) {  
+            System.out.println("24:00是正确格式");  
+        }  
+        if (!flg1) {  
+            System.out.println("8:60不是正确格式");  
+        }  
+        if (!flg2) {  
+            System.out.println("25:00不是正确格式");  
+        }  
+        if (!flg4) {  
+            System.out.println("25:0-不是正确格式");  
+        }  
+        if (!flg6) {  
+            System.out.println("ss:0-不是正确格式");  
+        }
+    }  
+      
+    /** 
+     * 校验时间格式(仅格式) 
+     */  
+    public static boolean checkHHMM(String time) {  
+        SimpleDateFormat dateFormat = new SimpleDateFormat("hh:mm");  
+         try {  
+             @SuppressWarnings("unused")  
+            Date t = dateFormat.parse(time);  
+         }  
+         catch (Exception ex) {  
+             return false;  
+         }  
+        return true;  
+    }  
+      
+    /** 
+     * 校验时间格式HH:MM(精确) 
+     */  
+    public static boolean checkTime(String time) {  
+        if (checkHHMM(time)) {  
+            String[] temp = time.split(":");  
+            if ((temp[0].length() == 2 || temp[0].length() == 1) && temp[1].length() == 2) {  
+                int h,m;  
+                try {  
+                    h = Integer.parseInt(temp[0]);  
+                    m = Integer.parseInt(temp[1]);  
+                } catch (NumberFormatException e) {  
+                    return false;  
+                }     
+                if (h >= 0 && h <= 24 && m <= 60 && m >= 0) {  
+                    return true;  
+                }  
+            }  
+        }  
+        return false;  
+    }
+
+}

+ 11 - 0
src/main/java/cn/hnthyy/thmz/Utils/StringUtil.java

@@ -230,4 +230,15 @@ public class StringUtil {
         return propertyPlaceholderHelper.replacePlaceholders(xmlContent, map::get);
     }
 
+
+    /**
+     *  判断是否是由字母或者数字组成
+     * @param s
+     * @return
+     */
+    public static boolean isAlphaNumeric(String s){
+        Pattern p = Pattern.compile("[0-9a-zA-Z]{1,}");
+        Matcher m = p.matcher(s);
+        return m.matches();
+    }
 }

+ 209 - 0
src/main/java/cn/hnthyy/thmz/controller/mz/MzZdWorkTimeController.java

@@ -0,0 +1,209 @@
+package cn.hnthyy.thmz.controller.mz;
+
+import cn.hnthyy.thmz.Utils.CheckTimeHHMM;
+import cn.hnthyy.thmz.Utils.StringUtil;
+import cn.hnthyy.thmz.comment.UserLoginToken;
+import cn.hnthyy.thmz.entity.MzException;
+import cn.hnthyy.thmz.entity.his.mz.MzZdWorkTime;
+import cn.hnthyy.thmz.enums.YesNoEnum;
+import cn.hnthyy.thmz.service.his.mz.MzZdWorkTimeService;
+import lombok.extern.slf4j.Slf4j;
+import org.apache.commons.lang3.StringUtils;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.web.bind.annotation.*;
+
+import java.util.HashMap;
+import java.util.Map;
+
+@Slf4j
+@RestController
+public class MzZdWorkTimeController {
+    @Autowired
+    private MzZdWorkTimeService mzZdWorkTimeService;
+
+    /**
+     * 查询所有号段
+     *
+     * @return
+     */
+    @UserLoginToken
+    @RequestMapping(value = "/getAllMzZdWorkTime", method = {RequestMethod.GET, RequestMethod.POST})
+    public Map<String, Object> getAllMzZdWorkTime() {
+        Map<String, Object> resultMap = new HashMap<>();
+        try {
+            resultMap.put("code", 0);
+            resultMap.put("message", "查询所有号段成功");
+            resultMap.put("data", mzZdWorkTimeService.queryAllMzZdWorkTime());
+            return resultMap;
+        } catch (Exception e) {
+            e.printStackTrace();
+            log.error("查询所有号段失败,错误信息{}", e);
+            resultMap.put("code", -1);
+            resultMap.put("message", "查询所有号段失败");
+            return resultMap;
+        }
+    }
+
+
+    /**
+     * 根据号段编号查询号段
+     *
+     * @return
+     */
+    @UserLoginToken
+    @RequestMapping(value = "/getMzZdWorkTimeByCode", method = {RequestMethod.GET})
+    public Map<String, Object> getMzZdWorkTimeByCode(@RequestParam("code") String code) {
+        Map<String, Object> resultMap = new HashMap<>();
+        try {
+            if (StringUtils.isBlank(code)) {
+                resultMap.put("code", -1);
+                resultMap.put("message", "号段编号不能为空");
+                return resultMap;
+            }
+            MzZdWorkTime mzZdWorkTime = mzZdWorkTimeService.queryMzZdWorkTimeByCode(code);
+            if (mzZdWorkTime == null) {
+                resultMap.put("code", -1);
+                resultMap.put("message", "根据号段编号查询号段失败,没有对应的号段信息");
+                return resultMap;
+            }
+            resultMap.put("code", 0);
+            resultMap.put("message", "根据号段编号查询号段成功");
+            resultMap.put("data", mzZdWorkTime);
+            return resultMap;
+        } catch (Exception e) {
+            e.printStackTrace();
+            log.error("根据号段编号查询号段失败,错误信息{}", e);
+            resultMap.put("code", -1);
+            resultMap.put("message", "根据号段编号查询号段失败");
+            return resultMap;
+        }
+    }
+
+
+
+    /**
+     * 更新号段的启用状态
+     *
+     * @return
+     */
+    @UserLoginToken
+    @RequestMapping(value = "/updateMzZdWorkTimeDeleteFlag", method = {RequestMethod.GET})
+    public Map<String, Object> updateMzZdWorkTimeDeleteFlag(@RequestParam("code") String code) {
+        Map<String, Object> resultMap = new HashMap<>();
+        try {
+            if (StringUtils.isBlank(code)) {
+                resultMap.put("code", -1);
+                resultMap.put("message", "号段编码不能为空");
+                return resultMap;
+            }
+            MzZdWorkTime mzZdWorkTime = mzZdWorkTimeService.queryMzZdWorkTimeByCode(code);
+            if (mzZdWorkTime == null) {
+                resultMap.put("code", -1);
+                resultMap.put("message", "更新号段的启用状态失败,没有对应的号段信息");
+                return resultMap;
+            }
+            if (YesNoEnum.NO.code.equals(mzZdWorkTime.getDelFlag())) {
+                mzZdWorkTime.setDelFlag(YesNoEnum.YES.code);
+            } else if (YesNoEnum.YES.code.equals(mzZdWorkTime.getDelFlag())) {
+                mzZdWorkTime.setDelFlag(YesNoEnum.NO.code);
+            }
+            int num = mzZdWorkTimeService.modifyMzZdWorkTime(mzZdWorkTime);
+            if (num == 0) {
+                resultMap.put("code", -1);
+                resultMap.put("message", "更新号段的启用状态失败");
+                return resultMap;
+            }
+            resultMap.put("code", 0);
+            resultMap.put("message", "更新号段的启用状态成功");
+            resultMap.put("data", num);
+            return resultMap;
+        } catch (Exception e) {
+            e.printStackTrace();
+            log.error("更新号段的启用状态失败,错误信息{}", e);
+            resultMap.put("code", -1);
+            resultMap.put("message", "更新号段的启用状态失败");
+            return resultMap;
+        }
+    }
+
+
+    /**
+     * 保存号段
+     *
+     * @return
+     */
+    @UserLoginToken
+    @RequestMapping(value = "/saveMzZdWorkTime", method = {RequestMethod.POST})
+    public Map<String, Object> saveMzZdWorkTime(@RequestBody MzZdWorkTime mzZdWorkTime) {
+        Map<String, Object> resultMap = new HashMap<>();
+        try {
+            if (mzZdWorkTime == null) {
+                resultMap.put("code", -1);
+                resultMap.put("message", "参数不能为空");
+                return resultMap;
+            }
+            if (StringUtils.isBlank(mzZdWorkTime.getCode())) {
+                resultMap.put("code", -1);
+                resultMap.put("message", "号段编码不能为空");
+                return resultMap;
+            }
+            if(!StringUtil.isAlphaNumeric(mzZdWorkTime.getCode())){
+                resultMap.put("code", -1);
+                resultMap.put("message", "号段编码必须由字母或者数字组成");
+                return resultMap;
+            }
+            if(mzZdWorkTime.getCode().length()>2){
+                resultMap.put("code", -1);
+                resultMap.put("message", "号段编码超长");
+                return resultMap;
+            }
+            if (StringUtils.isBlank(mzZdWorkTime.getName())) {
+                resultMap.put("code", -1);
+                resultMap.put("message", "号段名称不能为空");
+                return resultMap;
+            }
+            if (StringUtils.isBlank(mzZdWorkTime.getStartTime())) {
+                resultMap.put("code", -1);
+                resultMap.put("message", "号段开始时间不能为空");
+                return resultMap;
+            }
+            if (StringUtils.isBlank(mzZdWorkTime.getEndTime())) {
+                resultMap.put("code", -1);
+                resultMap.put("message", "号段结束时间不能为空");
+                return resultMap;
+            }
+            mzZdWorkTime.setStartTime(mzZdWorkTime.getStartTime().replace(":",":"));
+            mzZdWorkTime.setEndTime(mzZdWorkTime.getEndTime().replace(":",":"));
+            if (!CheckTimeHHMM.checkTime(mzZdWorkTime.getStartTime())) {
+                resultMap.put("code", -1);
+                resultMap.put("message", "号段开始时间格式不对");
+                return resultMap;
+            }
+            if (!CheckTimeHHMM.checkTime(mzZdWorkTime.getEndTime())) {
+                resultMap.put("code", -1);
+                resultMap.put("message", "号段结束时间格式不对");
+                return resultMap;
+            }
+            int num = mzZdWorkTimeService.saveMzZdWorkTime(mzZdWorkTime);
+            if (num == 0) {
+                resultMap.put("code", -1);
+                resultMap.put("message", "保存失败,请重新操作或者联系管理员");
+                return resultMap;
+            }
+            resultMap.put("code", 0);
+            resultMap.put("message", "保存号段成功");
+            return resultMap;
+        }catch (MzException e) {
+            e.printStackTrace();
+            resultMap.put("code", -1);
+            resultMap.put("message", e.getMessage());
+            return resultMap;
+        } catch (Exception e) {
+            e.printStackTrace();
+            log.error("保存号段失败,错误信息{}", e);
+            resultMap.put("code", -1);
+            resultMap.put("message", "保存号段失败");
+            return resultMap;
+        }
+    }
+}

+ 49 - 1
src/main/java/cn/hnthyy/thmz/mapper/his/mz/MzZdWorkTimeMapper.java

@@ -1,14 +1,50 @@
 package cn.hnthyy.thmz.mapper.his.mz;
 
 import cn.hnthyy.thmz.entity.his.mz.MzZdWorkTime;
+import org.apache.ibatis.annotations.Insert;
 import org.apache.ibatis.annotations.Param;
 import org.apache.ibatis.annotations.Select;
+import org.apache.ibatis.annotations.Update;
 
 import java.util.List;
 
 public interface MzZdWorkTimeMapper {
+
+    /**
+     * 保存门诊号段
+     * @param mzZdWorkTime
+     * @return
+     */
+    @Insert("INSERT INTO [mz_zd_work_time](code, name, start_time, end_time, del_flag) VALUES (#{code}, #{name}, #{startTime}, #{endTime}, '0');")
+    int insertMzZdWorkTime(MzZdWorkTime mzZdWorkTime);
+
+    /**
+     * 修改号段
+     * @param mzZdWorkTime
+     * @return
+     */
+    @Update({"<script>",
+            "update mz_zd_work_time ",
+            "<trim prefix='set' prefixOverrides=',' suffix=' where code = #{code}' >",
+            "<when test='name!=null'>",
+            ",name =#{name}",
+            "</when>",
+            "<when test='startTime!=null'>",
+            ",start_time =#{startTime}",
+            "</when>",
+            "<when test='endTime!=null'>",
+            ",end_time =#{endTime}",
+            "</when>",
+            "<when test='delFlag!=null'>",
+            ",del_flag =#{delFlag}",
+            "</when>",
+            "</trim>",
+            "</script>"})
+    int updateMzZdWorkTime(MzZdWorkTime mzZdWorkTime);
+
     /**
      * 查询所有的时间区间
+     *
      * @return
      */
     @Select("select rtrim(code) code,rtrim(name) name,rtrim(start_time) start_time,rtrim(end_time) end_time,del_flag from mz_zd_work_time WITH(NOLOCK) order by code")
@@ -16,6 +52,7 @@ public interface MzZdWorkTimeMapper {
 
     /**
      * 查询所有在使用中的时间区间
+     *
      * @return
      */
     @Select("select rtrim(code) code,rtrim(name) name,rtrim(start_time) start_time,rtrim(end_time) end_time,del_flag from mz_zd_work_time WITH(NOLOCK) where del_flag =0 order by code")
@@ -23,15 +60,25 @@ public interface MzZdWorkTimeMapper {
 
     /**
      * 根据编码查询在使用中的时间区间
+     *
      * @param code
      * @return
      */
     @Select("select rtrim(code) code,rtrim(name) name,rtrim(start_time) start_time,rtrim(end_time) end_time,del_flag from mz_zd_work_time WITH(NOLOCK) where code =#{code} and del_flag =0 order by code")
-    MzZdWorkTime selectMzZdWorkTimeByCode(@Param("code")String code);
+    MzZdWorkTime selectMzZdWorkTimeByCodeInUsed(@Param("code") String code);
 
+    /**
+     * 根据编码查询在时间区间
+     *
+     * @param code
+     * @return
+     */
+    @Select("select rtrim(code) code,rtrim(name) name,rtrim(start_time) start_time,rtrim(end_time) end_time,del_flag from mz_zd_work_time WITH(NOLOCK) where code =#{code}")
+    MzZdWorkTime selectMzZdWorkTimeByCode(@Param("code") String code);
 
     /**
      * 查询所有在可以挂号的的时间区间 (没超过时间的)
+     *
      * @return
      */
     @Select("select rtrim(code) code,rtrim(name) name,rtrim(start_time) start_time,rtrim(end_time) end_time,del_flag from mz_zd_work_time WITH(NOLOCK) where del_flag =0 and end_time>=CONVERT(varchar(100), GETDATE(), 24) order by code")
@@ -40,6 +87,7 @@ public interface MzZdWorkTimeMapper {
 
     /**
      * 查询所有已经超过当前时间的号段
+     *
      * @return
      */
     @Select("select rtrim(code) code,rtrim(name) name,rtrim(start_time) start_time,rtrim(end_time) end_time,del_flag from mz_zd_work_time WITH(NOLOCK) where del_flag =0 and end_time<CONVERT(varchar(100), GETDATE(), 24) order by code")

+ 15 - 0
src/main/java/cn/hnthyy/thmz/service/his/mz/MzZdWorkTimeService.java

@@ -1,10 +1,25 @@
 package cn.hnthyy.thmz.service.his.mz;
 
+import cn.hnthyy.thmz.entity.MzException;
 import cn.hnthyy.thmz.entity.his.mz.MzZdWorkTime;
 
 import java.util.List;
 
 public interface MzZdWorkTimeService {
+    /**
+     * 保存门诊号段
+     * @param mzZdWorkTime
+     * @return
+     */
+    int saveMzZdWorkTime(MzZdWorkTime mzZdWorkTime) throws MzException;
+
+    /**
+     * 修改号段
+     * @param mzZdWorkTime
+     * @return
+     */
+    int modifyMzZdWorkTime(MzZdWorkTime mzZdWorkTime);
+
     /**
      * 查询所有的时间区间
      * @return

+ 18 - 0
src/main/java/cn/hnthyy/thmz/service/impl/his/mz/MzZdWorkTimeServiceImpl.java

@@ -2,6 +2,7 @@ package cn.hnthyy.thmz.service.impl.his.mz;
 
 import cn.hnthyy.thmz.Utils.DateUtil;
 import cn.hnthyy.thmz.common.Constants;
+import cn.hnthyy.thmz.entity.MzException;
 import cn.hnthyy.thmz.entity.his.mz.MzZdWorkTime;
 import cn.hnthyy.thmz.mapper.his.mz.MzZdWorkTimeMapper;
 import cn.hnthyy.thmz.service.his.mz.MzZdWorkTimeService;
@@ -19,6 +20,23 @@ public class MzZdWorkTimeServiceImpl implements MzZdWorkTimeService {
     @Autowired
     private MzZdWorkTimeMapper mzZdWorkTimeMapper;
 
+    @Override
+    public int saveMzZdWorkTime(MzZdWorkTime mzZdWorkTime) throws MzException {
+        MzZdWorkTime dbMzZdWorkTime=mzZdWorkTimeMapper.selectMzZdWorkTimeByCode(mzZdWorkTime.getCode());
+        if(dbMzZdWorkTime!=null){
+            if(!dbMzZdWorkTime.getCode().equals(mzZdWorkTime.getCode())){
+                throw new MzException("号段编码不允许修改!");
+            }
+            return mzZdWorkTimeMapper.updateMzZdWorkTime(mzZdWorkTime);
+        }
+        return mzZdWorkTimeMapper.insertMzZdWorkTime(mzZdWorkTime);
+    }
+
+    @Override
+    public int modifyMzZdWorkTime(MzZdWorkTime mzZdWorkTime) {
+        return mzZdWorkTimeMapper.updateMzZdWorkTime(mzZdWorkTime);
+    }
+
     @Override
     public List<MzZdWorkTime> queryAllMzZdWorkTime() {
         return mzZdWorkTimeMapper.selectAllMzZdWorkTime();

+ 1 - 1
src/main/java/cn/hnthyy/thmz/service/impl/his/mz/MzyReqrecServiceImpl.java

@@ -418,7 +418,7 @@ public class MzyReqrecServiceImpl implements MzyReqrecService {
                         }
                     }
                     if (StringUtils.isNotBlank(mzyRequest.getAmpm())) {
-                        MzZdWorkTime mzZdWorkTime = mzZdWorkTimeMapper.selectMzZdWorkTimeByCode(mzyRequest.getAmpm());
+                        MzZdWorkTime mzZdWorkTime = mzZdWorkTimeMapper.selectMzZdWorkTimeByCodeInUsed(mzyRequest.getAmpm());
                         if (mzZdWorkTime != null) {
                             sbf.append("号段【").append(mzZdWorkTime.getName()).append("】");
                         }

+ 230 - 44
src/main/resources/static/js/mz/request_type.js

@@ -5,6 +5,13 @@ $(function () {
     });
     initMzyZdChargeTypeList();
     initReqTypeSelect();
+
+    //新增号段
+    $('#btn_add_work_time').click(function () {
+        $("#editWorkTimeModalTitle").html("新增号段");
+        $("#editWorkTimeModal").modal();
+        clearWorkTimeInput();
+    });
     //新增号别分类
     $('#btn_req_type').click(function () {
         $("#MzyZdReqTypeModalTitle").html("新增号别分类");
@@ -29,7 +36,7 @@ $(function () {
             contentType: "application/json;charset=UTF-8",
             dataType: "json",
             headers: {'Accept': 'application/json', 'Authorization': 'Bearer ' + localStorage.getItem("token")},
-            data: JSON.stringify({"code": $("#mzyZdReqTypeCode").val(),"name": $("#name").val()}),
+            data: JSON.stringify({"code": $("#mzyZdReqTypeCode").val(), "name": $("#name").val()}),
             success: function (res) {
                 if (res == '401' || res == 401) {
                     window.location.href = '/thmz/login/view'
@@ -50,8 +57,6 @@ $(function () {
     });
 
 
-
-
     //保存号别
     $('#saveEdit').click(function () {
         $.ajax({
@@ -60,7 +65,15 @@ $(function () {
             contentType: "application/json;charset=UTF-8",
             dataType: "json",
             headers: {'Accept': 'application/json', 'Authorization': 'Bearer ' + localStorage.getItem("token")},
-            data: JSON.stringify({"code": $("#mzyZdChargeTypeCode").val(),"name": $("#nameHb").val(),"reqType": $("#reqTypeSelect").val(),"sortNo": $("#sortNum").val(),"reqFee": $("#reqFee").val(),"clinicFee": $("#clinicFee").val(),"othFee": $("#otherFee").val()}),
+            data: JSON.stringify({
+                "code": $("#mzyZdChargeTypeCode").val(),
+                "name": $("#nameHb").val(),
+                "reqType": $("#reqTypeSelect").val(),
+                "sortNo": $("#sortNum").val(),
+                "reqFee": $("#reqFee").val(),
+                "clinicFee": $("#clinicFee").val(),
+                "othFee": $("#otherFee").val()
+            }),
             success: function (res) {
                 if (res == '401' || res == 401) {
                     window.location.href = '/thmz/login/view'
@@ -81,10 +94,49 @@ $(function () {
 
 
 
-
-
+    //保存号段
+    $('#saveWorkTime').click(function () {
+        $.ajax({
+            type: "POST",
+            url: '/thmz/saveMzZdWorkTime',
+            contentType: "application/json;charset=UTF-8",
+            dataType: "json",
+            headers: {'Accept': 'application/json', 'Authorization': 'Bearer ' + localStorage.getItem("token")},
+            data: JSON.stringify({
+                "code": $("#codeWorkTime").val(),
+                "name": $("#nameWorkTime").val(),
+                "startTime": $("#startTimeWorkTime").val(),
+                "endTime": $("#endTimeWorkTime").val()
+            }),
+            success: function (res) {
+                if (res == '401' || res == 401) {
+                    window.location.href = '/thmz/login/view'
+                    return;
+                }
+                if (res.code == 0) {
+                    $("#editWorkTimeModal").modal("hide");
+                    clearWorkTimeInput();
+                    successMesage(res);
+                    $('#tb_table').bootstrapTable("refresh");
+                } else {
+                    errorMesage(res);
+                }
+            }
+        });
+    });
 });
 
+/**
+ * 清空号段输入框
+ */
+function clearWorkTimeInput() {
+    $("#codeWorkTime").val(null);
+    $("#nameWorkTime").val(null);
+    $("#startTimeWorkTime").val(null);
+    $("#endTimeWorkTime").val(null);
+    $("#codeWorkTime").removeAttr("readonly");
+}
+
 /**
  * 清空输入框
  */
@@ -113,6 +165,8 @@ function sourceChange(object) {
     $(object).removeClass("btn-default").addClass("btn-primary");
     var sourceGroup = getIndex("source_group");
     if (sourceGroup == 0) {
+        initAllMzZdWorkTimeList();
+    } else if (sourceGroup == 1) {
         initMzyZdReqTypeList();
     } else {
         initMzyZdChargeTypeList();
@@ -137,6 +191,166 @@ function getIndex(id) {
     return index;
 }
 
+
+/**
+ * 号别类别列表
+ */
+function initAllMzZdWorkTimeList() {
+    $('#tb_table').bootstrapTable("destroy");
+    $('#tb_table').bootstrapTable({
+        url: '/thmz/getAllMzZdWorkTime',         //请求后台的URL(*)
+        method: 'post',                      //请求方式(*)
+        toolbar: '#toolbar',                //工具按钮用哪个容器
+        striped: true,                      //是否显示行间隔色
+        cache: false,                       //是否使用缓存,默认为true,所以一般情况下需要设置一下这个属性(*)
+        pagination: true,                   //是否显示分页(*)
+        sortable: true,                     //是否启用排序
+        sortOrder: "desc",                   //排序方式
+        queryParams: queryParams,           //传递参数(*)
+        sidePagination: "client",           //分页方式:client客户端分页,server服务端分页(*)
+        pageNumber: 1,                       //初始化加载第一页,默认第一页
+        pageSize: 10,                       //每页的记录行数(*)
+        pageList: [10, 15, 25, 50, 100],        //可供选择的每页的行数(*)
+        search: false,                       //是否显示表格搜索,此搜索是客户端搜索,不会进服务端,所以,个人感觉意义不大
+        strictSearch: true,
+        showColumns: false,                  //是否显示所有的列
+        showRefresh: false,                  //是否显示刷新按钮
+        minimumCountColumns: 2,             //最少允许的列数
+        clickToSelect: true,                //是否启用点击选中行
+        uniqueId: "ID",                     //每一行的唯一标识,一般为主键列
+        showToggle: false,                    //是否显示详细视图和列表视图的切换按钮
+        cardView: false,                    //是否显示详细视图
+        detailView: false,
+        //rowStyle:rowStyle,//通过自定义函数设置行样式
+        ajaxOptions: {
+            headers: {
+                'Accept': 'application/json',
+                'Authorization': 'Bearer ' + localStorage.getItem("token")
+            }
+        },
+        columns: [
+            {
+                field: 'code',
+                title: '号段编码',
+                align: "center",
+                valign: 'middle',
+            }, {
+                field: 'name',
+                title: '号段名称',
+                align: "center",
+                valign: 'middle'
+            }, {
+                field: 'startTime',
+                title: '开始时间',
+                align: "center",
+                valign: 'middle'
+            }, {
+                field: 'endTime',
+                title: '结束时间',
+                align: "center",
+                valign: 'middle'
+            }, {
+                title: '操作',
+                field: 'op',
+                align: "center",
+                valign: 'middle',
+                formatter: function (value, row, index) {
+                    var str = '<button type="button" class="btn btn-primary  btn-sm" onclick="updateMzZdWorkTime(\'' + row.code + '\')">编辑</button>';
+                    if (row.delFlag == 0) {
+                        str += '<button type="button" class="btn btn-danger  btn-sm" onclick="updateMzZdWorkTimeDeleteFlag(\'' + row.code + '\','+row.delFlag+')">停用</button>';
+                    } else if (row.delFlag == 1) {
+                        str += '<button type="button" class="btn btn-success  btn-sm" onclick="updateMzZdWorkTimeDeleteFlag(\'' + row.code + '\','+row.delFlag+')">启用</button>';
+                    }
+                    return [str].join('');
+                }
+            }
+        ],
+        responseHandler: function (res) {
+            if (res == '401' || res == 401) {
+                window.location.href = '/thmz/login/view'
+                return;
+            }
+            var ress = eval(res);
+            if (ress.code == -1) {
+                if (ress.message != null && ress.message != '') {
+                    errorMesage(ress);
+                }
+                return {
+                    "total": 0,//总页数
+                    "rows": {}   //数据
+                };
+            }
+            return {
+                "total": ress.data.length,//总页数
+                "rows": ress.data   //数据
+            };
+        },
+    });
+}
+
+/**
+ * 打开编辑号段窗口
+ * @param code
+ */
+function updateMzZdWorkTime(code) {
+    $("#editWorkTimeModalTitle").html("编辑号段");
+    $("#editWorkTimeModal").modal();
+    $.ajax({
+        type: "GET",
+        url: '/thmz/getMzZdWorkTimeByCode?code=' + code,
+        dataType: "json",
+        headers: {'Accept': 'application/json', 'Authorization': 'Bearer ' + localStorage.getItem("token")},
+        success: function (res) {
+            if (res == '401' || res == 401) {
+                window.location.href = '/thmz/login/view'
+                return;
+            }
+            if (res.code == 0) {
+                $("#codeWorkTime").val(res.data.code);
+                $("#nameWorkTime").val(res.data.name);
+                $("#startTimeWorkTime").val(res.data.startTime);
+                $("#endTimeWorkTime").val(res.data.endTime);
+                $("#codeWorkTime").attr("readonly","readonly");
+            } else {
+                errorMesage(res);
+            }
+        }
+    });
+}
+
+/**
+ * 更新号段启用状态
+ * @param code
+ */
+function updateMzZdWorkTimeDeleteFlag(code,delFlag) {
+    var message = "确认要启用当前号段吗?";
+    if(delFlag==0){
+        message = "确认要停用当前号段吗?";
+    }
+    if (!confirm(message)) {
+        return;
+    }
+    $.ajax({
+        type: "GET",
+        url: '/thmz/updateMzZdWorkTimeDeleteFlag?code=' + code,
+        dataType: "json",
+        headers: {'Accept': 'application/json', 'Authorization': 'Bearer ' + localStorage.getItem("token")},
+        success: function (res) {
+            if (res == '401' || res == 401) {
+                window.location.href = '/thmz/login/view'
+                return;
+            }
+            if (res.code == 0) {
+                successMesage(res);
+                $('#tb_table').bootstrapTable("refresh");
+            } else {
+                errorMesage(res);
+            }
+        }
+    });
+}
+
+
 /**
  * 号别类别列表
  */
@@ -194,13 +408,13 @@ function initMzyZdReqTypeList() {
                 title: '五笔码',
                 align: "center",
                 valign: 'middle'
-            },  {
+            }, {
                 title: '操作',
                 field: 'op',
                 align: "center",
                 valign: 'middle',
                 formatter: function (value, row, index) {
-                    var str = '<button type="button" class="btn btn-primary  btn-sm" onclick="updateMzyZdReqType(\'' + row.code + '\',\''+row.name+'\')">编辑</button>';
+                    var str = '<button type="button" class="btn btn-primary  btn-sm" onclick="updateMzyZdReqType(\'' + row.code + '\',\'' + row.name + '\')">编辑</button>';
                     str += '<button type="button" class="btn btn-danger  btn-sm" onclick="deleteMzyZdReqType(\'' + row.code + '\')">删除</button>';
                     return [str].join('');
                 }
@@ -246,13 +460,6 @@ function queryParams(params) {
 };
 
 
-
-
-
-
-
-
-
 /**
  * 号别列表
  */
@@ -335,7 +542,7 @@ function initMzyZdChargeTypeList() {
                 title: '五笔码',
                 align: "center",
                 valign: 'middle'
-            },  {
+            }, {
                 title: '操作',
                 field: 'op',
                 align: "center",
@@ -377,9 +584,6 @@ function initMzyZdChargeTypeList() {
 }
 
 
-
-
-
 /**
  * 构建列表查询参数
  * @param params
@@ -390,18 +594,11 @@ function queryMzyZdChargeTypeParams(params) {
 };
 
 
-
-
-
-
-
-
-
 /**
  * 修改号别类别
  * @param code
  */
-function updateMzyZdReqType(code,name) {
+function updateMzyZdReqType(code, name) {
     $("#MzyZdReqTypeModalTitle").html("编辑号别分类");
     $("#mzyZdReqTypeCode").val(code);
     $("#name").val(name);
@@ -409,9 +606,6 @@ function updateMzyZdReqType(code,name) {
 }
 
 
-
-
-
 /**
  * 删除号别类别
  * @param code
@@ -434,7 +628,7 @@ function deleteMzyZdReqType(code) {
                 successMesage(res);
                 initReqTypeSelect();
                 $('#tb_table').bootstrapTable("refresh");
-            }else {
+            } else {
                 errorMesage(res);
             }
         }
@@ -442,10 +636,6 @@ function deleteMzyZdReqType(code) {
 }
 
 
-
-
-
-
 /**
  * 修改号别
  * @param code
@@ -472,7 +662,7 @@ function updateMzyZdChargeType(code) {
                 $("#otherFee").val(res.data.othFee);
                 $("#mzyZdChargeTypeCode").val(code);
                 $("#editModal").modal();
-            }else {
+            } else {
                 errorMesage(res);
             }
         }
@@ -501,7 +691,7 @@ function deleteMzyZdChargeType(code) {
             if (res.code == 0) {
                 successMesage(res);
                 $('#tb_table').bootstrapTable("refresh");
-            }else {
+            } else {
                 errorMesage(res);
             }
         }
@@ -509,8 +699,6 @@ function deleteMzyZdChargeType(code) {
 }
 
 
-
-
 /**
  * 号别类别列表初始化
  */
@@ -538,10 +726,8 @@ function initReqTypeSelect() {
 }
 
 
-
-
 //按数字大小排序
-sortNum=  function(a, b) {
-    var a = a?a:-1, b = b?b:-1
-    return a-b
+sortNum = function (a, b) {
+    var a = a ? a : -1, b = b ? b : -1
+    return a - b
 }

+ 66 - 2
src/main/resources/templates/mz/request_type.html

@@ -13,6 +13,8 @@
                 <form id="formSearch" class="form-horizontal" autocomplete="off" onsubmit="return false;">
                     <div class="form-group col-md-12 col-sm-12 col-xs-12">
                         <div class="btn-group col-md-3 col-sm-3 col-xs-12" id="source_group">
+                            <button class="btn btn-sm btn-default" type="button" onclick="sourceChange(this)">&nbsp;&nbsp;号段列表&nbsp;&nbsp;
+                            </button>
                             <button class="btn btn-sm btn-default" type="button" onclick="sourceChange(this)">&nbsp;&nbsp;号别分类&nbsp;&nbsp;
                             </button>
                             <button class="btn btn-sm btn-primary" type="button" onclick="sourceChange(this)">&nbsp;&nbsp;基本号别&nbsp;&nbsp;
@@ -20,10 +22,13 @@
                         </div>
                         <div class="btn-group col-md-4 col-sm-4 col-xs-12"></div>
                         <div class="col-md-5 col-sm-5 col-xs-12" style="text-align:right;    padding-left: 50px;">
-                            <button type="button" style="margin-left:20px" id="btn_req_type" class="btn btn-primary"
+                            <button type="button"  id="btn_add_work_time" class="btn btn-primary"
+                                    title="新增号段">新增号段
+                            </button>
+                            <button type="button"  id="btn_req_type" class="btn btn-primary"
                                     title="新增号别分类">新增号别分类
                             </button>
-                            <button type="button" style="margin-left:3px" id="btn_add" class="btn btn-primary"
+                            <button type="button"  id="btn_add" class="btn btn-primary"
                                     title="新增号别分类">新增基本号别
                             </button>
                         </div>
@@ -161,3 +166,62 @@
 <!--新增号别弹窗结尾-->
 
 
+
+<!--新增号段弹窗开始-->
+<div class="modal fade bs-example-modal-lg" tabindex="-1" role="dialog" aria-hidden="true" id="editWorkTimeModal">
+    <div class="modal-dialog modal-lg">
+        <div class="modal-content" style="width: 420px;margin-left: 250px;">
+            <div class="modal-header">
+                <button type="button" class="close" data-dismiss="modal"><span aria-hidden="true">×</span>
+                </button>
+                <h4 class="modal-title modal-title-thmz" id="editWorkTimeModalTitle">新增号段</h4>
+            </div>
+            <div class="modal-body">
+                <form class="form-horizontal form-label-left" novalidate  autocomplete="off">
+                    <div class="item form-group thmz_alert">
+                        <label class="control-label col-md-4 col-sm-4 col-xs-12" for="codeWorkTime">号段编码 <span
+                                class="required">*</span>
+                        </label>
+                        <div class="col-md-6 col-sm-6 col-xs-12">
+                            <input id="codeWorkTime" class="form-control optional" type="text"
+                                   placeholder="请输入">
+                        </div>
+                    </div>
+                    <div class="item form-group thmz_alert">
+                        <label class="control-label col-md-4 col-sm-4 col-xs-12" for="nameWorkTime">号段名称 <span
+                                class="required">*</span>
+                        </label>
+                        <div class="col-md-6 col-sm-6 col-xs-12">
+                            <input id="nameWorkTime" class="form-control optional" type="text"
+                                   placeholder="请输入">
+                        </div>
+                    </div>
+
+                    <div class="item form-group thmz_alert">
+                        <label class="control-label col-md-4 col-sm-4 col-xs-12" for="startTimeWorkTime">开始时间 <span
+                                class="required">*</span>
+                        </label>
+                        <div class="col-md-6 col-sm-6 col-xs-12">
+                            <input id="startTimeWorkTime" class="form-control optional" type="text"
+                                   placeholder="08:00">
+                        </div>
+                    </div>
+                    <div class="item form-group thmz_alert">
+                        <label class="control-label col-md-4 col-sm-4 col-xs-12" for="endTimeWorkTime">结束时间 <span
+                                class="required">*</span>
+                        </label>
+                        <div class="col-md-6 col-sm-6 col-xs-12">
+                            <input id="endTimeWorkTime" class="form-control optional" type="text"
+                                   placeholder="08:00">
+                        </div>
+                    </div>
+                </form>
+            </div>
+            <div class="modal-footer">
+                <button type="button" class="btn btn-primary" id="saveWorkTime">保存</button>
+                <button type="button" class="btn btn-default" data-dismiss="modal">取消</button>
+            </div>
+        </div>
+    </div>
+</div>
+<!--新增号段弹窗结尾-->