From f14c50cb0036d3ddd655ce4e34732ba396a836c4 Mon Sep 17 00:00:00 2001
From: java110 <928255095@qq.com>
Date: 星期二, 30 五月 2023 12:42:03 +0800
Subject: [PATCH] optimize 统计

---
 java110-db/src/main/resources/mapper/common/ChargeMachineOrderV1ServiceDaoImplMapper.xml |  355 +++++++++++++++++++++++++++++++---------------------------
 1 files changed, 188 insertions(+), 167 deletions(-)

diff --git a/java110-db/src/main/resources/mapper/common/ChargeMachineOrderV1ServiceDaoImplMapper.xml b/java110-db/src/main/resources/mapper/common/ChargeMachineOrderV1ServiceDaoImplMapper.xml
index f8c2084..639cf6f 100644
--- a/java110-db/src/main/resources/mapper/common/ChargeMachineOrderV1ServiceDaoImplMapper.xml
+++ b/java110-db/src/main/resources/mapper/common/ChargeMachineOrderV1ServiceDaoImplMapper.xml
@@ -5,192 +5,213 @@
 <mapper namespace="chargeMachineOrderV1ServiceDaoImpl">
 
 
-
-
-
     <!-- 淇濆瓨鍏呯數妗╄鍗曚俊鎭� add by wuxw 2018-07-03 -->
     <insert id="saveChargeMachineOrderInfo" parameterType="Map">
         insert into charge_machine_order(
-amount,order_id,remark,port_id,person_name,machine_id,acct_detail_id,person_id,charge_hours,start_time,end_time,state,person_tel,community_id,energy
-) values (
-#{amount},#{orderId},#{remark},#{portId},#{personName},#{machineId},#{acctDetailId},#{personId},#{chargeHours},#{startTime},#{endTime},#{state},#{personTel},#{communityId},#{energy}
-)
+        amount,order_id,remark,port_id,person_name,machine_id,acct_detail_id,person_id,charge_hours,
+        start_time,end_time,state,person_tel,community_id,energy,duration_price
+        ) values (
+        #{amount},#{orderId},#{remark},#{portId},#{personName},#{machineId},#{acctDetailId},#{personId},#{chargeHours},
+        #{startTime},#{endTime},#{state},#{personTel},#{communityId},#{energy},#{durationPrice}
+        )
     </insert>
-
 
 
     <!-- 鏌ヨ鍏呯數妗╄鍗曚俊鎭� add by wuxw 2018-07-03 -->
     <select id="getChargeMachineOrderInfo" parameterType="Map" resultType="Map">
-        select  t.amount,t.order_id,t.order_id orderId,t.remark,t.status_cd,t.status_cd statusCd,t.port_id,t.port_id portId,t.person_name,t.person_name personName,t.machine_id,t.machine_id machineId,t.acct_detail_id,t.acct_detail_id acctDetailId,t.person_id,t.person_id personId,t.charge_hours,t.charge_hours chargeHours,t.start_time,t.start_time startTime,t.end_time,t.end_time endTime,t.state,t.person_tel,t.person_tel personTel,t.community_id,t.community_id communityId,t.energy 
-from charge_machine_order t 
-where 1 =1 
-<if test="amount !=null and amount != ''">
-   and t.amount= #{amount}
-</if> 
-<if test="orderId !=null and orderId != ''">
-   and t.order_id= #{orderId}
-</if> 
-<if test="remark !=null and remark != ''">
-   and t.remark= #{remark}
-</if> 
-<if test="statusCd !=null and statusCd != ''">
-   and t.status_cd= #{statusCd}
-</if> 
-<if test="portId !=null and portId != ''">
-   and t.port_id= #{portId}
-</if> 
-<if test="personName !=null and personName != ''">
-   and t.person_name= #{personName}
-</if> 
-<if test="machineId !=null and machineId != ''">
-   and t.machine_id= #{machineId}
-</if> 
-<if test="acctDetailId !=null and acctDetailId != ''">
-   and t.acct_detail_id= #{acctDetailId}
-</if> 
-<if test="personId !=null and personId != ''">
-   and t.person_id= #{personId}
-</if> 
-<if test="chargeHours !=null and chargeHours != ''">
-   and t.charge_hours= #{chargeHours}
-</if> 
-<if test="startTime !=null and startTime != ''">
-   and t.start_time= #{startTime}
-</if> 
-<if test="endTime !=null and endTime != ''">
-   and t.end_time= #{endTime}
-</if> 
-<if test="state !=null and state != ''">
-   and t.state= #{state}
-</if> 
-<if test="personTel !=null and personTel != ''">
-   and t.person_tel= #{personTel}
-</if> 
-<if test="communityId !=null and communityId != ''">
-   and t.community_id= #{communityId}
-</if> 
-<if test="energy !=null and energy != ''">
-   and t.energy= #{energy}
-</if> 
-order by t.create_time desc
-<if test="page != -1 and page != null ">
-   limit #{page}, #{row}
-</if> 
+        select t.order_id,t.order_id orderId,t.remark,t.port_id,t.port_id
+        portId,t.person_name,t.person_name personName,t.machine_id,t.machine_id
+        machineId,t.acct_detail_id,t.acct_detail_id acctDetailId,t.person_id,t.person_id
+        personId,t.charge_hours,t.charge_hours chargeHours,t.start_time,t.start_time startTime,t.end_time,t.end_time
+        endTime,t.state,t.person_tel,t.person_tel personTel,t.community_id,t.community_id communityId,t.energy,t.duration_price durationPrice,
+        cm.machine_name machineName,cm.machine_code machineCode,
+        cmp.port_code portCode,cmp.port_name portName,td.`name` stateName,SUM(cmoa.amount) amount
+        from charge_machine_order t
+        left join charge_machine cm on t.machine_id = cm.machine_id and cm.status_cd = '0'
+        left join charge_machine_port cmp on t.port_id = cmp.port_id and cmp.status_cd = '0'
+        left join t_dict td on td.status_cd = t.state and td.table_name = 'charge_machine_order' and td.table_columns = 'state'
+        left join charge_machine_order_acct cmoa on t.order_id = cmoa.order_id and cmoa.status_cd = '0'
+        where 1 =1
+        <if test="amount !=null and amount != ''">
+            and t.amount= #{amount}
+        </if>
+        <if test="orderId !=null and orderId != ''">
+            and t.order_id= #{orderId}
+        </if>
+        <if test="remark !=null and remark != ''">
+            and t.remark= #{remark}
+        </if>
+        <if test="statusCd !=null and statusCd != ''">
+            and t.status_cd= #{statusCd}
+        </if>
+        <if test="portId !=null and portId != ''">
+            and t.port_id= #{portId}
+        </if>
+        <if test="personName !=null and personName != ''">
+            and t.person_name= #{personName}
+        </if>
+        <if test="machineId !=null and machineId != ''">
+            and t.machine_id= #{machineId}
+        </if>
+        <if test="acctDetailId !=null and acctDetailId != ''">
+            and t.acct_detail_id= #{acctDetailId}
+        </if>
+        <if test="personId !=null and personId != ''">
+            and t.person_id= #{personId}
+        </if>
+        <if test="chargeHours !=null and chargeHours != ''">
+            and t.charge_hours= #{chargeHours}
+        </if>
+        <if test="startTime !=null and startTime != ''">
+            and t.start_time= #{startTime}
+        </if>
+        <if test="endTime !=null and endTime != ''">
+            and t.end_time= #{endTime}
+        </if>
+        <if test="queryTime !=null and queryTime != ''">
+            and t.start_time &lt; #{queryTime}
+            and t.end_time &gt; #{queryTime}
+        </if>
+        <if test="state !=null and state != ''">
+            and t.state= #{state}
+        </if>
+        <if test="personTel !=null and personTel != ''">
+            and t.person_tel= #{personTel}
+        </if>
+        <if test="communityId !=null and communityId != ''">
+            and t.community_id= #{communityId}
+        </if>
+        <if test="energy !=null and energy != ''">
+            and t.energy= #{energy}
+        </if>
+        GROUP BY t.order_id,t.remark,t.port_id,t.person_name,t.machine_id,t.acct_detail_id,t.person_id,
+        t.charge_hours,t.start_time,t.end_time,t.state,t.person_tel,t.community_id,t.energy,t.duration_price,
+        cm.machine_name ,cm.machine_code  ,
+        cmp.port_code ,cmp.port_name ,td.`name`
+        order by t.create_time desc
+        <if test="page != -1 and page != null ">
+            limit #{page}, #{row}
+        </if>
 
     </select>
 
 
-
-
     <!-- 淇敼鍏呯數妗╄鍗曚俊鎭� add by wuxw 2018-07-03 -->
     <update id="updateChargeMachineOrderInfo" parameterType="Map">
-        update  charge_machine_order t set t.status_cd = #{statusCd}
-<if test="newBId != null and newBId != ''">
-,t.b_id = #{newBId}
-</if> 
-<if test="amount !=null and amount != ''">
-, t.amount= #{amount}
-</if> 
-<if test="remark !=null and remark != ''">
-, t.remark= #{remark}
-</if> 
-<if test="portId !=null and portId != ''">
-, t.port_id= #{portId}
-</if> 
-<if test="personName !=null and personName != ''">
-, t.person_name= #{personName}
-</if> 
-<if test="machineId !=null and machineId != ''">
-, t.machine_id= #{machineId}
-</if> 
-<if test="acctDetailId !=null and acctDetailId != ''">
-, t.acct_detail_id= #{acctDetailId}
-</if> 
-<if test="personId !=null and personId != ''">
-, t.person_id= #{personId}
-</if> 
-<if test="chargeHours !=null and chargeHours != ''">
-, t.charge_hours= #{chargeHours}
-</if> 
-<if test="startTime !=null and startTime != ''">
-, t.start_time= #{startTime}
-</if> 
-<if test="endTime !=null and endTime != ''">
-, t.end_time= #{endTime}
-</if> 
-<if test="state !=null and state != ''">
-, t.state= #{state}
-</if> 
-<if test="personTel !=null and personTel != ''">
-, t.person_tel= #{personTel}
-</if> 
-<if test="communityId !=null and communityId != ''">
-, t.community_id= #{communityId}
-</if> 
-<if test="energy !=null and energy != ''">
-, t.energy= #{energy}
-</if> 
- where 1=1 <if test="orderId !=null and orderId != ''">
-and t.order_id= #{orderId}
-</if> 
+        update charge_machine_order t set t.status_cd = #{statusCd}
+        <if test="newBId != null and newBId != ''">
+            ,t.b_id = #{newBId}
+        </if>
+        <if test="amount !=null and amount != ''">
+            , t.amount= #{amount}
+        </if>
+        <if test="remark !=null and remark != ''">
+            , t.remark= #{remark}
+        </if>
+
+        <if test="personName !=null and personName != ''">
+            , t.person_name= #{personName}
+        </if>
+
+        <if test="acctDetailId !=null and acctDetailId != ''">
+            , t.acct_detail_id= #{acctDetailId}
+        </if>
+        <if test="personId !=null and personId != ''">
+            , t.person_id= #{personId}
+        </if>
+        <if test="chargeHours !=null and chargeHours != ''">
+            , t.charge_hours= #{chargeHours}
+        </if>
+        <if test="startTime !=null and startTime != ''">
+            , t.start_time= #{startTime}
+        </if>
+        <if test="endTime !=null and endTime != ''">
+            , t.end_time= #{endTime}
+        </if>
+        <if test="state !=null and state != ''">
+            , t.state= #{state}
+        </if>
+        <if test="personTel !=null and personTel != ''">
+            , t.person_tel= #{personTel}
+        </if>
+
+        <if test="energy !=null and energy != ''">
+            , t.energy= #{energy}
+        </if>
+        <if test="durationPrice !=null and durationPrice != ''">
+            , t.duration_price= #{durationPrice}
+        </if>
+        where 1=1
+        <if test="orderId !=null and orderId != ''">
+            and t.order_id= #{orderId}
+        </if>
+        <if test="communityId !=null and communityId != ''">
+            and t.community_id= #{communityId}
+        </if>
+        <if test="machineId !=null and machineId != ''">
+            and t.machine_id= #{machineId}
+        </if>
+        <if test="portId !=null and portId != ''">
+            and t.port_id= #{portId}
+        </if>
 
     </update>
 
     <!-- 鏌ヨ鍏呯數妗╄鍗曟暟閲� add by wuxw 2018-07-03 -->
-     <select id="queryChargeMachineOrdersCount" parameterType="Map" resultType="Map">
-        select  count(1) count 
-from charge_machine_order t 
-where 1 =1 
-<if test="amount !=null and amount != ''">
-   and t.amount= #{amount}
-</if> 
-<if test="orderId !=null and orderId != ''">
-   and t.order_id= #{orderId}
-</if> 
-<if test="remark !=null and remark != ''">
-   and t.remark= #{remark}
-</if> 
-<if test="statusCd !=null and statusCd != ''">
-   and t.status_cd= #{statusCd}
-</if> 
-<if test="portId !=null and portId != ''">
-   and t.port_id= #{portId}
-</if> 
-<if test="personName !=null and personName != ''">
-   and t.person_name= #{personName}
-</if> 
-<if test="machineId !=null and machineId != ''">
-   and t.machine_id= #{machineId}
-</if> 
-<if test="acctDetailId !=null and acctDetailId != ''">
-   and t.acct_detail_id= #{acctDetailId}
-</if> 
-<if test="personId !=null and personId != ''">
-   and t.person_id= #{personId}
-</if> 
-<if test="chargeHours !=null and chargeHours != ''">
-   and t.charge_hours= #{chargeHours}
-</if> 
-<if test="startTime !=null and startTime != ''">
-   and t.start_time= #{startTime}
-</if> 
-<if test="endTime !=null and endTime != ''">
-   and t.end_time= #{endTime}
-</if> 
-<if test="state !=null and state != ''">
-   and t.state= #{state}
-</if> 
-<if test="personTel !=null and personTel != ''">
-   and t.person_tel= #{personTel}
-</if> 
-<if test="communityId !=null and communityId != ''">
-   and t.community_id= #{communityId}
-</if> 
-<if test="energy !=null and energy != ''">
-   and t.energy= #{energy}
-</if> 
+    <select id="queryChargeMachineOrdersCount" parameterType="Map" resultType="Map">
+        select count(1) count
+        from charge_machine_order t
+        where 1 =1
+        <if test="amount !=null and amount != ''">
+            and t.amount= #{amount}
+        </if>
+        <if test="orderId !=null and orderId != ''">
+            and t.order_id= #{orderId}
+        </if>
+        <if test="remark !=null and remark != ''">
+            and t.remark= #{remark}
+        </if>
+        <if test="statusCd !=null and statusCd != ''">
+            and t.status_cd= #{statusCd}
+        </if>
+        <if test="portId !=null and portId != ''">
+            and t.port_id= #{portId}
+        </if>
+        <if test="personName !=null and personName != ''">
+            and t.person_name= #{personName}
+        </if>
+        <if test="machineId !=null and machineId != ''">
+            and t.machine_id= #{machineId}
+        </if>
+        <if test="acctDetailId !=null and acctDetailId != ''">
+            and t.acct_detail_id= #{acctDetailId}
+        </if>
+        <if test="personId !=null and personId != ''">
+            and t.person_id= #{personId}
+        </if>
+        <if test="chargeHours !=null and chargeHours != ''">
+            and t.charge_hours= #{chargeHours}
+        </if>
+        <if test="startTime !=null and startTime != ''">
+            and t.start_time= #{startTime}
+        </if>
+        <if test="endTime !=null and endTime != ''">
+            and t.end_time= #{endTime}
+        </if>
+        <if test="state !=null and state != ''">
+            and t.state= #{state}
+        </if>
+        <if test="personTel !=null and personTel != ''">
+            and t.person_tel= #{personTel}
+        </if>
+        <if test="communityId !=null and communityId != ''">
+            and t.community_id= #{communityId}
+        </if>
+        <if test="energy !=null and energy != ''">
+            and t.energy= #{energy}
+        </if>
 
 
-     </select>
+    </select>
 
 </mapper>

--
Gitblit v1.8.0