OrderManageMapper.xml 8.3 KB

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