SellOrderMapper.xml 18 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400
  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.ym.mec.biz.dal.dao.SellOrderDao">
  4. <resultMap id="SellOrder" type="com.ym.mec.biz.dal.entity.SellOrder">
  5. <!--@mbg.generated-->
  6. <!--@Table sell_order-->
  7. <id column="id_" property="id"/>
  8. <result column="organ_id_" property="organId"/>
  9. <result column="edu_teacher_id_" property="eduTeacherId"/>
  10. <result column="eduTeacher" property="eduTeacher"/>
  11. <result column="cooperation_organ_id_" property="cooperationOrganId"/>
  12. <result column="school_name_" property="schoolName"/>
  13. <result column="trans_no_" property="transNo"/>
  14. <result column="order_no_" property="orderNo"/>
  15. <result column="order_id_" property="orderId"/>
  16. <result column="expect_amount_" property="expectAmount"/>
  17. <result column="actual_amount_" property="actualAmount"/>
  18. <result column="balance_amount_" property="balanceAmount"/>
  19. <result column="type_" property="type"/>
  20. <result column="parent_goods_id_" property="parentGoodsId"/>
  21. <result column="goods_id_" property="goodsId"/>
  22. <result column="goods_name_" property="goodsName"/>
  23. <result column="sell_cost_" property="sellCost"/>
  24. <result column="sell_cost2_" property="sellCost2"/>
  25. <result column="num_" property="num"/>
  26. <result column="user_id_" property="userId"/>
  27. <result column="user_name_" property="userName"/>
  28. <result column="phone_" property="phone"/>
  29. <result column="organ_name_" property="organName"/>
  30. <result column="user_id_" property="userId"/>
  31. <result column="payment_channel_" property="paymentChannel"/>
  32. <result column="mer_no_" property="merNo"/>
  33. <result column="status_" property="status"/>
  34. <result column="sell_time_" property="sellTime"/>
  35. <result column="create_ime_" property="createIme"/>
  36. <result column="update_time_" property="updateTime"/>
  37. <result column="receive_status_" property="receiveStatus"/>
  38. </resultMap>
  39. <sql id="Base_Column_List">
  40. <!--@mbg.generated-->
  41. id_, edu_teacher_id_,organ_id_, cooperation_organ_id_, trans_no_,order_id_, order_no_, expect_amount_,
  42. actual_amount_,balance_amount_, sell_cost_, sell_cost2_, type_,parent_goods_id_, goods_id_,goods_name_, num_, user_id_,
  43. payment_channel_,mer_no_,batch_no_,stock_type_,account_type_,status_, sell_time_, create_ime_, update_time_
  44. </sql>
  45. <select id="get" parameterType="java.lang.Integer" resultMap="SellOrder">
  46. <!--@mbg.generated-->
  47. select
  48. <include refid="Base_Column_List"/>
  49. from sell_order
  50. where id_ = #{id}
  51. </select>
  52. <delete id="delete" parameterType="java.lang.Integer">
  53. <!--@mbg.generated-->
  54. delete from sell_order
  55. where id_ = #{id}
  56. </delete>
  57. <insert id="insert" keyColumn="id_" keyProperty="id" parameterType="com.ym.mec.biz.dal.entity.SellOrder"
  58. useGeneratedKeys="true">
  59. <!--@mbg.generated-->
  60. insert into sell_order (edu_teacher_id_,organ_id_, cooperation_organ_id_, trans_no_,order_id_, order_no_,
  61. expect_amount_,actual_amount_,balance_amount_, type_,parent_goods_id_, goods_id_,goods_name_, sell_cost_, sell_cost2_, num_, user_id_, payment_channel_,
  62. mer_no_,batch_no_,stock_type_,account_type_, sell_time_, create_ime_, update_time_)
  63. values (#{eduTeacherId},#{organId}, #{cooperationOrganId}, #{transNo}, #{orderNo},#{orderId}, #{expectAmount},
  64. #{actualAmount}, #{balanceAmount}, #{type},#{parentGoodsId}, #{goodsId}, #{goodsName}, #{sellCost}, #{sellCost2}, #{num}, #{userId},
  65. #{paymentChannel}, #{merNo},#{batchNo},#{stockType},#{accountType}, #{sellTime}, #{createIme}, #{updateTime})
  66. </insert>
  67. <update id="update" parameterType="com.ym.mec.biz.dal.entity.SellOrder">
  68. <!--@mbg.generated-->
  69. update sell_order
  70. <set>
  71. <if test="eduTeacherId != null">
  72. edu_teacher_id_ = #{eduTeacherId},
  73. </if>
  74. <if test="organId != null">
  75. organ_id_ = #{organId},
  76. </if>
  77. <if test="cooperationOrganId != null">
  78. cooperation_organ_id_ = #{cooperationOrganId},
  79. </if>
  80. <if test="transNo != null">
  81. trans_no_ = #{transNo},
  82. </if>
  83. <if test="orderId != null">
  84. order_id_ = #{orderId},
  85. </if>
  86. <if test="orderNo != null">
  87. order_no_ = #{orderNo},
  88. </if>
  89. <if test="expectAmount != null">
  90. expect_amount_ = #{expectAmount},
  91. </if>
  92. <if test="actualAmount != null">
  93. actual_amount_ = #{actualAmount},
  94. </if>
  95. <if test="balanceAmount != null">
  96. balance_amount_ = #{balanceAmount},
  97. </if>
  98. <if test="type != null">
  99. type_ = #{type,typeHandler=com.ym.mec.common.dal.CustomEnumTypeHandler},
  100. </if>
  101. <if test="parentGoodsId != null">
  102. parent_goods_id_ = #{parentGoodsId},
  103. </if>
  104. <if test="goodsId != null">
  105. goods_id_ = #{goodsId},
  106. </if>
  107. <if test="goodsName != null">
  108. goods_name_ = #{goodsName},
  109. </if>
  110. <if test="sellCost != null">
  111. sell_cost_ = #{sellCost},
  112. </if>
  113. <if test="sellCost2 != null">
  114. sell_cost2_ = #{sellCost2},
  115. </if>
  116. <if test="num != null">
  117. num_ = #{num},
  118. </if>
  119. <if test="userId != null">
  120. user_id_ = #{userId},
  121. </if>
  122. <if test="paymentChannel != null">
  123. payment_channel_ = #{paymentChannel},
  124. </if>
  125. <if test="merNo != null">
  126. mer_no_ = #{merNo},
  127. </if>
  128. <if test="batchNo != null">
  129. batch_no_ = #{batchNo},
  130. </if>
  131. <if test="stockType != null">
  132. stock_type_ = #{stockType,typeHandler=com.ym.mec.common.dal.CustomEnumTypeHandler},
  133. </if>
  134. <if test="accountType != null">
  135. account_type_ = #{accountType,typeHandler=com.ym.mec.common.dal.CustomEnumTypeHandler},
  136. </if>
  137. <if test="status != null">
  138. status_ = #{status,typeHandler=com.ym.mec.common.dal.CustomEnumTypeHandler},
  139. </if>
  140. <if test="sellTime != null">
  141. sell_time_ = #{sellTime},
  142. </if>
  143. <if test="createIme != null">
  144. create_ime_ = #{createIme},
  145. </if>
  146. <if test="updateTime != null">
  147. update_time_ = #{updateTime},
  148. </if>
  149. </set>
  150. where id_ = #{id}
  151. </update>
  152. <insert id="batchInsert" parameterType="java.util.List" useGeneratedKeys="true" keyProperty="id_">
  153. insert into sell_order (organ_id_, cooperation_organ_id_, trans_no_,order_id_, order_no_, expect_amount_,
  154. actual_amount_,balance_amount_, type_, parent_goods_id_, goods_id_,goods_name_, sell_cost_, sell_cost2_, num_, user_id_, payment_channel_,
  155. mer_no_,batch_no_,stock_type_,account_type_, sell_time_,edu_teacher_id_, create_ime_, update_time_)
  156. VALUE
  157. <foreach collection="sellOrders" separator="," item="sellOrder">
  158. (#{sellOrder.organId},#{sellOrder.cooperationOrganId},#{sellOrder.transNo},#{sellOrder.orderId},#{sellOrder.orderNo},
  159. #{sellOrder.expectAmount},#{sellOrder.actualAmount},#{sellOrder.balanceAmount},#{sellOrder.type},#{sellOrder.parentGoodsId},#{sellOrder.goodsId},
  160. #{sellOrder.goodsName},#{sellOrder.sellCost},#{sellOrder.sellCost2},#{sellOrder.num},#{sellOrder.userId},
  161. #{sellOrder.paymentChannel},#{sellOrder.merNo},#{sellOrder.batchNo},#{sellOrder.stockType},#{sellOrder.accountType},
  162. #{sellOrder.sellTime},#{sellOrder.eduTeacherId},NOW(),NOW())
  163. </foreach>
  164. </insert>
  165. <!-- 分页查询 -->
  166. <select id="queryPage" resultMap="SellOrder" parameterType="map">
  167. SELECT so.*,su.username_ user_name_,su.phone_,o.name_ organ_name_,co.name_ school_name_,t.real_name_ eduTeacher,spo.receive_status_
  168. FROM sell_order so
  169. LEFT JOIN sys_user su ON so.user_id_ = su.id_
  170. LEFT JOIN organization o ON o.id_ = so.organ_id_
  171. LEFT JOIN cooperation_organ co ON co.id_= so.cooperation_organ_id_
  172. LEFT JOIN sys_user t ON t.id_ = so.edu_teacher_id_
  173. LEFT JOIN student_payment_order spo ON so.order_id_ = spo.id_
  174. <include refid="queryPageSql"/>
  175. ORDER BY so.create_ime_ DESC
  176. <include refid="global.limit"/>
  177. </select>
  178. <!-- 查询当前表的总记录数 -->
  179. <select id="queryCount" resultType="int">
  180. SELECT COUNT(*) FROM sell_order so
  181. LEFT JOIN student_payment_order spo ON so.order_id_ = spo.id_
  182. <include refid="queryPageSql"/>
  183. </select>
  184. <sql id="queryPageSql">
  185. <where>
  186. <if test="search != null and search != ''">
  187. AND (so.order_no_ = #{search} OR so.trans_no_ = #{search})
  188. </if>
  189. <if test="organIdList != null and organIdList != ''">
  190. AND FIND_IN_SET(so.organ_id_,#{organIdList})
  191. </if>
  192. <if test="goodsName != null and goodsName != ''">
  193. AND so.goods_name_ = #{goodsName}
  194. </if>
  195. <if test="cooperationOrganId != null">
  196. AND so.cooperation_organ_id_ = #{cooperationOrganId}
  197. </if>
  198. <if test="status != null">
  199. AND so.status_ = #{status,typeHandler=com.ym.mec.common.dal.CustomEnumTypeHandler}
  200. </if>
  201. <if test="type != null">
  202. AND so.type_ = #{type,typeHandler=com.ym.mec.common.dal.CustomEnumTypeHandler}
  203. </if>
  204. <if test="receiveStatus != null and receiveStatus != ''">
  205. AND spo.receive_status_ = #{receiveStatus}
  206. </if>
  207. <if test="startTime != null">
  208. AND so.sell_time_ >= #{startTime}
  209. </if>
  210. <if test="endTime != null">
  211. AND so.sell_time_ &lt;= #{endTime}
  212. </if>
  213. </where>
  214. </sql>
  215. <!-- 获取分部学校的收入支出(乐团订单) -->
  216. <select id="getMusicGroupMonthReport" resultMap="com.ym.mec.biz.dal.dao.OperatingReportDao.OperatingReport"><![CDATA[
  217. SELECT spo.organ_id_,
  218. co.id_ cooperation_organ_id_,
  219. SUM(so.actual_amount_) sell_amount_,
  220. SUM(so.sell_cost_ * so.num_) sell_cost_
  221. FROM student_payment_order spo
  222. LEFT JOIN sell_order so on so.order_id_ = spo.id_
  223. LEFT JOIN music_group mg ON mg.id_ = spo.music_group_id_
  224. LEFT JOIN cooperation_organ co ON co.id_ = mg.cooperation_organ_id_
  225. WHERE spo.status_ = 'SUCCESS'
  226. AND spo.group_type_ = 'MUSIC'
  227. AND spo.create_time_ >= #{startTime}
  228. AND spo.create_time_ <= #{endTime}
  229. GROUP BY spo.organ_id_, co.id_
  230. ]]></select>
  231. <select id="getMusicGroupIncome" resultMap="com.ym.mec.biz.dal.dao.OperatingReportDao.OperatingReport"><![CDATA[
  232. SELECT spo.organ_id_,
  233. co.id_ cooperation_organ_id_,
  234. SUM(spo.actual_amount_) income_total_
  235. FROM student_payment_order spo
  236. LEFT JOIN music_group mg ON mg.id_ = spo.music_group_id_
  237. LEFT JOIN cooperation_organ co ON co.id_ = mg.cooperation_organ_id_
  238. WHERE spo.status_ = 'SUCCESS'
  239. AND spo.group_type_ = 'MUSIC'
  240. AND spo.create_time_ >= #{startTime}
  241. AND spo.create_time_ <= #{endTime}
  242. GROUP BY spo.organ_id_, co.id_
  243. ]]></select>
  244. <!-- 获取分部学校的收入支出(VIP,网管课) -->
  245. <select id="getMusicVipPracticeMonthReport" resultMap="com.ym.mec.biz.dal.dao.OperatingReportDao.OperatingReport"><![CDATA[
  246. SELECT spo.organ_id_,
  247. co.id_ cooperation_organ_id_,
  248. SUM(spo.actual_amount_) income_total_
  249. FROM student_payment_order spo
  250. LEFT JOIN
  251. (SELECT MIN(music_group_id_) music_group_id_, user_id_
  252. FROM student_registration
  253. WHERE music_group_status_ = 'NORMAL'
  254. GROUP BY user_id_) sr
  255. ON sr.user_id_ = spo.user_id_
  256. LEFT JOIN music_group mg ON mg.id_ = sr.music_group_id_
  257. LEFT JOIN cooperation_organ co ON co.id_ = mg.cooperation_organ_id_
  258. WHERE spo.status_ = 'SUCCESS'
  259. AND spo.group_type_ IN ('VIP', 'PRACTICE')
  260. AND spo.create_time_ >= #{startTime}
  261. AND spo.create_time_ <= #{endTime}
  262. GROUP BY spo.organ_id_, co.id_
  263. ]]></select>
  264. <!-- 获取分部学校的收入支出(外部添加订单) -->
  265. <select id="getOutOrderMonthReport" resultMap="com.ym.mec.biz.dal.dao.OperatingReportDao.OperatingReport"><![CDATA[
  266. SELECT spo.organ_id_,
  267. co.id_ cooperation_organ_id_,
  268. SUM(so.actual_amount_) sell_amount_,
  269. SUM(so.sell_cost_ * so.num_) sell_cost_
  270. FROM student_payment_order spo
  271. LEFT JOIN sell_order so on so.order_id_ = spo.id_
  272. LEFT JOIN cooperation_organ co ON co.id_ = spo.music_group_id_
  273. WHERE spo.status_ = 'SUCCESS'
  274. AND spo.group_type_ = 'OUTORDER'
  275. AND spo.create_time_ >= #{startTime}
  276. AND spo.create_time_ <= #{endTime}
  277. GROUP BY spo.organ_id_, co.id_
  278. ]]></select>
  279. <!-- 获取分部学校的收入支出(外部添加订单) -->
  280. <select id="getOutOrderIncome" resultMap="com.ym.mec.biz.dal.dao.OperatingReportDao.OperatingReport"><![CDATA[
  281. SELECT spo.organ_id_,
  282. co.id_ cooperation_organ_id_,
  283. SUM(spo.actual_amount_) income_total_
  284. FROM student_payment_order spo
  285. LEFT JOIN cooperation_organ co ON co.id_ = spo.music_group_id_
  286. WHERE spo.status_ = 'SUCCESS'
  287. AND spo.group_type_ = 'OUTORDER'
  288. AND spo.create_time_ >= #{startTime}
  289. AND spo.create_time_ <= #{endTime}
  290. GROUP BY spo.organ_id_, co.id_
  291. ]]></select>
  292. <!-- 获取分部学校的收入(充值) -->
  293. <select id="getRechargeMonthReport" resultMap="com.ym.mec.biz.dal.dao.OperatingReportDao.OperatingReport"><![CDATA[
  294. SELECT spo.organ_id_,
  295. co.id_ cooperation_organ_id_,
  296. SUM(spo.actual_amount_) income_total_,
  297. SUM(spo.actual_amount_) other_income_
  298. FROM student_payment_order spo
  299. LEFT JOIN sporadic_charge_info sci ON sci.id_ = spo.music_group_id_
  300. LEFT JOIN music_group mg ON mg.id_ = sci.music_group_id_
  301. LEFT JOIN cooperation_organ co ON co.id_ = mg.cooperation_organ_id_
  302. WHERE spo.status_ = 'SUCCESS'
  303. AND spo.group_type_ = 'SPORADIC'
  304. AND sci.charge_type_ = '9'
  305. AND spo.create_time_ >= #{startTime}
  306. AND spo.create_time_ <= #{endTime}
  307. GROUP BY spo.organ_id_, co.id_
  308. ]]></select>
  309. <!-- 获取分部学校的收入(零星支付) -->
  310. <select id="getSporadicMonthReport" resultMap="com.ym.mec.biz.dal.dao.OperatingReportDao.OperatingReport"><![CDATA[
  311. SELECT spo.organ_id_,
  312. co.id_ cooperation_organ_id_,
  313. SUM(spo.actual_amount_) income_total_
  314. FROM student_payment_order spo
  315. LEFT JOIN sporadic_charge_info sci ON sci.id_ = spo.music_group_id_
  316. LEFT JOIN music_group mg ON mg.id_ = sci.music_group_id_
  317. LEFT JOIN cooperation_organ co ON co.id_ = mg.cooperation_organ_id_
  318. WHERE spo.status_ = 'SUCCESS'
  319. AND spo.group_type_ = 'SPORADIC'
  320. AND sci.charge_type_ != '9'
  321. AND spo.create_time_ >= #{startTime}
  322. AND spo.create_time_ <= #{endTime}
  323. GROUP BY spo.organ_id_, co.id_
  324. ]]></select>
  325. <!-- 获取分部学校的收入支出(维修、商品销售订单) -->
  326. <select id="getRepairGoodsSellGroupMonthReport"
  327. resultMap="com.ym.mec.biz.dal.dao.OperatingReportDao.OperatingReport"><![CDATA[
  328. SELECT spo.organ_id_,
  329. SUM(so.actual_amount_) sell_amount_,
  330. SUM(so.sell_cost_ * so.num_) sell_cost_
  331. FROM student_payment_order spo
  332. LEFT JOIN sell_order so on so.order_id_ = spo.id_
  333. WHERE spo.status_ = 'SUCCESS'
  334. AND spo.group_type_ IN ('REPAIR', 'GOODS_SELL')
  335. AND spo.create_time_ >= #{startTime}
  336. AND spo.create_time_ <= #{endTime}
  337. GROUP BY spo.organ_id_
  338. ]]></select>
  339. <!-- 获取分部学校的收入支出(维修、商品销售订单) -->
  340. <select id="getRepairGoodsSellGroupIncome"
  341. resultMap="com.ym.mec.biz.dal.dao.OperatingReportDao.OperatingReport"><![CDATA[
  342. SELECT spo.organ_id_,
  343. SUM(spo.actual_amount_) income_total_
  344. FROM student_payment_order spo
  345. WHERE spo.status_ = 'SUCCESS'
  346. AND spo.group_type_ IN ('REPAIR', 'GOODS_SELL')
  347. AND spo.create_time_ >= #{startTime}
  348. AND spo.create_time_ <= #{endTime}
  349. GROUP BY spo.organ_id_
  350. ]]></select>
  351. <!-- 获取订单的销售列表 -->
  352. <select id="getOrderSellOrder" resultMap="SellOrder">
  353. SELECT *
  354. FROM sell_order
  355. WHERE order_id_ = #{orderId}
  356. </select>
  357. <delete id="deleteByOrderId">
  358. DELETE
  359. FROM sell_order
  360. WHERE order_id_ = #{orderId}
  361. </delete>
  362. <select id="getOrderSellCost" resultType="decimal">
  363. SELECT SUM(sell_cost_ * num_)
  364. FROM sell_order
  365. WHERE order_id_ = #{orderId}
  366. </select>
  367. <select id="getSubjectChangeMonthReport" resultMap="com.ym.mec.biz.dal.dao.OperatingReportDao.OperatingReport"><![CDATA[
  368. SELECT sc.organ_id_,
  369. sc.cooperation_organ_id_,
  370. SUM(spo.actual_amount_) income_total_,
  371. SUM(sc.sell_amount_) sell_amount_,
  372. SUM(sc.cost_margin_) sell_cost_
  373. FROM subject_change sc
  374. LEFT JOIN student_payment_order spo ON spo.id_ = sc.order_id_
  375. WHERE sc.status_ = 2
  376. AND sc.sell_time_ >= #{startTime}
  377. AND sc.sell_time_ <= #{endTime}
  378. GROUP BY sc.organ_id_, sc.cooperation_organ_id_
  379. ]]></select>
  380. </mapper>