Browse Source

个人得分统计

温红权 8 năm trước cách đây
mục cha
commit
2aa13e6b6f

+ 56 - 1
VisualInspection_server/src/main/java/com/xintong/visualinspection/mapper/master/StatisticsMapper.xml

@@ -349,6 +349,61 @@
 			AND monthfunc( t.start_time ) = #{mth}
 			AND monthfunc( t.start_time ) = #{mth}
 		GROUP BY m.parent_id,m.checked_dept order by  m.checked_dept
 		GROUP BY m.parent_id,m.checked_dept order by  m.checked_dept
      </select>
      </select>
+
+
+
+    <!--包含扣分-->
+    <sql id="selectOneAllCheckedInfo">
+        SELECT
+        check_num_t.checked_num , check_num_t.mth, IFNULL(checked_score_t.checkd_all_score ,0) as checkd_all_score, check_num_t.checked_person,check_num_t.checked_dept
+        FROM
+
+        (
+        SELECT
+        COUNT( t.id) AS checked_num,
+        t.checked_person,
+        monthfunc (t.start_time) AS mth,t.checked_dept
+        FROM
+        check_task t
+        WHERE
+        t.checked_person IS NOT NULL
+        AND t.check_status != 22 and t.id not in <include refid="taskexclouddeleteUser"/>
+        <if test="start_date !=null">
+            AND t.start_time >= #{start_date}
+        </if>
+        <if test="end_date !=null">
+            AND t.end_time &lt; #{end_date}
+        </if>
+        <if test="user_id !=null ">
+            AND t.checked_person = #{user_id}
+        </if>
+        GROUP BY mth
+        ) check_num_t
+
+        LEFT JOIN (
+        SELECT
+        monthfunc (t.start_time) AS mth,
+        sum(m.check_item_score) AS checkd_all_score,m.*
+        FROM
+        check_score m INNER JOIN
+        ( select * From check_task t
+        where t.check_status != 22  and t.id not in <include refid="taskexclouddeleteUser"/>
+        <if test="start_date !=null">
+            AND t.start_time >= #{start_date}
+        </if>
+        <if test="end_date !=null">
+            AND t.end_time &lt; #{end_date}
+        </if>   ) t
+        ON m.task_id = t.id
+        WHERE 1=1
+        <if test="user_id !=null ">
+            AND m.checked_person = #{user_id}
+        </if>
+        GROUP BY mth
+
+        ) checked_score_t ON checked_score_t.checked_person = check_num_t.checked_person
+        AND check_num_t.mth = checked_score_t.mth
+    </sql>
      
      
      
      
      <sql id="selectOneCheckedInfo">
      <sql id="selectOneCheckedInfo">
@@ -402,7 +457,7 @@
      </sql>
      </sql>
      
      
      <select id="selectOneCheckedInfo" parameterType="com.xintong.visualinspection.bean.StatisticsBean" resultType="com.xintong.visualinspection.bean.StatisticsBean">
      <select id="selectOneCheckedInfo" parameterType="com.xintong.visualinspection.bean.StatisticsBean" resultType="com.xintong.visualinspection.bean.StatisticsBean">
-     	SELECT * FROM ( <include refid="selectOneCheckedInfo"/> ) t
+     	SELECT * FROM ( <include refid="selectOneAllCheckedInfo"/> ) t
      </select>
      </select>
      
      
      <select id="selectOneCheckedItemInfo" parameterType="com.xintong.visualinspection.bean.StatisticsBean" resultType="com.xintong.visualinspection.bean.StatisticsBean">
      <select id="selectOneCheckedItemInfo" parameterType="com.xintong.visualinspection.bean.StatisticsBean" resultType="com.xintong.visualinspection.bean.StatisticsBean">