Преглед на файлове

POS查询办结数据修改

jk-GitHub-coder преди 4 години
родител
ревизия
6318acf095

+ 12 - 2
YijiaRestful/src/main/java/com/platform/yijia/controller/PosMachineController.java

@@ -123,8 +123,18 @@ public class PosMachineController {
             order.setStatus("1");
             order.setBeginTime(beginTime);
             order.setEndTime(dateFormat.format(date));
-            List<PayOrder> list = payOrderService.selectPayOrderList(order);
-            resultData =ResultData.success(list);
+            order.setGroupBy("");
+            List<Map> listSum = payOrderService.selectSum(order);
+            order.setGroupBy("oilName");
+            List<Map> listSumGroupByOilName = payOrderService.selectSum(order);
+            order.setGroupBy("payType");
+            List<Map> listSumGroupByPayType = payOrderService.selectSum(order);
+            Map<String, Object> map = new HashMap();
+            map.put("listSumGroupByOilName", listSumGroupByOilName);
+            map.put("listSum", listSum);
+            map.put("listSumGroupByPayType", listSumGroupByPayType);
+            //List<PayOrder> list = payOrderService.selectPayOrderList(order);
+            resultData =ResultData.success(map);
         }else {
             resultData =ResultData.error(CodeMsg.PARAMS_NUll);
         }

+ 3 - 0
YijiaRestful/src/main/java/com/platform/yijia/dao/PayOrderMapper.java

@@ -11,6 +11,9 @@ import org.apache.ibatis.annotations.Param;
 
 public interface PayOrderMapper {
 
+    //查询汇总数据
+    List<Map> selectSum(PayOrder payOrder);
+
     /*
      * 根据用户openId和用户类型userType查询用户订单
      * @param payOrder

+ 1 - 0
YijiaRestful/src/main/java/com/platform/yijia/pojo/PayOrder.java

@@ -48,6 +48,7 @@ public class PayOrder {
 
     private String beginTime;
     private String endTime;
+    private String groupBy;
 
     private AppUserInfo appUserInfo;
 

+ 3 - 0
YijiaRestful/src/main/java/com/platform/yijia/service/PayOrderService.java

@@ -10,6 +10,9 @@ import java.util.Map;
 
 public interface PayOrderService {
 
+    //查询汇总数据
+    List<Map> selectSum(PayOrder payOrder);
+
     //订单信息数据落地
      String AddPayOrderInfo(PayOrderRequest payOrderRequest, PayOrder payOrder);
 

+ 5 - 0
YijiaRestful/src/main/java/com/platform/yijia/service/impl/PayOrderServiceImpl.java

@@ -304,4 +304,9 @@ public class PayOrderServiceImpl implements PayOrderService {
     public void updateCustomerByPhoneNumber(CustomerManage customerManage) {
         payOrderMapper.updateCustomerByPhoneNumber(customerManage);
     }
+
+    //查询汇总数据
+    public List<Map> selectSum(PayOrder payOrder){
+        return  payOrderMapper.selectSum(payOrder);
+    }
 }

+ 55 - 0
YijiaRestful/src/main/resources/mapper/PayOrderMapper.xml

@@ -113,6 +113,61 @@
     zfb_amt, pos_amt, xj_amt, didi_app_amt, ty_app_amt, other_amt, dzk_amt, score, member_no, member_amt,
     print_count, car_no, customer_phone, customer_grade, oil_type
   </sql>
+  <sql id="Base_Column_List_oilName">
+            oil_name            AS oilName,
+            COUNT(order_no)     AS orderSum,
+            SUM(order_liters)   AS orderLitersSum,
+            SUM(amt)            AS amtSum
+  </sql>
+  <sql id="Base_Column_List_payType">
+            pay_type            AS payType,
+            COUNT(order_no)     AS orderSum,
+            SUM(order_liters)   AS orderLitersSum,
+            SUM(amt)            AS amtSum
+  </sql>
+  <sql id="Base_Column_List_NoGroupBy">
+            COUNT(order_no)     AS orderSum,
+            SUM(order_liters)   AS orderLitersSum,
+            SUM(amt)            AS amtSum
+  </sql>
+
+  <!--查询油品总和-->
+  <select id="selectSum" parameterType="com.platform.yijia.pojo.PayOrder" resultType="Map">
+        SELECT
+            <if test="groupBy !=null and groupBy =='oilName'">
+              <include refid="Base_Column_List_oilName"/>
+            </if>
+            <if test="groupBy !=null and groupBy =='payType'">
+              <include refid="Base_Column_List_payType"/>
+            </if>
+            <if test="groupBy ==''">
+              <include refid="Base_Column_List_NoGroupBy"/>
+            </if>
+        FROM
+            pay_order
+        <where>
+          <if test="stationId !=null">
+            station_id= #{stationId}
+          </if>
+          <if test="status !=null">
+            AND status= #{status}
+          </if>
+          <if test="beginTime !=null">
+            AND pay_date &gt;= #{beginTime}
+          </if>
+          <if test="endTime !=null">
+            AND pay_date &lt; #{endTime}
+          </if>
+        </where>
+        <if test="groupBy !=null and groupBy =='oilName'">
+          GROUP BY oil_name
+        </if>
+        <if test="groupBy !=null and groupBy =='payType'">
+          GROUP BY pay_type
+        </if>
+        ORDER BY amtSum DESC
+  </select>
+
 
   <!--查询班结时间内订单-->
   <select id="selectPayOrderList" parameterType="com.platform.yijia.pojo.PayOrder" resultMap="BaseResultMap">