Преглед изворни кода

保存主计划,保存子计划,部门月计划权限

qianxb пре 2 година
родитељ
комит
a5b9e54079

+ 6 - 0
blade-common/src/main/java/org/springblade/common/utils/CommonUtil.java

@@ -462,6 +462,12 @@ public class CommonUtil {
      * @return
      */
     public static int getWorkDays(LocalDate startTime,LocalDate endTime){
+        if (startTime.compareTo(endTime) > 0){
+            return -1;
+        }
+//        if (startTime.compareTo(endTime) == 0){
+//            return 1;
+//        }
         StringBuilder str = new StringBuilder();
         List<String> list = new ArrayList<>();
         while (!startTime.equals(endTime)){

+ 3 - 0
blade-service-api/blade-control-api/src/main/java/org/springblade/control/vo/ProjectCostBudgetVO2.java

@@ -56,4 +56,7 @@ public class ProjectCostBudgetVO2 extends ProjectCostBudget {
     @ApiModelProperty(value = "超出预算提示信息")
     private String outMoneyTips;
 
+    @ApiModelProperty(value = "0不显示子计划删除按钮,1显示")
+    private Integer isShowDelete;
+
 }

+ 20 - 0
blade-service/blade-control/src/main/java/org/springblade/control/controller/ProjectCostBudgetController.java

@@ -199,4 +199,24 @@ public class ProjectCostBudgetController {
         return R.data(budgetService.saveCountMoney(budget));
     }
 
+    /**
+     * 编辑主计划
+     */
+    @PostMapping("/updateMainPlan")
+    @ApiOperationSupport(order = 15)
+    @ApiOperation(value = "编辑项目计划预算-编辑主计划",notes = "传入主计划")
+    public R<ProjectCostBudgetVO2> updateMainPlan(@RequestBody ProjectCostBudgetVO2 vo2){
+        return R.data(budgetService.updateMainPlan(vo2));
+    }
+
+    /**
+     * 编辑子计划
+     */
+    @PostMapping("/updateChildrenPlan")
+    @ApiOperationSupport(order = 15)
+    @ApiOperation(value = "编辑项目计划预算-编辑子计划",notes = "传入主计划,和子计划")
+    public R<ProjectCostBudgetVO2> updateChildrenPlan(@RequestBody ProjectCostBudgetVO2 vo2){
+        return R.data(budgetService.updateChildrenPlan(vo2));
+    }
+
 }

+ 1 - 1
blade-service/blade-control/src/main/java/org/springblade/control/mapper/DepartmentMonthPlanMapper.java

@@ -26,7 +26,7 @@ public interface DepartmentMonthPlanMapper extends BaseMapper<DepartmentMonthPla
 
     String getDepartmentName(@Param("departmentType") Integer departmentType);
 
-    List<DepartmentMonthPlanVO> getPage(IPage page,@Param("dto") ControlContractInfoDTO dto);
+    List<DepartmentMonthPlanVO> getPage(IPage page,@Param("dto") ControlContractInfoDTO dto,@Param("userId") Long userId);
 
     List<BladeUser> getDepartmentUserDict(@Param("type") Integer departmentType);
 

+ 1 - 0
blade-service/blade-control/src/main/java/org/springblade/control/mapper/DepartmentMonthPlanMapper.xml

@@ -27,6 +27,7 @@
                     or pcb.plan_end_time BETWEEN dmp.plan_start_date AND dmp.plan_end_date)) as 'beginPlanTotal',
                 (select bu.name from blade_user bu WHERE bu.id = dmp.plan_designer) as 'planDesignerName'
         FROM c_department_month_plan dmp
+        where dmp.plan_designer = #{userId} and dmp.is_deleted = 0
         order by dmp.plan_start_date desc
     </select>
     <select id="getDepartmentUserDict" resultType="org.springblade.core.secure.BladeUser">

+ 3 - 0
blade-service/blade-control/src/main/java/org/springblade/control/mapper/ProjectCostBudgetMapper.java

@@ -9,6 +9,7 @@ import org.springblade.control.dto.ControlProjectInfoDTO;
 import org.springblade.control.entity.*;
 import org.springblade.control.vo.*;
 import org.springblade.core.mp.support.Query;
+import org.springblade.system.entity.Dict;
 import org.springblade.system.user.entity.User;
 
 import java.math.BigDecimal;
@@ -87,4 +88,6 @@ public interface ProjectCostBudgetMapper extends BaseMapper<ProjectCostBudget> {
     List<PlanRelationReturned> getAllRelationInfo(@Param("projectId") Long projectId);
 
     List<ContractReturnedInfo> getAllReturnedInfo(@Param("projectId") Long id);
+
+    DictInfo getTaskType(@Param("id") Long planTaskType);
 }

+ 5 - 1
blade-service/blade-control/src/main/java/org/springblade/control/mapper/ProjectCostBudgetMapper.xml

@@ -165,7 +165,7 @@
         </if>
     </select>
     <select id="getAllChildrenPlan" resultType="org.springblade.control.vo.ProjectCostBudgetVO2">
-        SELECT pcb.plan_task_type,pcb.plan_task_desc,pcb.plan_target,pcb.plan_start_time,pcb.plan_end_time,pcb.plan_days,id,parent_id,
+        SELECT pcb.plan_task_type,pcb.plan_task_desc,pcb.plan_target,pcb.plan_start_time,pcb.plan_end_time,pcb.plan_days,id,parent_id,status,task_approve,
                (select cpp.name from c_project_process cpp where cpp.id = pcb.project_process) as projectProcessValue,
                (select di.dict_name from c_dict_info di where di.type = 1 and di.dict_value = pcb.budget_type and di.parent_id = 0) as budgetTypeValue,
                (select di.dict_name from c_dict_info di where di.type = 1 and di.dict_value = pcb.task_detail and di.parent_id =
@@ -266,6 +266,10 @@
     <select id="getAllReturnedInfo" resultType="org.springblade.control.entity.ContractReturnedInfo">
         select * from c_contract_returned_info WHERE project_id = #{projectId} and is_deleted = 0
     </select>
+    <select id="getTaskType" resultType="org.springblade.control.entity.DictInfo">
+        select * from c_dict_info
+        where `type` = 2 and  id = #{id}
+    </select>
 
 
 </mapper>

+ 4 - 0
blade-service/blade-control/src/main/java/org/springblade/control/service/IProjectCostBudgetService.java

@@ -77,4 +77,8 @@ public interface IProjectCostBudgetService extends BaseService<ProjectCostBudget
     List<DictInfo> getUnitType();
 
     ProjectCostBudget saveCountMoney(ProjectCostBudget budget);
+
+    ProjectCostBudgetVO2 updateMainPlan(ProjectCostBudgetVO2 vo2);
+
+    ProjectCostBudgetVO2 updateChildrenPlan(ProjectCostBudgetVO2 vo2);
 }

+ 16 - 4
blade-service/blade-control/src/main/java/org/springblade/control/service/impl/ContractInfoServiceImpl.java

@@ -4,13 +4,11 @@ import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
 import com.baomidou.mybatisplus.core.metadata.IPage;
 import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
 import lombok.AllArgsConstructor;
+import org.apache.commons.lang.StringUtils;
 import org.springblade.common.utils.SnowFlakeUtil;
 import org.springblade.control.dto.ControlContractInfoDTO;
 import org.springblade.control.dto.ControlProjectInfoDTO;
-import org.springblade.control.entity.ControlContractInfo;
-import org.springblade.control.entity.ControlProjectInfo;
-import org.springblade.control.entity.DictInfo;
-import org.springblade.control.entity.EMInvoiceInfo;
+import org.springblade.control.entity.*;
 import org.springblade.control.mapper.ContractInfoMapper;
 import org.springblade.control.mapper.ProjectInfoMapper;
 import org.springblade.control.service.IContractInfoService;
@@ -122,6 +120,20 @@ public class ContractInfoServiceImpl extends BaseServiceImpl<ContractInfoMapper,
     @Override
     @Transactional
     public void updateContractInfo(ControlContractInfoDTO dto) {
+        List<ContractReturnedInfo> list = dto.getList();
+        if (list != null && list.size() > 0){
+            for (ContractReturnedInfo info : list) {
+                if (StringUtils.isBlank(info.getReturnedCondition()) ){
+                    throw new ServiceException("请填写回款条件");
+                }else if(info.getShouldReturnedMoney() == null){
+                    throw new ServiceException("请填写应收回款金额");
+                }else if (info.getShouldReturnedTime() == null){
+                    throw new ServiceException("请选择应收款时间");
+                }else if (info.getReminderUser() == null){
+                    throw new ServiceException("请选择催款执行人");
+                }
+            }
+        }
         ControlContractInfo contractInfo = new ControlContractInfo();
         BeanUtils.copyProperties(dto,contractInfo);
         if (dto.getStartTime() != null && dto.getEndTime() != null){

+ 3 - 1
blade-service/blade-control/src/main/java/org/springblade/control/service/impl/DepartmentMonthPlanServiceImpl.java

@@ -19,6 +19,7 @@ import org.springblade.core.log.exception.ServiceException;
 import org.springblade.core.mp.base.BaseServiceImpl;
 import org.springblade.core.mp.support.Query;
 import org.springblade.core.secure.BladeUser;
+import org.springblade.core.secure.utils.AuthUtil;
 import org.springblade.core.secure.utils.SecureUtil;
 import org.springframework.stereotype.Service;
 import org.springframework.transaction.annotation.Transactional;
@@ -50,7 +51,8 @@ public class DepartmentMonthPlanServiceImpl extends BaseServiceImpl<DepartmentMo
     @Override
     public List<DepartmentMonthPlanVO> getPage(ControlContractInfoDTO dto, Query query) {
         IPage page = new Page(query.getCurrent(), query.getSize());
-        return baseMapper.getPage(page,dto);
+        BladeUser user = AuthUtil.getUser();
+        return baseMapper.getPage(page,dto,user.getUserId());
     }
 
     /**

+ 200 - 16
blade-service/blade-control/src/main/java/org/springblade/control/service/impl/ProjectCostBudgetServiceImpl.java

@@ -67,6 +67,15 @@ public class ProjectCostBudgetServiceImpl extends BaseServiceImpl<ProjectCostBud
                 if (l.getProjectProcess() == null){
                     throw new ServiceException("请选择项目环节");
                 }
+                if (l.getBudgetDays() == null){
+                    throw new ServiceException("请填写预计工作量");
+                }
+                if (l.getPostType() == null){
+                    throw new ServiceException("请选择岗位类型");
+                }
+                if (l.getStaffCount() == null){
+                    throw new ServiceException("请填写投入人员数量");
+                }
                 if (l.getApprove() != null && (l.getApprove() == 1 || l.getApprove() == 2)){
                     return;
                 }
@@ -251,8 +260,17 @@ public class ProjectCostBudgetServiceImpl extends BaseServiceImpl<ProjectCostBud
                     LocalDate endDate = LocalDate.MIN;
                     StringBuilder descStr = new StringBuilder();
                     StringBuilder targetStr = new StringBuilder();
+                    Boolean isFinished = true;
                     int j = 1;
                     for (ProjectCostBudgetVO2 budgetVO2 : vo2List) {
+                        if (budgetVO2.getTaskApprove() != 1){
+                            isFinished = false;
+                        }
+                        if (budgetVO2.getStatus() == 1){
+                            budgetVO2.setIsShowDelete(1);
+                        }else {
+                            budgetVO2.setIsShowDelete(0);
+                        }
                         //计算总天数
                         if (budgetVO2.getPlanDays() != null) {
                             workDays = workDays.add(budgetVO2.getPlanDays());
@@ -270,12 +288,11 @@ public class ProjectCostBudgetServiceImpl extends BaseServiceImpl<ProjectCostBud
                         targetStr.append(j+"."+budgetVO2.getPlanTarget()+"。");
                         j++;
                     }
-                    //如果计划已经完成,则不计算超预算
-                    if (vo2.getTaskFinishedStatus() == null) {
-                        if ((workDays.multiply(new BigDecimal((postMap.get(vo2.getPostType()).get(0).getDictValue())))).compareTo(vo2.getBudgetStaffCost()) == 1) {
-                            vo2.setTaskFinishedStatus(1);
-                        }
+                    //所有子计划完成,设置父计划为绿色
+                    if (isFinished){
+                        vo2.setTaskFinishedStatus(2);
                     }
+
                     //根据子计划设置父计划任务类型
                     vo2.setPlanTaskType(vo2List.get(0).getPlanTaskType());
                     //根据子计划设置父计划任务类型值
@@ -303,6 +320,13 @@ public class ProjectCostBudgetServiceImpl extends BaseServiceImpl<ProjectCostBud
                             vo2.setPlanDays(new BigDecimal(CommonUtil.getWorkDays(startDate, endDate)));
                         }
                     }
+                    //如果计划已经完成,则不计算超预算
+                    if (vo2.getTaskFinishedStatus() == null && vo2.getPlanDays() != null && vo2.getBudgetDays() != null){
+                        if (workDays.intValue() > vo2.getBudgetDays().intValue()) {
+                            vo2.setTaskFinishedStatus(1);
+                            vo2.setOutMoneyTips("成本增加!该项计划完成时间超过当初测算时间工作时长("+(workDays.intValue() - vo2.getBudgetDays().intValue())+"天)");
+                        }
+                    }
                     vo2.setChildrenList(listMap.get(vo2.getId()));
                 }else {
                     //如果计划的status为2,3,4,或者计划有子计划,则不能编辑
@@ -312,9 +336,10 @@ public class ProjectCostBudgetServiceImpl extends BaseServiceImpl<ProjectCostBud
                         vo2.setIsShowEdit(0);
                     }
                     //没有子计划,则计算父计划成本是否超过测算,如果计划没有完成,有选择日期,有员工支出,则判断
-                    if (vo2.getTaskFinishedStatus() == null && vo2.getPlanDays() != null && vo2.getBudgetStaffCost() != null){
-                        if (vo2.getPlanDays().compareTo(vo2.getBudgetDays()) == 1) {
+                    if (vo2.getTaskFinishedStatus() == null && vo2.getPlanDays() != null && vo2.getBudgetDays() != null){
+                        if (vo2.getPlanDays().intValue() > vo2.getBudgetDays().intValue()) {
                             vo2.setTaskFinishedStatus(1);
+                            vo2.setOutMoneyTips("成本增加!该项计划完成时间超过当初测算时间工作时长("+(vo2.getPlanDays().intValue() - vo2.getBudgetDays().intValue())+"天)");
                         }
                     }
                 }
@@ -340,7 +365,7 @@ public class ProjectCostBudgetServiceImpl extends BaseServiceImpl<ProjectCostBud
                         //计算是否超过预算
                         if ((vo2.getPlanDays().multiply(new BigDecimal(postMap.get(vo2.getPostType()).get(0).getDictValue()))).compareTo(vo2.getBudgetStaffCost()) == 1){
                             vo2.setTaskFinishedStatus(1);
-//                            vo2.setOutMoneyTips("成本增加!该项计划完成时间超过当初测算时间工作时长("+vo2.getPlanDays().+"天)");
+                            vo2.setOutMoneyTips("成本增加!该项计划完成时间超过当初测算时间工作时长("+(vo2.getPlanDays().intValue() - vo2.getBudgetDays().intValue())+"天)");
                         }
                     }else {
                         vo2.setIsShowChildren(1);
@@ -378,8 +403,6 @@ public class ProjectCostBudgetServiceImpl extends BaseServiceImpl<ProjectCostBud
     @Override
     @Transactional
     public void updatePlan(ProjectCostBudgetVO vo) {
-        //获取数据库中原来的计划
-
         //把3个单位合成一个
         List<ProjectCostBudgetVO2> list = new ArrayList<>();
         Map<Integer, List<ProjectCostBudgetVO2>> buildUnit = vo.getBuildUnit();
@@ -402,9 +425,6 @@ public class ProjectCostBudgetServiceImpl extends BaseServiceImpl<ProjectCostBud
         for (ProjectCostBudgetVO2 vo2 : list) {
             List<ProjectCostBudgetVO2> vo2ChildrenList = vo2.getChildrenList();
             if (vo2ChildrenList != null && vo2ChildrenList.size() > 0){
-                //有子计划,则判断父计划是否也设置了计划日期
-                //查询出数据库里当前项目所以的父计划,还有子计划,然后按id分组,在这里进行获取
-                //然后判断是否存在计划时间,如果存在则提示已做父计划,不能再做子计划
                 for (ProjectCostBudget budget : vo2ChildrenList) {
                     budget.setProjectId(vo.getProjectId());
                     budget.setParentId(vo2.getId());
@@ -413,13 +433,11 @@ public class ProjectCostBudgetServiceImpl extends BaseServiceImpl<ProjectCostBud
                     budget.setDeptId(vo2.getDeptId());
                     budget.setBudgetType(vo2.getBudgetType());
                     budget.setProjectProcess(vo2.getProjectProcess());
+                    budget.setTaskDetail(vo2.getTaskDetail());
                 }
                 childrenList.addAll(vo2ChildrenList);
-                //把数据库里的父计划,添加进父计划中,因为有子计划,返回的父计划是有回显值的
             }else {
                 //无子计划
-                //先判断数据中有无子计划,有子计划,父计划的几个值应该为空
-                //如果数据中无子计划,则保存返回的值
                 ProjectCostBudget budget = new ProjectCostBudget();
                 BeanUtils.copyProperties(vo2, budget);
                 parentList.add(budget);
@@ -913,6 +931,172 @@ public class ProjectCostBudgetServiceImpl extends BaseServiceImpl<ProjectCostBud
         return budget;
     }
 
+    /**
+     * 编辑主计划
+     */
+    @Override
+    public ProjectCostBudgetVO2 updateMainPlan(ProjectCostBudgetVO2 vo2) {
+        //先判断如果数据都没填写,则设置可以分解子计划
+        if (vo2.getPlanTaskType() == null && StringUtils.isBlank(vo2.getPlanTaskDesc()) && StringUtils.isBlank(vo2.getPlanTarget()) && vo2.getPlanDays() == null){
+            vo2.setPlanTaskTypeValue(null);
+            vo2.setIsShowChildren(1);
+            return vo2;
+        }
+        //如果填写了数据,则检查数据是否填写完成
+        if (vo2.getPlanTaskType() == null){
+            throw new ServiceException("请选择任务类型");
+        }else if (StringUtils.isBlank(vo2.getPlanTaskDesc())){
+            throw new ServiceException("请填写任务描述");
+        }else if (StringUtils.isBlank(vo2.getPlanTarget())){
+            throw new ServiceException("请填写完成指标");
+        }else if (vo2.getPlanStartTime() == null || vo2.getPlanEndTime() == null){
+            throw new ServiceException("请选择计划起止日期");
+        }
+        //如果数据都填写完成,则根据任务类型,设置工作日,并且设置子计划不可分解
+        DictInfo taskType = baseMapper.getTaskType(vo2.getPlanTaskType());
+        //回显任务类型名
+        vo2.setPlanTaskTypeValue(taskType.getDictName());
+        int type = taskType.getDictValue().intValue();
+        //根据任务类型设置父计划的工作天数,固定任务1,临时任务2
+        if (type == 1){
+            vo2.setPlanDays(new BigDecimal(vo2.getPlanEndTime().compareTo(vo2.getPlanStartTime())));
+        }else {
+            if (vo2.getPlanEndTime().compareTo(vo2.getPlanStartTime()) > 35){
+                //工作天数,工具只能获取50天之内的
+                LocalDate startDate = vo2.getPlanStartTime();
+                LocalDate endDate = vo2.getPlanEndTime();
+                int i = 0;
+                while (endDate.compareTo(startDate) > 0){
+                    i += CommonUtil.getWorkDays(startDate, startDate.plusDays(35L));
+                    startDate = startDate.plusDays(36L);
+                }
+                vo2.setPlanDays(new BigDecimal(i));
+            }else {
+                vo2.setPlanDays(new BigDecimal(CommonUtil.getWorkDays(vo2.getPlanStartTime(), vo2.getPlanEndTime())));
+            }
+        }
+        if (vo2.getPlanDays().intValue() > vo2.getBudgetDays().intValue()){
+            vo2.setOutMoneyTips("成本增加!该项计划完成时间超过当初测算时间工作时长("+(vo2.getPlanDays().intValue() - vo2.getBudgetDays().intValue())+")天");
+            vo2.setTaskFinishedStatus(1);
+        }
+        vo2.setIsShowChildren(0);
+        return vo2;
+    }
+
+    /**
+     * 编辑子计划
+     */
+    @Override
+    public ProjectCostBudgetVO2 updateChildrenPlan(ProjectCostBudgetVO2 vo2) {
+        //如果子计划为空,则清空父计划,然后修改可以编辑父计划
+        List<ProjectCostBudgetVO2> list = vo2.getChildrenList();
+        if (list != null && list.size() > 0){
+            //获取子计划任务类型,用于判断子计划类型是否一致
+            ProjectCostBudgetVO2 budgetVO2 = list.get(0);
+            Long taskType;
+            if (budgetVO2.getPlanTaskType() == null){
+                throw new ServiceException("请选择任务类型");
+            }else {
+                taskType = budgetVO2.getPlanTaskType();
+            }
+            DictInfo task = baseMapper.getTaskType(vo2.getPlanTaskType());
+            //拼接父计划信息
+            BigDecimal workDays = new BigDecimal(0);
+            LocalDate startDate = LocalDate.MAX;
+            LocalDate endDate = LocalDate.MIN;
+            StringBuilder descStr = new StringBuilder();
+            StringBuilder targetStr = new StringBuilder();
+            int j = 1;
+            for (ProjectCostBudgetVO2 l : list) {
+                //校验数据
+                if (l.getPlanTaskType() == null){
+                    throw new ServiceException("请选择任务类型");
+                }else if (StringUtils.isBlank(l.getPlanTaskDesc())){
+                    throw new ServiceException("请填写任务描述");
+                }else if (StringUtils.isBlank(l.getPlanTarget())){
+                    throw new ServiceException("请填写完成指标");
+                }else if (l.getPlanStartTime() == null || l.getPlanEndTime() == null){
+                    throw new ServiceException("请选择计划起止日期");
+                }
+                //校验类型
+                if (!taskType.equals(l.getPlanTaskType())){
+                    throw new ServiceException("子计划任务类型不一致");
+                }
+                //计算总天数
+                if (l.getPlanDays() != null) {
+                    workDays = workDays.add(l.getPlanDays());
+                }else {
+                    if (task.getDictValue().intValue() == 1) {
+                        l.setPlanDays(new BigDecimal(endDate.compareTo(startDate)));
+                    } else {
+                        if (l.getPlanEndTime().compareTo(budgetVO2.getPlanStartTime()) > 35) {
+                            throw new ServiceException("请不要制定超过一个月的临时计划");
+                        }else {
+                            l.setPlanDays(new BigDecimal(CommonUtil.getWorkDays(budgetVO2.getPlanStartTime(), budgetVO2.getPlanEndTime())));
+                        }
+                    }
+                }
+                //计算最大日期和最小日期
+                if (l.getPlanStartTime().isBefore(startDate)){
+                    startDate = l.getPlanStartTime();
+                }
+                if (l.getPlanEndTime().isAfter(endDate)){
+                    endDate = l.getPlanEndTime();
+                }
+                //拼接子计划的任务描述
+                descStr.append(j + "."+l.getPlanTaskDesc()+"。");
+                //拼接子计划的完成指标
+                targetStr.append(j+"."+l.getPlanTarget()+"。");
+                j++;
+            }
+            //计算是否超过预算
+            if (workDays.intValue() > vo2.getBudgetDays().intValue()){
+                vo2.setTaskFinishedStatus(1);
+                vo2.setOutMoneyTips("成本增加!该项计划完成时间超过当初测算时间工作时长("+(workDays.intValue() - vo2.getBudgetDays().intValue())+"天)");
+            }
+
+            //根据子计划设置父计划任务类型
+            vo2.setPlanTaskType(taskType);
+            //根据子计划设置父计划任务类型值
+            vo2.setPlanTaskTypeValue(task.getDictName());
+            //根据子计划设置父计划任务描述
+            vo2.setPlanTaskDesc(descStr.toString());
+            //根据子计划设置父计划完成指标
+            vo2.setPlanTarget(targetStr.toString());
+            //根据子计划设置父计划起止日期
+            vo2.setPlanStartTime(startDate);
+            vo2.setPlanEndTime(endDate);
+            //根据任务类型设置父计划的工作天数,固定任务1,临时任务2
+            if (task.getDictValue().intValue() == 1){
+                vo2.setPlanDays(new BigDecimal(endDate.compareTo(startDate)));
+            }else {
+                if (endDate.compareTo(startDate) > 35){
+                    //工作天数,工具只能获取50天之内的
+                    int i = 0;
+                    while (endDate.compareTo(startDate) > 0){
+                        i += CommonUtil.getWorkDays(startDate, startDate.plusDays(35L));
+                        startDate = startDate.plusDays(36L);
+                    }
+                    vo2.setPlanDays(new BigDecimal(i));
+                }else {
+                    vo2.setPlanDays(new BigDecimal(CommonUtil.getWorkDays(startDate, endDate)));
+                }
+            }
+            vo2.setIsShowEdit(0);
+
+        }else {
+         vo2.setPlanTaskType(null);
+         vo2.setPlanTaskDesc(null);
+         vo2.setPlanTarget(null);
+         vo2.setPlanStartTime(null);
+         vo2.setPlanEndTime(null);
+         vo2.setPlanDays(null);
+         vo2.setIsShowEdit(1);
+         return vo2;
+        }
+        return vo2;
+    }
+
     /**
      * 统计一行的几个总金额
      */