DriverOnRouteAccountRecordMainMapper.xml 6.4 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125
  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.yr.warehouse.admin.driver.mapper.DriverOnRouteAccountRecordMainMapper">
  4. <!-- 通用查询映射结果 -->
  5. <resultMap id="BaseResultMap" type="com.yr.warehouse.admin.driver.data.DriverOnRouteAccountRecordMain">
  6. <id column="id" property="id" />
  7. <result column="operatorId" property="operatorId" />
  8. <result column="operatorChain" property="operatorChain" />
  9. <result column="areaStaffId" property="areaStaffId" />
  10. <result column="warehouseId" property="warehouseId" />
  11. <result column="statDate" property="statDate" />
  12. <result column="goodsLossMonthlyMainId" property="goodsLossMonthlyMainId" />
  13. <result column="statTotalNum" property="statTotalNum" />
  14. <result column="status" property="status" />
  15. <result column="createTime" property="createTime" />
  16. <result column="createUid" property="createUid" />
  17. <result column="createName" property="createName" />
  18. <result column="modifyTime" property="modifyTime" />
  19. <result column="modifyUid" property="modifyUid" />
  20. <result column="modifyName" property="modifyName" />
  21. <result column="isDelete" property="isDelete" />
  22. </resultMap>
  23. <!-- 通用查询结果列 -->
  24. <sql id="Base_Column_List">
  25. id, operatorId, operatorChain, areaStaffId, warehouseId, statDate, goodsLossMonthlyMainId, statTotalNum, status, createTime, createUid, createName, modifyTime, modifyUid, modifyName, isDelete
  26. </sql>
  27. <sql id="Base_As_Column_List">
  28. ${column}.id, ${column}.operatorId, ${column}.operatorChain, ${column}.areaStaffId, ${column}.warehouseId, ${column}.statDate, ${column}.goodsLossMonthlyMainId, ${column}.statTotalNum, ${column}.status, ${column}.createTime, ${column}.createUid, ${column}.createName, ${column}.modifyTime, ${column}.modifyUid, ${column}.modifyName, ${column}.isDelete
  29. </sql>
  30. <insert id="create"
  31. parameterType="com.yr.warehouse.admin.driver.bo.DriverIntervalRouteAccountRecordCreateBo" keyProperty="id" useGeneratedKeys="true">
  32. insert into yr_driver_on_route_account_record_main
  33. (operatorId, operatorChain, areaStaffId, warehouseId, statDate, statTotalNum, createUid, createName)
  34. values (#{bo.operatorId}, #{bo.operatorChain}, #{bo.areaStaffId}, #{bo.warehouseId}, #{bo.statDate}, #{bo.statTotalNum}, #{bo.uid}, #{bo.username})
  35. </insert>
  36. <update id="edit"
  37. parameterType="com.yr.warehouse.admin.driver.bo.DriverIntervalRouteAccountRecordEditorBo">
  38. update yr_driver_on_route_account_record_main
  39. set statTotalNum = #{bo.statTotalNum},
  40. modifyUid = #{bo.uid},
  41. modifyName = #{bo.username}
  42. where id = #{bo.id}
  43. </update>
  44. <update id="batchBind">
  45. update yr_driver_on_route_account_record_main set goodsLossMonthlyMainId = #{goodsLossMonthlyMainId},
  46. modifyUid = #{bo.uid},
  47. modifyName = #{bo.username}
  48. where
  49. isDelete != 'DELETE' and id in
  50. <foreach item="item" index="index" collection="ids" separator="," close=")">
  51. #{item}
  52. </foreach>
  53. </update>
  54. <delete id="cancel"
  55. parameterType="com.yr.warehouse.admin.common.bo.BaseIdBo">
  56. update yr_driver_on_route_account_record_main set status = 'CANCEL', modifyUid = #{bo.uid}, modifyName = #{bo.username} where id = #{bo.id} and status = 'UN_VERIFIED' and isDelete = 'NORMAL'
  57. </delete>
  58. <select id="searchForPage" resultType="com.yr.warehouse.admin.driver.vo.DriverRouteAccountRecordMainVo">
  59. select
  60. dorarm.id as id,
  61. dorarm.areaStaffId as areaStaffId,
  62. dorarm.warehouseId as warehouseId,
  63. wi.name as warehouseName,
  64. dorarm.statDate as statDate,
  65. dorarm.statTotalNum as statTotalNum,
  66. dorarm.status as status,
  67. dorarm.createName as createName,
  68. dorarm.createTime as createTime
  69. from yr_driver_on_route_account_record_main as dorarm
  70. left join yr_warehouse_info as wi on dorarm.warehouseId = wi.id
  71. <if test="bo.onlySearchCurrentDriver != null and bo.onlySearchCurrentDriver == true">
  72. left join yr_operators_area_staff as oas on oas.id = dorarm.areaStaffId
  73. </if>
  74. where dorarm.isDelete = 'NORMAL'
  75. <if test="bo.onlySearchCurrentDriver != null and bo.onlySearchCurrentDriver == true">
  76. and oas.accountId = #{bo.uid}
  77. </if>
  78. <if test="bo.operatorId != null">
  79. and dorarm.operatorId = #{bo.operatorId}
  80. </if>
  81. <if test="bo.areaStaffIds != null and bo.areaStaffIds.size > 0">
  82. <foreach item="item" index="index" collection="bo.areaStaffIds" open="and dorarm.areaStaffId in ("
  83. separator="," close=")">
  84. #{item}
  85. </foreach>
  86. </if>
  87. <if test="bo.beginStatDate != null">
  88. and dorarm.statDate >= #{bo.beginStatDate}
  89. </if>
  90. <if test="bo.endStatDate != null">
  91. and #{bo.endStatDate} >= dorarm.statDate
  92. </if>
  93. <if test="bo.beginCreateDate != null">
  94. and dorarm.createTime >= CONCAT(#{bo.beginCreateDate}, ' 00:00:00')
  95. </if>
  96. <if test="bo.endCreateDate != null">
  97. and CONCAT(#{bo.endCreateDate}, ' 23:59:59') >= dorarm.createTime
  98. </if>
  99. order by warehouseId, areaStaffId desc
  100. </select>
  101. <select id="selectUnVerified" resultType="com.yr.warehouse.admin.driver.data.DriverOnRouteAccountRecordMain" parameterType="java.util.List">
  102. select
  103. <include refid="Base_As_Column_List">
  104. <property name="column" value="do1"/>
  105. </include>
  106. from yr_driver_on_route_account_record_main as do1
  107. INNER JOIN (
  108. SELECT areaStaffId, max(id) as lastId from yr_driver_on_route_account_record_main
  109. where isDelete = 'NORMAL'
  110. <if test="areaStaffIds != null and areaStaffIds.size > 0">
  111. and areaStaffId in
  112. <foreach collection="areaStaffIds" item="item" open="(" separator="," close=")">
  113. #{item}
  114. </foreach>
  115. </if>
  116. GROUP BY areaStaffId
  117. ) as do2 ON do1.areaStaffId = do2.areaStaffId and do1.id = do2.lastId
  118. WHERE do1.status = 'UN_VERIFIED' and do1.isDelete = 'NORMAL'
  119. </select>
  120. </mapper>