OrderBaseCMapper.xml 2.5 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445
  1. <?xml version="1.0" encoding="UTF-8"?>
  2. <!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
  3. <mapper namespace="com.gree.mall.miniapp.commonmapper.workorder.OrderBaseCMapper">
  4. <select id="countOrderStatus" resultType="com.gree.mall.miniapp.bean.workorder.CountOrderStatusBean">
  5. select
  6. count(DISTINCT if((is_import_excel = false and a.order_status='DJD') or (is_import_excel = true and a.is_meet = false) ,a.id,null)) 'djd',
  7. count(DISTINCT if(a.order_status in ('FWZ','GCSZT','BFWG','DSM','YZP','XSBH','TJXSBH','ZBBH','FZXBH','WDBH') and a.is_meet = true,a.id,null)) 'fwz',
  8. count(DISTINCT if(a.is_exception=1,a.id,null)) 'ycd',
  9. count(DISTINCT if(a.order_status='DQD',a.id,null)) 'dqd',
  10. count(DISTINCT if(a.order_status in ('YWG','YJS','GCSZX','YWGO','WDWG') and a.is_meet = true,a.id,null)) 'ywg',
  11. count(DISTINCT if(a.over_time between CONCAT(CURDATE(), ' 00:00:00') and CONCAT(CURDATE(), ' 23:59:59') and a.is_meet = true,a.id,null)) 'jrwg',
  12. count(DISTINCT if(a.order_status in ('YWG','YJS','GCSZX','YWGO','WDWG') and a.over_time > CONCAT(DATE_SUB(CURDATE(), INTERVAL 6 MONTH) , ' 00:00:00') and a.is_meet = true,a.id,null)) 'jbnwg',
  13. count(DISTINCT if((a.order_status not in ('YWG','YJS','GCSZX','YWGO','WDWG','DQD') AND a.is_meet = true ) or
  14. ( a.is_meet = false )
  15. ,a.id,null)) 'WWG',
  16. COUNT(DISTINCT a.id) AS 'all'
  17. from pg_order_base a
  18. left join pg_order_worker b on a.id = b.order_base_id
  19. where ((b.worker_id=#{workerId} or b.worker_number=#{workerNumber}) or a.order_status = 'DQD') and a.order_status not in ('YQX','FWQX','FL','FWZT','YCGB')
  20. <if test="isYb != null and isYb == true">
  21. and a.pg_incre_order_id != ''
  22. </if>
  23. <if test="isWb != null and isWb == true">
  24. and a.rp_project_repair_id !=''
  25. </if>
  26. <if test="pgIncreOrderId != null and pgIncreOrderId !=''">
  27. and a.pg_incre_order_id = #{pgIncreOrderId}
  28. </if>
  29. and a.company_wechat_id = #{companyWechatId}
  30. </select>
  31. <select id="countPartsApply" resultType="com.gree.mall.miniapp.bean.workorder.CountOrderStatusBean">
  32. SELECT
  33. SUM(IF(a.status = 'ING', 1, 0)) AS 'ping',
  34. SUM(IF(a.status = 'END' AND b.order_status IN ('FWZ','YCD'), 1, 0)) AS 'pend'
  35. FROM
  36. websit_parts_apply a JOIN pg_order_base b
  37. WHERE
  38. a.create_by_id = #{userId}
  39. AND a.status IN ('ING', 'END')
  40. </select>
  41. </mapper>