OrderManageMapper.xml 10 KB

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