소스 검색

考核项管理

chenrj-PC\chenrj 9 년 전
부모
커밋
6b17ac5e67
16개의 변경된 파일348개의 추가작업 그리고 94개의 파일을 삭제
  1. 2 3
      VisualInspection/js/assess_management/assess_item.js
  2. 20 3
      VisualInspection/js/assess_management/assess_way.js
  3. 71 51
      VisualInspection/js/assess_management/assess_way_edit.js
  4. 2 1
      VisualInspection/js/teamClass/charge_team_schedule.js
  5. 1 1
      VisualInspection/js/teamClass/check_team_schedule.js
  6. 2 2
      VisualInspection/view/assess_management/assess_item.html
  7. 2 2
      VisualInspection/view/assess_management/assess_way.html
  8. 7 7
      VisualInspection/view/assess_management/assess_way_edit.html
  9. 16 0
      VisualInspection_server/src/main/java/com/xintong/visualinspection/controller/CheckRuleController.java
  10. 57 0
      VisualInspection_server/src/main/java/com/xintong/visualinspection/controller/CheckRuleItemController.java
  11. 17 0
      VisualInspection_server/src/main/java/com/xintong/visualinspection/dao/master/CheckRuleItemDao.java
  12. 21 0
      VisualInspection_server/src/main/java/com/xintong/visualinspection/mapper/master/CheckRuleItemMapper.xml
  13. 20 0
      VisualInspection_server/src/main/java/com/xintong/visualinspection/service/CheckRuleItemService.java
  14. 1 0
      VisualInspection_server/src/main/java/com/xintong/visualinspection/service/CheckRuleService.java
  15. 41 0
      VisualInspection_server/src/main/java/com/xintong/visualinspection/service/impl/CheckRuleItemServiceImpl.java
  16. 68 24
      VisualInspection_server/src/main/java/com/xintong/visualinspection/service/impl/CheckRuleServiceImpl.java

+ 2 - 3
VisualInspection/js/assess_management/assess_item.js

@@ -1,5 +1,4 @@
 
-
  var zdata = [];
  var z_cache ;
  var check_item_tree = null;
@@ -37,7 +36,7 @@
      $('#dashboard').dashboard({ draggable: false });
      var zTreeObj;
      var zNodes = [];
-     check_item_tree = $.fn.zTree.init($("#department_tree"), {}, zNodes);
+     check_item_tree = $.fn.zTree.init($("#check_rule_tree"), {}, zNodes);
 
      getCheckItems();
 
@@ -259,7 +258,7 @@ function delete_check_item(id ){
              zdataItem["children"] = addobj(m);
              zdata.push(zdataItem);
          }
-         check_item_tree = $.fn.zTree.init($("#department_tree"), setting, zdata)
+         check_item_tree = $.fn.zTree.init($("#check_rule_tree"), setting, zdata)
      },function(error){})
  }
 

+ 20 - 3
VisualInspection/js/assess_management/assess_way.js

@@ -31,11 +31,26 @@ function deleteCheckRule(id){
 function showAddCheckRule(){
     $('#check_rule_name,#dep_id,#position_id').val('');
     showPopup4Common('添加考核办法',function(){
-        addOrUpdateCheckRule("/checkRule/add");
+       return addOrUpdateCheckRule("/checkRule/add");
     },'400px');
 }
 
+/**
+ * 添加考核办法 - 保存
+ */
 function addOrUpdateCheckRule(url){
+    if(idVal("check_rule_name") == ''){
+        tip("请输入考核办法");
+        return false;
+    }
+    if(idVal("dep_id") == ''){
+        tip("请选择部门");
+        return false;
+    }
+    if(idVal("position_id") == ''){
+        tip("请选择职位");
+        return false;
+    }
     var param ={
         "name":idVal("check_rule_name") ,
         "checked_dept_id":idVal("dep_id"),
@@ -58,7 +73,9 @@ $(document).ready(function() {
 
     // 考核项链接
     $(".datatable").delegate("td.modity-flag","click",function(){
-        // alert($(this).html());
-        changePage("/view/assess_management/assess_way_edit.html")
+        var obj = $('.datatable').data("data_cache")[$(this).attr("data-row")] ;
+        $.zui.store.set("check_rule_id",obj.id);
+        $.zui.store.set("check_rule_name",obj.name);
+        changePage("/view/assess_management/assess_way_edit.html");
     });
 });

+ 71 - 51
VisualInspection/js/assess_management/assess_way_edit.js

@@ -1,6 +1,8 @@
 
  var zdata = [];
  var z_cache ;
+ var all_data = [] ;
+ var check_rule_id ;
  var check_item_tree = null;
  var edittype = "add";
  var cols = [{
@@ -72,7 +74,14 @@
              return;
          }
 
-        deleteItem4Common(nodedata[0].id,"/checkItem/delete",function(){
+        if(nodedata[0].children.length > 0){
+            layer.msg('请删除具体考核项!', {
+                 time: 2000, //20s后自动关闭
+             });
+             return;
+        }
+
+        delete4CheckRuleItem({"rule_id":check_rule_id,"id":nodedata[0].id},"/checkRuleItem/delete",function(){
             layer.msg('删除成功!', {
                     time: 2000, //20s后自动关闭
                 });   
@@ -91,6 +100,25 @@
      });
  });
 
+
+function delete4CheckRuleItem(param,url,okCb){
+    //询问框
+    layer.confirm('确定删除记录?', {
+        btn: ['删除','取消'] //按钮
+    }, function(){
+        no_return_common_service(url, param, function(data) {
+            okCb();//重新加载表格数据
+            layer.msg(data, {
+                time: 2000//20s后自动关闭
+            });
+        }, function(error) {
+            alert(error);
+        });
+    }, function(index){
+        layer.close(index);
+    });
+}
+
 function table_init(){
     $('.datatable').datatable('load', {
         cols: cols,
@@ -133,7 +161,7 @@ function addCheckItem_v(id){
 
 // 表格点击删除
 function delete_check_item(id ){
-     deleteItem4Common(id,"/checkItem/delete",function(){
+     delete4CheckRuleItem( {"rule_id":check_rule_id,"id":id} ,"/checkItem/delete",function(){
          layer.msg('删除成功!', {
                 time: 2000, //20s后自动关闭
             });   
@@ -173,7 +201,7 @@ function delete_check_item(id ){
      function getTree(obj,rowObj){
         var userdata = {};
         userdata["checked"] = false;
-        userdata["data"] = [++seq, obj.name, (obj.score!=null?obj.score:""), '<a href="javascript:void(0)" onclick="modify_check_item('+ obj.id +')"  ><i class="icon icon-edit"></i> 修改</a><a href="javascript:void(0)" onclick="delete_check_item('+ obj.id +')" ><i class="icon icon-remove-circle"></i> 删除</a>'];
+        userdata["data"] = [++seq, obj.name, (obj.score!=null?obj.score:""), '<a href="javascript:void(0)" onclick="delete_check_item('+ obj.id +')" ><i class="icon icon-remove-circle"></i> 删除</a>'];
         rowObj.push(userdata);
 
         if(obj.subCheckItem!=null){
@@ -185,11 +213,8 @@ function delete_check_item(id ){
      }
 
      function zTreeOnClick(event, treeId, treeNode) {
-
         var rowdata = [];
-
         seq = 0 ;
-
         for(var i=0;i<z_cache.length;i++){
             var treeObj = getTreeData(z_cache[i],treeNode.id) ;
             if( treeObj != null){
@@ -244,12 +269,19 @@ function delete_check_item(id ){
          }
      };
 
-     var data = {"id":3} ;
-     post_common_service("/checkRule/getById",data,function(data){
+     $("#check_rule_item_name").html($.zui.store.get("check_rule_name"));
+
+     check_rule_id = $.zui.store.get("check_rule_id");
+
+     var data = {"id": check_rule_id } ;
+     post_common_service("/checkRule/getListById",data,function(data){
         zdata = [];
-        z_cache = data ;
-         for (var i = 0; i < data.length; i++) {
-             var m = data[i];
+        z_cache = data.check_items ;
+        if(data==null){
+            return ;
+        }
+         for (var i = 0; i < data.check_items.length; i++) {
+             var m = data.check_items[i];
              var zdataItem = {};
              zdataItem["id"] = m.id;
              zdataItem["value"] = m.id;
@@ -261,6 +293,23 @@ function delete_check_item(id ){
          }
          check_item_tree = $.fn.zTree.init($("#department_tree"), setting, zdata)
      },function(error){})
+
+     // 查询所有的考核项
+    post_common_service("/checkItem/getAll","",function(data){
+        all_data = [];
+         for (var i = 0; i < data.length; i++) {
+             var m = data[i];
+             var zdataItem = {};
+             zdataItem["id"] = m.id;
+             zdataItem["value"] = m.id;
+             zdataItem["pId"] = null;
+             zdataItem["score"] = m.score ;
+             zdataItem["name"] = m.name;
+             zdataItem["children"] = addobj(m);
+             all_data.push(zdataItem);
+         }
+     },function(error){})
+
  }
 
  function addobj(data) {
@@ -296,45 +345,36 @@ function loadData(nodedata) {
         $("#check_item_name").val("") ;
         $("#check_item_score").val("")
     }
-    if (edittype == "edit") {
-        selectednodetemp = nodedata[0];
-        $("#check_item_name").val(nodedata[0].name);
-        $("#check_item_score").val(nodedata[0].score);
-        $("#add_btn").html("保存")
-        if (pnode != null && pnode.length > 0) {
-            pnode = [check_item_tree.getNodeByParam("id", pnode[0].pId, null)]
-        }
-    }
+  
     $(".check_item_group").show();
     if(pnode[0] != null){
         dept_selectinput = new TreeSelect({
             element: '#check_item_select',
-            data: zdata,
+            data: all_data,
             valueKey: "id",
             placeholder: "选择考核项分类",
             selectvalue: pnode.length > 0 ? pnode[0].id : null
         });
     }else{
-        $(".check_item_group").hide();
+        dept_selectinput = new TreeSelect({
+            element: '#check_item_select',
+            data: all_data,
+            valueKey: "id",
+            placeholder: "选择考核项分类"
+        });
     }
 }
 
 
 function addCheckItem() {
     //获取名称
-    var name = $("#check_item_name").val();
-    var score = $("#check_item_score").val();
-
-    var pid =   dept_selectinput!=null?dept_selectinput.value:null ;
-
     var data = {
-        "name": name,
-        "score":score,
-        "parent_id": pid
+        "rule_id": check_rule_id,
+        "id":dept_selectinput.value
     }
 
     if (edittype == "add") {
-        post_common_service( "checkItem/add",data,function(data){
+        post_common_service( "checkRuleItem/add",data,function(data){
             layer.msg('添加成功!', {
                 time: 2000, //20s后自动关闭
             }, function() {
@@ -344,26 +384,6 @@ function addCheckItem() {
             })
         },function(error){})
     }
-
-    if (edittype == "edit") {
-        data["id"] = selectednodetemp.id;
-        if (isSelfOrChild(pid, selectednodetemp)) {
-            layer.msg('不能添加到自身及自身下的子考核项!', {
-                time: 2000, //20s后自动关闭
-            })
-            return;
-        }
-
-         post_common_service( "checkItem/update",data,function(data){
-            layer.msg('修改成功!', {
-                time: 2000, //20s后自动关闭
-            }, function() {
-                $('#addModal').modal('hide')
-                getCheckItems();
-                table_init();
-            })
-        },function(error){})
-    }
 }
 
 function isSelfOrChild(id, node) {

+ 2 - 1
VisualInspection/js/teamClass/charge_team_schedule.js

@@ -11,6 +11,7 @@
         var date_cursor = 0 ;
 
         // var user = $.zui.store.get("user") ;  // 缓存用户信息,取出dept_id
+        // console.log(user); 
 
         $('#calendar').calendar();
         var calendar = $('#calendar').data('zui.calendar');
@@ -31,7 +32,7 @@
                 var newEvents = [];
                 // console.log(data);
                 for(var i=0;i<data.length;i++){
-                    var obj = {id:data[i].id ,title: data[i].team_name+"-"+getTeamName(data[i].class_type),  start: timeStamp2String(data[i].start_time,"yyyy-MM-dd"), end: timeStamp2String(data[i].end_time,"yyyy-MM-dd")};
+                    var obj = {id:data[i].id ,desc:data[i].team_name ,title: data[i].team_name+"-"+getTeamName(data[i].class_type),  start: timeStamp2String(data[i].start_time,"yyyy-MM-dd"), end: timeStamp2String(data[i].end_time,"yyyy-MM-dd")};
                     newEvents.push(obj);
                 }
                 calendar.addEvents(newEvents);

+ 1 - 1
VisualInspection/js/teamClass/check_team_schedule.js

@@ -31,7 +31,7 @@
                 var newEvents = [];
                 // console.log(data);
                 for(var i=0;i<data.length;i++){
-                    var obj = {id:data[i].id ,title: data[i].team_name+"-"+getTeamName(data[i].class_type),  start: timeStamp2String(data[i].start_time,"yyyy-MM-dd"), end: timeStamp2String(data[i].end_time,"yyyy-MM-dd")};
+                    var obj = {id:data[i].id ,desc:data[i].team_name ,title: data[i].team_name+"-"+getTeamName(data[i].class_type),  start: timeStamp2String(data[i].start_time,"yyyy-MM-dd"), end: timeStamp2String(data[i].end_time,"yyyy-MM-dd")};
                     newEvents.push(obj);
                 }
                 calendar.addEvents(newEvents);

+ 2 - 2
VisualInspection/view/assess_management/assess_item.html

@@ -16,7 +16,7 @@
                         </div>
                     </div>
                     <div class="panel-body">
-                        <ul id="department_tree" class="ztree">
+                        <ul id="check_rule_tree" class="ztree">
 
                         </ul>
                     </div>
@@ -31,7 +31,7 @@
                         </div>
                     </div>
                     <div class="panel-body no-padding" style="padding:0">
-                        <div class="datatable" data-checkable="true" data-sortable="true"></div>
+                        <div class="datatable" data-checkable="false" data-sortable="false"></div>
                     </div>
                 </div>
 

+ 2 - 2
VisualInspection/view/assess_management/assess_way.html

@@ -44,13 +44,13 @@
                             <label for="exampleInputPassword4" class="col-sm-3">考核对象</label>
                             <div class="col-md-4 col-sm-4">
                                 <select type="text" id="dep_id" class="form-control" >
-                                    <option>请选择部门</option>
+                                    <option value="" selected>请选择部门</option>
                                     <option value="1">1</option>
                                 </select>
                             </div>
                             <div class="col-md-4 col-sm-4">
                                 <select type="text" id="position_id" class="form-control" >
-                                    <option>请选择职位</option>
+                                    <option value="" selected>请选择职位</option>
                                      <option value="2">2</option>
                                 </select>
                             </div>

+ 7 - 7
VisualInspection/view/assess_management/assess_way_edit.html

@@ -6,7 +6,7 @@
 <div class="container-fluid ">
     <div id="dashboard" class="dashboard dashboard-draggable" data-height="500">
         <div class="row" style="text-align:center;margin-bottom:10px;font-size:20px;">
-            收费站收费员视频考核管理办法
+            <span id="check_rule_item_name"></span>考核管理办法
         </div>
         <div class="row">
             <div class="col-md-3">
@@ -15,7 +15,7 @@
                         <span class="title">考核项列表</span>
                         <div class="panel-actions">
                             <button type="button" class="btn" id="dept_add" data-position="center" data-toggle="tooltip" title="添加"><i class="icon-plus"></i></button>
-                            <button type="button" class="btn" id="dept_edit" data-toggle="tooltip" title="编辑"><i class="icon-pencil"></i></button>
+                            <!--<button type="button" class="btn" id="dept_edit" data-toggle="tooltip" title="编辑"><i class="icon-pencil"></i></button>-->
                             <button type="button" class="btn" id="dept_delete" data-toggle="tooltip" title="删除"><i class="icon-trash"></i></button>
                         </div>
                     </div>
@@ -54,7 +54,7 @@
             <div class="modal-body">
                 <div class="container-fluid ">
                     <form class="form-horizontal">
-                        <div class="form-group">
+                        <!--<div class="form-group">
                             <label for="exampleInputAccount4" class="col-sm-2">名称:</label>
                             <div class="col-md-6 col-sm-10">
                                 <input type="text" id="check_item_name" class="form-control" placeholder="名称">
@@ -65,17 +65,17 @@
                             <div class="col-md-6 col-sm-10">
                                 <input type="text" id="check_item_score" class="form-control" placeholder="分数">
                             </div>
-                        </div>
+                        </div>-->
                         <div class="form-group check_item_group">
-                            <label for="exampleInputPassword4" class="col-sm-2">分类:</label>
-                            <div class="col-md-6 col-sm-10">
+                            <label for="exampleInputPassword4" class="col-sm-3">考核项名称:</label>
+                            <div class="col-md-6 col-sm-9">
                                 <div id="check_item_select"></div>
 
                             </div>
                         </div>
 
                         <div class="form-group">
-                            <div class="col-sm-offset-2 col-sm-10">
+                            <div class="col-sm-offset-3 col-sm-10">
                                 <button type="button" id="add_btn" class="btn btn-default" onclick="addCheckItem()">添加</button>
                             </div>
                         </div>

+ 16 - 0
VisualInspection_server/src/main/java/com/xintong/visualinspection/controller/CheckRuleController.java

@@ -105,6 +105,22 @@ public class CheckRuleController extends BaseController {
     }
     
     /**
+     * 通过id获取考核项List
+     * @return
+     * String
+     * @exception
+     * @since
+     */
+    @RequestMapping(value = "/getListById")
+    public String getByListId(@RequestBody CheckRule checkRule){
+    	if(checkRule.getId()==null){
+    		throw new BusinessException(20002);
+    	}
+    	CheckRule cr = checkRuleService.getListById(checkRule.getId());
+    	return super.returnSuccessResult(cr);
+    }
+    
+    /**
      * 通过名称获取考核办法
      * @return
      * String

+ 57 - 0
VisualInspection_server/src/main/java/com/xintong/visualinspection/controller/CheckRuleItemController.java

@@ -0,0 +1,57 @@
+package com.xintong.visualinspection.controller;
+
+import javax.validation.Valid;
+
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.web.bind.annotation.PathVariable;
+import org.springframework.web.bind.annotation.RequestBody;
+import org.springframework.web.bind.annotation.RequestMapping;
+import org.springframework.web.bind.annotation.RestController;
+
+import com.xintong.system.err.BusinessException;
+import com.xintong.visualinspection.bean.CheckItem;
+import com.xintong.visualinspection.service.CheckRuleItemService;
+
+/**
+ * 文件名:CheckRuleIem
+ * 版本信息:日期:2017/3/30 Copyright 江苏省交通规划设计院 Corporation 2017 版权所有.
+ */
+@RestController
+@RequestMapping("/checkRuleItem")
+public class CheckRuleItemController extends BaseController {
+
+	@Autowired
+	private CheckRuleItemService checkRuleItemService ;
+	
+	/**
+     * 增加考核项
+     * @return
+     * String
+     * @exception
+     * @since  1.0.0
+     */
+    @RequestMapping(value = "/add")
+    public String add(@Valid @RequestBody CheckItem checkItem){
+    	if(checkItem.getId()==null && checkItem.getRule_id()==null){
+    		throw new BusinessException(20002);
+    	}
+    	checkRuleItemService.insert(checkItem);
+    	return super.returnSuccessResult("增加成功");
+    }
+    
+    /**
+     * 删除考核项
+     * @return
+     * String
+     * @exception
+     * @since  1.0.0
+     */
+    @RequestMapping(value = "/delete")
+    public String delete(@RequestBody CheckItem checkItem){
+    	if(checkItem.getId() ==null){
+    		throw new BusinessException(20002);
+    	}
+    	checkRuleItemService.delete(checkItem);
+    	return super.returnSuccessResult("删除成功");
+    }
+}

+ 17 - 0
VisualInspection_server/src/main/java/com/xintong/visualinspection/dao/master/CheckRuleItemDao.java

@@ -0,0 +1,17 @@
+package com.xintong.visualinspection.dao.master;
+
+import org.apache.ibatis.annotations.Mapper;
+
+import com.xintong.visualinspection.bean.CheckItem;
+
+/**
+ * 文件名:CheckRuleDao
+ * 版本信息:日期:2017/3/30 Copyright 江苏省交通规划设计院 Corporation 2017 版权所有.
+ */
+@Mapper
+public interface CheckRuleItemDao  {
+    public void insert(CheckItem checkItem);
+   
+    public void delete(CheckItem checkItem);
+   
+}

+ 21 - 0
VisualInspection_server/src/main/java/com/xintong/visualinspection/mapper/master/CheckRuleItemMapper.xml

@@ -0,0 +1,21 @@
+<?xml version="1.0" encoding="UTF-8" ?>
+<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
+<mapper namespace="com.xintong.visualinspection.dao.master.CheckRuleItemDao" >
+
+    <insert id="insert" parameterType="com.xintong.visualinspection.bean.CheckItem" >
+        INSERT INTO
+        check_rule_item
+        (rule_id,item_id)
+        VALUES
+        (#{rule_id},#{id})
+    </insert>
+
+    
+    <delete id="delete" parameterType="com.xintong.visualinspection.bean.CheckItem" >
+        DELETE FROM
+        check_rule_item
+        WHERE
+        rule_id=#{rule_id} and item_id=#{id}
+    </delete>
+    
+</mapper>

+ 20 - 0
VisualInspection_server/src/main/java/com/xintong/visualinspection/service/CheckRuleItemService.java

@@ -0,0 +1,20 @@
+package com.xintong.visualinspection.service;
+
+import com.xintong.visualinspection.bean.CheckItem;
+
+/**
+ * 
+ *
+ * ConstantService
+ * 
+ * tiger
+ * tiger
+ * 2017年5月4日 上午10:41:40
+ * 
+ * @version 1.0.0
+ *
+ */
+public interface CheckRuleItemService {
+    public void insert(CheckItem checkItem);
+    public void delete(CheckItem checkItem);
+}

+ 1 - 0
VisualInspection_server/src/main/java/com/xintong/visualinspection/service/CheckRuleService.java

@@ -21,6 +21,7 @@ public interface CheckRuleService {
     public List<CheckRule> getAll();
     public List<CheckRule> getAllAndCountItem(CheckRule checkRule);
     public CheckRule getById(Long id);
+    public CheckRule getListById(Long id);
     public List<CheckRule> getByName(String name);
     public void insert(CheckRule checkRule);
     public void update(CheckRule checkRule);

+ 41 - 0
VisualInspection_server/src/main/java/com/xintong/visualinspection/service/impl/CheckRuleItemServiceImpl.java

@@ -0,0 +1,41 @@
+package com.xintong.visualinspection.service.impl;
+
+import org.slf4j.LoggerFactory;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.stereotype.Service;
+
+import com.xintong.visualinspection.bean.CheckItem;
+import com.xintong.visualinspection.bean.CheckRule;
+import com.xintong.visualinspection.dao.master.CheckRuleItemDao;
+import com.xintong.visualinspection.service.BaseService;
+import com.xintong.visualinspection.service.CheckRuleItemService;
+
+/**
+ * 文件名:UserServiceImpl
+ * 版本信息:日期:2017/3/30 Copyright 江苏省交通规划设计院 Corporation 2017 版权所有.
+ */
+@Service
+public class CheckRuleItemServiceImpl extends BaseService implements CheckRuleItemService {
+
+    private static final org.slf4j.Logger logger = LoggerFactory.getLogger(CheckRuleItemServiceImpl.class);
+
+    @Autowired
+    private CheckRuleItemDao checkRuleItemDao ;
+	
+
+	@Override
+	public void delete(CheckItem checkItem) {
+		// TODO Auto-generated method stub
+		checkRuleItemDao.delete(checkItem);
+		
+	}
+
+
+	@Override
+	public void insert(CheckItem checkItem) {
+		// TODO Auto-generated method stub
+		checkRuleItemDao.insert(checkItem);
+		
+	}
+  
+}

+ 68 - 24
VisualInspection_server/src/main/java/com/xintong/visualinspection/service/impl/CheckRuleServiceImpl.java

@@ -4,6 +4,7 @@ import java.util.ArrayList;
 import java.util.HashMap;
 import java.util.List;
 import java.util.Map;
+import java.util.Set;
 
 import org.slf4j.LoggerFactory;
 import org.springframework.beans.factory.annotation.Autowired;
@@ -40,33 +41,76 @@ public class CheckRuleServiceImpl extends BaseService implements CheckRuleServic
 
 	@Override
 	public CheckRule getById(Long id) {
+		CheckRule obj = checkRuleDao.getOne(id);
+		// 获取子类的父
+		return obj ;
+	}
+	
+	@Override
+	public CheckRule getListById(Long id) {
 		// 这边要对所有取出来的checkItem数据进行处理
 		CheckRule obj = checkRuleDao.getOne(id);
-//		List<CheckItem> lists = checkItemDao.getAll();
-//		for(CheckItem checkItem : obj.getCheck_items()){
-//			
-//		}
-		return null ;
+		List<CheckItem> lists = checkItemDao.getAll();
+		List<CheckItem> result_list = new ArrayList<>();
+		Map<Long,CheckItem> map = new HashMap<>();
+		for(CheckItem o : obj.getCheck_items()){
+			map.put(o.getId(),o);
+			getMyParent(o, lists, map);
+		}
+		// 把map中value全部拿出来
+		for(CheckItem o : map.values()){
+			result_list.add(o);
+		}
+		obj.setCheck_items(getCheckItems(result_list));
+		return obj;
+	}
+	
+	private void getMyParent(CheckItem checkItem,List<CheckItem> lists,Map<Long,CheckItem> map ){
+		if(checkItem.getParent_id() !=null && checkItem.getParent_id()!=0){
+			for(CheckItem obj : lists){
+				if(checkItem.getParent_id() == obj.getId()){
+					// 判断这个有没有父亲了
+					if(obj.getParent_id()!=null){
+						getMyParent(obj,lists,map);
+					}
+					if(!map.containsKey(obj.getId())){
+						map.put(obj.getId(), obj);
+					}
+					break;
+				}
+			}
+		}
+	}
+	
+	// 将list 父子分别排序好 (静态模板函数)
+	private List<CheckItem> getCheckItems(List<CheckItem> obj) {
+		List<CheckItem> checkItems = obj;
+		List<CheckItem> olist = new ArrayList<>();
+		Map<Long, List<CheckItem>> map = new HashMap<>();
+		// 找出所有父
+		for (CheckItem o : checkItems) {
+			if (o.getParent_id() != null && o.getParent_id()!=0) {
+				List<CheckItem> checkItemList = map.get(o.getParent_id());
+				if (checkItemList == null) {
+					checkItemList = new ArrayList<>();
+				}
+				checkItemList.add(o);
+				map.put(o.getParent_id(), checkItemList);
+			}
+		}
+		// 找出子
+		for (Long oid : map.keySet()) {
+			for (CheckItem m2 : checkItems) {
+				if (m2.getId() == oid) {
+					m2.setSubCheckItem(map.get(oid));
+					if (m2.getParent_id() == null || m2.getParent_id()==0) {
+						olist.add(m2);
+					}
+				}
+			}
+		}
+		return olist;
 	}
-
-//	public CheckItem getCheckPItems(List<CheckItem> ruleItemList,CheckItem obj) {
-//		for(CheckItem o : ruleItemList){
-//			if(obj.getParent_id() == o.getId()){
-//				if(o.getSubCheckItem()!=null){
-//					o.getSubCheckItem().add(obj);
-//				}else{
-//					o.setSubCheckItem(new ArrayList<>());
-//					o.getSubCheckItem().add(obj);
-//				}
-//				if(o.getParent_id()!=null && o.getParent_id()!=0){
-//					getCheckPItems(ruleItemList,o);
-//				}else{
-//					return o;
-//				}
-//			}
-//		}
-//		return obj ;
-//	}
 	
 	@Override
 	public List<CheckRule> getByName(String name) {