Min vor 1 Jahr
Ursprung
Commit
781795bfcd

+ 6 - 0
fhKeeper/formulahousekeeper/management-platform/src/main/java/com/management/platform/entity/Task.java

@@ -220,6 +220,12 @@ public class Task extends Model<Task> {
     @TableField("ahead_tid")
     private String aheadTid;
 
+    /**
+     * SAP项目任务编号
+     */
+    @TableField("sap_task_code")
+    private String sapTaskCode;
+
     @TableField(exist = false)
     private List<TaskExecutor> executorList;
 

+ 50 - 13
fhKeeper/formulahousekeeper/management-platform/src/main/java/com/management/platform/service/impl/ProjectServiceImpl.java

@@ -11449,20 +11449,55 @@ public class ProjectServiceImpl extends ServiceImpl<ProjectMapper, Project> impl
                     List<ProjectTask> taskList = projectTasks.stream().filter(p ->p.getParentTaskUUID() != null &&stagesUUIDList.contains(p.getParentTaskUUID())&&(p.getSummaryTaskIndicator()==null||(p.getSummaryTaskIndicator()!=null && !p.getSummaryTaskIndicator().equals("true")))).collect(Collectors.toList());
                     if(taskGroupList!=null && taskGroupList.size()>0){
                         for (ProjectTask group : taskGroupList) {
-                            TaskGroup taskGroup=new TaskGroup();
-                            taskGroup.setProjectId(project.getId());
-                            taskGroup.setTaskGroupCode(group.getProjectElementID());
-                            taskGroup.setName(group.getTaskGroupName()==null?"":group.getTaskGroupName().getName());
-                            TaskGroup one = taskGroupMapper.selectOne(new QueryWrapper<TaskGroup>().eq("project_id", project.getId()).eq("task_group_code", group.getProjectElementID()));
-                            if(one!=null){
-                                taskGroup.setId(one.getId());
+                            //如果作为第二层数据是不存在下级数据的 把当前数据作为第四层数据 手动添加阶段数据 作为该数据的上级数据
+                            if(group.getSummaryTaskIndicator()==null){
+                                TaskGroup taskGroup=new TaskGroup();
+                                taskGroup.setProjectId(project.getId());
+                                taskGroup.setName("项目阶段");
+                                TaskGroup one = taskGroupMapper.selectOne(new QueryWrapper<TaskGroup>().eq("project_id", project.getId()).eq("name","项目阶段"));
+                                if(one!=null){
+                                    taskGroup.setId(one.getId());
+                                }
+                                taskGroupService.saveOrUpdate(taskGroup);
+                                Stages stage = new Stages();
+                                stage.setSequence(1);
+                                stage.setProjectId(project.getId());
+                                stage.setGroupId(taskGroup.getId());
+                                stage.setStagesName("工作开展");
+                                Stages two = stagesMapper.selectOne(new QueryWrapper<Stages>().eq("project_id", project.getId()).eq("stages_name","工作开展").eq("group_id",stage.getGroupId()));
+                                if(two!=null){
+                                    stage.setId(two.getId());
+                                }
+                                stagesService.saveOrUpdate(stage);
+                                Task task=new Task();
+                                task.setProjectId(project.getId());
+                                task.setGroupId(taskGroup.getId());
+                                task.setStagesId(stage.getId());
+                                task.setCreateDate(localDate);
+                                task.setCompanyId(companyId);
+                                task.setSapTaskCode(group.getProjectElementID());
+                                task.setName(group.getTaskGroupName()==null?"空的任务名称":group.getTaskGroupName().getName());
+                                Task three = taskMapper.selectOne(new LambdaQueryWrapper<Task>().eq(Task::getProjectId, task.getProjectId()).eq(Task::getGroupId, task.getGroupId()).eq(Task::getStagesId, task.getStagesId()));
+                                if(three!=null){
+                                    task.setId(three.getId());
+                                }
+                                taskService.saveOrUpdate(task);
+                            }else {
+                                TaskGroup taskGroup=new TaskGroup();
+                                taskGroup.setProjectId(project.getId());
+                                taskGroup.setTaskGroupCode(group.getProjectElementID());
+                                taskGroup.setName(group.getTaskGroupName()==null?"":group.getTaskGroupName().getName());
+                                TaskGroup one = taskGroupMapper.selectOne(new QueryWrapper<TaskGroup>().eq("project_id", project.getId()).eq("task_group_code", group.getProjectElementID()));
+                                if(one!=null){
+                                    taskGroup.setId(one.getId());
+                                }
+                                taskGroupService.saveOrUpdate(taskGroup);
+                                Map<String,Object> map=new HashMap<>();
+                                map.put("groupId",taskGroup.getId());
+                                map.put("UUID",group.getUUID());
+                                map.put("projectId",project.getId());
+                                idsMapList.add(map);
                             }
-                            taskGroupService.saveOrUpdate(taskGroup);
-                            Map<String,Object> map=new HashMap<>();
-                            map.put("groupId",taskGroup.getId());
-                            map.put("UUID",group.getUUID());
-                            map.put("projectId",project.getId());
-                            idsMapList.add(map);
                         }
                     }
                     if(stagesList!=null&&stagesList.size()>0){
@@ -11489,6 +11524,7 @@ public class ProjectServiceImpl extends ServiceImpl<ProjectMapper, Project> impl
                                 task.setStagesId(stage.getId());
                                 task.setCreateDate(localDate);
                                 task.setCompanyId(companyId);
+                                task.setSapTaskCode(targetStage.getProjectElementID());
                                 task.setName(targetStage.getTaskGroupName()==null?"空的任务名称":targetStage.getTaskGroupName().getName());
                                 Task two = taskMapper.selectOne(new LambdaQueryWrapper<Task>().eq(Task::getProjectId, task.getProjectId()).eq(Task::getGroupId, task.getGroupId()).eq(Task::getStagesId, task.getStagesId()));
                                 if(two!=null){
@@ -11526,6 +11562,7 @@ public class ProjectServiceImpl extends ServiceImpl<ProjectMapper, Project> impl
                             task.setStagesId(Integer.valueOf(String.valueOf(targetMap.get("stageId"))));
                             task.setCreateDate(localDate);
                             task.setCompanyId(companyId);
+                            task.setSapTaskCode(targetTask.getProjectElementID());
                             task.setName(targetTask.getTaskGroupName()==null?"空的任务名称":targetTask.getTaskGroupName().getName());
                             Task one = taskMapper.selectOne(new LambdaQueryWrapper<Task>().eq(Task::getProjectId, task.getProjectId()).eq(Task::getGroupId, task.getGroupId()).eq(Task::getStagesId, task.getStagesId()));
                             if(one!=null){

+ 7 - 5
fhKeeper/formulahousekeeper/management-platform/src/main/resources/mapper/ReportMapper.xml

@@ -992,16 +992,18 @@
     </select>
 
     <select id="getProjectPlanData" resultType="java.util.Map">
-        select p.project_code as ProjectID,tg.task_group_code ProjectTaskID,t.service_id as  ServiceID,u.job_number as EmployeeID,t.plan_hours as PlanWork ,t.start_date as StartDate ,t.end_date as EndDate
-        from task t
+        select p.project_code as ProjectID,t.sap_task_code ProjectTaskID,sps.service_code as ServiceID,u.job_number as EmployeeID,t.plan_hours as PlanWork ,
+        t.start_date as StartDate ,t.end_date as EndDate
+        from
+        task_executor te
+        left join task t on te.task_id = t.id
+        right join sap_project_service sps on  FIND_IN_SET( sps.id,REPLACE(REPLACE(te.service_id,'[',''),']',''))
         left join project p on t.project_id = p.id
-        left join task_group tg on tg.id=t.group_id
-        left join task_executor te on te.task_id = t.id
         left join user u on te.executor_id=u.id
         where t.company_id=#{companyId}
         and t.start_date is not null
         and t.plan_hours is not null
-        and t.service_id is not null
+        and te.service_id is not null
         and u.job_number is not null
         <if test="startDate!=null and startDate!='' and endDate!=null and endDate!=''">
             and t.create_date between #{startDate} and #{endDate}

+ 2 - 1
fhKeeper/formulahousekeeper/management-platform/src/main/resources/mapper/TaskMapper.xml

@@ -30,6 +30,7 @@
         <result column="finish_date" property="finishDate" />
         <result column="start_date" property="startDate" />
         <result column="meeting_id" property="meetingId" />
+        <result column="sap_task_code" property="sapTaskCode" />
     </resultMap>
 
     <resultMap id="timeResultMap" type="com.management.platform.entity.TimeTask" >
@@ -95,7 +96,7 @@
 
     <!-- 通用查询结果列 -->
     <sql id="Base_Column_List">
-        id, name, task_desc, creater_id, creater_name, creator_color, executor_id, executor_name, executor_color, task_level, task_status, create_date, end_date, project_id, stages_id, company_id, indate, parent_tid, group_id, seq, plan_hours, task_type, parent_tname, finish_date, start_date, meeting_id, ahead_tid
+        id, name, task_desc, creater_id, creater_name, creator_color, executor_id, executor_name, executor_color, task_level, task_status, create_date, end_date, project_id, stages_id, company_id, indate, parent_tid, group_id, seq, plan_hours, task_type, parent_tname, finish_date, start_date, meeting_id, ahead_tid, sap_task_code
     </sql>
     <select id="simpleList" resultMap="BaseResultMap">
         select id, name, creater_id, creater_name, creator_color, executor_id, executor_name, executor_color, task_level, task_status, create_date, end_date, project_id, stages_id, company_id, indate, parent_tid, group_id, seq, plan_hours, task_type, parent_tname, finish_date, start_date