TraceWatchesDeviceMapper.xml 4.4 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104
  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.zhgd.scs.mapper.TraceWatchesDeviceMapper">
  6. <select id="getList" resultType="com.zhgd.scs.domain.vo.TraceWatchesDeviceVo">
  7. SELECT twd.*,lp.`name` personName,lp.en_name personEnName,abbr_name unitName,lp.tel,lp.stc_no,lp.wrc_no, ld.name departmentName,twnr.alarm,twnr.type_id,twat.type
  8. typeName,twnr.lat,twnr.lng,twnr.is_miss,twnr.miss_time,twnr.is_wearing
  9. FROM trace_watches_device twd
  10. LEFT JOIN trace_watches_newest_record twnr on twnr.device_code = twd.device_code
  11. LEFT JOIN trace_watches_alarm_type twat on twnr.type_id = twat.id
  12. LEFT JOIN labor_person lp ON twd.person_id=lp.id AND lp.deleted = 0
  13. LEFT JOIN labor_department ld on lp.department_id = ld.id
  14. LEFT JOIN labor_unit lu ON lp.unit_id=lu.id
  15. WHERE twd.project_id = #{projectId}
  16. <if test="unitId!=null">
  17. AND lp.unit_id = #{unitId}
  18. </if>
  19. <if test="personName!=null and personName!=''">
  20. AND lp.name LIKE CONCAT('%', #{personName}, '%')
  21. </if>
  22. <if test="state!=null">
  23. AND twd.state = #{state}
  24. </if>
  25. <if test="inOutState!=null">
  26. AND twd.in_out_state = #{inOutState}
  27. </if>
  28. <if test="bindingState != null">
  29. <choose>
  30. <when test="bindingState == 1">
  31. AND twd.person_id IS NOT NULL
  32. </when>
  33. <when test="bindingState == 0">
  34. AND twd.person_id IS NULL
  35. </when>
  36. </choose>
  37. </if>
  38. ORDER BY
  39. twd.in_out_state DESC, twd.state DESC, twd.in_time DESC,twd.id DESC
  40. </select>
  41. <select id="getInfoById" resultType="com.zhgd.scs.domain.vo.TraceWatchesDeviceVo">
  42. SELECT twd.*,
  43. lp.`name` personName,
  44. lp.en_name personEnName,
  45. lu.abbr_name unitName,
  46. lu.id unitId,
  47. ld.name departmentName,
  48. lp.tel,
  49. lp.stc_no,
  50. lp.wrc_no
  51. FROM trace_watches_device twd
  52. LEFT JOIN labor_person lp ON twd.person_id = lp.id AND lp.deleted = 0
  53. LEFT JOIN labor_department ld on lp.department_id = ld.id
  54. LEFT JOIN labor_unit lu ON lp.unit_id = lu.id
  55. WHERE twd.id = #{id}
  56. </select>
  57. <select id="getAllCount" resultType="java.lang.Integer">
  58. SELECT COUNT(*)
  59. FROM trace_watches_device twd
  60. LEFT JOIN labor_person lp on twd.person_id = lp.id AND lp.deleted = 0
  61. WHERE twd.project_id = #{projectId}
  62. AND twd.in_out_state = 1
  63. AND lp.id IS NOT NULL
  64. </select>
  65. <select id="getWatchesUserList" resultType="com.zhgd.scs.domain.vo.NameIdVo">
  66. SELECT lp.id, lp.`name`
  67. FROM trace_watches_device twd
  68. LEFT JOIN labor_person lp on twd.person_id = lp.id AND lp.deleted = 0
  69. WHERE twd.project_id = #{projectId}
  70. AND lp.id IS NOT NULL
  71. </select>
  72. <select id="exportDeviceList" resultType="com.zhgd.scs.domain.vo.TraceWatchesDeviceExport">
  73. SELECT twd.*,lp.`name` personName,lp.en_name personEnName,abbr_name unitName,lp.tel,lp.stc_no,lp.wrc_no
  74. FROM trace_watches_device twd
  75. LEFT JOIN labor_person lp ON twd.person_id=lp.id AND lp.deleted = 0
  76. LEFT JOIN labor_unit lu ON lp.unit_id=lu.id
  77. WHERE twd.project_id = #{projectId}
  78. <if test="unitId!=null">
  79. AND lp.unit_id = #{unitId}
  80. </if>
  81. <if test="personName!=null and personName!=''">
  82. AND lp.name LIKE CONCAT('%', #{personName}, '%')
  83. </if>
  84. <if test="state!=null">
  85. AND twd.state = #{state}
  86. </if>
  87. <if test="inOutState!=null">
  88. AND twd.in_out_state = #{inOutState}
  89. </if>
  90. <if test="bindingState != null">
  91. <choose>
  92. <when test="bindingState == 1">
  93. AND twd.person_id IS NOT NULL
  94. </when>
  95. <when test="bindingState == 0">
  96. AND twd.person_id IS NULL
  97. </when>
  98. </choose>
  99. </if>
  100. ORDER BY
  101. twd.in_out_state DESC, twd.state DESC, twd.in_time DESC,twd.id DESC
  102. </select>
  103. </mapper>