From 0122c35553300b19a070679f7352bb79ac70bedd Mon Sep 17 00:00:00 2001
From: xiezhijun <15270898033@163.com>
Date: Fri, 28 May 2021 00:46:21 +0800
Subject: [PATCH] =?UTF-8?q?=E6=8F=90=E6=88=90=E4=BC=98=E5=8C=96=EF=BC=8C?=
 =?UTF-8?q?=E9=9C=80=E8=A6=81=E5=8A=A0=E4=B8=8A=E6=9B=B4=E6=8D=A2=E8=AE=A2?=
 =?UTF-8?q?=E5=8D=95=E6=8F=90=E6=88=90=E8=AF=A6=E6=83=85?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit

---
 .../impl/SysCommissionDayServiceImpl.java     | 38 +++++++++----------
 .../mapper/custom/SysOrderMapper.xml          | 12 ++++--
 .../components/OrdercommissDetail/index.vue   | 18 ++++-----
 3 files changed, 37 insertions(+), 31 deletions(-)

diff --git a/stdiet-custom/src/main/java/com/stdiet/custom/service/impl/SysCommissionDayServiceImpl.java b/stdiet-custom/src/main/java/com/stdiet/custom/service/impl/SysCommissionDayServiceImpl.java
index e78792498..3676d57df 100644
--- a/stdiet-custom/src/main/java/com/stdiet/custom/service/impl/SysCommissionDayServiceImpl.java
+++ b/stdiet-custom/src/main/java/com/stdiet/custom/service/impl/SysCommissionDayServiceImpl.java
@@ -437,8 +437,8 @@ public class SysCommissionDayServiceImpl implements ISysCommissionDayService {
      */
     public Map<Long, List<SysOrderCommisionDayDetail>> getOrderByList(SysCommision sysCommision, Boolean cutOrderFlag){
         //查询2021年1月份之后所有订单
-        System.out.println(sysCommision.getReplaceOrderFlag() == null);
         List<SysOrder> orderList = sysOrderMapper.selectSimpleOrderMessage(sysCommision);
+        //查询所有订单营养师、售后转移记录
         Map<Long, List<SysOrderNutritionistReplaceRecord>> replaceRecordMap = dealNutritionistReplaceRecord(sysOrderNutritionistReplaceRecordService.getSysOrderReplaceRecordByOrderId(null));
         /*if(cutOrderFlag){
             //查询所有订单营养师、售后转移记录
@@ -459,31 +459,27 @@ public class SysCommissionDayServiceImpl implements ISysCommissionDayService {
                 //System.out.println("客户:"+ sysOrder.getCustomer() +",营养师:"+sysOrder.getNutritionist() + ",售后" + sysOrder.getAfterSale());
                 continue;
             }
-            List<SysOrderCommisionDayDetail> orderCommisionDayDetailList = null;
+            List<SysOrderCommisionDayDetail> orderCommisionDayDetailList = new ArrayList<>();
             //将服务结束时间设置为空,因为提成的结束时间需要重新计算
             sysOrder.setServerEndTime(null);
             //判断是否存在营养师、售后更换记录
-            if(cutOrderFlag && replaceRecordMap.containsKey(sysOrder.getOrderId()) && replaceRecordMap.get(sysOrder.getOrderId()).size() > 0){
+            if(replaceRecordMap.containsKey(sysOrder.getOrderId()) && replaceRecordMap.get(sysOrder.getOrderId()).size() > 0){
                 //将订单根据更换记录切割成多个订单
                 SysOrderCommisionDayDetail sysOrderCommisionDayDetail = statisticsOrderMessage(sysOrder, sysCommision.getServerScopeStartTime(), sysCommision.getServerScopeEndTime());
-                orderCommisionDayDetailList = cutOrderByReplaceRecord(sysOrder, sysCommision, sysOrderCommisionDayDetail, replaceRecordMap.get(sysOrder.getOrderId()));
-            }else{
-                SysOrderCommisionDayDetail commisionDetail = statisticsOrderMessage(sysOrder, sysCommision.getServerScopeStartTime(), sysCommision.getServerScopeEndTime());
-                if(sysCommision.getReplaceOrderFlag() != null && sysCommision.getReplaceOrderFlag() && sysCommision.getUserId() != null &&
-                        replaceRecordMap.containsKey(sysOrder.getOrderId())){
-                    //判断该订单是否属于营养师、售后替换订单
-                    List<SysOrderCommisionDayDetail> userorderCommisionList = cutOrderByReplaceRecord(sysOrder, sysCommision, commisionDetail, replaceRecordMap.get(sysOrder.getOrderId()));
-                    for (SysOrderCommisionDayDetail detail : userorderCommisionList) {
+                List<SysOrderCommisionDayDetail> muchCommisionDayDetailList = cutOrderByReplaceRecord(sysOrder, sysCommision, sysOrderCommisionDayDetail, replaceRecordMap.get(sysOrder.getOrderId()));
+                if(sysCommision.getUserId() != null){
+                    for (SysOrderCommisionDayDetail detail : muchCommisionDayDetailList) {
                         if((detail.getAfterSaleId() != null && detail.getAfterSaleId().longValue() == sysCommision.getUserId()) || (detail.getNutritionistId() != null && detail.getNutritionistId().longValue() == sysCommision.getUserId())){
-                            commisionDetail = detail;
+                            orderCommisionDayDetailList.add(detail);
                             break;
                         }
                     }
+                }else{
+                    orderCommisionDayDetailList.addAll(muchCommisionDayDetailList);
                 }
-                orderCommisionDayDetailList = orderCommisionDayDetailList == null ? new ArrayList<>() : orderCommisionDayDetailList;
-                if(commisionDetail != null){
-                    orderCommisionDayDetailList.add(commisionDetail);
-                }
+            }else{
+                SysOrderCommisionDayDetail commisionDetail = statisticsOrderMessage(sysOrder, sysCommision.getServerScopeStartTime(), sysCommision.getServerScopeEndTime());
+                orderCommisionDayDetailList.add(commisionDetail);
             }
             if(orderCommisionDayDetailList != null){
                 for (SysOrderCommisionDayDetail detail : orderCommisionDayDetailList) {
@@ -493,10 +489,12 @@ public class SysCommissionDayServiceImpl implements ISysCommissionDayService {
                     if(detail.getNutritionistId() != null && detail.getNutritionistId() > 0L){
                         addUserOrderResultMap(detail.getNutritionistId(), detail, userOrderResultMap);
                     }
+                    if(detail.getAfterSaleId() != null && detail.getAfterSaleId().longValue() == 257L){
+                        System.out.println(detail.getOrderId() + "-" + detail.getOrderAmount());
+                    }
                 }
             }
         }
-        System.out.println(userOrderResultMap.get(131L).size() +"   订单数量");
         return userOrderResultMap;
     }
 
@@ -516,10 +514,12 @@ public class SysCommissionDayServiceImpl implements ISysCommissionDayService {
 
         //售后和营养师分类
         for (SysOrderNutritionistReplaceRecord sysOrderRecord : replaceRecordList) {
-            if (sysOrderRecord.getNutritionistId() != null && sysOrderRecord.getNutritionistId().longValue() > 0) {
+            if (sysOrderRecord.getNutritionistId() != null && sysOrderRecord.getNutritionistId().longValue() > 0 &&
+                    sysOrder.getNutritionistId() != null && sysOrder.getNutritionistId().longValue() != sysOrderRecord.getNutritionistId()) {
                 nutritionistRecord.add(sysOrderRecord);
             }
-            if (sysOrderRecord.getAfterSaleId() != null && sysOrderRecord.getAfterSaleId().longValue() > 0) {
+            if (sysOrderRecord.getAfterSaleId() != null && sysOrderRecord.getAfterSaleId().longValue() > 0
+                && sysOrder.getAfterSaleId().longValue() != sysOrderRecord.getAfterSaleId()) {
                 afterSaleRecord.add(sysOrderRecord);
             }
         }
diff --git a/stdiet-custom/src/main/resources/mapper/custom/SysOrderMapper.xml b/stdiet-custom/src/main/resources/mapper/custom/SysOrderMapper.xml
index 8d6b90985..d35cca2fc 100644
--- a/stdiet-custom/src/main/resources/mapper/custom/SysOrderMapper.xml
+++ b/stdiet-custom/src/main/resources/mapper/custom/SysOrderMapper.xml
@@ -441,9 +441,9 @@
             and (
               su_sale.user_id = #{userId} or su_nutritionist.user_id = #{userId}
               <!-- 是否查询根据用户ID查询对应替换订单 -->
-              <if test="replaceOrderFlag != null">
+              <!--<if test="replaceOrderFlag != null">-->
                 or o.order_id in (select r.order_id from sys_order_nutritionist_replace_record r where r.del_flag = 0 and (r.after_sale_id = #{userId} or r.nutritionist_id = #{userId}) )
-              </if>
+             <!--</if>-->
             )
         </if>
         <if test="endTime != null and endTime != ''">
@@ -469,7 +469,13 @@
             and review_status = #{reviewStatus}
         </if>
         <if test="userId != null"><!-- 限于营养师、售后不可能同一个的情况下 -->
-            and (su_sale.user_id = #{userId} or su_nutritionist.user_id = #{userId})
+            and (
+            su_sale.user_id = #{userId} or su_nutritionist.user_id = #{userId}
+            <!-- 是否查询根据用户ID查询对应替换订单 -->
+            <!--<if test="replaceOrderFlag != null">-->
+            or o.order_id in (select r.order_id from sys_order_nutritionist_replace_record r where r.del_flag = 0 and (r.after_sale_id = #{userId} or r.nutritionist_id = #{userId}) )
+            <!--</if>-->
+            )
         </if>
         <if test="endTime != null and endTime != ''">
             AND DATE_FORMAT(o.order_time,'%Y-%m-%d') &lt;= #{endTime}
diff --git a/stdiet-ui/src/components/OrdercommissDetail/index.vue b/stdiet-ui/src/components/OrdercommissDetail/index.vue
index c804f0b3d..d015cf6d6 100644
--- a/stdiet-ui/src/components/OrdercommissDetail/index.vue
+++ b/stdiet-ui/src/components/OrdercommissDetail/index.vue
@@ -24,7 +24,7 @@
                 end-placeholder="结束日期"
                 format="yyyy-MM-dd"
                 value-format="yyyy-MM-dd"
-              
+
               >
               </el-date-picker>
             </el-form-item>
@@ -37,7 +37,7 @@
         <div
           class="order_total_data"
         >
-        
+
        <span class="order_total_data_span_right20">
             当前页总服务金额:{{totalServerAmount}}元
           </span>
@@ -49,7 +49,7 @@
           >
           <span class="order_total_data_span"
             >未发放总提成:{{ totalNotSendCommission }}元</span
-          >  
+          >
         </div>
         <el-row :gutter="10" class="mb8" style="margin-top: 10px;margin-left:10px">
           <el-col :span="1.5">
@@ -187,7 +187,7 @@
                 >订单详情</el-button
               >
             </template>
-          </el-table-column> 
+          </el-table-column>
         </el-table>
         </div>
         <!--<div style="float: right; margin-right: 40px">
@@ -202,7 +202,7 @@
           >
           <span style="font-size:14px;margin-top:-200px"
             >未发放总提成:{{ totalNotSendCommission }}元</span
-          >  
+          >
         </div>-->
         <pagination
           v-show="total > 0"
@@ -210,10 +210,10 @@
           :page.sync="queryParam.pageNum"
           :limit.sync="queryParam.pageSize"
           @pagination="fetchOrderList"
-          :pageSizes="[10, 15, 30, 50, 100]"
+          :pageSizes="[10, 20, 50, 100, 500, 1000]"
         >
         </pagination>
-        
+
       </div>
     </el-drawer>
 
@@ -360,8 +360,8 @@ export default {
 }
 
 .order_total_data {
-  float: right; 
-  margin-right: 40px; 
+  float: right;
+  margin-right: 40px;
   margin-bottom:15px
 }