Blame view

项目文档相关/sql/查询员工消耗项目数.sql 1.65 KB
d8035736   “wangming”   Refactor project ...
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
  -- ============================================
  -- 查询员工在指定月份的消耗项目数
  -- ============================================
  -- 员工ID: 18566028067
  -- 查询月份: 202511 (202511)
  -- ============================================
  
  -- 方式1:从健康师业绩表统计(推荐,使用F_kdpxNumber字段,包含原始+加班+陪同项目数)
  SELECT 
      jksyj.jks as 健康师ID,
      jksyj.jksxm as 健康师姓名,
      jksyj.jkszh as 健康师账号,
      COALESCE(SUM(jksyj.F_kdpxNumber), 0) as 消耗项目总数,
      COALESCE(SUM(COALESCE(jksyj.F_OriginalKdpxNumber, jksyj.F_kdpxNumber)), 0) as 原始项目数,
      COALESCE(SUM(COALESCE(jksyj.F_OvertimeKdpxNumber, 0)), 0) as 加班项目数,
      COALESCE(SUM(COALESCE(jksyj.F_AccompaniedProjectNumber, 0)), 0) as 陪同项目数
  FROM lq_xh_jksyj jksyj
  WHERE (jksyj.jks = '18566028067' OR jksyj.jkszh = '18566028067')
      AND jksyj.F_IsEffective = 1
      AND DATE_FORMAT(jksyj.yjsj, '%Y%m') = '202511'
  GROUP BY jksyj.jks, jksyj.jksxm, jksyj.jkszh;
  
  -- 方式2:从品项明细表统计(备用方式,统计F_ProjectNumber字段)
  SELECT 
      jksyj.jks as 健康师ID,
      jksyj.jksxm as 健康师姓名,
      jksyj.jkszh as 健康师账号,
      COALESCE(SUM(pxmx.F_ProjectNumber), 0) as 消耗项目数
  FROM lq_xh_jksyj jksyj
  INNER JOIN lq_xh_hyhk hyhk ON jksyj.glkdbh = hyhk.F_Id
  INNER JOIN lq_xh_pxmx pxmx ON pxmx.F_ConsumeInfoId = hyhk.F_Id
  WHERE (jksyj.jks = '18566028067' OR jksyj.jkszh = '18566028067')
      AND jksyj.F_IsEffective = 1
      AND hyhk.F_IsEffective = 1
      AND pxmx.F_IsEffective = 1
      AND DATE_FORMAT(hyhk.hksj, '%Y%m') = '202511'
  GROUP BY jksyj.jks, jksyj.jksxm, jksyj.jkszh;