Explorar o código

项目任务导入 主项目接口

yurk %!s(int64=2) %!d(string=hai) anos
pai
achega
df338588e9

+ 1 - 1
fhKeeper/formulahousekeeper/management-platform/src/main/java/com/management/platform/controller/ProjectController.java

@@ -506,7 +506,7 @@ public class ProjectController {
         return projectService.exportWaitingReviewList(request,stateKey,userId,startDate,endDate);
     }
     @RequestMapping("/batchSetParticipation")
-    public HttpRespMsg batchSetParticipation(HttpServletRequest request,Integer[] projectIdArray,String[] userIds){
+    public HttpRespMsg batchSetParticipation(HttpServletRequest request,String projectIdArray,String userIds){
         return projectService.batchSetParticipation(request,projectIdArray,userIds);
     }
 }

+ 4 - 4
fhKeeper/formulahousekeeper/management-platform/src/main/java/com/management/platform/controller/TaskController.java

@@ -515,8 +515,8 @@ public class TaskController {
                 taskExecutorMapper.updateById(oldExe);
             } else {
                 //不存在,新增一条
-                TaskExecutor executor = TaskExecutor.fromTask(t);
-                taskExecutorMapper.insert(executor);
+                List<TaskExecutor> executors = TaskExecutor.fromTask(t);
+                taskExecutorService.saveBatch(executors);
             }
         }
         return msg;
@@ -680,8 +680,8 @@ public class TaskController {
     }
 
     @RequestMapping("/importTask")
-    public HttpRespMsg importUser(Integer projectId, Integer groupId, Integer stagesId, @RequestParam MultipartFile file) {
-        return taskService.importTask(projectId, groupId, stagesId, file, request);
+    public HttpRespMsg importUser(Integer projectId, Integer groupId, @RequestParam MultipartFile file) {
+        return taskService.importTask(projectId, groupId, file, request);
     }
 
 

+ 24 - 12
fhKeeper/formulahousekeeper/management-platform/src/main/java/com/management/platform/entity/TaskExecutor.java

@@ -1,14 +1,17 @@
 package com.management.platform.entity;
 
 import com.baomidou.mybatisplus.annotation.IdType;
-import com.baomidou.mybatisplus.extension.activerecord.Model;
-import com.baomidou.mybatisplus.annotation.TableId;
 import com.baomidou.mybatisplus.annotation.TableField;
-import java.io.Serializable;
+import com.baomidou.mybatisplus.annotation.TableId;
+import com.baomidou.mybatisplus.extension.activerecord.Model;
 import lombok.Data;
 import lombok.EqualsAndHashCode;
 import lombok.experimental.Accessors;
 
+import java.io.Serializable;
+import java.util.ArrayList;
+import java.util.List;
+
 /**
  * <p>
  * 
@@ -63,15 +66,24 @@ public class TaskExecutor extends Model<TaskExecutor> {
         return this.id;
     }
 
-    public static TaskExecutor fromTask(Task task) {
-        TaskExecutor executor = new TaskExecutor();
-        executor.setTaskId(task.getId());
-        executor.setProjectId(task.getProjectId());
-        executor.setPlanHours(task.getPlanHours());
-        executor.setExecutorId(task.getExecutorId());
-        executor.setExecutorName(task.getExecutorName());
-        executor.setExecutorColor(task.getExecutorColor());
-        return executor;
+    public static List<TaskExecutor> fromTask(Task task) {
+        String[] executorIdString = task.getExecutorId().split(",");
+        String[] executorNameString = task.getExecutorName().split(",");
+        String[] executorColorString = task.getExecutorColor().split(",");
+        List<TaskExecutor> executorList=new ArrayList<>();
+        if(executorIdString.length>0){
+            for (int i=0;i<executorIdString.length;i++) {
+                TaskExecutor executor = new TaskExecutor();
+                executor.setTaskId(task.getId());
+                executor.setProjectId(task.getProjectId());
+                executor.setPlanHours(task.getPlanHours());
+                executor.setExecutorId(executorIdString[i]);
+                executor.setExecutorName(executorNameString[i]);
+                executor.setExecutorColor(executorColorString[i]);
+                executorList.add(executor);
+            }
+        }
+        return executorList;
     }
 
     public static void fromTask(Task task, TaskExecutor executor) {

+ 1 - 1
fhKeeper/formulahousekeeper/management-platform/src/main/java/com/management/platform/service/ProjectService.java

@@ -145,5 +145,5 @@ public interface ProjectService extends IService<Project> {
 
     HttpRespMsg exportWaitingReviewList(HttpServletRequest request, Integer stateKey, String userId,String startDate,String endDate);
 
-    HttpRespMsg batchSetParticipation(HttpServletRequest request,Integer[] projectIdArray,String[] userIds);
+    HttpRespMsg batchSetParticipation(HttpServletRequest request,String projectIdArray , String userIds);
 }

+ 2 - 3
fhKeeper/formulahousekeeper/management-platform/src/main/java/com/management/platform/service/TaskService.java

@@ -1,11 +1,10 @@
 package com.management.platform.service;
 
 import com.baomidou.mybatisplus.core.conditions.Wrapper;
-import com.management.platform.entity.Task;
 import com.baomidou.mybatisplus.extension.service.IService;
+import com.management.platform.entity.Task;
 import com.management.platform.entity.TaskGroup;
 import com.management.platform.util.HttpRespMsg;
-import org.apache.poi.ss.formula.functions.T;
 import org.springframework.web.multipart.MultipartFile;
 
 import javax.servlet.http.HttpServletRequest;
@@ -37,7 +36,7 @@ public interface TaskService extends IService<Task> {
 
     HttpRespMsg exportTask(Integer projectId, Integer taskType);
 
-    HttpRespMsg importTask(Integer projectId, Integer groupId, Integer stagesId, MultipartFile file, HttpServletRequest request);
+    HttpRespMsg importTask(Integer projectId, Integer groupId, MultipartFile file, HttpServletRequest request);
 
     HttpRespMsg delete(TaskGroup item);
 

+ 5 - 6
fhKeeper/formulahousekeeper/management-platform/src/main/java/com/management/platform/service/impl/DepartmentServiceImpl.java

@@ -267,7 +267,7 @@ public class DepartmentServiceImpl extends ServiceImpl<DepartmentMapper, Departm
         try {
             User targetUser = userMapper.selectById(request.getHeader("Token"));
             Integer companyId =targetUser.getCompanyId();
-            //当前用户所属部门 或者 管理部门
+            //当前用户管理部门
             List<Integer> deptIds=null;
             List<Department> departmentList = departmentMapper.selectList(new QueryWrapper<Department>().eq("manager_id", targetUser.getId()).eq("company_id", companyId));
             List<SysRichFunction> functionAllList = sysFunctionMapper.getRoleFunctions(targetUser.getRoleId(), "查看全公司");
@@ -279,7 +279,6 @@ public class DepartmentServiceImpl extends ServiceImpl<DepartmentMapper, Departm
                 if(functionDpartList.size()>0){
                     if(functionTimeList.size()>0||functionCostList.size()>0){
                         deptIds = departmentList.stream().map(dp -> dp.getDepartmentId()).distinct().collect(Collectors.toList());
-                        deptIds.add(targetUser.getDepartmentId());
                     }
                 }else {
                     deptIds=new ArrayList<>();
@@ -297,7 +296,9 @@ public class DepartmentServiceImpl extends ServiceImpl<DepartmentMapper, Departm
                 queryWrapper.in("department_id",deptIds);
             }
             //获取第一级部门
+            System.out.println(deptIds);
             List<Department> masterList = departmentMapper.selectList(queryWrapper);
+            System.out.println(masterList);
             Map<String, Object> resultMap = new HashMap<>();
             List<DepartmentMasterVO> list = new ArrayList<>();
             BigDecimal totalCostMoney = new BigDecimal(0);
@@ -350,7 +351,7 @@ public class DepartmentServiceImpl extends ServiceImpl<DepartmentMapper, Departm
             User targetUser = userMapper.selectById(request.getHeader("Token"));
             Integer companyId =targetUser.getCompanyId();
             Map<String, Object> resultMap = new HashMap<>();
-            //当前用户所属部门 或者 管理部门
+            //当前用户管理部门
             List<Integer> deptIds=null;
             List<Department> departmentList = departmentMapper.selectList(new QueryWrapper<Department>().eq("manager_id", targetUser.getId()).eq("company_id", companyId));
             List<SysRichFunction> functionAllList = sysFunctionMapper.getRoleFunctions(targetUser.getRoleId(), "查看全公司");
@@ -362,7 +363,6 @@ public class DepartmentServiceImpl extends ServiceImpl<DepartmentMapper, Departm
                 if(functionDpartList.size()>0){
                     if(functionTimeList.size()>0||functionCostList.size()>0){
                         deptIds = departmentList.stream().map(dp -> dp.getDepartmentId()).distinct().collect(Collectors.toList());
-                        deptIds.add(targetUser.getDepartmentId());
                     }
                 }else {
                     deptIds=new ArrayList<>();
@@ -460,7 +460,7 @@ public class DepartmentServiceImpl extends ServiceImpl<DepartmentMapper, Departm
         try {
             User targetUser = userMapper.selectById(request.getHeader("Token"));
             Integer companyId =targetUser.getCompanyId();
-            //当前用户所属部门 或者 管理部门
+            //当前用户管理部门
             List<Integer> deptIds=null;
             List<Department> departmentList = departmentMapper.selectList(new QueryWrapper<Department>().eq("manager_id", targetUser.getId()).eq("company_id", companyId));
             List<SysRichFunction> functionAllList = sysFunctionMapper.getRoleFunctions(targetUser.getRoleId(), "查看全公司");
@@ -472,7 +472,6 @@ public class DepartmentServiceImpl extends ServiceImpl<DepartmentMapper, Departm
                 if(functionDpartList.size()>0){
                     if(functionTimeList.size()>0||functionCostList.size()>0){
                         deptIds = departmentList.stream().map(dp -> dp.getDepartmentId()).distinct().collect(Collectors.toList());
-                        deptIds.add(targetUser.getDepartmentId());
                     }
                 }else {
                     deptIds=new ArrayList<>();

+ 14 - 12
fhKeeper/formulahousekeeper/management-platform/src/main/java/com/management/platform/service/impl/ProjectServiceImpl.java

@@ -655,7 +655,7 @@ public class ProjectServiceImpl extends ServiceImpl<ProjectMapper, Project> impl
             User targetUser = userMapper.selectById(request.getHeader("Token"));
             Integer companyId =targetUser.getCompanyId();
             Map<String, Object> resultMap = new HashMap<>();
-            //当前用户所属部门 或者 管理部门
+            //当前用户管理部门
             List<Integer> deptIds=null;
             List<Department> departmentList = departmentMapper.selectList(new QueryWrapper<Department>().eq("manager_id", targetUser.getId()).eq("company_id", companyId));
             List<SysRichFunction> functionAllList = sysFunctionMapper.getRoleFunctions(targetUser.getRoleId(), "查看全公司");
@@ -667,7 +667,6 @@ public class ProjectServiceImpl extends ServiceImpl<ProjectMapper, Project> impl
                 if(functionDpartList.size()>0){
                     if(functionTimeList.size()>0||functionCostList.size()>0){
                         deptIds = departmentList.stream().map(dp -> dp.getDepartmentId()).distinct().collect(Collectors.toList());
-                        deptIds.add(targetUser.getDepartmentId());
                     }
                 }else {
                     deptIds=new ArrayList<>();
@@ -793,7 +792,7 @@ public class ProjectServiceImpl extends ServiceImpl<ProjectMapper, Project> impl
             User targetUser = userMapper.selectById(request.getHeader("Token"));
             Integer companyId =targetUser.getCompanyId();
             Map<String, Object> resultMap = new HashMap<>();
-            //当前用户所属部门 或者 管理部门
+            //当前用户管理部门
             List<Integer> deptIds=null;
             List<Department> departmentList = departmentMapper.selectList(new QueryWrapper<Department>().eq("manager_id", targetUser.getId()).eq("company_id", companyId));
             List<SysRichFunction> functionAllList = sysFunctionMapper.getRoleFunctions(targetUser.getRoleId(), "查看全公司");
@@ -805,7 +804,6 @@ public class ProjectServiceImpl extends ServiceImpl<ProjectMapper, Project> impl
                 if(functionDpartList.size()>0){
                     if(functionTimeList.size()>0||functionCostList.size()>0){
                         deptIds = departmentList.stream().map(dp -> dp.getDepartmentId()).distinct().collect(Collectors.toList());
-                        deptIds.add(targetUser.getDepartmentId());
                     }
                 }else {
                     deptIds=new ArrayList<>();
@@ -2788,6 +2786,12 @@ public class ProjectServiceImpl extends ServiceImpl<ProjectMapper, Project> impl
                     }
                 }
                 item.put("realcostList", proRealCost);
+                BigDecimal baseCost=new BigDecimal(String.valueOf(item.get("baseCost")));
+                baseCost=baseCost.subtract((BigDecimal) item.get("feeMan"));
+                BigDecimal baseCurcost=new BigDecimal(String.valueOf(item.get("baseCurcost")));
+                baseCurcost=baseCurcost.subtract((BigDecimal) item.get("feeMan"));
+                item.put("remainingBudget",baseCost);
+                item.put("currentRemainingBudget",baseCurcost);
             }
         }
 
@@ -2990,7 +2994,7 @@ public class ProjectServiceImpl extends ServiceImpl<ProjectMapper, Project> impl
             User targetUser = userMapper.selectById(request.getHeader("Token"));
             Integer companyId =targetUser.getCompanyId();
             Map<String, Object> resultMap = new HashMap<>();
-            //当前用户所属部门 或者 管理部门
+            //当前用户管理部门
             List<Integer> deptIds=null;
             List<Department> departmentList = departmentMapper.selectList(new QueryWrapper<Department>().eq("manager_id", targetUser.getId()).eq("company_id", companyId));
             List<SysRichFunction> functionAllList = sysFunctionMapper.getRoleFunctions(targetUser.getRoleId(), "查看全公司");
@@ -3002,7 +3006,6 @@ public class ProjectServiceImpl extends ServiceImpl<ProjectMapper, Project> impl
                 if(functionDpartList.size()>0){
                     if(functionTimeList.size()>0||functionCostList.size()>0){
                         deptIds = departmentList.stream().map(dp -> dp.getDepartmentId()).distinct().collect(Collectors.toList());
-                        deptIds.add(targetUser.getDepartmentId());
                     }
                 }else {
                     deptIds=new ArrayList<>();
@@ -3129,7 +3132,7 @@ public class ProjectServiceImpl extends ServiceImpl<ProjectMapper, Project> impl
             User targetUser = userMapper.selectById(request.getHeader("Token"));
             Integer companyId =targetUser.getCompanyId();
             Map<String, Object> resultMap = new HashMap<>();
-            //当前用户所属部门 或者 管理部门
+            //当前用户管理部门
             List<Integer> deptIds=null;
             List<Department> departmentList = departmentMapper.selectList(new QueryWrapper<Department>().eq("manager_id", targetUser.getId()).eq("company_id", companyId));
             List<SysRichFunction> functionAllList = sysFunctionMapper.getRoleFunctions(targetUser.getRoleId(), "查看全公司");
@@ -3141,7 +3144,6 @@ public class ProjectServiceImpl extends ServiceImpl<ProjectMapper, Project> impl
                 if(functionDpartList.size()>0){
                     if(functionTimeList.size()>0||functionCostList.size()>0){
                         deptIds = departmentList.stream().map(dp -> dp.getDepartmentId()).distinct().collect(Collectors.toList());
-                        deptIds.add(targetUser.getDepartmentId());
                     }
                 }else {
                     deptIds=new ArrayList<>();
@@ -3523,12 +3525,12 @@ public class ProjectServiceImpl extends ServiceImpl<ProjectMapper, Project> impl
     }
 
     @Override
-    public HttpRespMsg batchSetParticipation(HttpServletRequest request,Integer[] projectIdArray,String[] userIds) {
+    public HttpRespMsg batchSetParticipation(HttpServletRequest request,String  projectIdArray,String userIds) {
         HttpRespMsg msg=new HttpRespMsg();
         Integer companyId = userMapper.selectById(request.getHeader("token")).getCompanyId();
-        List<Integer> ids = Arrays.asList(projectIdArray);
-        List<String> userIdList = (List<String>) Arrays.asList(userIds);
-        List<Project> projectList = projectMapper.selectList(new QueryWrapper<Project>().eq("company_id", companyId).in("id", ids));
+        List<Integer> array = JSONArray.parseArray(projectIdArray, Integer.class);
+        List<String> userIdList = JSONArray.parseArray(userIds, String.class);
+        List<Project> projectList = projectMapper.selectList(new QueryWrapper<Project>().eq("company_id", companyId).in("id",array));
         List<Participation> list=new ArrayList<>();
         for (Project project : projectList) {
             List<Participation> participationList = participationMapper.selectList(new QueryWrapper<Participation>().eq("project_id", project.getId()));

+ 59 - 36
fhKeeper/formulahousekeeper/management-platform/src/main/java/com/management/platform/service/impl/TaskServiceImpl.java

@@ -3,17 +3,15 @@ package com.management.platform.service.impl;
 import com.alibaba.fastjson.JSONArray;
 import com.baomidou.mybatisplus.core.conditions.Wrapper;
 import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
+import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
 import com.github.pagehelper.util.StringUtil;
 import com.management.platform.entity.*;
 import com.management.platform.mapper.*;
 import com.management.platform.service.CompanyDingdingService;
-import com.management.platform.service.MilestoneTaskRefService;
 import com.management.platform.service.TaskExecutorService;
 import com.management.platform.service.TaskService;
-import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
-import com.management.platform.util.*;
+import com.management.platform.util.HttpRespMsg;
 import org.apache.poi.hssf.usermodel.*;
-import org.apache.poi.ss.formula.functions.T;
 import org.apache.poi.ss.usermodel.CellType;
 import org.apache.poi.xssf.usermodel.XSSFCell;
 import org.apache.poi.xssf.usermodel.XSSFRow;
@@ -27,10 +25,6 @@ import org.springframework.web.multipart.MultipartFile;
 import javax.annotation.Resource;
 import javax.servlet.http.HttpServletRequest;
 import java.io.*;
-import java.math.BigDecimal;
-import java.math.RoundingMode;
-import java.sql.Timestamp;
-import java.text.DecimalFormat;
 import java.text.SimpleDateFormat;
 import java.time.LocalDate;
 import java.time.format.DateTimeFormatter;
@@ -299,7 +293,7 @@ public class TaskServiceImpl extends ServiceImpl<TaskMapper, Task> implements Ta
     }
 
     @Override
-    public HttpRespMsg importTask(Integer projectId, Integer groupId, Integer stagesId, MultipartFile multipartFile, HttpServletRequest request) {
+    public HttpRespMsg importTask(Integer projectId, Integer groupId, MultipartFile multipartFile, HttpServletRequest request) {
         HttpRespMsg httpRespMsg = new HttpRespMsg();
 
         //首先先搞到公司id
@@ -307,13 +301,6 @@ public class TaskServiceImpl extends ServiceImpl<TaskMapper, Task> implements Ta
         User creator = userMapper.selectById(userId);
         Integer companyId = creator.getCompanyId();
         List<User> allUserList = userMapper.selectList(new QueryWrapper<User>().eq("company_id", companyId));
-        //获取当前导入的任务列表
-        Stages stages = stagesMapper.selectById(stagesId);
-        List<Task> maxList = taskMapper.selectList(new QueryWrapper<Task>().eq("stages_id", stagesId).orderByDesc("seq").last("limit 1"));
-        int seq = 1;
-        if (maxList.size() > 0) {
-            seq = maxList.get(0).getSeq() + 1;
-        }
         HashMap<String, Integer> taskTypeMap = new HashMap<>();
         taskTypeMap.put("任务", 0);
         taskTypeMap.put("里程碑", 1);
@@ -357,12 +344,14 @@ public class TaskServiceImpl extends ServiceImpl<TaskMapper, Task> implements Ta
                     break;
                 }
                 XSSFCell typeCell = row.getCell(1);
-                XSSFCell executorCell = row.getCell(2);
-                XSSFCell levelCell = row.getCell(3);
-                XSSFCell endDateCell = row.getCell(4);
-                XSSFCell planHoursCell = row.getCell(5);
+                XSSFCell stagesCell = row.getCell(2);
+                XSSFCell executorCell = row.getCell(3);
+                XSSFCell levelCell = row.getCell(4);
+                XSSFCell endDateCell = row.getCell(5);
+                XSSFCell planHoursCell = row.getCell(6);
                 nameCell.setCellType(CellType.STRING);
                 typeCell.setCellType(CellType.STRING);
+                stagesCell.setCellType(CellType.STRING);
                 endDateCell.setCellType(CellType.NUMERIC);
                 planHoursCell.setCellType(CellType.STRING);
                 String name = nameCell.getStringCellValue();
@@ -375,20 +364,51 @@ public class TaskServiceImpl extends ServiceImpl<TaskMapper, Task> implements Ta
                 task.setCompanyId(companyId);
                 task.setProjectId(projectId);
                 task.setGroupId(groupId);
-                String executorName = executorCell.getStringCellValue();
-                System.out.println("姓名=="+executorCell.getStringCellValue());
-                Optional<User> first = allUserList.stream().filter(u -> u.getName().equals(executorName)).findFirst();
-                if (first.isPresent()) {
-                    User find = first.get();
-                    task.setExecutorId(find.getId());
-                    task.setExecutorName(find.getName());
-                    task.setExecutorColor(find.getColor());
+                String[] executorNameArray = executorCell.getStringCellValue().split(",");
+                List<String> executorNameList = Arrays.asList(executorNameArray);
+                String executorIdString="";
+                String executorNameString="";
+                String executorColorString="";
+                for (int i=0;i<executorNameList.size();i++) {
+                    String executorName = executorNameList.get(i);
+                    Optional<User> first = allUserList.stream().filter(u -> u.getName().equals(executorName)).findFirst();
+                    if (first.isPresent()) {
+                        User find = first.get();
+                        if(i==executorNameList.size()-1){
+                            executorIdString+=find.getId();
+                            executorNameString+=find.getName();
+                            executorColorString+=find.getColor();
+                        }else{
+                            executorIdString+=find.getId()+",";
+                            executorNameString+=find.getName()+",";
+                            executorColorString+=find.getColor()+",";
+                        }
+                    }else {
+                        httpRespMsg.setError("执行人["+executorName+"]不存在");
+                    }
+                }
+                task.setExecutorId(executorIdString);
+                task.setExecutorName(executorNameString);
+                task.setExecutorColor(executorColorString);
+                //获取当前导入的任务列表
+                List<Stages> stagesList = stagesMapper.selectList(new QueryWrapper<Stages>().eq("project_id",projectId).eq("group_id",groupId));
+                if(!stagesList.stream().anyMatch(sg->sg.getStagesName().equals(stagesCell.getStringCellValue()))){
+                    httpRespMsg.setError("任务列表["+stagesCell.getStringCellValue()+"]不存在");
+                    return httpRespMsg;
                 }
-                task.setStagesId(stagesId);
-                task.setStagesName(stages.getStagesName());
-                task.setSeq(seq++);
+                Optional<Stages> theFirst = stagesList.stream().filter(sg -> sg.getStagesName().equals(stagesCell.getStringCellValue())).findFirst();
                 task.setName(name);
                 task.setTaskType(taskTypeMap.get(typeCell.getStringCellValue()));
+                if(theFirst.isPresent()){
+                    List<Task> maxList = taskMapper.selectList(new QueryWrapper<Task>().eq("stages_id", theFirst.get().getId()).orderByDesc("seq").last("limit 1"));
+                    int seq = 1;
+                    if (maxList.size() > 0) {
+                        seq = maxList.get(0).getSeq() + 1;
+                    }
+                    task.setStagesId(theFirst.get().getId());
+                    task.setStagesName(theFirst.get().getStagesName());
+                    task.setSeq(seq++);
+                }
                 task.setTaskLevel(taskLevelMap.get(levelCell.getStringCellValue()));
                 Date dateCellValue = endDateCell.getDateCellValue();
                 System.out.println("日期=="+dateCellValue.toString());
@@ -404,15 +424,18 @@ public class TaskServiceImpl extends ServiceImpl<TaskMapper, Task> implements Ta
             }
             saveBatch(taskList);
             //保存到执行人表
-            List<TaskExecutor> executorList = new ArrayList<>();
+            List<List<TaskExecutor>> executorListAll=new ArrayList<>();
             for (Task t : taskList) {
                 if (!StringUtil.isEmpty(t.getExecutorId())) {
-                    TaskExecutor executor = TaskExecutor.fromTask(t);
-                    executorList.add(executor);
+                    List<TaskExecutor> executorList = TaskExecutor.fromTask(t);
+                    executorListAll.add(executorList);
                 }
             }
-            if (executorList.size() > 0) {
-                taskExecutorService.saveBatch(executorList);
+            if (executorListAll.size() > 0) {
+                for (List<TaskExecutor> executorList : executorListAll) {
+                    taskExecutorService.saveBatch(executorList);
+                }
+
             }
             //最后删掉这个文件
 //            if (!file.delete()) {

+ 3 - 1
fhKeeper/formulahousekeeper/management-platform/src/main/resources/mapper/ProjectMapper.xml

@@ -228,7 +228,7 @@
         FROM report AS a
         JOIN user AS b ON a.creator_id = b.id
         left join department on department.department_id = a.dept_id
-        WHERE a.company_id=#{companyId} and a.state = 1
+        WHERE a.company_id=#{companyId} and (a.state = 1 or a.state =0)
         <if test="projectId != null">
             and a.project_id = #{projectId}
         </if>
@@ -686,6 +686,8 @@
 
     <select id="getBaseCostAndRealCost" resultType="java.util.HashMap">
         SELECT project.id,project_code as projectCode, project.`project_name` as projectName,
+        (SELECT IFNULL(SUM(base_amount), 0) FROM project_basecost LEFT JOIN project_basecost_setting
+        ON project_basecost_setting.id = project_basecost.`base_id` WHERE alarm_type=1 AND company_id=#{companyId} AND project_basecost.`project_id`=project.id) AS baseCost,
         (SELECT IFNULL(SUM(base_amount), 0) FROM project_currentcost LEFT JOIN project_basecost_setting
         ON project_basecost_setting.id = project_currentcost.`base_id` WHERE alarm_type=1 AND company_id=#{companyId} AND project_currentcost.`project_id`=project.id) AS baseCurcost,
         (SELECT IFNULL(SUM(cost), 0) FROM report WHERE report.`company_id` = #{companyId} AND project_id = project.id AND state=1 AND basecost_id >0) AS feeMan

BIN=BIN
项目任务导入模板.xlsx