diff --git a/stdiet-custom/src/main/java/com/stdiet/custom/service/impl/SysRecipesPlanServiceImpl.java b/stdiet-custom/src/main/java/com/stdiet/custom/service/impl/SysRecipesPlanServiceImpl.java
index ec0d0ac54..27697a26b 100644
--- a/stdiet-custom/src/main/java/com/stdiet/custom/service/impl/SysRecipesPlanServiceImpl.java
+++ b/stdiet-custom/src/main/java/com/stdiet/custom/service/impl/SysRecipesPlanServiceImpl.java
@@ -198,7 +198,6 @@ public class SysRecipesPlanServiceImpl implements ISysRecipesPlanService {
         }
         //更新
         if(updateList.size() > 0){
-            System.out.println("更新数量:"+updateList.size());
             for (SysRecipesPlan plan : updateList) {
                 sysRecipesPlanMapper.updateSysRecipesPlan(plan);
             }
@@ -242,16 +241,18 @@ public class SysRecipesPlanServiceImpl implements ISysRecipesPlanService {
             //判断是否大于服务到期时间
             if (ChronoUnit.DAYS.between(planEndDate, serverEndDate) <= 0) {
                 planEndDate = serverEndDate;
-                breakFlag = false;
             }
             String[] pauseResult = dealPlanPause(planStartDate, planEndDate, pauseList);
-            //开始时间变更为暂停结束之后的日期,因为暂停开始时间与食谱计划开始时间相同
-            if(StringUtils.isNotEmpty(pauseResult[0])){
-                planStartDate = DateUtils.stringToLocalDate(pauseResult[0],"yyyyMMdd");
-                planEndDate = DateUtils.stringToLocalDate(pauseResult[1],"yyyyMMdd");
+            //根据暂停结果返回的数据更新计划开始、结束时间
+            planStartDate = DateUtils.stringToLocalDate(pauseResult[0],"yyyyMMdd");
+            planEndDate = DateUtils.stringToLocalDate(pauseResult[1],"yyyyMMdd");
+            //判断是否大于服务到期时间
+            if (ChronoUnit.DAYS.between(planEndDate, serverEndDate) <= 0) {
+                planEndDate = serverEndDate;
+                breakFlag = false;
             }
-            //加上暂停时间
-            planEndDate = planEndDate.plusDays(Integer.parseInt(pauseResult[2]));
+            //暂停日期
+            sysRecipesPlan.setPauseDate(pauseResult[3]);
             sysRecipesPlan.setStartDate(DateUtils.localDateToDate(planStartDate));
             sysRecipesPlan.setEndDate(DateUtils.localDateToDate(planEndDate));
             sysRecipesPlan.setOrderId(sysOrder.getOrderId());
@@ -259,10 +260,9 @@ public class SysRecipesPlanServiceImpl implements ISysRecipesPlanService {
             sysRecipesPlan.setOutId(Md5Utils.hash(String.valueOf(sysOrder.getCusId())));
             oldStartNumDay += 1;
             sysRecipesPlan.setStartNumDay(oldStartNumDay);
-            oldStartNumDay += 6;
+            long dayNumber = ChronoUnit.DAYS.between(planStartDate, planEndDate);
+            oldStartNumDay +=  dayNumber > 6 ? 6 : dayNumber;
             sysRecipesPlan.setEndNumDay(oldStartNumDay);
-            //暂停日期
-            sysRecipesPlan.setPauseDate(pauseResult[3]);
             //添加暂停范围内的日期
             planList.add(sysRecipesPlan);
         }while (breakFlag);
@@ -285,33 +285,37 @@ public class SysRecipesPlanServiceImpl implements ISysRecipesPlanService {
         if (pauseList != null && pauseList.size() > 0) {
             //每条暂停时间的范围不会重叠,在添加暂停时做了限制
             for (SysOrderPause sysOrderPause : pauseList) {
-                LocalDate pauseStartDate = DateUtils.dateToLocalDate(sysOrderPause.getPauseStartDate());
-                LocalDate pauseEndDate = DateUtils.dateToLocalDate(sysOrderPause.getPauseEndDate());
-                if (ChronoUnit.DAYS.between(pauseEndDate, planStartDate) > 0 || ChronoUnit.DAYS.between(planEndDate, pauseStartDate) > 0) {
-                    continue;
-                }
-                if (ChronoUnit.DAYS.between(pauseStartDate, planStartDate) > 0) {
-                    pauseStartDate = planStartDate;
-                }
-                if (ChronoUnit.DAYS.between(planEndDate, pauseEndDate) > 0) {
-                    pauseEndDate = planEndDate;
-                }
-                //判断暂停记录是否从食谱计划开始时间开始的
-                if(ChronoUnit.DAYS.between(pauseStartDate, planStartDate) == 0){
-                    //记录该条暂停记录结束之后的第一天日期,如果两条记录连着,则取最后暂停结束之后的第一天
-                    if("".equals(result[0]) || result[0].equals(DateUtils.localDateToString(pauseStartDate,"yyyyMMdd"))){
+                while(true){
+                    LocalDate pauseStartDate = DateUtils.dateToLocalDate(sysOrderPause.getPauseStartDate());
+                    LocalDate pauseEndDate = DateUtils.dateToLocalDate(sysOrderPause.getPauseEndDate());
+                    if (ChronoUnit.DAYS.between(pauseEndDate, planStartDate) > 0 || ChronoUnit.DAYS.between(planEndDate, pauseStartDate) > 0) {
+                        break;
+                    }
+                    if (ChronoUnit.DAYS.between(pauseStartDate, planStartDate) > 0) {
+                        pauseStartDate = planStartDate;
+                    }
+                    if (ChronoUnit.DAYS.between(planEndDate, pauseEndDate) > 0) {
+                        pauseEndDate = planEndDate;
+                    }
+                    //判断暂停记录是否从食谱计划开始时间开始的
+                    if(ChronoUnit.DAYS.between(pauseStartDate, planStartDate) == 0){
                         planStartDate = pauseEndDate.plusDays(1);
                         planEndDate = planStartDate.plusDays(6);
-                        result[0] = DateUtils.localDateToString(planStartDate,"yyyyMMdd");
-                        result[1] = DateUtils.localDateToString(planEndDate,"yyyyMMdd");
+                    }else{
+                        planEndDate = planEndDate.plusDays(ChronoUnit.DAYS.between(pauseStartDate, pauseEndDate) + 1);
+                        pauseDateString.addAll(getPauseDateString(pauseStartDate, pauseEndDate));
+                        break;
                     }
-                }else{
-                    pauseDay += ChronoUnit.DAYS.between(pauseStartDate, pauseEndDate) + 1;
-                    pauseDateString.addAll(getPauseDateString(pauseStartDate, pauseEndDate));
                 }
+                /*System.out.println("---------------------------------------");
+                System.out.println(DateUtils.localDateToString(planStartDate, "yyyy-MM-dd"));
+                System.out.println(DateUtils.localDateToString(planEndDate, "yyyy-MM-dd"));
+                System.out.println("---------------------------------------");*/
             }
         }
-        result[2] = pauseDay+"";
+        result[0] = DateUtils.localDateToString(planStartDate,"yyyyMMdd");
+        result[1] = DateUtils.localDateToString(planEndDate,"yyyyMMdd");
+        result[2] = pauseDay + "";
         result[3] = pauseDateString.size() > 0 ? StringUtils.join(pauseDateString,"|") : "";
         return result;
     }