Просмотр исходного кода

Merge branch 'master' of http://git_xt.git.topm.win:8080/wenhongquan/VisualInspection

wenhongquan 9 лет назад
Родитель
Сommit
5f79ab497b

+ 54 - 44
VisualInspection/js/statistics/assess_ranking.js

@@ -5,8 +5,8 @@ function queryEmpClick(){
     var start_date = $("#start-time").val();
     var end_date = $("#end-time").val();
     if(start_date==null||start_date==''||start_date==undefined||end_date==null||end_date==''||end_date==undefined){
-        alert("请选择起止日期");
-                return ;
+        tip("请选择起止日期");
+        return ;
     }else{
         start_date += " 00:00:00";
         end_date += " 00:00:00";
@@ -21,29 +21,9 @@ function queryEmpClick(){
         "end_date": end_date,
     }
     var url = "statistics/employee/order";
-    var strTbody='';
-    post_common_service( url,param,function(data){
-                for(var i=0;i<data.length;i++){
-                     strTbody+="<tr>";
-      
-       strTbody+="<td>"+(i+1)+"</td><td>"+"</td>"
-                 +"<td>"+data[i].user.truename+"</td><td>"+"</td>"
-                 +"<td>"+data[i].user.workno+"</td><td>"+0+"</td>"
-                 +"<td>"+0+"</td><td>"+0+"</td>"
-                 +"<td>"+0+"</td><td>"+0+"</td>"
-                 +"<td>"+0+"</td><td>"+data[i].check_all_score+"</td>"
-                 +"<td>"+"</td><td>"+"</td>"
-                 +"<td>"+"</td><td>"+"</td>";
-                 strTbody+="</tr>";
-                }
-       $(".table-tbody").append(strTbody);
-               
-            },function(error){
-                return "" ;
-            });
+    getEmployeeInfos(url,param)
 }
 
-
 function initQueryEmp(){
     // 默认初始化前两天查所有
     var endD = new Date();
@@ -57,30 +37,60 @@ function initQueryEmp(){
         "end_date": end_date,
     }
     var url = "statistics/employee/order";
-    var strTbody='';
-   
+    getEmployeeInfos(url,param);
+}
+
+function getEmployeeInfos(url,param){
     post_common_service( url,param,function(data){
-                for(var i=0;i<data.length;i++){
-                     strTbody+="<tr>";
-      
-       strTbody+="<td>"+(i+1)+"</td><td>"+"</td>"
-                 +"<td>"+data[i].user.truename+"</td><td>"+"</td>"
-                 +"<td>"+data[i].user.workno+"</td><td>"+0+"</td>"
-                 +"<td>"+0+"</td><td>"+0+"</td>"
-                 +"<td>"+0+"</td><td>"+0+"</td>"
-                 +"<td>"+0+"</td><td>"+data[i].check_all_score+"</td>"
-                 +"<td>"+"</td><td>"+"</td>"
-                 +"<td>"+"</td><td>"+"</td>";
-                 strTbody+="</tr>";
-                }
-       $(".table-tbody").append(strTbody);
-               
-            },function(error){
-                return "" ;
-            });
-    
+        var strTbody='';
+        for(var i=0;i<data.length;i++){
+            strTbody+="<tr><td>"+(i+1)+"</td><td>"+data[i].user.fee_station_name+"</td>"
+                +"<td>"+data[i].user.truename+"</td><td>"+"</td>"
+                +"<td>"+data[i].user.workno+"</td><td>"+ getItemScore(data[i], '环境') +"</td>"
+                +"<td>"+getItemScore(data[i], '仪容仪表')+"</td><td>"+getItemScore(data[i], '表情')+"</td>"
+                +"<td>"+getItemScore(data[i], '动作')+"</td><td>"+getItemScore(data[i], '文明用语')+"</td>"
+                +"<td>"+ getItemScore(data[i], '工作纪律') +"</td><td>"+data[i].check_all_score+"</td>"
+                +"<td>"+filter(data[i].checked_num,'0')+"</td><td>"+"</td>"
+                +"<td>"+"</td><td>"+"</td></tr>";
+        }
+       $(".table-tbody").append(strTbody);   
+    },function(error){
+        return "" ;
+    });
 }
 
+/**
+ * 过滤undefined
+ * @param {*} value 
+ * @param {*} default_display_value 
+ */
+function filter(value , default_display_value){
+    if(value!='' && value!=undefined ){
+        return value ;
+    }else if(default_display_value != undefined){
+        return default_display_value ;
+    }else{
+        return "" ;
+    }
+}
+
+/**
+ * 获取扣分详情
+ * @param {*} obj 
+ * @param {*} check_item_name 
+ */
+function getItemScore(obj, check_item_name){
+    var names = obj.checked_socre_name ;
+    var scores = obj.checked_score ;
+
+    for(var i=0;i<names.length ;i++){
+        if( names[i].indexOf(check_item_name) > -1){
+            console.log(obj);
+            return scores[i] ;
+        }
+    }
+    return 0 ;
+}
 
 
 

+ 8 - 0
VisualInspection_server/src/main/java/com/xintong/visualinspection/bean/StatisticsBean.java

@@ -1,6 +1,8 @@
 package com.xintong.visualinspection.bean;
 
+import java.util.ArrayList;
 import java.util.Date;
+import java.util.List;
 
 import org.springframework.format.annotation.DateTimeFormat;
 
@@ -39,6 +41,8 @@ public class StatisticsBean {
 
     private Integer checked_num;
     
+    private Integer checked_people_num ;
+    
     private Integer people_num;
     
     private int score_fifteen;
@@ -48,4 +52,8 @@ public class StatisticsBean {
     private int score_over_fifty ;
     
     private int all_check_score ;
+    
+    private List<String> checked_socre_name = new ArrayList<>() ;
+    
+    private List<Integer> checked_score = new ArrayList<>() ;
 }

+ 2 - 0
VisualInspection_server/src/main/java/com/xintong/visualinspection/bean/User.java

@@ -75,6 +75,8 @@ public class User implements UserDetails {
 	private String email;
 	private String pic;
 	
+	private String fee_station_name ;
+	
 	private List<String> roleids;
 
 	private List<Role> roles;

+ 8 - 0
VisualInspection_server/src/main/java/com/xintong/visualinspection/controller/StatisticsController.java

@@ -46,4 +46,12 @@ public class StatisticsController extends BaseController {
     	return super.returnSuccessResult(lists);
     }
     
+    /**
+     * 温馨服务检查情况统计表
+     */
+    @RequestMapping(value = "/score/Item/info")
+    public String getScoreItemInfo(@RequestBody StatisticsBean obj){
+    	List<StatisticsBean> lists=  statisticsService.getFeeStationCheckItemScore(obj);
+    	return super.returnSuccessResult(lists);
+    }
 }

+ 7 - 7
VisualInspection_server/src/main/java/com/xintong/visualinspection/mapper/cluster/UserInfoMapper.xml

@@ -72,13 +72,13 @@
     
     <select id="getUsers" parameterType="com.xintong.visualinspection.bean.User" resultMap="BaseResultMap"  >
         SELECT
-        *
-        FROM t_sys_users
-        where 1=1 and status>0 
-        <if test="organid != null and organid != 0">and organid = #{organid} </if>
-        <if test="positionid != null and positionid != 0">and positionid = #{positionid} </if>
-        <if test="classid != null and classid != 0">and classid = #{classid} </if>
-        <if test="teamid != null and teamid != 0">and teamid = #{teamid} </if>
+        t.* , fs.name AS fee_station_name
+        FROM t_sys_users t LEFT JOIN t_br_layer_fee_station fs ON t.organid = fs.organ_id
+        where 1=1 and t.status>0 
+        <if test="organid != null and organid != 0">and t.organid = #{organid} </if>
+        <if test="positionid != null and positionid != 0">and t.positionid = #{positionid} </if>
+        <if test="classid != null and classid != 0">and t.classid = #{classid} </if>
+        <if test="teamid != null and teamid != 0">and t.teamid = #{teamid} </if>
         
     </select>
     

+ 8 - 9
VisualInspection_server/src/main/java/com/xintong/visualinspection/mapper/master/StatisticsMapper.xml

@@ -30,7 +30,7 @@
     </select>
     
     <select id="selectFeeStationCheckNum" parameterType="com.xintong.visualinspection.bean.StatisticsBean" resultType="com.xintong.visualinspection.bean.StatisticsBean">
-    	SELECT COUNT(DISTINCT( t.checked_person )) AS check_num ,t.checked_dept AS dept_id FROM check_task  t
+    	SELECT COUNT(DISTINCT( t.checked_person )) AS checked_people_num , COUNT(t.checked_person) AS checked_num  ,t.checked_dept AS dept_id FROM check_task  t
     	WHERE 1=1
     		<if test="start_date!=null and end_date != null">
 		        AND	 t.start_time &gt;= #{start_date} AND t.end_time &lt;= #{end_date} 
@@ -43,21 +43,20 @@
     		FROM check_score t 
     		WHERE 1=1
     		<if test="start_date!=null and end_date != null">
-		        AND	 t.start_time &gt;= #{start_date} AND t.end_time &lt;= #{end_date} 
+		        AND	 t.update_time &gt;= #{start_date} AND t.update_time &lt;= #{end_date} 
 			</if>
     		GROUP BY t.checked_dept,t.checked_person
     </select>
     
     <select id="selectFeeStationCheckedPersonScoreDetail" parameterType="com.xintong.visualinspection.bean.StatisticsBean" resultType="com.xintong.visualinspection.bean.StatisticsBean">
-    	SELECT  u.checked_person AS user_id , u.checked_dept AS dept_id ,u.parent_id AS item_id ,sum(u.score) AS score ,s.name  FROM (
-			SELECT t.checked_person , t.checked_dept,ci.parent_id, t.score  FROM check_score t 
+    	    SELECT  u.checked_dept AS dept_id ,u.parent_id AS item_id ,sum(u.score) AS score ,s.name  FROM (
+			SELECT  t.checked_dept,ci.parent_id, t.score  FROM check_score t 
 			LEFT JOIN check_item ci ON t.check_item_id = ci.id
 			WHERE 1=1
 			<if test="start_date!=null and end_date != null">
-		        AND	 t.start_time &gt;= #{start_date} AND t.end_time &lt;= #{end_date} 
-			</if>
-			 )
-			u LEFT JOIN check_item s ON u.parent_id = s.id GROUP  BY checked_person,id
+		        AND	 t.update_time &gt;= #{start_date} AND t.update_time &lt;= #{end_date} 
+			</if> )
+			u LEFT JOIN check_item s ON u.parent_id = s.id GROUP  BY dept_id,item_id
     </select>
-    
+       
 </mapper>

+ 57 - 12
VisualInspection_server/src/main/java/com/xintong/visualinspection/service/impl/StatisticsServiceImpl.java

@@ -16,7 +16,9 @@ import com.xintong.visualinspection.bean.StatisticsBean;
 import com.xintong.visualinspection.bean.StatisticsBo;
 import com.xintong.visualinspection.bean.User;
 import com.xintong.visualinspection.dao.cluster.DepartmentDao;
+import com.xintong.visualinspection.dao.cluster.UserInfoDao;
 import com.xintong.visualinspection.dao.master.StatisticsDao;
+import com.xintong.visualinspection.dao.master.UserDao;
 import com.xintong.visualinspection.service.BaseService;
 import com.xintong.visualinspection.service.StatisticsService;
 import com.xintong.visualinspection.util.CacheUtil;
@@ -36,6 +38,9 @@ public class StatisticsServiceImpl extends BaseService implements StatisticsServ
     @Autowired
     private DepartmentDao departmentDao ;
     
+    @Autowired
+    private UserInfoDao userInfoDao;
+    
 	@Override
 	public List<StatisticsBo> getEmployeeCheckedInfo(StatisticsBean obj) {
 		// 查看是否有部门id
@@ -46,17 +51,30 @@ public class StatisticsServiceImpl extends BaseService implements StatisticsServ
 		List<StatisticsBean> timesList = statisticsDao.selectCheckedTimes(obj);
 		
 		Map<Long,StatisticsBo> statisticBoMap = new HashMap<Long,StatisticsBo>();
-				
-		for(User user:CacheUtil.userMap.values()){
-			if(user.getPositionid() ==1){
-				if(organId ==null ||  user.getOrganid()+0L == organId+0L ){
-					StatisticsBo tmp = new StatisticsBo();
-					tmp.setUser(user);
-					statisticBoMap.put(user.getId()+0L,tmp);
-				}
+		
+		User user = new User();
+		user.setPositionid(1);
+		if(obj.getDept_id()!=null)
+			user.setOrganid(obj.getDept_id().intValue());
+		List<User> listUserts = userInfoDao.getUsers(user);
+		for(User u:listUserts){
+			if(u.getFee_station_name()!=null){
+				StatisticsBo tmp = new StatisticsBo();
+				tmp.setUser(u);
+				statisticBoMap.put(u.getId()+0L, tmp);				
 			}
 		}
 		
+//		for(User user:CacheUtil.userMap.values()){
+//			if(user.getPositionid() ==1){
+//				if(organId ==null ||  user.getOrganid()+0L == organId+0L ){
+//					StatisticsBo tmp = new StatisticsBo();
+//					tmp.setUser(user);
+//					statisticBoMap.put(user.getId()+0L,tmp);
+//				}
+//			}
+//		}
+		
 		for( StatisticsBean statisticsBean : list ){
 			if(statisticBoMap.containsKey(statisticsBean.getUser_id())){
 				StatisticsBo tmp = statisticBoMap.get(statisticsBean.getUser_id());
@@ -78,7 +96,6 @@ public class StatisticsServiceImpl extends BaseService implements StatisticsServ
 		List<StatisticsBo> lists = new ArrayList<>(statisticBoMap.values());
 		// 进行排序
 		lists.sort(new Comparator<StatisticsBo>() {
-
 			@Override
 			public int compare(StatisticsBo o1, StatisticsBo o2) {
 				if(o1.getCheck_all_score() >= o2.getCheck_all_score() ){
@@ -101,11 +118,12 @@ public class StatisticsServiceImpl extends BaseService implements StatisticsServ
 			mapStationInfos.put(sta.getDept_id(), sta);
 		}
 		
-		// 检索受检次数
+		// 检查人数 和 检查次数
 		List<StatisticsBean> listCheckNum = statisticsDao.selectFeeStationCheckNum(obj);
 		for(StatisticsBean sta:listCheckNum){
 			if(mapStationInfos.containsKey(sta.getDept_id())){
 				mapStationInfos.get(sta.getDept_id()).setChecked_num(sta.getChecked_num());
+				mapStationInfos.get(sta.getDept_id()).setChecked_people_num(sta.getChecked_people_num());
 			}
 		}
 		
@@ -129,8 +147,35 @@ public class StatisticsServiceImpl extends BaseService implements StatisticsServ
 
 	@Override
 	public List<StatisticsBean> getFeeStationCheckItemScore(StatisticsBean obj) {
-		// TODO Auto-generated method stub
-		return null;
+
+		// 获取收费站信息收费站人数
+		List<StatisticsBean> lists = departmentDao.selectFeeStationGroup(obj);
+		Map<Long,StatisticsBean> mapStationInfos = new HashMap<>();
+		for(StatisticsBean sta:lists){
+			mapStationInfos.put(sta.getDept_id(), sta);
+		}
+		
+		//  检查人数 和 检查次数
+		List<StatisticsBean> listCheckNum = statisticsDao.selectFeeStationCheckNum(obj);
+		for(StatisticsBean sta:listCheckNum){
+			if(mapStationInfos.containsKey(sta.getDept_id())){
+				mapStationInfos.get(sta.getDept_id()).setChecked_num(sta.getChecked_num());
+				mapStationInfos.get(sta.getDept_id()).setChecked_people_num(sta.getChecked_people_num());
+			}
+		}
+		
+		List<StatisticsBean> listCheckedScore = statisticsDao.selectFeeStationCheckedPersonScoreDetail(obj);
+		for(StatisticsBean sta:listCheckedScore){
+			if(mapStationInfos.containsKey(sta.getDept_id())){
+				StatisticsBean statis = mapStationInfos.get(sta.getDept_id());
+				statis.setAll_check_score( statis.getAll_check_score()+sta.getScore());
+				statis.getChecked_socre_name().add(sta.getName());
+				statis.getChecked_score().add(sta.getScore());
+			}
+		}
+		
+		return new ArrayList<>(mapStationInfos.values());
+	
 	}
     
 }