|
@@ -90,48 +90,77 @@ public class ThTbServiceImpl implements ThTbService {
|
|
JSONObject parentTaskTfs=tbApiService.getProjectStateId(projectId,"","",parentTask.getString("tfsId")).getJSONObject(0);
|
|
JSONObject parentTaskTfs=tbApiService.getProjectStateId(projectId,"","",parentTask.getString("tfsId")).getJSONObject(0);
|
|
String parentTaskTfsName=parentTaskTfs.getString("name");
|
|
String parentTaskTfsName=parentTaskTfs.getString("name");
|
|
String newTfsName;
|
|
String newTfsName;
|
|
- // 循环获取其他同级任务状态,判断是否有更高级别的任务状态
|
|
|
|
- // 同级红灯状态ID
|
|
|
|
- JSONObject redTfs=tbApiService.getProjectStateId(projectId,"红灯",tfid,"").getJSONObject(0);
|
|
|
|
- String redId=redTfs.getString("id");
|
|
|
|
- // 同级黄状态ID
|
|
|
|
- JSONObject yellowTfs=tbApiService.getProjectStateId(projectId,"黄灯",tfid,"").getJSONObject(0);
|
|
|
|
- String yellowId=yellowTfs.getString("id");
|
|
|
|
- // 指标任务状态
|
|
|
|
- String redZbId,yellowZbId;
|
|
|
|
-
|
|
|
|
- JSONObject zbtf=tbApiService.getProjectTfid(projectId,"年度指标工作流").getJSONObject(0);
|
|
|
|
- if(tfid.equals(zbtf.getString("id"))){
|
|
|
|
- redZbId=redId;
|
|
|
|
- yellowZbId=yellowId;
|
|
|
|
|
|
+ // 判断状态
|
|
|
|
+ JSONObject taskTfs=tbApiService.getProjectStateId(projectId,"",tfid,task.getString("tfsId")).getJSONObject(0);
|
|
|
|
+ String taskTfsName=taskTfs.getString("name");
|
|
|
|
+ if(taskTfsName.equals("年度目标未达成")){
|
|
|
|
+ newTfsName="年度目标未达成";
|
|
|
|
+ }else if(taskTfsName.equals("年度目标达成")){
|
|
|
|
+ JSONObject notTfs=tbApiService.getProjectStateId(projectId,"年度目标未达成",tfid,"").getJSONObject(0);
|
|
|
|
+ String notId=notTfs.getString("id");
|
|
|
|
+ String notZbID;
|
|
|
|
+ JSONObject zbtf=tbApiService.getProjectTfid(projectId,"年度指标工作流").getJSONObject(0);
|
|
|
|
+ if(tfid.equals(zbtf.getString("id"))){
|
|
|
|
+ notZbID=notId;
|
|
|
|
+ }else{
|
|
|
|
+ JSONObject redZbTfs=tbApiService.getProjectStateId(projectId,"年度目标未达成",zbtf.getString("id"),"").getJSONObject(0);
|
|
|
|
+ notZbID=redZbTfs.getString("id");
|
|
|
|
+ }
|
|
|
|
+ JSONArray array=tbApiService.getTasksByParent(parentTaskId);
|
|
|
|
+ newTfsName="年度目标达成";
|
|
|
|
+ int notNum=0;
|
|
|
|
+ for (int i = 0; i < array.size(); i++) {
|
|
|
|
+ JSONObject taskT=array.getJSONObject(i);
|
|
|
|
+ if(notId.equals(taskT.getString("tfsId"))||notZbID.equals(taskT.getString("tfsId"))){
|
|
|
|
+ notNum++;
|
|
|
|
+ }
|
|
|
|
+ }
|
|
|
|
+ if(notNum>=1){
|
|
|
|
+ newTfsName="年度目标未达成";
|
|
|
|
+ }
|
|
}else{
|
|
}else{
|
|
- JSONObject redZbTfs=tbApiService.getProjectStateId(projectId,"红灯",zbtf.getString("id"),"").getJSONObject(0);
|
|
|
|
- redZbId=redZbTfs.getString("id");
|
|
|
|
|
|
+ // 红绿灯
|
|
|
|
+ // 循环获取其他同级任务状态,判断是否有更高级别的任务状态
|
|
|
|
+ // 同级红灯状态ID
|
|
|
|
+ JSONObject redTfs=tbApiService.getProjectStateId(projectId,"红灯",tfid,"").getJSONObject(0);
|
|
|
|
+ String redId=redTfs.getString("id");
|
|
// 同级黄状态ID
|
|
// 同级黄状态ID
|
|
- JSONObject yellowZbTfs=tbApiService.getProjectStateId(projectId,"黄灯",zbtf.getString("id"),"").getJSONObject(0);
|
|
|
|
- yellowZbId=yellowZbTfs.getString("id");
|
|
|
|
- }
|
|
|
|
|
|
+ JSONObject yellowTfs=tbApiService.getProjectStateId(projectId,"黄灯",tfid,"").getJSONObject(0);
|
|
|
|
+ String yellowId=yellowTfs.getString("id");
|
|
|
|
+ // 指标任务状态
|
|
|
|
+ String redZbId,yellowZbId;
|
|
|
|
|
|
- JSONArray array=tbApiService.getTasksByParent(parentTaskId);
|
|
|
|
- String color="绿灯";
|
|
|
|
- int redNum=0,yellowNum=0;
|
|
|
|
- for (int i = 0; i < array.size(); i++) {
|
|
|
|
- JSONObject taskT=array.getJSONObject(i);
|
|
|
|
- if(redId.equals(taskT.getString("tfsId"))||redZbId.equals(taskT.getString("tfsId"))){
|
|
|
|
- redNum++;
|
|
|
|
- }else if(yellowId.equals(taskT.getString("tfsId"))||yellowZbId.equals(taskT.getString("tfsId"))){
|
|
|
|
- yellowNum++;
|
|
|
|
|
|
+ JSONObject zbtf=tbApiService.getProjectTfid(projectId,"年度指标工作流").getJSONObject(0);
|
|
|
|
+ if(tfid.equals(zbtf.getString("id"))){
|
|
|
|
+ redZbId=redId;
|
|
|
|
+ yellowZbId=yellowId;
|
|
|
|
+ }else{
|
|
|
|
+ JSONObject redZbTfs=tbApiService.getProjectStateId(projectId,"红灯",zbtf.getString("id"),"").getJSONObject(0);
|
|
|
|
+ redZbId=redZbTfs.getString("id");
|
|
|
|
+ // 同级黄状态ID
|
|
|
|
+ JSONObject yellowZbTfs=tbApiService.getProjectStateId(projectId,"黄灯",zbtf.getString("id"),"").getJSONObject(0);
|
|
|
|
+ yellowZbId=yellowZbTfs.getString("id");
|
|
|
|
+ }
|
|
|
|
+ JSONArray array=tbApiService.getTasksByParent(parentTaskId);
|
|
|
|
+ newTfsName="绿灯";
|
|
|
|
+ int redNum=0,yellowNum=0;
|
|
|
|
+ for (int i = 0; i < array.size(); i++) {
|
|
|
|
+ JSONObject taskT=array.getJSONObject(i);
|
|
|
|
+ if(redId.equals(taskT.getString("tfsId"))||redZbId.equals(taskT.getString("tfsId"))){
|
|
|
|
+ redNum++;
|
|
|
|
+ }else if(yellowId.equals(taskT.getString("tfsId"))||yellowZbId.equals(taskT.getString("tfsId"))){
|
|
|
|
+ yellowNum++;
|
|
|
|
+ }
|
|
|
|
+ }
|
|
|
|
+ if(yellowNum>=1){
|
|
|
|
+ newTfsName="黄灯";
|
|
|
|
+ }
|
|
|
|
+ if(redNum>=1){
|
|
|
|
+ newTfsName="红灯";
|
|
}
|
|
}
|
|
}
|
|
}
|
|
- if(yellowNum>=1){
|
|
|
|
- color="黄灯";
|
|
|
|
- }
|
|
|
|
- if(redNum>=1){
|
|
|
|
- color="红灯";
|
|
|
|
- }
|
|
|
|
- if(!color.equals(parentTaskTfsName)){
|
|
|
|
- newTfsName=color;
|
|
|
|
- }else{
|
|
|
|
|
|
+
|
|
|
|
+ if(newTfsName.equals(parentTaskTfsName)){
|
|
return;
|
|
return;
|
|
}
|
|
}
|
|
// 任务类型判断
|
|
// 任务类型判断
|
|
@@ -355,6 +384,7 @@ public class ThTbServiceImpl implements ThTbService {
|
|
}
|
|
}
|
|
}
|
|
}
|
|
|
|
|
|
|
|
+ // 变更任务创建
|
|
public void creatChangeTask(JSONObject task,String name){
|
|
public void creatChangeTask(JSONObject task,String name){
|
|
String projectId=task.getString("projectId");// 项目ID
|
|
String projectId=task.getString("projectId");// 项目ID
|
|
// 查询项目自定义字段
|
|
// 查询项目自定义字段
|
|
@@ -377,10 +407,9 @@ public class ThTbServiceImpl implements ThTbService {
|
|
if(name.contains("二级变更流程")){
|
|
if(name.contains("二级变更流程")){
|
|
custName="上级任务责任人";
|
|
custName="上级任务责任人";
|
|
}else if(name.contains("三级变更流程")){
|
|
}else if(name.contains("三级变更流程")){
|
|
- linkTask=tbApiService.getTasksInfo(linkTask.getString("id")).getJSONObject(0);
|
|
|
|
|
|
+ linkTask=tbApiService.getTasksInfo(linkTask.getString("parentTaskId")).getJSONObject(0);
|
|
custName="一级任务知晓人";
|
|
custName="一级任务知晓人";
|
|
}else if(name.contains("年度指标变更")){
|
|
}else if(name.contains("年度指标变更")){
|
|
-// linkTask=tbApiService.getTasksInfo(linkTask.getString("id")).getJSONObject(0);
|
|
|
|
custName="二级任务责任人";
|
|
custName="二级任务责任人";
|
|
}else{
|
|
}else{
|
|
log.info("非期望任务类型 不处理");
|
|
log.info("非期望任务类型 不处理");
|