SmsbItemPushMapper.xml 3.6 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182
  1. <?xml version="1.0" encoding="UTF-8" ?>
  2. <!DOCTYPE mapper
  3. PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
  4. "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
  5. <mapper namespace="com.inspur.source.mapper.SmsbItemPushMapper">
  6. <select id="pushStatistics" resultType="com.inspur.source.domain.vo.PushStatisticsVo">
  7. select count(1) as totalNum,
  8. IFNULL(SUM(CASE WHEN item_type = 1 THEN 1 ELSE 0 END), 0) AS lbNum,
  9. IFNULL(SUM(CASE WHEN item_type = 2 THEN 1 ELSE 0 END), 0) AS jmNum,
  10. IFNULL(SUM(CASE WHEN item_type = 3 THEN 1 ELSE 0 END), 0) AS scNum
  11. from smsb_item_push
  12. </select>
  13. <select id="selectFrontOnePushByDeviceId" resultType="com.inspur.source.domain.vo.SmsbItemPushVo">
  14. SELECT ip.*
  15. FROM smsb_item_push ip
  16. INNER JOIN smsb_item_push_device ipd ON ip.id = ipd.push_id
  17. WHERE ipd.device_id = #{deviceId}
  18. AND ip.STATUS = 'finish'
  19. AND ipd.push_state != 4
  20. AND now() between ip.start_date and ip.end_date
  21. ORDER BY ip.level desc, ipd.create_time DESC
  22. </select>
  23. <select id="selectNeedReviewList" resultType="com.inspur.source.domain.vo.SmsbItemPushVo">
  24. SELECT
  25. sip.*,
  26. flow.ID_ as taskId
  27. FROM
  28. smsb_item_push sip
  29. INNER JOIN (
  30. SELECT
  31. *
  32. FROM (
  33. SELECT RES.ID_,RES.tenant_id_,RES.assignee_,AHP.BUSINESS_STATUS_,AHP.BUSINESS_KEY_
  34. FROM
  35. ACT_RU_TASK RES
  36. INNER JOIN ACT_HI_PROCINST AHP ON RES.PROC_INST_ID_ = AHP.PROC_INST_ID_
  37. WHERE RES.PARENT_TASK_ID_ IS NULL
  38. ) t
  39. WHERE (
  40. t.business_status_ = 'waiting'
  41. AND t.tenant_id_ = #{bo.tenantId}
  42. AND (t.assignee_ = #{bo.loginUser} OR (t.assignee_ IS NULL AND EXISTS(
  43. SELECT LINK.ID_ FROM ACT_RU_IDENTITYLINK LINK WHERE LINK.TASK_ID_ = t.ID_ AND LINK.TYPE_ = 'candidate' AND (LINK.USER_ID_ = #{bo.loginUser}))
  44. )
  45. )
  46. )
  47. ) flow ON flow.BUSINESS_KEY_ = sip.id
  48. where 1 = 1
  49. <if test="bo.name != null and bo.name != ''"> and sip.name like concat('%',#{bo.name},'%')</if>
  50. <if test="bo.itemType != null and bo.itemType != ''"> and sip.item_type = #{bo.type}</if>
  51. <if test="bo.level != null and bo.level != ''"> and sip.level = #{bo.level}</if>
  52. order by sip.create_time desc
  53. </select>
  54. <select id="selectFlowFinishList" resultType="com.inspur.source.domain.vo.SmsbItemPushVo">
  55. SELECT
  56. sip.*,
  57. flow.ID_ as taskId
  58. FROM
  59. smsb_item_push sip
  60. INNER JOIN (
  61. SELECT
  62. *
  63. FROM (
  64. SELECT HTI.assignee_,AHP.BUSINESS_STATUS_,AHP.BUSINESS_KEY_,HTI.ID_
  65. FROM
  66. ACT_HI_TASKINST HTI
  67. INNER JOIN ACT_HI_PROCINST AHP ON HTI.PROC_INST_ID_ = AHP.PROC_INST_ID_
  68. WHERE
  69. HTI.PARENT_TASK_ID_ IS NULL AND HTI.END_TIME_ IS NOT NULL
  70. ) t
  71. WHERE ( t.assignee_ = #{bo.loginUser})
  72. ) flow ON flow.BUSINESS_KEY_ = sip.id
  73. where 1 = 1
  74. <if test="bo.name != null and bo.name != ''"> and sip.name like concat('%',#{bo.name},'%')</if>
  75. <if test="bo.itemType != null and bo.itemType != ''"> and sip.item_type = #{bo.type}</if>
  76. <if test="bo.level != null and bo.level != ''"> and sip.level = #{bo.level}</if>
  77. order by sip.create_time desc
  78. </select>
  79. </mapper>