SellOrderMapper.xml 28 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605
  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" typeHandler="com.ym.mec.common.dal.CustomEnumTypeHandler"/>
  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="batch_no_" property="batchNo"/>
  34. <result column="status_" property="status" typeHandler="com.ym.mec.common.dal.CustomEnumTypeHandler"/>
  35. <result column="refund_time_" property="refundTime"/>
  36. <result column="sell_time_" property="sellTime"/>
  37. <result column="create_ime_" property="createIme"/>
  38. <result column="update_time_" property="updateTime"/>
  39. <result column="receive_status_" property="receiveStatus"/>
  40. <result column="stock_type_" property="stockType" typeHandler="com.ym.mec.common.dal.CustomEnumTypeHandler"/>
  41. <result column="account_type_" property="accountType"
  42. typeHandler="com.ym.mec.common.dal.CustomEnumTypeHandler"/>
  43. </resultMap>
  44. <sql id="Base_Column_List">
  45. <!--@mbg.generated-->
  46. id_, edu_teacher_id_,organ_id_, cooperation_organ_id_, trans_no_,order_id_, order_no_, expect_amount_,
  47. actual_amount_,balance_amount_, sell_cost_, sell_cost2_, type_,parent_goods_id_, goods_id_,goods_name_, num_,
  48. user_id_,
  49. payment_channel_,mer_no_,batch_no_,stock_type_,account_type_,status_, refund_time_,sell_time_, create_ime_,
  50. update_time_
  51. </sql>
  52. <select id="get" parameterType="java.lang.Integer" resultMap="SellOrder">
  53. <!--@mbg.generated-->
  54. select
  55. <include refid="Base_Column_List"/>
  56. from sell_order
  57. where id_ = #{id}
  58. </select>
  59. <delete id="delete" parameterType="java.lang.Integer">
  60. <!--@mbg.generated-->
  61. delete from sell_order
  62. where id_ = #{id}
  63. </delete>
  64. <insert id="insert" keyColumn="id_" keyProperty="id" parameterType="com.ym.mec.biz.dal.entity.SellOrder"
  65. useGeneratedKeys="true">
  66. <!--@mbg.generated-->
  67. insert into sell_order (edu_teacher_id_,organ_id_, cooperation_organ_id_, trans_no_,order_id_, order_no_,
  68. expect_amount_,actual_amount_,balance_amount_, type_,parent_goods_id_, goods_id_,goods_name_, sell_cost_,
  69. sell_cost2_, num_, user_id_, payment_channel_,
  70. mer_no_,batch_no_,stock_type_,account_type_, refund_time_,sell_time_, create_ime_, update_time_)
  71. values (#{eduTeacherId},#{organId}, #{cooperationOrganId}, #{transNo}, #{orderNo},#{orderId}, #{expectAmount},
  72. #{actualAmount}, #{balanceAmount}, #{type},#{parentGoodsId}, #{goodsId}, #{goodsName}, #{sellCost},
  73. #{sellCost2}, #{num}, #{userId},
  74. #{paymentChannel}, #{merNo},#{batchNo},
  75. #{stockType,typeHandler=com.ym.mec.common.dal.CustomEnumTypeHandler},#{accountType,typeHandler=com.ym.mec.common.dal.CustomEnumTypeHandler},
  76. #{refundTime},#{sellTime}, #{createIme}, #{updateTime})
  77. </insert>
  78. <update id="update" parameterType="com.ym.mec.biz.dal.entity.SellOrder">
  79. <!--@mbg.generated-->
  80. update sell_order
  81. <set>
  82. <if test="eduTeacherId != null">
  83. edu_teacher_id_ = #{eduTeacherId},
  84. </if>
  85. <if test="organId != null">
  86. organ_id_ = #{organId},
  87. </if>
  88. <if test="cooperationOrganId != null">
  89. cooperation_organ_id_ = #{cooperationOrganId},
  90. </if>
  91. <if test="transNo != null">
  92. trans_no_ = #{transNo},
  93. </if>
  94. <if test="orderId != null">
  95. order_id_ = #{orderId},
  96. </if>
  97. <if test="orderNo != null">
  98. order_no_ = #{orderNo},
  99. </if>
  100. <if test="expectAmount != null">
  101. expect_amount_ = #{expectAmount},
  102. </if>
  103. <if test="actualAmount != null">
  104. actual_amount_ = #{actualAmount},
  105. </if>
  106. <if test="balanceAmount != null">
  107. balance_amount_ = #{balanceAmount},
  108. </if>
  109. <if test="type != null">
  110. type_ = #{type,typeHandler=com.ym.mec.common.dal.CustomEnumTypeHandler},
  111. </if>
  112. <if test="parentGoodsId != null">
  113. parent_goods_id_ = #{parentGoodsId},
  114. </if>
  115. <if test="goodsId != null">
  116. goods_id_ = #{goodsId},
  117. </if>
  118. <if test="goodsName != null">
  119. goods_name_ = #{goodsName},
  120. </if>
  121. <if test="sellCost != null">
  122. sell_cost_ = #{sellCost},
  123. </if>
  124. <if test="sellCost2 != null">
  125. sell_cost2_ = #{sellCost2},
  126. </if>
  127. <if test="num != null">
  128. num_ = #{num},
  129. </if>
  130. <if test="userId != null">
  131. user_id_ = #{userId},
  132. </if>
  133. <if test="paymentChannel != null">
  134. payment_channel_ = #{paymentChannel},
  135. </if>
  136. <if test="merNo != null">
  137. mer_no_ = #{merNo},
  138. </if>
  139. <if test="batchNo != null">
  140. batch_no_ = #{batchNo},
  141. </if>
  142. <if test="stockType != null">
  143. stock_type_ = #{stockType,typeHandler=com.ym.mec.common.dal.CustomEnumTypeHandler},
  144. </if>
  145. <if test="accountType != null">
  146. account_type_ = #{accountType,typeHandler=com.ym.mec.common.dal.CustomEnumTypeHandler},
  147. </if>
  148. <if test="status != null">
  149. status_ = #{status,typeHandler=com.ym.mec.common.dal.CustomEnumTypeHandler},
  150. </if>
  151. <if test="refundTime != null">
  152. refund_time_ = #{refundTime},
  153. </if>
  154. <if test="sellTime != null">
  155. sell_time_ = #{sellTime},
  156. </if>
  157. <if test="createIme != null">
  158. create_ime_ = #{createIme},
  159. </if>
  160. <if test="updateTime != null">
  161. update_time_ = #{updateTime},
  162. </if>
  163. </set>
  164. where id_ = #{id}
  165. </update>
  166. <update id="batchUpdate" parameterType="com.ym.mec.biz.dal.entity.SellOrder">
  167. <foreach collection="sellOrders" item="sellOrder" separator=";">
  168. update sell_order
  169. <set>
  170. <if test="sellOrder.eduTeacherId != null">
  171. edu_teacher_id_ = #{sellOrder.eduTeacherId},
  172. </if>
  173. <if test="sellOrder.organId != null">
  174. organ_id_ = #{sellOrder.organId},
  175. </if>
  176. <if test="sellOrder.cooperationOrganId != null">
  177. cooperation_organ_id_ = #{sellOrder.cooperationOrganId},
  178. </if>
  179. <if test="sellOrder.transNo != null">
  180. trans_no_ = #{sellOrder.transNo},
  181. </if>
  182. <if test="sellOrder.orderId != null">
  183. order_id_ = #{sellOrder.orderId},
  184. </if>
  185. <if test="sellOrder.orderNo != null">
  186. order_no_ = #{sellOrder.orderNo},
  187. </if>
  188. <if test="sellOrder.expectAmount != null">
  189. expect_amount_ = #{sellOrder.expectAmount},
  190. </if>
  191. <if test="sellOrder.actualAmount != null">
  192. actual_amount_ = #{sellOrder.actualAmount},
  193. </if>
  194. <if test="sellOrder.balanceAmount != null">
  195. balance_amount_ = #{sellOrder.balanceAmount},
  196. </if>
  197. <if test="sellOrder.type != null">
  198. type_ = #{sellOrder.type,typeHandler=com.ym.mec.common.dal.CustomEnumTypeHandler},
  199. </if>
  200. <if test="sellOrder.parentGoodsId != null">
  201. parent_goods_id_ = #{sellOrder.parentGoodsId},
  202. </if>
  203. <if test="sellOrder.goodsId != null">
  204. goods_id_ = #{sellOrder.goodsId},
  205. </if>
  206. <if test="sellOrder.goodsName != null">
  207. goods_name_ = #{sellOrder.goodsName},
  208. </if>
  209. <if test="sellOrder.sellCost != null">
  210. sell_cost_ = #{sellOrder.sellCost},
  211. </if>
  212. <if test="sellOrder.sellCost2 != null">
  213. sell_cost2_ = #{sellOrder.sellCost2},
  214. </if>
  215. <if test="sellOrder.num != null">
  216. num_ = #{sellOrder.num},
  217. </if>
  218. <if test="sellOrder.userId != null">
  219. user_id_ = #{sellOrder.userId},
  220. </if>
  221. <if test="sellOrder.paymentChannel != null">
  222. payment_channel_ = #{sellOrder.paymentChannel},
  223. </if>
  224. <if test="sellOrder.merNo != null">
  225. mer_no_ = #{sellOrder.merNo},
  226. </if>
  227. <if test="sellOrder.batchNo != null">
  228. batch_no_ = #{sellOrder.batchNo},
  229. </if>
  230. <if test="sellOrder.stockType != null">
  231. stock_type_ = #{sellOrder.stockType,typeHandler=com.ym.mec.common.dal.CustomEnumTypeHandler},
  232. </if>
  233. <if test="sellOrder.accountType != null">
  234. account_type_ = #{sellOrder.accountType,typeHandler=com.ym.mec.common.dal.CustomEnumTypeHandler},
  235. </if>
  236. <if test="sellOrder.status != null">
  237. status_ = #{sellOrder.status,typeHandler=com.ym.mec.common.dal.CustomEnumTypeHandler},
  238. </if>
  239. <if test="sellOrder.refundTime != null">
  240. refund_time_ = #{sellOrder.refundTime},
  241. </if>
  242. <if test="sellOrder.sellTime != null">
  243. sell_time_ = #{sellOrder.sellTime},
  244. </if>
  245. <if test="sellOrder.createIme != null">
  246. create_ime_ = #{sellOrder.createIme},
  247. </if>
  248. update_time_ = NOW()
  249. </set>
  250. where id_ = #{sellOrder.id}
  251. </foreach>
  252. </update>
  253. <insert id="batchInsert" parameterType="java.util.List" useGeneratedKeys="true" keyProperty="id_">
  254. insert into sell_order (organ_id_, cooperation_organ_id_, trans_no_,order_id_, order_no_, expect_amount_,
  255. actual_amount_,balance_amount_, type_, parent_goods_id_, goods_id_,goods_name_, sell_cost_, sell_cost2_, num_,
  256. user_id_, payment_channel_,
  257. mer_no_,batch_no_,stock_type_,account_type_, sell_time_,edu_teacher_id_, create_ime_, update_time_)
  258. VALUE
  259. <foreach collection="sellOrders" separator="," item="sellOrder">
  260. (#{sellOrder.organId},#{sellOrder.cooperationOrganId},#{sellOrder.transNo},#{sellOrder.orderId},#{sellOrder.orderNo},
  261. #{sellOrder.expectAmount},#{sellOrder.actualAmount},#{sellOrder.balanceAmount},#{sellOrder.type},#{sellOrder.parentGoodsId},#{sellOrder.goodsId},
  262. #{sellOrder.goodsName},#{sellOrder.sellCost},#{sellOrder.sellCost2},#{sellOrder.num},#{sellOrder.userId},
  263. #{sellOrder.paymentChannel},#{sellOrder.merNo},#{sellOrder.batchNo},
  264. #{sellOrder.stockType,typeHandler=com.ym.mec.common.dal.CustomEnumTypeHandler},#{sellOrder.accountType,typeHandler=com.ym.mec.common.dal.CustomEnumTypeHandler},
  265. #{sellOrder.sellTime},#{sellOrder.eduTeacherId},NOW(),NOW())
  266. </foreach>
  267. </insert>
  268. <!-- 分页查询 -->
  269. <select id="queryPage" resultMap="SellOrder" parameterType="map">
  270. SELECT so.*,su.username_ user_name_,su.phone_,o.name_ organ_name_,co.name_ school_name_,t.real_name_
  271. eduTeacher,spo.receive_status_
  272. FROM sell_order so
  273. LEFT JOIN sys_user su ON so.user_id_ = su.id_
  274. LEFT JOIN organization o ON o.id_ = so.organ_id_
  275. LEFT JOIN cooperation_organ co ON co.id_= so.cooperation_organ_id_
  276. LEFT JOIN sys_user t ON t.id_ = so.edu_teacher_id_
  277. LEFT JOIN student_payment_order spo ON so.order_id_ = spo.id_
  278. <include refid="queryPageSql"/>
  279. ORDER BY so.create_ime_ DESC
  280. <include refid="global.limit"/>
  281. </select>
  282. <!-- 查询当前表的总记录数 -->
  283. <select id="queryCount" resultType="int">
  284. SELECT COUNT(*) FROM sell_order so
  285. LEFT JOIN sys_user su ON so.user_id_ = su.id_
  286. LEFT JOIN student_payment_order spo ON so.order_id_ = spo.id_
  287. <include refid="queryPageSql"/>
  288. </select>
  289. <sql id="queryPageSql">
  290. <where>
  291. <if test="search != null and search != ''">
  292. AND (so.order_no_ = #{search} OR so.trans_no_ = #{search})
  293. </if>
  294. <if test="userName != null and userName != ''">
  295. AND (so.user_id_ like concat('%',#{userName},'%') OR su.username_ like concat('%',#{userName},'%'))
  296. </if>
  297. <if test="organIdList != null and organIdList != ''">
  298. AND FIND_IN_SET(so.organ_id_,#{organIdList})
  299. </if>
  300. <if test="goodsName != null and goodsName != ''">
  301. AND so.goods_name_ LIKE CONCAT('%',#{goodsName},'%')
  302. </if>
  303. <if test="cooperationOrganId != null">
  304. AND so.cooperation_organ_id_ = #{cooperationOrganId}
  305. </if>
  306. <if test="status != null">
  307. AND so.status_ = #{status,typeHandler=com.ym.mec.common.dal.CustomEnumTypeHandler}
  308. </if>
  309. <if test="type != null">
  310. AND so.type_ = #{type,typeHandler=com.ym.mec.common.dal.CustomEnumTypeHandler}
  311. </if>
  312. <if test="receiveStatus != null and receiveStatus != ''">
  313. AND spo.receive_status_ = #{receiveStatus}
  314. </if>
  315. <if test="startTime != null">
  316. AND so.sell_time_ >= #{startTime}
  317. </if>
  318. <if test="endTime != null">
  319. AND so.sell_time_ &lt;= #{endTime}
  320. </if>
  321. </where>
  322. </sql>
  323. <!-- 获取分部学校的收入支出(乐团订单) -->
  324. <select id="getMusicGroupMonthReport" resultMap="com.ym.mec.biz.dal.dao.OperatingReportDao.OperatingReport"><![CDATA[
  325. SELECT spo.organ_id_,
  326. co.id_ cooperation_organ_id_,
  327. SUM(so.actual_amount_) sell_amount_,
  328. SUM(so.sell_cost_ * so.num_) sell_cost_
  329. FROM student_payment_order spo
  330. LEFT JOIN sell_order so on so.order_id_ = spo.id_
  331. LEFT JOIN music_group mg ON mg.id_ = spo.music_group_id_
  332. LEFT JOIN cooperation_organ co ON co.id_ = mg.cooperation_organ_id_
  333. WHERE spo.status_ = 'SUCCESS'
  334. AND spo.group_type_ = 'MUSIC'
  335. AND spo.create_time_ >= #{startTime}
  336. AND spo.create_time_ <= #{endTime}
  337. GROUP BY spo.organ_id_, co.id_
  338. ]]></select>
  339. <select id="getMusicGroupIncome" resultMap="com.ym.mec.biz.dal.dao.OperatingReportDao.OperatingReport"><![CDATA[
  340. SELECT spo.organ_id_,
  341. co.id_ cooperation_organ_id_,
  342. SUM(spo.actual_amount_) income_total_
  343. FROM student_payment_order spo
  344. LEFT JOIN music_group mg ON mg.id_ = spo.music_group_id_
  345. LEFT JOIN cooperation_organ co ON co.id_ = mg.cooperation_organ_id_
  346. WHERE spo.status_ = 'SUCCESS'
  347. AND spo.group_type_ = 'MUSIC'
  348. AND spo.create_time_ >= #{startTime}
  349. AND spo.create_time_ <= #{endTime}
  350. GROUP BY spo.organ_id_, co.id_
  351. ]]></select>
  352. <!-- 获取分部学校的收入支出(VIP,网管课) -->
  353. <select id="getMusicVipPracticeMonthReport" resultMap="com.ym.mec.biz.dal.dao.OperatingReportDao.OperatingReport"><![CDATA[
  354. SELECT spo.organ_id_,
  355. co.id_ cooperation_organ_id_,
  356. SUM(spo.actual_amount_) income_total_
  357. FROM student_payment_order spo
  358. LEFT JOIN
  359. (SELECT MIN(music_group_id_) music_group_id_, user_id_
  360. FROM student_registration
  361. WHERE music_group_status_ = 'NORMAL'
  362. GROUP BY user_id_) sr
  363. ON sr.user_id_ = spo.user_id_
  364. LEFT JOIN music_group mg ON mg.id_ = sr.music_group_id_
  365. LEFT JOIN cooperation_organ co ON co.id_ = mg.cooperation_organ_id_
  366. WHERE spo.status_ = 'SUCCESS'
  367. AND spo.group_type_ IN ('VIP', 'PRACTICE')
  368. AND spo.create_time_ >= #{startTime}
  369. AND spo.create_time_ <= #{endTime}
  370. GROUP BY spo.organ_id_, co.id_
  371. ]]></select>
  372. <!-- 获取分部学校的收入支出(外部添加订单) -->
  373. <select id="getOutOrderMonthReport" resultMap="com.ym.mec.biz.dal.dao.OperatingReportDao.OperatingReport"><![CDATA[
  374. SELECT spo.organ_id_,
  375. co.id_ cooperation_organ_id_,
  376. SUM(so.actual_amount_) sell_amount_,
  377. SUM(so.sell_cost_ * so.num_) sell_cost_
  378. FROM student_payment_order spo
  379. LEFT JOIN sell_order so on so.order_id_ = spo.id_
  380. LEFT JOIN cooperation_organ co ON co.id_ = spo.music_group_id_
  381. WHERE spo.status_ = 'SUCCESS'
  382. AND spo.group_type_ = 'OUTORDER'
  383. AND spo.create_time_ >= #{startTime}
  384. AND spo.create_time_ <= #{endTime}
  385. GROUP BY spo.organ_id_, co.id_
  386. ]]></select>
  387. <!-- 获取分部学校的收入支出(外部添加订单) -->
  388. <select id="getOutOrderIncome" resultMap="com.ym.mec.biz.dal.dao.OperatingReportDao.OperatingReport"><![CDATA[
  389. SELECT spo.organ_id_,
  390. co.id_ cooperation_organ_id_,
  391. SUM(spo.actual_amount_) income_total_
  392. FROM student_payment_order spo
  393. LEFT JOIN cooperation_organ co ON co.id_ = spo.music_group_id_
  394. WHERE spo.status_ = 'SUCCESS'
  395. AND spo.group_type_ = 'OUTORDER'
  396. AND spo.create_time_ >= #{startTime}
  397. AND spo.create_time_ <= #{endTime}
  398. GROUP BY spo.organ_id_, co.id_
  399. ]]></select>
  400. <!-- 获取分部学校的收入(充值) -->
  401. <select id="getRechargeMonthReport" resultMap="com.ym.mec.biz.dal.dao.OperatingReportDao.OperatingReport"><![CDATA[
  402. SELECT spo.organ_id_,
  403. co.id_ cooperation_organ_id_,
  404. SUM(spo.actual_amount_) income_total_,
  405. SUM(spo.actual_amount_) other_income_
  406. FROM student_payment_order spo
  407. LEFT JOIN sporadic_charge_info sci ON sci.id_ = spo.music_group_id_
  408. LEFT JOIN music_group mg ON mg.id_ = sci.music_group_id_
  409. LEFT JOIN cooperation_organ co ON co.id_ = mg.cooperation_organ_id_
  410. WHERE spo.status_ = 'SUCCESS'
  411. AND spo.group_type_ = 'SPORADIC'
  412. AND sci.charge_type_ = '9'
  413. AND spo.create_time_ >= #{startTime}
  414. AND spo.create_time_ <= #{endTime}
  415. GROUP BY spo.organ_id_, co.id_
  416. ]]></select>
  417. <!-- 获取分部学校的收入(零星支付) -->
  418. <select id="getSporadicMonthReport" resultMap="com.ym.mec.biz.dal.dao.OperatingReportDao.OperatingReport"><![CDATA[
  419. SELECT spo.organ_id_,
  420. co.id_ cooperation_organ_id_,
  421. SUM(spo.actual_amount_) income_total_
  422. FROM student_payment_order spo
  423. LEFT JOIN sporadic_charge_info sci ON sci.id_ = spo.music_group_id_
  424. LEFT JOIN music_group mg ON mg.id_ = sci.music_group_id_
  425. LEFT JOIN cooperation_organ co ON co.id_ = mg.cooperation_organ_id_
  426. WHERE spo.status_ = 'SUCCESS'
  427. AND spo.group_type_ = 'SPORADIC'
  428. AND sci.charge_type_ != '9'
  429. AND spo.create_time_ >= #{startTime}
  430. AND spo.create_time_ <= #{endTime}
  431. GROUP BY spo.organ_id_, co.id_
  432. ]]></select>
  433. <!-- 获取分部学校的收入支出(维修、商品销售订单) -->
  434. <select id="getRepairGoodsSellGroupMonthReport"
  435. resultMap="com.ym.mec.biz.dal.dao.OperatingReportDao.OperatingReport"><![CDATA[
  436. SELECT spo.organ_id_,
  437. SUM(so.actual_amount_) sell_amount_,
  438. SUM(so.sell_cost_ * so.num_) sell_cost_
  439. FROM student_payment_order spo
  440. LEFT JOIN sell_order so on so.order_id_ = spo.id_
  441. WHERE spo.status_ = 'SUCCESS'
  442. AND spo.group_type_ = 'REPAIR'
  443. AND spo.create_time_ >= #{startTime}
  444. AND spo.create_time_ <= #{endTime}
  445. GROUP BY spo.organ_id_
  446. ]]></select>
  447. <!-- 获取分部学校的收入支出(维修、商品销售订单) -->
  448. <select id="getRepairGoodsSellGroupIncome"
  449. resultMap="com.ym.mec.biz.dal.dao.OperatingReportDao.OperatingReport"><![CDATA[
  450. SELECT spo.organ_id_,
  451. SUM(spo.actual_amount_) income_total_
  452. FROM student_payment_order spo
  453. LEFT JOIN sell_order so on so.order_id_ = spo.id_
  454. WHERE spo.status_ = 'SUCCESS'
  455. AND spo.group_type_ = 'REPAIR'
  456. AND spo.create_time_ >= #{startTime}
  457. AND spo.create_time_ <= #{endTime}
  458. GROUP BY spo.organ_id_
  459. ]]></select>
  460. <!-- 获取分部学校的收入支出(商品销售订单) -->
  461. <select id="getGoodsSellGroupMonthReport"
  462. resultMap="com.ym.mec.biz.dal.dao.OperatingReportDao.OperatingReport"><![CDATA[
  463. SELECT spo.organ_id_,
  464. so.cooperation_organ_id_,
  465. SUM(so.actual_amount_) income_total_,
  466. SUM(so.actual_amount_) sell_amount_,
  467. SUM(so.sell_cost_ * so.num_) sell_cost_
  468. FROM student_payment_order spo
  469. LEFT JOIN sell_order so on so.order_id_ = spo.id_
  470. WHERE spo.status_ = 'SUCCESS'
  471. AND spo.group_type_ = 'GOODS_SELL'
  472. AND spo.create_time_ >= #{startTime}
  473. AND spo.create_time_ <= #{endTime}
  474. GROUP BY spo.organ_id_, so.cooperation_organ_id_
  475. ]]></select>
  476. <!-- 获取订单的销售列表 -->
  477. <select id="getOrderSellOrder" resultMap="SellOrder">
  478. SELECT *
  479. FROM sell_order
  480. WHERE order_id_ = #{orderId}
  481. </select>
  482. <delete id="deleteByOrderId">
  483. DELETE
  484. FROM sell_order
  485. WHERE order_id_ = #{orderId}
  486. </delete>
  487. <select id="getOrderSellCost" resultType="decimal">
  488. SELECT SUM(sell_cost_ * num_)
  489. FROM sell_order
  490. WHERE order_id_ = #{orderId}
  491. </select>
  492. <!-- 获取分部学校的收入支出(声部更改) -->
  493. <select id="getSubjectChangeMonthReport"
  494. resultMap="com.ym.mec.biz.dal.dao.OperatingReportDao.OperatingReport"><![CDATA[
  495. SELECT spo.organ_id_,
  496. spo.music_group_id_ cooperation_organ_id_,
  497. SUM(so.actual_amount_) sell_amount_,
  498. SUM(so.sell_cost_ * so.num_) sell_cost_
  499. FROM student_payment_order spo
  500. LEFT JOIN sell_order so on so.order_id_ = spo.id_
  501. WHERE spo.status_ = 'SUCCESS'
  502. AND spo.group_type_ = 'SUBJECT_CHANGE'
  503. AND spo.create_time_ >= #{startTime}
  504. AND spo.create_time_ <= #{endTime}
  505. GROUP BY spo.organ_id_, spo.music_group_id_
  506. ]]></select>
  507. <!-- 获取分部学校的收入支出(声部更改) -->
  508. <select id="getSubjectChangeGroupIncome"
  509. resultMap="com.ym.mec.biz.dal.dao.OperatingReportDao.OperatingReport"><![CDATA[
  510. SELECT spo.organ_id_,
  511. spo.music_group_id_ cooperation_organ_id_,
  512. SUM(spo.actual_amount_) income_total_
  513. FROM student_payment_order spo
  514. WHERE spo.status_ = 'SUCCESS'
  515. AND spo.group_type_ = 'SUBJECT_CHANGE'
  516. AND spo.create_time_ >= #{startTime}
  517. AND spo.create_time_ <= #{endTime}
  518. GROUP BY spo.organ_id_, spo.music_group_id_
  519. ]]></select>
  520. <!-- 获取退货订单的收入和成本 -->
  521. <select id="getRefundIncome" resultMap="com.ym.mec.biz.dal.dao.OperatingReportDao.OperatingReport"><![CDATA[
  522. SELECT organ_id_,
  523. cooperation_organ_id_,
  524. -SUM(sell_cost_ * num_) sell_cost_
  525. FROM sell_order
  526. WHERE status_ = 1
  527. AND refund_time_ >= #{startTime}
  528. AND refund_time_ <= #{endTime}
  529. GROUP BY organ_id_, cooperation_organ_id_
  530. ]]></select>
  531. <select id="getSellOrders" resultMap="SellOrder">
  532. SELECT * FROM sell_order WHERE id_ IN
  533. <foreach collection="sellOrderIds" item="id" open="(" close=")" separator=",">
  534. #{id}
  535. </foreach>
  536. </select>
  537. <select id="getSellOrderByParentGoodsId" resultMap="SellOrder">
  538. SELECT * FROM sell_order WHERE order_id_ = #{orderId} AND status_=0
  539. <if test="parentGoodsId != null">
  540. AND parent_goods_id_ = #{parentGoodsId}
  541. </if>
  542. </select>
  543. <select id="getNoneBatchNoSellOrderIds" resultType="int">
  544. SELECT id_
  545. FROM sell_order
  546. WHERE status_ = 0
  547. AND stock_type_ IS NOT NULL
  548. AND batch_no_ IS NULL
  549. ORDER BY sell_time_
  550. </select>
  551. <select id="getRefundSellOrder" resultMap="SellOrder">
  552. SELECT *
  553. FROM sell_order
  554. WHERE order_id_ = #{orderId}
  555. AND status_ = 1
  556. </select>
  557. <select id="lockSellOrders" resultMap="SellOrder">
  558. SELECT * FROM sell_order WHERE id_ IN
  559. <foreach collection="sellOrderIds" item="sellOrderId" open="(" close=")" separator=",">
  560. #{sellOrderId}
  561. </foreach>
  562. </select>
  563. <select id="getFeeByType" resultType="com.ym.mec.biz.dal.dto.StudentPaymentOrderExportDto">
  564. SELECT MAX(spo.actual_amount_) actualAmount,
  565. SUM(IF(g.type_ = 'INSTRUMENT', so.actual_amount_, 0)) musicalFee,
  566. SUM(IF((g.type_ = 'ACCESSORIES' || g.type_ = 'TEACHING' || g.type_ = 'STAFF') AND g.name_ !='乐器维护',IFNULL(so.actual_amount_,0), 0)) teachingFee,
  567. SUM(IF((g.type_ = 'ACCESSORIES' || g.type_ = 'TEACHING' || g.type_ = 'STAFF') AND g.name_ ='乐器维护',IFNULL(so.actual_amount_,0), 0)) repairFee,
  568. SUM(IF((g.type_= 'OTHER' || g.type_ IS NULL) ,IFNULL(so.actual_amount_,0), 0)) otherFee
  569. FROM student_payment_order spo
  570. LEFT JOIN sell_order so ON spo.id_ = so.order_id_
  571. LEFT JOIN goods g ON IF(so.parent_goods_id_ IS NOT NULL,g.id_ = so.parent_goods_id_,g.id_ = so.goods_id_)
  572. WHERE spo.id_ = #{orderId}
  573. </select>
  574. </mapper>