minitiger 8 年 前
コミット
a1e5e728f9

+ 43 - 16
VisualInspection/js/mytask/check.js

@@ -43,6 +43,7 @@ function initCheck() {
         format: "yyyy-mm-dd"
     });
     if ($.checkTask) {
+        getUserCheckCount();
         initCheckAppealBtns();
         setFeSelect("#fsList", $.checkTask.checked_dept);
         // setFeeUserSelect("#check_checked_person_select", $.checkTask.checked_person);
@@ -167,8 +168,17 @@ function fullscreen() {
 
 }
 
-function initInfo() {
-
+function getUserCheckCount() {
+    var param = {
+        "id":$.checkTask.id,
+        "checked_person":$.checkTask.checked_person
+    };
+    post_common_service("/task/getUserCount/", param, function (userList) {       
+        $("#checked_count").html(userList.length);
+    });
+}
+function showCheckDetailCount(){
+    
 }
 function initCheckAppealBtns() {
     if ($.checkTask.appeal) {
@@ -178,25 +188,27 @@ function initCheckAppealBtns() {
         $("#appeal_time").html($.checkTask.appeal.appeal_time);
         $("#appeal_reason").html($.checkTask.appeal.appeal_reason);
         $("#appeal_file_list").html(genAppeaFiles($.checkTask.appeal.file_src));
+        $("#recheck_result").html($.checkTask.appeal.recheck_result);
+        
 
         layer.open({
             type: 1,
             title: "申诉详情",
-            closeBtn: 1,
+            closeBtn: 0,
             shade: false,
-            maxmin: true,
+            maxmin: false,
             shadeClose: true,
             offset: 'rb',
             content: $('#appeal_div'), //捕获的元素,注意:最好该指定的元素要存放在body最外层,否则可能被其它的相对元素所影响
-            min: function (index) {
-                // layer.close(index);
-                layer.style(index,{width: 50,height:50}); 
-                return false;
-            },
-            cancel:function(index){
-                 layer.style(index,{width: 50,height:50,offset:'r'});
-                 return false; 
-            }
+            // min: function (index) {
+            //     // layer.close(index);
+            //     layer.style(index,{width: 50,height:50}); 
+            //     return false;
+            // },
+            // cancel:function(index){
+            //      layer.style(index,{width: 50,height:50,offset:'r'});
+            //      return false; 
+            // }
         });
     } else {
         $("#appeal_div").hide();
@@ -250,7 +262,7 @@ function showEditCheckScore(id) {
     var rowData = getItemByIdFromArr(id, $('#score_datatable').mytable('getTableData'));
     scoreDetailLayer = showPopup4Common('修改考核项',function(data){
        saveScoreEdit();
-    },['350px','500px'],'#score-detail-div','r');
+    },['350px','550px'],'#score-detail-div','r');
     
     $("#score_id_text").val(rowData.id);
     $("#check_item_text").val(rowData.content);
@@ -274,7 +286,7 @@ function setFeeUserSelect(div,selectId){
         }
         $(div).html('');
         $(div).html(optStr);
-        alert("fff");
+
         $('#check_checked_person_select').chosen({
             // width:'200px',
             height:'100px',
@@ -480,7 +492,8 @@ function resetUserImgInfo() {
     $("#user_img_container").empty();
     var str = '<a id="person_img" href="../../images/img4.jpg" class="lightbox-toggle">'
         + '<img src="../../images/img4.jpg" class="img-thumbnail" style="width:50px;height:50px;margin-top:-10px;"></a>'
-        + '<label id="checked_person"></label>';
+        + '<label id="checked_person"></label>'
+        + '(次数:<a href="#"><label id="checked_count"></label></a>)';
     $("#user_img_container").html(str);
 }
 function changePersonContent(data) {
@@ -502,6 +515,7 @@ function changePersonContent(data) {
         $("#person_img").attr("href", imgSrc);
         $('a.lightbox-toggle').lightbox();
     }
+    getUserCheckCount();
 }
 var scoreLayer;
 function showScore() {
@@ -730,3 +744,16 @@ function initUpLoad() {
     });
 }
 
+function saveRecheckResult(){
+    var param = {
+        "id":$.checkTask.appeal.id,
+        "recheck_result":$("#recheck_result").val()
+    }
+    post_common_service("/checkAppeal/update", param, function(data){
+        layer.msg("保存成功", {
+            offset:'r',
+            time: 2000//20s后自动关闭
+        });
+    });
+}
+

+ 10 - 2
VisualInspection/js/teamClass/check_team_schedule.js

@@ -53,10 +53,10 @@
                 var newEvents = [];
                 //  console.log(data);
                 for(var i=0;i<data.length;i++){
-                    var obj = {id:data[i].id ,desc:data[i].team_name ,title: data[i].team_name+"-"+getTeamName(data[i].class_type),  start: data[i].start_time, end: data[i].end_time};
+                    var obj = {id:data[i].id ,desc:data[i].team_name ,title: data[i].team_name+"-"+getTeamName(data[i].class_type),  start: data[i].start_time, end: data[i].start_time};
                     newEvents.push(obj);
                 }
-                // console.log(newEvents)
+                                // console.log(newEvents)
                 calendar.addEvents(newEvents);
             })
         }
@@ -286,6 +286,14 @@
                 for(var i=0;i<data.list.length;i++){
                     $("#mooring_term,#middle_term,#night_term,#all_term").append("<option value='"+data.list[i].id+"'>"+data.list[i].name +"</option>")
                 }
+                //cs客户端弹出框显示下拉框有问题
+                $('#all_term').chosen({
+                    width:'200px',
+                    height:'100px',
+                    no_results_text: '没有找到',    // 当检索时没有找到匹配项时显示的提示文本
+                    disable_search_threshold: 10, // 10 个以下的选择项则不显示检索框
+                    search_contains: true         // 从任意位置开始检索
+                });
             },function(error){})
         }
 

+ 2 - 1
VisualInspection/js/util/util.js

@@ -301,7 +301,7 @@ function roleContains(role){
     return false;
 }
 
-function setCheckmanSelect(div, selectId, notHaveUserId){
+function setCheckmanSelect(div, selectId, notHaveUserId, callback){
     post_common_service("/user/getAllCheckman",null,function(data){
         var optStr = '';
         for(var i in data) {
@@ -313,6 +313,7 @@ function setCheckmanSelect(div, selectId, notHaveUserId){
         }
         $(div).html('');
         $(div).html(optStr);
+        if(callback) callback();
     });
 }
 function genAppeaFiles(file_src){

+ 2 - 0
VisualInspection/view/common/commonscriptlink.html

@@ -19,6 +19,8 @@
 <script src="/js/lib/kkpager.js"></script>
 <script src="/js/lib/slide/js/bootstrap-slider.min.js"></script>
 <script src="/js/lib/webuploader/webuploader.js"></script>
+<script type="text/javascript" src="/js/lib/combotree/icontains.js"></script>
+<script type="text/javascript" src="/js/lib/combotree/comboTreePlugin.js"></script>
 <script src="/js/util/util.js"></script>
 <script src="/js/util/service.js"></script>
 <script src="/js/constant/constant.js"></script>

+ 1 - 0
VisualInspection/view/main.html

@@ -27,6 +27,7 @@
         
     </style>
     <script src="/js/mytask/check.js"></script>
+    <!--<script src="/js/teamClass/check_team_schedule.js"></script>-->
     <script src="/js/teamClass/charge_team_schedule.js"></script>
 </head>
 

+ 6 - 2
VisualInspection/view/mytask/check.html

@@ -19,6 +19,7 @@
                     <!-- 使用图片 -->
                     <a id="person_img" href="../../images/img4.jpg" class="lightbox-toggle"><img src="../../images/img4.jpg" class="img-thumbnail" style="width:50px;height:50px;margin-top:-10px;"></a>
                     <label id="checked_person"></label>
+                    <a href="#" onclick="showCheckDetailCount()">次数<label id="checked_count"></label></a>
                 </div>
                 <div class="col-sm-1">
                     <button class="btn btn-primary " type="button" onclick="showChangeUser()">更改考核人员</button>
@@ -126,10 +127,9 @@
     <div>
         <table style="width:100%;">
             <tr>
-                <td width="50%"><button class="btn btn-primary" type="button" onclick="showPre4Appeal()">反馈</button></label></td>
+                <td width="50%">申诉时间:<label id="appeal_time"></label></td>
             </tr>
             <tr>
-                <td width="50%">申诉时间:<label id="appeal_time"></label></td>
                 <td width="50%">申诉原因:<label id="appeal_reason"></label></td>
             </tr>
             <tr>
@@ -137,6 +137,10 @@
                     <div class="file-list" id="appeal_file_list"></div>
                 </td>
             </tr>
+            <tr>
+                <td width="80%"><textarea id="recheck_result" style="height:50px;"></textarea></td>
+                <td width="20%"><button class="btn btn-primary" type="button" onclick="saveRecheckResult()">保存</button></td>
+            </tr>
         </table>
     </div>
 </div>

+ 11 - 1
VisualInspection/view/mytask/taskDetail.html

@@ -346,7 +346,17 @@
         showPopup4Common('分配稽查员',function(){
             saveAssign();
         },'400px','#chooseCheckman-div');
-        setCheckmanSelect('#choseCheckmanList',null,$.checkTask.checkman);
+        setCheckmanSelect('#choseCheckmanList',null,$.checkTask.checkman,
+        function(){
+           $('#choseCheckmanList').chosen({
+                // width:'200px',
+                height:'100px',
+                no_results_text: '没有找到',    // 当检索时没有找到匹配项时显示的提示文本
+                disable_search_threshold: 10, // 10 个以下的选择项则不显示检索框
+                search_contains: true         // 从任意位置开始检索
+            });   
+        });
+       
     }
 
     function saveAssign(){

+ 3 - 3
VisualInspection/view/term_management/check_stuff_schedule.html

@@ -55,11 +55,11 @@
 
 <link rel="stylesheet" type="text/css" href="/css/user/userManager.css?__inline">
 
-<script type="text/javascript" src="/js/lib/combotree/icontains.js?__inline"></script>
-<script type="text/javascript" src="/js/lib/combotree/comboTreePlugin.js?__inline"></script>
+<!--<script type="text/javascript" src="/js/lib/combotree/icontains.js"></script>
+<script type="text/javascript" src="/js/lib/combotree/comboTreePlugin.js"></script>-->
 <link rel="stylesheet" type="text/css" href="/node_modules/zui/dist/lib/calendar/zui.calendar.css">   
 <script src="/node_modules/zui/dist/lib/calendar/zui.calendar.js"></script>
-<script src="/js/teamClass/check_team_schedule.js?__inline"></script>
+<script src="/js/teamClass/check_team_schedule.js"></script>
 <style type="text/css" >
     span.time{
         display: none !important ;

+ 23 - 0
VisualInspection_server/src/main/java/com/xintong/visualinspection/bean/UserClassCount.java

@@ -0,0 +1,23 @@
+package com.xintong.visualinspection.bean;
+
+import lombok.Data;
+
+/**
+ * 文件名:Job
+ * 版本信息:日期:2017/4/18 Copyright 江苏省交通规划设计院 Corporation 2017 版权所有.
+ */
+@Data
+public class UserClassCount {
+    //编号
+    private Integer id;
+    //用户id
+    private Long user_id;
+    //班次类型
+    private Integer class_type;
+    //天
+    private Integer days;
+    
+    private Integer period_id;
+    
+    private Integer task_id;
+}

+ 17 - 1
VisualInspection_server/src/main/java/com/xintong/visualinspection/controller/TaskController.java

@@ -16,10 +16,10 @@ import org.springframework.web.bind.annotation.RestController;
 import com.github.pagehelper.PageHelper;
 import com.github.pagehelper.PageInfo;
 import com.xintong.system.err.BusinessException;
-import com.xintong.visualinspection.bean.Constant;
 import com.xintong.visualinspection.bean.Task;
 import com.xintong.visualinspection.bean.TaskStatus;
 import com.xintong.visualinspection.bean.User;
+import com.xintong.visualinspection.bean.UserClassCount;
 import com.xintong.visualinspection.service.TaskService;
 import com.xintong.visualinspection.util.AuthorUtil;
 import com.xintong.visualinspection.util.CacheUtil;
@@ -253,4 +253,20 @@ public class TaskController extends BaseController {
     	taskService.updateInvalidTaskCount(task);;
     	return super.returnSuccessResult("修改成功!");
     }
+    
+    /**
+     * 查询一个周期用户被考核次数
+     * @return
+     * String
+     * @exception
+     * @since  1.0.0
+     */
+    @RequestMapping(value = "/getUserCount")
+    public String getUserCount(@RequestBody Task task){
+    	if(task.getId()==null){
+    		throw new BusinessException(20002);
+    	}
+    	List<UserClassCount> countList = taskService.getUserCount(task);
+    	return super.returnSuccessResult(countList);
+    }
 }

+ 2 - 0
VisualInspection_server/src/main/java/com/xintong/visualinspection/dao/master/TaskDao.java

@@ -6,6 +6,7 @@ import org.apache.ibatis.annotations.Mapper;
 
 import com.xintong.visualinspection.bean.Task;
 import com.xintong.visualinspection.bean.TaskStatus;
+import com.xintong.visualinspection.bean.UserClassCount;
 
 /**
  * 文件名:UserInfoDao
@@ -29,4 +30,5 @@ public interface TaskDao  {
     public void insertStatusBatch(List<TaskStatus> taskStatusList);
     public void deleteInvalidTaskCount(Long task_id);
     public void updateInvalidTaskCount(Task task);
+    public List<UserClassCount> getUserCount(Task task);
 }

+ 1 - 0
VisualInspection_server/src/main/java/com/xintong/visualinspection/mapper/master/CheckAppealMapper.xml

@@ -69,6 +69,7 @@
         check_appeal
         SET
         <if test="check_status != null">check_status = #{check_status}</if>
+        <if test="recheck_result != null">recheck_result = #{recheck_result}</if>
         WHERE
         id = #{id}
     </update>

+ 19 - 0
VisualInspection_server/src/main/java/com/xintong/visualinspection/mapper/master/TaskMapper.xml

@@ -30,6 +30,14 @@
         <result property="check_status" column="check_status"/>
         <result property="check_status_name" column="check_status_name"/>
     </resultMap>
+    <resultMap id="userCountMap" type="com.xintong.visualinspection.bean.UserClassCount">
+        <id property="id" column="ID"/>
+        <result property="task_id" column="task_id"/>
+        <result property="user_id" column="user_id"/>
+        <result property="class_type" column="class_type"/>
+        <result property="days" column="days"/>
+        <result property="period_id" column="period_id"/>
+    </resultMap>
 
     <select id="getAll" resultMap="BaseResultMap"  >
         SELECT *
@@ -249,4 +257,15 @@
 	        <if test="checked_person != null">user_id = #{checked_person}</if>
         WHERE task_id=#{id}
     </update>
+    <select id="getUserCount" parameterType="com.xintong.visualinspection.bean.Task" resultMap="userCountMap" >
+        SELECT *
+        FROM check_user_count
+        WHERE user_id = #{checked_person}
+          and period_id = (
+          	select period_id
+          	from check_user_count
+          	where task_id = #{id}
+          		and user_id = #{checked_person}
+          )
+    </select>
 </mapper>

+ 2 - 0
VisualInspection_server/src/main/java/com/xintong/visualinspection/service/TaskService.java

@@ -4,6 +4,7 @@ import java.util.List;
 
 import com.xintong.visualinspection.bean.Task;
 import com.xintong.visualinspection.bean.TaskStatus;
+import com.xintong.visualinspection.bean.UserClassCount;
 
 /**
  * 
@@ -31,4 +32,5 @@ public interface TaskService {
     public void insertStatusBatch(List<TaskStatus> taskStatusList);
     public void deleteInvalidTaskCount(Long task_id);
     public void updateInvalidTaskCount(Task task);
+    public List<UserClassCount> getUserCount(Task task);
 }

+ 7 - 3
VisualInspection_server/src/main/java/com/xintong/visualinspection/service/impl/TaskServiceImpl.java

@@ -7,13 +7,11 @@ import org.slf4j.LoggerFactory;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.stereotype.Service;
 
-import com.github.pagehelper.util.StringUtil;
 import com.mysql.jdbc.StringUtils;
 import com.xintong.visualinspection.bean.Constant;
-import com.xintong.visualinspection.bean.Organ;
 import com.xintong.visualinspection.bean.Task;
 import com.xintong.visualinspection.bean.TaskStatus;
-import com.xintong.visualinspection.bean.User;
+import com.xintong.visualinspection.bean.UserClassCount;
 import com.xintong.visualinspection.dao.master.TaskDao;
 import com.xintong.visualinspection.service.BaseService;
 import com.xintong.visualinspection.service.TaskService;
@@ -178,4 +176,10 @@ public class TaskServiceImpl extends BaseService implements TaskService {
 		// TODO Auto-generated method stub
 		taskDao.updateInvalidTaskCount(task);
 	}
+
+	@Override
+	public List<UserClassCount> getUserCount(Task task) {
+		// TODO Auto-generated method stub
+		return taskDao.getUserCount(task);
+	}
 }

+ 8 - 8
VisualInspection_server/src/main/resources/application.properties

@@ -3,8 +3,8 @@ spring.thymeleaf.cache=false
 context.listener.classes=com.xintong.SystemInit
 
 #master.datasource.url = jdbc:mysql://10.112.0.199:3306/visualinspection?useUnicode=true&characterEncoding=utf-8
-master.datasource.url = jdbc:mysql://git.topm.win:6381/visualinspection?useUnicode=true&characterEncoding=utf-8
-#master.datasource.url = jdbc:mysql://10.112.0.199:7002/visualinspection?useUnicode=true&characterEncoding=utf-8
+#master.datasource.url = jdbc:mysql://git.topm.win:6381/visualinspection?useUnicode=true&characterEncoding=utf-8
+master.datasource.url = jdbc:mysql://10.112.0.199:7002/visualinspection?useUnicode=true&characterEncoding=utf-8
 master.datasource.username = root
 master.datasource.password = root
 master.datasource.driver-class-name = com.mysql.jdbc.Driver
@@ -12,8 +12,8 @@ master.mapper-locations=classpath:com/xintong/visualinspection/mapper/master/*.x
 
 ## \u7528\u6237\u6570\u636e\u6e90\u914d\u7f6e
 #cluster.datasource.url=jdbc:mysql://10.112.0.199:3306/yanhai?useUnicode=true&characterEncoding=utf8
-cluster.datasource.url=jdbc:mysql://git.topm.win:6381/yanhai?useUnicode=true&characterEncoding=utf8
-#cluster.datasource.url=jdbc:mysql://10.112.0.199:7002/yanhai?useUnicode=true&characterEncoding=utf8
+#cluster.datasource.url=jdbc:mysql://git.topm.win:6381/yanhai?useUnicode=true&characterEncoding=utf8
+cluster.datasource.url=jdbc:mysql://10.112.0.199:7002/yanhai?useUnicode=true&characterEncoding=utf8
 cluster.datasource.username=root
 cluster.datasource.password=root
 cluster.datasource.driver-class-name = com.mysql.jdbc.Driver
@@ -54,12 +54,12 @@ spring.datasource.useGlobalDataSourceStat=true
 # Redis\u6570\u636e\u5e93\u7d22\u5f15\uff08\u9ed8\u8ba4\u4e3a0\uff09
 spring.redis.database=0  
 # Redis\u670d\u52a1\u5668\u5730\u5740
-#spring.redis.host=10.112.0.199
-spring.redis.host=git.topm.win
+spring.redis.host=10.112.0.199
+#spring.redis.host=git.topm.win
 # Redis\u670d\u52a1\u5668\u8fde\u63a5\u7aef\u53e3
-spring.redis.port=6380
+#spring.redis.port=6380
 
-#spring.redis.port=7003
+spring.redis.port=7003
 #spring.redis.port=6379 
 # Redis\u670d\u52a1\u5668\u8fde\u63a5\u5bc6\u7801\uff08\u9ed8\u8ba4\u4e3a\u7a7a\uff09
 spring.redis.password=xintong