diff --git a/stdiet-custom/src/main/java/com/stdiet/custom/domain/SysOrder.java b/stdiet-custom/src/main/java/com/stdiet/custom/domain/SysOrder.java
index 07534dbd4..40f178e46 100644
--- a/stdiet-custom/src/main/java/com/stdiet/custom/domain/SysOrder.java
+++ b/stdiet-custom/src/main/java/com/stdiet/custom/domain/SysOrder.java
@@ -255,6 +255,11 @@ public class SysOrder extends BaseEntity {
     /** 售后二开提成单, 0非提成单 1提成单 */
     private Integer afterSaleCommissOrder;
 
+    /** 提成计算开始时间,与食谱计划开始时间区分开 */
+    @JsonFormat(pattern = "yyyy-MM-dd")
+    //@Excel(name = "提成计算开始时间,与食谱计划开始时间区分开", width = 30, dateFormat = "yyyy-MM-dd")
+    private Date commissStartTime;
+
     /** 删除标记 */
     private Integer delFlag;
 
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 95cc237a1..02e223550 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
@@ -108,14 +108,6 @@ public class SysCommissionDayServiceImpl implements ISysCommissionDayService {
      * 根据用户ID统计出该用户在该月所有订单的服务数量、服务总天数、服务订单总额、暂停总天数
      * **/
     public void dealServerOrderCommissionDetail(List<SysOrderCommisionDayDetail> orderDetailList, SysCommissionDayDetail sysCommissionDayDetail){
-        /*System.out.println("------------------开始--------------");
-        if(orderDetailList != null){
-            for(SysOrderCommisionDayDetail sysOrderCommisionDayDetail : orderDetailList){
-                System.out.println("姓名:"+sysOrderCommisionDayDetail.getName() + "  总天数:"+sysOrderCommisionDayDetail.getServerDay()
-                        +" 每天金额:"+sysOrderCommisionDayDetail.getDayMoney() + " 一月服务天数:"+sysOrderCommisionDayDetail.getEveryYearMonthServerDay().get("20211")
-                        +" 一月对应金额:"+ sysOrderCommisionDayDetail.getEveryYearMonthServerMoney().get("20211"));
-            }
-        }*/
         //总提成
         BigDecimal totalCommissionAmount = new BigDecimal(0);
         //已发放提成
@@ -135,7 +127,6 @@ public class SysCommissionDayServiceImpl implements ISysCommissionDayService {
                 }
                 commissionMonthSet.addAll(sysOrderCommisionDayDetail.getEveryYearMonthServerMoney().keySet());
             }
-            //System.out.println("总提成:"+sysCommissionDayDetail.getNickName()+"-"+orderAmount.get("20211"));
             //获取提成比例以及计算提成
             Map<String, Float> rateMap = getRateByAmount(sysCommissionDayDetail.getUserId(), sysCommissionDayDetail.getPostId(), orderAmount);
 
@@ -170,7 +161,6 @@ public class SysCommissionDayServiceImpl implements ISysCommissionDayService {
                     sendDetailList.add(map);
                 }
                 i++;
-
             }
         }
         sysCommissionDayDetail.setTotalCommissionAmount(totalCommissionAmount);
@@ -239,8 +229,8 @@ public class SysCommissionDayServiceImpl implements ISysCommissionDayService {
         //整理出每个用户对应的订单List
         Map<Long, List<SysOrderCommisionDayDetail>> userOrderResultMap = new HashMap<>();
         for (SysOrder sysOrder : orderList) {
-            //开始时间为空、售后人员ID为空、营养师ID都为空、订单金额为空,都视为异常订单
-            if(sysOrder.getOrderTime() == null || sysOrder.getStartTime() == null || sysOrder.getServeTimeId() == null
+            //提成开始时间为空、售后人员ID为空、营养师ID都为空、订单金额为空,都视为异常订单
+            if(sysOrder.getOrderTime() == null || sysOrder.getCommissStartTime() == null || sysOrder.getServeTimeId() == null
                     || (sysOrder.getAfterSaleId() == null && sysOrder.getNutritionistId() == null)
                     || sysOrder.getAmount() == null){
                 //System.out.println("客户:"+ sysOrder.getCustomer() +",营养师:"+sysOrder.getNutritionist() + ",售后" + sysOrder.getAfterSale());
@@ -275,8 +265,8 @@ public class SysCommissionDayServiceImpl implements ISysCommissionDayService {
      * 统计每笔订单的服务开始时间、结束时间、每年每月服务天数、服务金额、服务暂停天数等信息
      * */
     public SysOrderCommisionDayDetail statisticsOrderMessage(SysOrder sysOrder){
-        //服务开始时间(客户建档时间)
-        LocalDate serverStartDate = DateUtils.dateToLocalDate(sysOrder.getStartTime());
+        //提成计算开始时间(与食谱计划开始时间可能不同)
+        LocalDate serverStartDate = DateUtils.dateToLocalDate(sysOrder.getCommissStartTime());
         //订单总服务月数
         int serverMonth = sysOrder.getServeTimeId().intValue()/30;
         //服务天数(不满一个月的零头)
diff --git a/stdiet-custom/src/main/java/com/stdiet/custom/service/impl/SysOrderServiceImpl.java b/stdiet-custom/src/main/java/com/stdiet/custom/service/impl/SysOrderServiceImpl.java
index 27c17c8e9..9ee2c1a41 100644
--- a/stdiet-custom/src/main/java/com/stdiet/custom/service/impl/SysOrderServiceImpl.java
+++ b/stdiet-custom/src/main/java/com/stdiet/custom/service/impl/SysOrderServiceImpl.java
@@ -17,7 +17,9 @@ import org.springframework.transaction.annotation.Transactional;
 
 import java.math.BigDecimal;
 import java.time.LocalDate;
+import java.time.ZoneId;
 import java.time.temporal.ChronoUnit;
+import java.time.temporal.TemporalAdjusters;
 import java.util.Date;
 import java.util.List;
 
@@ -75,7 +77,8 @@ public class SysOrderServiceImpl implements ISysOrderService {
         Date orderTime = DateUtils.getNowDate();
         sysOrder.setCreateTime(orderTime);
         sysOrder.setCreateBy(SecurityUtils.getUsername());
-        //sysOrder.setOrderTime(orderTime);
+        //新增订单时,食谱开始时间和提成计算开始时间保持一致
+        sysOrder.setCommissStartTime(sysOrder.getStartTime());
         //计算服务到期时间
         setOrderServerEndDate(sysOrder);
         sysOrder.setOrderId(Long.parseLong(DateUtils.parseDateToStr(DateUtils.YYYYMMDDHHMMSS, orderTime)));
@@ -204,6 +207,19 @@ public class SysOrderServiceImpl implements ISysOrderService {
             sysOrder.setOperatorId(null);
             sysOrder.setOperatorAssisId(null);
         }
+        LocalDate oldStartDate = oldSysOrder.getStartTime() != null ? DateUtils.dateToLocalDate(oldSysOrder.getStartTime()) : null;
+        LocalDate nowStartDate = sysOrder.getStartTime() != null ? DateUtils.dateToLocalDate(sysOrder.getStartTime()) : null;
+        //判断修改的开始时间是否为上个月时间,为上个月时间则不修改提成开始时间
+        if (oldStartDate != null && nowStartDate != null
+                && ChronoUnit.DAYS.between(oldStartDate, nowStartDate) != 0) {
+            //本月第一天
+            LocalDate monthStart = LocalDate.now().with(TemporalAdjusters.firstDayOfMonth());
+            //System.out.println(monthStart.toString());
+            //旧的开始时间和新的开始时间都要需要大于本月第一天
+            if(ChronoUnit.DAYS.between(monthStart, oldStartDate) >= 0 && ChronoUnit.DAYS.between(monthStart, nowStartDate) >= 0){
+                sysOrder.setCommissStartTime(sysOrder.getStartTime());
+            }
+        }
         //更新订单
         int row = sysOrderMapper.updateSysOrder(sysOrder);
         // 审核后的订单才生成食谱
diff --git a/stdiet-custom/src/main/resources/mapper/custom/SysOrderMapper.xml b/stdiet-custom/src/main/resources/mapper/custom/SysOrderMapper.xml
index dff79ab11..0d38fd545 100644
--- a/stdiet-custom/src/main/resources/mapper/custom/SysOrderMapper.xml
+++ b/stdiet-custom/src/main/resources/mapper/custom/SysOrderMapper.xml
@@ -47,6 +47,7 @@
         <result property="orderMoneyType"    column="order_money_type"    />
         <result property="mainOrderId"    column="main_order_id"    />
         <result property="afterSaleCommissOrder"    column="after_sale_commiss_order"    />
+        <result property="commissStartTime"    column="commiss_start_time"    />
         <result property="delFlag"    column="del_flag"    />
 
         <!-- 非持久化字段 -->
@@ -219,6 +220,7 @@
             <if test="orderMoneyType != null">order_money_type,</if>
             <if test="mainOrderId != null">main_order_id,</if>
             <if test="afterSaleCommissOrder != null">after_sale_commiss_order,</if>
+            <if test="commissStartTime != null">commiss_start_time,</if>
             <if test="delFlag != null">del_flag,</if>
         </trim>
         <trim prefix="values (" suffix=")" suffixOverrides=",">
@@ -259,6 +261,7 @@
             <if test="orderMoneyType != null">#{orderMoneyType},</if>
             <if test="mainOrderId != null">#{mainOrderId},</if>
             <if test="afterSaleCommissOrder != null">#{afterSaleCommissOrder},</if>
+            <if test="commissStartTime != null">#{commissStartTime},</if>
             <if test="delFlag != null">#{delFlag},</if>
         </trim>
     </insert>
@@ -303,6 +306,7 @@
             <if test="orderMoneyType != null">order_money_type = #{orderMoneyType},</if>
             <if test="mainOrderId != null">main_order_id = #{mainOrderId},</if>
             <if test="afterSaleCommissOrder != null">after_sale_commiss_order = #{afterSaleCommissOrder},</if>
+            <if test="commissStartTime != null">commiss_start_time = #{commissStartTime},</if>
             <if test="delFlag != null">del_flag = #{delFlag},</if>
         </trim>
         where order_id = #{orderId}
@@ -362,6 +366,7 @@
         <result property="orderMoneyType"    column="order_money_type"    />
         <result property="mainOrderId"    column="main_order_id"    />
         <result property="afterSaleCommissOrder"    column="after_sale_commiss_order"    />
+        <result property="commissStartTime"    column="commiss_start_time"    />
         <result property="delFlag"    column="del_flag"    />
 
         <!-- 非持久化字段 -->
@@ -389,9 +394,9 @@
         where del_flag = 0 and order_id = #{order_id}
     </select>
 
-    <!-- 查询2021年开始的已审核的订单信息(用于计算提成) -->
+    <!-- 查询2021年开始的已审核的订单信息(用于计算提成,请勿随意改动) -->
     <select id="selectSimpleOrderMessage" resultMap="SysOrderResultExtended" parameterType="SysCommision">
-      select o.order_id,o.order_time,o.start_time,o.customer,o.review_status,o.amount,o.serve_time_id,o.give_serve_day,o.after_sale_id,su_sale.nick_name as afterSale_name,o.nutritionist_id,su_nutritionist.nick_name as nutritionist_name
+      select o.order_id,o.order_time,o.commiss_start_time,o.server_end_time,o.customer,o.review_status,o.amount,o.serve_time_id,o.give_serve_day,o.after_sale_id,su_sale.nick_name as afterSale_name,o.nutritionist_id,su_nutritionist.nick_name as nutritionist_name
       from sys_order o
       left join sys_user su_sale on su_sale.user_id = o.after_sale_id and su_sale.del_flag = 0
       left join sys_user su_nutritionist on su_nutritionist.user_id = o.nutritionist_id and su_nutritionist.del_flag = 0
diff --git a/stdiet-ui/src/views/custom/commision/detail/index.vue b/stdiet-ui/src/views/custom/commision/detail/index.vue
index 3c9e56b93..531f94efa 100644
--- a/stdiet-ui/src/views/custom/commision/detail/index.vue
+++ b/stdiet-ui/src/views/custom/commision/detail/index.vue
@@ -180,7 +180,7 @@ export default {
         pageSize: 10,
         userId: null,
         postId: null,
-        reviewStatus: "yes"
+        reviewStatus: null
       },
     };
   },
diff --git a/stdiet-ui/src/views/custom/commision/detail_day/index.vue b/stdiet-ui/src/views/custom/commision/detail_day/index.vue
index af3232316..28583eaf7 100644
--- a/stdiet-ui/src/views/custom/commision/detail_day/index.vue
+++ b/stdiet-ui/src/views/custom/commision/detail_day/index.vue
@@ -266,7 +266,7 @@ export default {
         pageSize: 20,
         userId: null,
         postId: null,
-        reviewStatus: "yes",
+        reviewStatus: null,
       },
       sendCommissionPlanTable: false,
       sendCommissionPlan: {},