OrderManageMapper.xml 10 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288
  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.minpay.db.table.own.mapper.OrderManageMapper">
  4. <select id="selectOrderDetail" resultType="hashmap" parameterType="java.util.Map">
  5. SELECT
  6. d.VOI_ID "orderNo",
  7. o.VOD_PRODUCT_ID "productId",
  8. o.VOD_PRO_NAME "productName",
  9. p.VCI_NAME "userName",
  10. o.VOD_PRO_EQU_REL_ID "equrelId",
  11. r.VCI_EQUIPMENT_ID "machineNo",
  12. d.VOI_ORDER_AMT "orderAmt",
  13. d.VOI_CREATE_TIME "createTime",
  14. d.VOI_PICKUP_NO "pickupNo",
  15. d.VOI_PICKUP_TIME "pickUpTime",
  16. d.VOI_PICKUP_STT "stt",
  17. r.VCI_SALL_PRICE "sallPrice",
  18. r.VCI_GAME_PRICE "gamePrice",
  19. r.VCI_COST_PRICE "costPrice",
  20. e.VEQ_IMEI_ADDR "imeiAddr",
  21. r.VCI_AISLE "aisle"
  22. FROM vm_order_details o,vm_order_inf d, vm_pro_equ_rel r, vm_person_inf p,vm_equipment_inf e
  23. where o.VOD_PRO_EQU_REL_ID = r.VCI_ID
  24. and d.VOI_PERSON_ID = p.VCI_ID
  25. and o.VOD_ORDER_ID = d.VOI_ID
  26. and r.VCI_EQUIPMENT_ID = e.VEQ_ID
  27. <if test="branchId != null and branchId != ''">
  28. and VOI_BRANCHID = #{branchId,jdbcType=VARCHAR}
  29. </if>
  30. <if test="pickupNo != null and pickupNo != ''">
  31. AND d.VOI_PICKUP_NO = #{pickupNo,jdbcType=VARCHAR}
  32. </if>
  33. <if test="pickUpState != null and pickUpState != ''">
  34. AND d.VOI_PICKUP_STT = #{pickUpState,jdbcType=VARCHAR}
  35. </if>
  36. <if test="machineNo != null and machineNo != ''">
  37. AND r.VCI_EQUIPMENT_ID = #{machineNo,jdbcType=VARCHAR}
  38. </if>
  39. <if test="equrelId != null and equrelId != ''">
  40. AND o.VOD_PRO_EQU_REL_ID = #{equrelId,jdbcType=VARCHAR}
  41. </if>
  42. <if test="creatdDtes != null and creatdDtes != ''">
  43. and substr(VOI_CREATE_TIME,1,8) between substr((#{creatdDtes, jdbcType=VARCHAR}),1,8)
  44. and substr((#{creatdDtes, jdbcType=VARCHAR}),12,19)
  45. </if>
  46. <if test="pickUpDates != null and pickUpDates != ''">
  47. and substr(VOI_PICKUP_TIME,1,8) between substr((#{pickUpDates, jdbcType=VARCHAR}),1,8)
  48. and substr((#{pickUpDates, jdbcType=VARCHAR}),12,19)
  49. </if>
  50. and VCI_EXEIT_STATE = "00"
  51. and VOI_STATE = "00"
  52. and VCI_STATUS = "00"
  53. and VOI_IS_DRAW = "01"
  54. and VOI_PICKUP_STT in ("00", "01")
  55. </select>
  56. <select id="selectPickupRecord" resultType="hashmap" parameterType="java.util.Map">
  57. SELECT
  58. oi.VOI_EQUIPMENT_ID "machineNo",
  59. oi.VOI_ID "orderNo",
  60. di.VDI_STATUS "stt",
  61. oi.VOI_PICKUP_TIME "pickUpDates",
  62. od.VOD_PRO_NAME "productName",
  63. od.VOD_PRO_EQU_REL_ID "equrelId",
  64. oi.VOI_PICKUP_NO "pickupNo",
  65. p.VCI_ID "vciId",
  66. p.VCI_NAME "userName",
  67. r.VCI_SALL_PRICE "sallPrice",
  68. r.VCI_GAME_PRICE "gamePrice",
  69. r.VCI_COST_PRICE "costPrice",
  70. e.VEQ_IMEI_ADDR "imeiAddr",
  71. r.VCI_AISLE "aisle"
  72. from vm_delivery_inf di, vm_order_details od, vm_order_inf oi, vm_person_inf p, vm_pro_equ_rel r,vm_equipment_inf e
  73. where di.VDI_ORD_DET_ID = od.VOD_DETAILS_ID
  74. and VOD_ORDER_ID = oi.VOI_ID
  75. and oi.VOI_PERSON_ID = p.VCI_ID
  76. and od.VOD_PRO_EQU_REL_ID = r.VCI_ID
  77. and r.VCI_EQUIPMENT_ID = e.VEQ_ID
  78. and VOI_BRANCHID = #{branchId,jdbcType=VARCHAR}
  79. <if test="machineNo != null and machineNo != ''">
  80. AND oi.VOI_EQUIPMENT_ID = #{machineNo,jdbcType=VARCHAR}
  81. </if>
  82. <if test="orderNo != null and orderNo != ''">
  83. AND oi.VOI_ID = #{orderNo,jdbcType=VARCHAR}
  84. </if>
  85. <if test="equrelId != null and equrelId != ''">
  86. AND od.VOD_PRO_EQU_REL_ID = #{equrelId,jdbcType=VARCHAR}
  87. </if>
  88. <if test="vciId != null and vciId != ''">
  89. AND p.VCI_ID = #{vciId,jdbcType=VARCHAR}
  90. </if>
  91. <if test="pickupNo != null and pickupNo != ''">
  92. AND oi.VOI_PICKUP_NO = #{pickupNo,jdbcType=VARCHAR}
  93. </if>
  94. <if test="pickUpDates != null and pickUpDates != ''">
  95. and substr(VOI_PICKUP_TIME,1,8) between substr((#{pickUpDates, jdbcType=VARCHAR}),1,8)
  96. and substr((#{pickUpDates, jdbcType=VARCHAR}),12,19)
  97. </if>
  98. </select>
  99. <select id="selectIncomeDetail" resultType="hashmap" parameterType="java.util.Map">
  100. SELECT succTime sellTime,
  101. ROUND(SUM(allCount),2) newCount,
  102. ROUND(SUM(wxSum),2) sellWxSum,
  103. ROUND(SUM(zfSum),2) sellZfSum,
  104. ROUND(SUM(yeSum),2) sellYESum,
  105. ROUND(SUM(mfSum),2) sellMfSum,
  106. ROUND(IFNULL(SUM(wxSum), 0.00) + IFNULL(SUM(zfSum), 0.00) + IFNULL(SUM(yeSum), 0.00),2) allSell,
  107. VEQ_MACHINE_NO vciId
  108. FROM (
  109. SELECT SUBSTR(PIF_SUCCTIME, 1, 8) AS succTime,VEQ_MACHINE_NO,
  110. COUNT(1) allCount,
  111. SUM(VOI_ORDER_AMT) wxSum,
  112. '0' zfSum,
  113. '0' yeSum,
  114. '0' mfSum
  115. FROM vm_payment_inf, vm_order_inf,vm_equipment_inf
  116. WHERE PIF_STATUS = '1'
  117. AND VOI_ID = PIF_TRANFLOWNO
  118. AND VOI_EQUIPMENT_ID = VEQ_ID
  119. AND PIF_PAYTYPE IN ('91')
  120. AND VOI_ORDER_AMT != '0.00'
  121. <if test="branchId != null and branchId != ''">
  122. AND VEQ_BRANCHID = #{branchId,jdbcType=VARCHAR}
  123. </if>
  124. GROUP BY SUBSTR(PIF_SUCCTIME, 1, 8), VEQ_MACHINE_NO
  125. UNION ALL
  126. SELECT SUBSTR(PIF_SUCCTIME, 1, 8) AS succTime,VEQ_MACHINE_NO,
  127. COUNT(1) allCount,
  128. '0' wxSum,
  129. SUM(VOI_ORDER_AMT) zfSum,
  130. '0' yeSum,
  131. '0' mfSum
  132. FROM vm_payment_inf, vm_order_inf,vm_equipment_inf
  133. WHERE PIF_STATUS = '1'
  134. AND VOI_ID = PIF_TRANFLOWNO
  135. AND VOI_EQUIPMENT_ID = VEQ_ID
  136. AND PIF_PAYTYPE IN ('92')
  137. AND VOI_ORDER_AMT != '0.00'
  138. <if test="branchId != null and branchId != ''">
  139. AND VEQ_BRANCHID = #{branchId,jdbcType=VARCHAR}
  140. </if>
  141. GROUP BY SUBSTR(PIF_SUCCTIME, 1, 8), VEQ_MACHINE_NO
  142. UNION ALL
  143. SELECT SUBSTR(PIF_SUCCTIME, 1, 8) AS succTime,VEQ_MACHINE_NO,
  144. COUNT(1) allCount,
  145. '0' wxSum,
  146. '0' zfSum,
  147. SUM(VOI_ORDER_AMT) yeSum,
  148. '0' mfSum
  149. FROM vm_payment_inf, vm_order_inf,vm_equipment_inf
  150. WHERE PIF_STATUS = '1'
  151. AND VOI_ID = PIF_TRANFLOWNO
  152. AND VOI_EQUIPMENT_ID = VEQ_ID
  153. AND PIF_PAYTYPE IN ('93')
  154. AND VOI_ORDER_AMT != '0.00'
  155. GROUP BY SUBSTR(PIF_SUCCTIME, 1, 8), VEQ_MACHINE_NO
  156. UNION ALL
  157. SELECT SUBSTR(PIF_SUCCTIME, 1, 8) AS succTime,VEQ_MACHINE_NO,
  158. COUNT(1) allCount,
  159. '0' wxSum,
  160. '0' zfSum,
  161. '0' yeSum,
  162. SUM(PIF_ORDERAMOUT) mfSum
  163. FROM vm_payment_inf, vm_order_inf,vm_equipment_inf
  164. WHERE PIF_STATUS = '1'
  165. AND VOI_ID = PIF_TRANFLOWNO
  166. AND VOI_EQUIPMENT_ID = VEQ_ID
  167. AND PIF_PAYTYPE IN ('91', '92','93')
  168. AND VOI_ORDER_AMT = '0.00'
  169. <if test="branchId != null and branchId != ''">
  170. AND VEQ_BRANCHID = #{branchId,jdbcType=VARCHAR}
  171. </if>
  172. GROUP BY SUBSTR(PIF_SUCCTIME, 1, 8), VEQ_MACHINE_NO
  173. ) b
  174. where 1=1
  175. <if test="equNum != null and equNum != ''">
  176. AND VEQ_MACHINE_NO = #{equNum,jdbcType=VARCHAR}
  177. </if>
  178. <if test="datesTime != null and datesTime != ''">
  179. and succTime between substr((#{datesTime, jdbcType=VARCHAR}),1,8)
  180. and substr((#{datesTime, jdbcType=VARCHAR}),12,19)
  181. </if>
  182. <if test="(datesTime == null or datesTime == '') and (equNum == null or equNum == '')">
  183. and succTime = #{nowDate,jdbcType=VARCHAR}
  184. </if>
  185. GROUP BY succTime, vciId
  186. ORDER BY succTime DESC, vciId DESC
  187. </select>
  188. <!-- 总订单数-->
  189. <select id="selectCountOrderNum" resultType="java.lang.String" parameterType="java.util.Map">
  190. SELECT COUNT(1)
  191. FROM vm_order_inf
  192. WHERE VOI_STATE = '00'
  193. </select>
  194. <!-- 累计收入-->
  195. <select id="selectCountIncome" resultType="java.lang.String" parameterType="java.util.Map">
  196. select IFNULL(CAST(SUM(PIF_ORDERAMOUT) AS DECIMAL(15,2)), 0.00)
  197. from vm_payment_inf
  198. where PIF_STATUS = '1'
  199. <if test="nowDate != null and nowDate != ''">
  200. and substr(PIF_SUCCTIME,1,8) = #{nowDate,jdbcType=VARCHAR}
  201. </if>
  202. <if test="yesDate != null and yesDate != ''">
  203. and substr(PIF_SUCCTIME,1,8) = #{yesDate,jdbcType=VARCHAR}
  204. </if>
  205. <if test="weekDate != null and weekDate != ''">
  206. and substr(PIF_SUCCTIME,1,8) >= #{weekDate,jdbcType=VARCHAR}
  207. </if>
  208. </select>
  209. <!-- 预估利润-->
  210. <select id="selectPredictIncome" resultType="java.lang.String" parameterType="java.util.Map">
  211. SELECT IFNULL(CAST(SUM(PIF_ORDERAMOUT) AS DECIMAL(15,2)), 0.00)
  212. FROM vm_order_details, vm_payment_inf
  213. WHERE VOD_IS_WINNING = '01'
  214. AND PIF_TRANFLOWNO = VOD_ORDER_ID
  215. AND PIF_STATUS = '1'
  216. <if test="nowDate != null and nowDate != ''">
  217. and substr(PIF_SUCCTIME,1,8) = #{nowDate,jdbcType=VARCHAR}
  218. </if>
  219. <if test="yesDate != null and yesDate != ''">
  220. and substr(PIF_SUCCTIME,1,8) = #{yesDate,jdbcType=VARCHAR}
  221. </if>
  222. <if test="weekDate != null and weekDate != ''">
  223. and substr(PIF_SUCCTIME,1,8) >= #{weekDate,jdbcType=VARCHAR}
  224. </if>
  225. </select>
  226. <!-- 总机台数-->
  227. <select id="selectCountDevice" resultType="java.lang.String" parameterType="java.util.Map">
  228. SELECT IFNULL(COUNT(VEQ_ID), 0.00)
  229. FROM vm_equipment_inf
  230. WHERE VEQ_STATE = '00'
  231. </select>
  232. <!-- 销售统计-->
  233. <select id="selectProductInfo" resultType="hashmap" parameterType="java.util.Map">
  234. SELECT aa.PRT_FMPIC mainUrl,
  235. aa.PRT_NAME proName,
  236. cc.VCI_NAME vciName,
  237. COUNT(bb.VOD_DETAILS_ID) countNo,
  238. SUM(bb.VOD_AMOUNT) amount,
  239. SUM(bb.VOD_PRO_NUMS) proNums,
  240. aa.PRT_PRO_COST proCost
  241. FROM vm_product_inf aa, vm_category_inf cc, vm_order_details bb, vm_order_inf dd
  242. WHERE aa.PRT_CATEGORY_ID = cc.VCI_ID
  243. AND aa.PRT_ID = bb.VOD_PRODUCT_ID
  244. AND bb.VOD_ORDER_ID = dd.VOI_ID
  245. AND dd.VOI_STATE IN ('80', '00')
  246. <if test="proName != null and proName != ''">
  247. AND aa.PRT_NAME like concat('%' , #{proName,jdbcType=VARCHAR},'%')
  248. </if>
  249. GROUP BY aa.PRT_ID
  250. ORDER BY aa.PRT_MODIFY_TIME DESC
  251. </select>
  252. <!-- 总实际金额-->
  253. <select id="selectAllSale" resultType="java.lang.String" parameterType="java.util.Map">
  254. SELECT IFNULL(SUM(VOI_ORDER_AMT), 0.00)
  255. FROM vm_order_inf
  256. WHERE VOI_PRO_TYPE = '00'
  257. AND VOI_STATE IN ('80', '00')
  258. </select>
  259. <!-- 总商品成本-->
  260. <select id="selectAllCost" resultType="java.lang.String" parameterType="java.util.Map">
  261. SELECT IFNULL(SUM(proSum), 0.00) FROM (
  262. SELECT aa.PRT_PRO_COST * SUM(bb.VOD_PRO_NUMS) AS proSum
  263. FROM vm_product_inf aa, vm_order_details bb
  264. WHERE aa.PRT_ID = bb.VOD_PRODUCT_ID
  265. AND VOD_PRO_TYPE = '00'
  266. GROUP BY aa.PRT_ID
  267. ) cc
  268. </select>
  269. <select id="selectCountIncomeb" resultType="hashmap" parameterType="java.util.Map">
  270. select PIF_TRANSTYPE transType, IFNULL(CAST(SUM(PIF_ORDERAMOUT) AS DECIMAL(15,2)), 0.00) amout
  271. from vm_payment_inf
  272. where PIF_STATUS = '1' and PIF_PAYTYPE in ('91','92') and PIF_TRANSTYPE in ('00','10')
  273. <if test="nowDate != null and nowDate != ''">
  274. and substr(PIF_SUCCTIME,1,8) = #{nowDate,jdbcType=VARCHAR}
  275. </if>
  276. <if test="yesDate != null and yesDate != ''">
  277. and substr(PIF_SUCCTIME,1,8) = #{yesDate,jdbcType=VARCHAR}
  278. </if>
  279. <if test="weekDate != null and weekDate != ''">
  280. and substr(PIF_SUCCTIME,1,8) >= #{weekDate,jdbcType=VARCHAR}
  281. </if>
  282. group by PIF_TRANSTYPE
  283. </select>
  284. </mapper>