Compare commits

..

No commits in common. "7d14cda64cf5eb60d591dec079e77efd046a49cb" and "08df9489a50a6fb608d8e0f2fb869ecbe46f2e44" have entirely different histories.

4 changed files with 52 additions and 71 deletions

View File

@ -43,27 +43,7 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
pp.task_outline_level, pp.task_name, pp.task_duation, pp.start_date, pp.finish_date, pp.task_outline_level, pp.task_name, pp.task_duation, pp.start_date, pp.finish_date,
pp.predecessors, pp.plan_start_date, pp.plan_finish_date, pp.bim_id, pp.operator, pp.operator_id, pp.predecessors, pp.plan_start_date, pp.plan_finish_date, pp.bim_id, pp.operator, pp.operator_id,
pp.group_id, pp.group_name, pp.schedule_node, pp.is_del, pp.create_by, pp.create_time, pp.update_by, pp.update_time, pp.remark, pp.group_id, pp.group_name, pp.schedule_node, pp.is_del, pp.create_by, pp.create_time, pp.update_by, pp.update_time, pp.remark,
dp.`dept_name` comp_name,pi.`project_name`, dp.`dept_name` comp_name,pi.`project_name`
CASE
WHEN pp.start_date IS NULL THEN
'wks'
WHEN pp.start_date IS NOT NULL
AND pp.finish_date IS NOT NULL
AND date(pp.plan_finish_date) <![CDATA[ >= ]]> date(pp.finish_date) THEN
'zcwc'
WHEN pp.start_date IS NOT NULL
AND pp.finish_date IS NOT NULL
AND date(pp.plan_finish_date) <![CDATA[ < ]]> date(pp.finish_date) THEN
'zhwc'
WHEN pp.start_date IS NOT NULL
AND pp.finish_date IS NULL
AND date(pp.plan_finish_date) <![CDATA[ >= ]]> date(NOW()) THEN
'zcjxz'
WHEN pp.start_date IS NOT NULL
AND pp.finish_date IS NULL
AND date(pp.plan_finish_date) <![CDATA[ < ]]> date(NOW()) THEN
'zhjxz'
END AS task_status
from pro_plan pp from pro_plan pp
LEFT JOIN sys_dept dp ON pp.`comid`=dp.`dept_id` LEFT JOIN sys_dept dp ON pp.`comid`=dp.`dept_id`
LEFT JOIN pro_project_info pi ON pp.`project_id`=pi.`id` LEFT JOIN pro_project_info pi ON pp.`project_id`=pi.`id`
@ -311,19 +291,19 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
'wks' 'wks'
WHEN pp.start_date IS NOT NULL WHEN pp.start_date IS NOT NULL
AND pp.finish_date IS NOT NULL AND pp.finish_date IS NOT NULL
AND date(pp.plan_finish_date) <![CDATA[ >= ]]> date(pp.finish_date) THEN AND pp.plan_finish_date <![CDATA[ >= ]]> pp.finish_date THEN
'zcwc' 'zcwc'
WHEN pp.start_date IS NOT NULL WHEN pp.start_date IS NOT NULL
AND pp.finish_date IS NOT NULL AND pp.finish_date IS NOT NULL
AND date(pp.plan_finish_date) <![CDATA[ < ]]> date(pp.finish_date) THEN AND pp.plan_finish_date <![CDATA[ < ]]> pp.finish_date THEN
'zhwc' 'zhwc'
WHEN pp.start_date IS NOT NULL WHEN pp.start_date IS NOT NULL
AND pp.finish_date IS NULL AND pp.finish_date IS NULL
AND date(pp.plan_finish_date) <![CDATA[ >= ]]> date(NOW()) THEN AND pp.plan_finish_date <![CDATA[ >= ]]> NOW() THEN
'zcjxz' 'zcjxz'
WHEN pp.start_date IS NOT NULL WHEN pp.start_date IS NOT NULL
AND pp.finish_date IS NULL AND pp.finish_date IS NULL
AND date(pp.plan_finish_date) <![CDATA[ < ]]> date(NOW()) THEN AND pp.plan_finish_date <![CDATA[ < ]]> NOW() THEN
'zhjxz' 'zhjxz'
END AS task_status, END AS task_status,
CASE CASE

View File

@ -1,6 +1,5 @@
package com.yanzhu.manage.controller; package com.yanzhu.manage.controller;
import com.alibaba.fastjson2.JSON;
import com.aspose.tasks.Project; import com.aspose.tasks.Project;
import com.aspose.tasks.Task; import com.aspose.tasks.Task;
import com.aspose.tasks.TaskCollection; import com.aspose.tasks.TaskCollection;
@ -106,12 +105,10 @@ public class ProPlanController extends BaseController
Project prj=new Project(file.getInputStream()); Project prj=new Project(file.getInputStream());
List<ProPlan> proPlans=new ArrayList<>(); List<ProPlan> proPlans=new ArrayList<>();
tasksToPlans(prj.getRootTask().getChildren(),proPlans); tasksToPlans(prj.getRootTask().getChildren(),proPlans);
System.out.println("prj.getRootTask().getChildren().size()===>"+ prj.getRootTask().getChildren().size());
for(ProPlan proPlan:proPlans){ for(ProPlan proPlan:proPlans){
proPlan.setComid(compId); proPlan.setComid(compId);
proPlan.setProjectId(projectId); proPlan.setProjectId(projectId);
} }
System.out.println("proPlanService.addTasks(proPlans)==>"+proPlans.size());
proPlanService.addTasks(proPlans); proPlanService.addTasks(proPlans);
} catch (Exception e) { } catch (Exception e) {
e.printStackTrace(); e.printStackTrace();

View File

@ -76,7 +76,7 @@ public class ProPlanScheduleServiceImpl implements IProPlanScheduleService
ProPlan plan = proPlanMapper.selectProPlanById(proPlanSchedule.getPlanId()); ProPlan plan = proPlanMapper.selectProPlanById(proPlanSchedule.getPlanId());
plan.setScheduleNode(proPlanSchedule.getSchedulePercent().toString()); plan.setScheduleNode(proPlanSchedule.getSchedulePercent().toString());
plan.setUpdateTime(proPlanSchedule.getCreateDate()); plan.setUpdateTime(proPlanSchedule.getCreateDate());
if(proPlanSchedule.getSchedulePercent()>=100L){ if(proPlanSchedule.getSchedulePercent()>=100){
if(plan.getStartDate()==null){ if(plan.getStartDate()==null){
plan.setStartDate(proPlanSchedule.getCreateDate()); plan.setStartDate(proPlanSchedule.getCreateDate());
} }
@ -281,9 +281,12 @@ public class ProPlanScheduleServiceImpl implements IProPlanScheduleService
if(plan.getFinishDate()!=null){ if(plan.getFinishDate()!=null){
int res = proPlanMapper.updateProPlan(plan); int res = proPlanMapper.updateProPlan(plan);
if(res>0){ if(res>0){
// 判断当前结构其它部位是否已全部完成
List<ProPlan> brothers = proPlanMapper.selectProPlanBrothers(plan.getProjectId(),plan.getParentId());
if(brothers.size()==0){
ProPlan entity = proPlanMapper.selectProPlanByParams(plan.getProjectId(),plan.getParentId()); ProPlan entity = proPlanMapper.selectProPlanByParams(plan.getProjectId(),plan.getParentId());
if(entity!=null){
entity.setUpdateTime(plan.getUpdateTime()); entity.setUpdateTime(plan.getUpdateTime());
if(entity!=null){
if(entity.getStartDate()==null){ if(entity.getStartDate()==null){
entity.setStartDate(entity.getUpdateTime()); entity.setStartDate(entity.getUpdateTime());
} }
@ -316,7 +319,7 @@ public class ProPlanScheduleServiceImpl implements IProPlanScheduleService
} }
} }
// 更新总进度 // 更新总进度
if(entity.getTaskOutlineLevel()==1L){ if(entity.getTaskOutlineLevel()==1){
proPlanScheduleMapper.updateProPlanTotalSchedule(entity.getProjectId(),entity.getScheduleNode()); proPlanScheduleMapper.updateProPlanTotalSchedule(entity.getProjectId(),entity.getScheduleNode());
} }
System.out.println("RecursionEditFinishDate.entity.getScheduleNode()..."+entity.getScheduleNode()); System.out.println("RecursionEditFinishDate.entity.getScheduleNode()..."+entity.getScheduleNode());
@ -324,6 +327,7 @@ public class ProPlanScheduleServiceImpl implements IProPlanScheduleService
RecursionEditFinishDate(entity); RecursionEditFinishDate(entity);
} }
} }
}
}else{ }else{
int res = proPlanMapper.updateProPlanFinishDate(plan); int res = proPlanMapper.updateProPlanFinishDate(plan);
if(res>0){ if(res>0){
@ -358,7 +362,7 @@ public class ProPlanScheduleServiceImpl implements IProPlanScheduleService
} }
} }
// 更新总进度 // 更新总进度
if(entity.getTaskOutlineLevel()==1L){ if(entity.getTaskOutlineLevel()==1){
proPlanScheduleMapper.updateProPlanTotalSchedule(entity.getProjectId(),entity.getScheduleNode()); proPlanScheduleMapper.updateProPlanTotalSchedule(entity.getProjectId(),entity.getScheduleNode());
} }
System.out.println("RecursionEditFinishDate.entity.getScheduleNode()..."+entity.getScheduleNode()); System.out.println("RecursionEditFinishDate.entity.getScheduleNode()..."+entity.getScheduleNode());

View File

@ -89,13 +89,13 @@
<el-table-column label="完成进度" align="center" prop="operator" width="250"> <el-table-column label="完成进度" align="center" prop="operator" width="250">
<template #default="scope"> <template #default="scope">
<el-progress <el-progress
v-if="scope.row.taskStatus=='zhjxz' || scope.row.taskStatus=='zcjxz'" v-if="scope.row.Progress==0"
:percentage="Number(scope.row.scheduleNode)" :percentage="Number(scope.row.scheduleNode)"
:stroke-width="15" :stroke-width="15"
:text-inside="true" :text-inside="true"
/> />
<el-progress <el-progress
v-if="scope.row.taskStatus=='wks'" v-if="scope.row.Progress==-2"
:percentage="Number(scope.row.scheduleNode)" :percentage="Number(scope.row.scheduleNode)"
:stroke-width="15" :stroke-width="15"
status="exception" status="exception"
@ -103,14 +103,14 @@
:indeterminate="true" :indeterminate="true"
/> />
<el-progress <el-progress
v-if="scope.row.taskStatus=='zhwc'" v-if="scope.row.Progress==-1"
:percentage="Number(scope.row.scheduleNode)" :percentage="Number(scope.row.scheduleNode)"
:stroke-width="15" :stroke-width="15"
status="warning" status="warning"
:text-inside="true" :text-inside="true"
/> />
<el-progress <el-progress
v-if="scope.row.taskStatus=='zcwc'" v-if="scope.row.Progress==1"
:percentage="Number(scope.row.scheduleNode)" :percentage="Number(scope.row.scheduleNode)"
:stroke-width="15" :stroke-width="15"
status="success" status="success"
@ -166,9 +166,9 @@ function getList() {
loading.value = true; loading.value = true;
listPlan(queryParams.value).then((response) => { listPlan(queryParams.value).then((response) => {
let tmps = response.data || []; let tmps = response.data || [];
// tmps.forEach(tmp => { tmps.forEach(tmp => {
// tmp.Progress = compareDate(tmp.planFinishDate,tmp.finishDate); tmp.Progress = compareDate(tmp.planFinishDate,tmp.finishDate);
// }) })
let objs = buildTree(tmps, 0); let objs = buildTree(tmps, 0);
planList.value = objs; planList.value = objs;
loading.value = false; loading.value = false;