chenrj-PC\chenrj 9 жил өмнө
parent
commit
441a5e4830

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

@@ -0,0 +1,41 @@
+package com.xintong.visualinspection.bean;
+
+import java.util.Date;
+
+import org.springframework.format.annotation.DateTimeFormat;
+
+import com.fasterxml.jackson.annotation.JsonFormat;
+
+import lombok.Data;
+
+/**
+ * 文件名:Job
+ * 版本信息:日期:2017/4/18 Copyright 江苏省交通规划设计院 Corporation 2017 版权所有.
+ */
+@Data
+public class StatisticsBean {
+    //编号
+    private Integer id;
+ 
+    // 部门id
+    private Long dept_id;
+    
+    //开始日期
+    @DateTimeFormat(pattern="yyyy-MM-dd HH:mm:ss") 
+    @JsonFormat(pattern="yyyy-MM-dd HH:mm:ss",timezone = "GMT+8")  
+    private Date start_date ;
+    
+    @DateTimeFormat(pattern="yyyy-MM-dd HH:mm:ss") 
+    @JsonFormat(pattern="yyyy-MM-dd HH:mm:ss",timezone = "GMT+8")  
+    private Date end_date ;
+    
+    private Long user_id ;
+    
+    private String name ;
+    
+    private Integer score;
+    
+    private Integer item_id ;
+
+    
+}

+ 28 - 0
VisualInspection_server/src/main/java/com/xintong/visualinspection/bean/StatisticsBo.java

@@ -0,0 +1,28 @@
+package com.xintong.visualinspection.bean;
+
+import java.util.ArrayList;
+import java.util.Date;
+import java.util.List;
+
+import lombok.Data;
+
+/**
+ * 文件名:Job
+ * 版本信息:日期:2017/4/18 Copyright 江苏省交通规划设计院 Corporation 2017 版权所有.
+ */
+@Data
+public class StatisticsBo {
+    //编号
+    private Integer id;
+ 
+    private Integer checked_num ;
+    
+    private int check_all_score =0 ; 
+    
+    private List<String> checked_socre_name = new ArrayList<>() ;
+    
+    private List<Integer> checked_score = new ArrayList<>() ;
+    
+    private User user;
+    
+}

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

@@ -0,0 +1,37 @@
+package com.xintong.visualinspection.controller;
+
+import java.util.List;
+
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.web.bind.annotation.RequestBody;
+import org.springframework.web.bind.annotation.RequestMapping;
+import org.springframework.web.bind.annotation.RestController;
+
+import com.xintong.visualinspection.bean.StatisticsBean;
+import com.xintong.visualinspection.bean.StatisticsBo;
+import com.xintong.visualinspection.service.StatisticsService;
+
+/**
+ * 文件名:StatisticsController
+ * 版本信息:日期:2017/3/30 Copyright 江苏省交通规划设计院 Corporation 2017 版权所有.
+ */
+@RestController
+@RequestMapping("/statistics")
+public class StatisticsController extends BaseController {
+
+	@Autowired
+	private StatisticsService statisticsService;
+    
+    /**
+     * 通过方法id获取考核项
+     * @return
+     * String
+     * @exception
+     * @since  1.0.0
+     */
+    @RequestMapping(value = "/employee/order")
+    public String getByRuleId(@RequestBody StatisticsBean obj){
+    	List<StatisticsBo> lists=  statisticsService.getEmployeeCheckedInfo(obj);
+    	return super.returnSuccessResult(lists);
+    }
+}

+ 18 - 0
VisualInspection_server/src/main/java/com/xintong/visualinspection/dao/master/StatisticsDao.java

@@ -0,0 +1,18 @@
+package com.xintong.visualinspection.dao.master;
+
+import java.util.List;
+
+import org.apache.ibatis.annotations.Mapper;
+
+import com.xintong.visualinspection.bean.StatisticsBean;
+
+/**
+ * 文件名:StatisticsDao
+ * 版本信息:日期:2017/3/30 Copyright 江苏省交通规划设计院 Corporation 2017 版权所有.
+ */
+@Mapper
+public interface StatisticsDao  {
+    
+	public List<StatisticsBean> selectStatistics(StatisticsBean obj);
+   
+}

+ 21 - 0
VisualInspection_server/src/main/java/com/xintong/visualinspection/mapper/master/StatisticsMapper.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.StatisticsDao" >
+    
+    <select id="selectStatistics" 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 
+			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.update_time &gt;= #{start_date} AND t.update_time &lt;= #{end_date} 
+			</if>
+			<if test="dept_id!=null">
+				AND t.checked_dept =#{dept_id}			
+			</if>
+			 ) 
+			u LEFT JOIN check_item s ON u.parent_id = s.id GROUP  BY checked_person,id
+    </select>
+
+    
+</mapper>

+ 26 - 0
VisualInspection_server/src/main/java/com/xintong/visualinspection/service/StatisticsService.java

@@ -0,0 +1,26 @@
+package com.xintong.visualinspection.service;
+
+import java.util.List;
+
+import com.xintong.visualinspection.bean.CheckRule;
+import com.xintong.visualinspection.bean.Constant;
+import com.xintong.visualinspection.bean.StatisticsBean;
+import com.xintong.visualinspection.bean.StatisticsBo;
+
+/**
+ * 
+ *
+ * StatisticsService
+ * 
+ * tiger
+ * tiger
+ * 2017年5月4日 上午10:41:40
+ * 
+ * @version 1.0.0
+ *
+ */
+public interface StatisticsService {
+   
+	public List<StatisticsBo> getEmployeeCheckedInfo(StatisticsBean obj);
+	
+}

+ 84 - 0
VisualInspection_server/src/main/java/com/xintong/visualinspection/service/impl/StatisticsServiceImpl.java

@@ -0,0 +1,84 @@
+package com.xintong.visualinspection.service.impl;
+
+import java.util.ArrayList;
+import java.util.Collection;
+import java.util.Comparator;
+import java.util.HashMap;
+import java.util.List;
+import java.util.Map;
+import java.util.Map.Entry;
+
+import org.slf4j.LoggerFactory;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.stereotype.Service;
+
+import com.xintong.visualinspection.bean.StatisticsBean;
+import com.xintong.visualinspection.bean.StatisticsBo;
+import com.xintong.visualinspection.bean.User;
+import com.xintong.visualinspection.dao.master.StatisticsDao;
+import com.xintong.visualinspection.service.BaseService;
+import com.xintong.visualinspection.service.StatisticsService;
+import com.xintong.visualinspection.util.CacheUtil;
+
+/**
+ * 文件名:StatisticsServiceImpl
+ * 版本信息:日期:2017/3/30 Copyright 江苏省交通规划设计院 Corporation 2017 版权所有.
+ */
+@Service
+public class StatisticsServiceImpl extends BaseService implements StatisticsService {
+
+    private static final org.slf4j.Logger logger = LoggerFactory.getLogger(StatisticsServiceImpl.class);
+
+    @Autowired
+    private StatisticsDao statisticsDao ;
+    
+	@Override
+	public List<StatisticsBo> getEmployeeCheckedInfo(StatisticsBean obj) {
+		// 查看是否有部门id
+		Long organId = obj.getDept_id();
+		// 将检索出来的数据放到如map中
+		List<StatisticsBean> list = statisticsDao.selectStatistics(obj);
+//		Map<Long,StatisticsBean> statisticMap = new HashMap<Long,StatisticsBean>();
+//		for( StatisticsBean statisticsBean : list ){
+//			statisticMap.put(statisticsBean.getUser_id(), statisticsBean);
+//		}
+		
+		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);
+				}
+			}
+		}
+		
+		for( StatisticsBean statisticsBean : list ){
+			if(statisticBoMap.containsKey(statisticsBean.getUser_id())){
+				StatisticsBo tmp = statisticBoMap.get(statisticsBean.getUser_id());
+				tmp.getChecked_socre_name().add(statisticsBean.getName());
+				tmp.getChecked_score().add(statisticsBean.getScore());
+				tmp.setCheck_all_score(tmp.getCheck_all_score()+statisticsBean.getScore() );
+			}
+		}
+		
+		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() ){
+					return 1;
+				}else{
+					return -1 ;
+				}
+			}
+		});
+	
+		return lists;
+	}
+    
+}