update code
parent
b9613287b6
commit
da1f438d89
|
@ -26,6 +26,15 @@ public class ProjectBuildNodeController {
|
|||
return AjaxResult.success(surProjectBuildNodeDataService.selectScheduledAlerts(where));
|
||||
}
|
||||
|
||||
/**
|
||||
* 节点完成率统计-进度管理
|
||||
* @param where
|
||||
* @return
|
||||
*/
|
||||
@PostMapping("/countCompletionRate")
|
||||
public AjaxResult countCompletionRate(@RequestBody SurProjectBuildNodeData where){
|
||||
return AjaxResult.success(surProjectBuildNodeDataService.countCompletionRate(where));
|
||||
}
|
||||
/**
|
||||
* 获取当前节点及叶子节点
|
||||
* @param where
|
||||
|
|
|
@ -72,4 +72,6 @@ public interface SurProjectBuildNodeDataMapper
|
|||
* @return
|
||||
*/
|
||||
public List<SurProjectBuildNodeData> selectCurrent(SurProjectBuildNodeData where);
|
||||
|
||||
public List<SurProjectBuildNodeData> countCompletionRate(SurProjectBuildNodeData where);
|
||||
}
|
||||
|
|
|
@ -77,4 +77,6 @@ public interface ISurProjectBuildNodeDataService
|
|||
* @return
|
||||
*/
|
||||
public List<SurProjectBuildNodeData> selectCurrent(SurProjectBuildNodeData where);
|
||||
|
||||
public List<SurProjectBuildNodeData> countCompletionRate(SurProjectBuildNodeData where);
|
||||
}
|
||||
|
|
|
@ -175,4 +175,9 @@ public class SurProjectBuildNodeDataServiceImpl implements ISurProjectBuildNodeD
|
|||
public List<SurProjectBuildNodeData> selectCurrent(SurProjectBuildNodeData where) {
|
||||
return surProjectBuildNodeDataMapper.selectCurrent(where);
|
||||
}
|
||||
|
||||
@Override
|
||||
public List<SurProjectBuildNodeData> countCompletionRate(SurProjectBuildNodeData where) {
|
||||
return surProjectBuildNodeDataMapper.countCompletionRate(where);
|
||||
}
|
||||
}
|
||||
|
|
|
@ -145,7 +145,7 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
|
|||
|
||||
<select id="selectScheduledAlerts" parameterType="SurProjectBuildNodeData" resultMap="SurProjectBuildNodeDataResultNode">
|
||||
SELECT * FROM vw_sur_project_build_node_data_current WHERE id IN (
|
||||
SELECT MIN(id) FROM vw_sur_project_build_node_data_current
|
||||
SELECT MAX(id) FROM vw_sur_project_build_node_data_current
|
||||
WHERE LENGTH(node_lvl)=2
|
||||
<if test="projectId !=null and projectId !=0">and project_id=#{projectId}</if>
|
||||
<if test="id!=null and id!=0">and project_id in (SELECT id FROM sur_project WHERE deptid=#{id})</if>
|
||||
|
@ -161,4 +161,35 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
|
|||
<if test="projectId !=null and projectId !=0">and project_id=#{projectId}</if>
|
||||
GROUP BY project_id)) b WHERE a.project_id=b.project_id AND LEFT(a.node_lvl,2)=b.node_lvl
|
||||
</select>
|
||||
<select id="countCompletionRate" parameterType="SurProjectBuildNodeData" resultMap="SurProjectBuildNodeDataResultNode">
|
||||
SELECT IF(b.cnt,b.cnt,0) id ,IF(c.cnt,c.cnt,0) node_id,a.project_id,a.projectName,a.node_text,a.node_lvl FROM (
|
||||
SELECT * FROM vw_sur_project_build_node_data_current WHERE id IN (
|
||||
SELECT MAX(id) FROM vw_sur_project_build_node_data_current
|
||||
WHERE LENGTH(node_lvl)=2
|
||||
<if test="projectId !=null and projectId !=0">and project_id=#{projectId}</if>
|
||||
<if test="id!=null and id!=0">and project_id in (SELECT id FROM sur_project WHERE deptid=#{id})</if>
|
||||
GROUP BY project_id)) a LEFT JOIN (
|
||||
|
||||
|
||||
|
||||
SELECT a.project_id,COUNT(1) cnt FROM vw_sur_project_build_node_data_current a,
|
||||
(SELECT * FROM vw_sur_project_build_node_data_current WHERE id IN (
|
||||
SELECT MAX(id) FROM vw_sur_project_build_node_data_current
|
||||
WHERE LENGTH(node_lvl)=2
|
||||
<if test="projectId !=null and projectId !=0">and project_id=#{projectId}</if>
|
||||
<if test="id!=null and id!=0">and project_id in (SELECT id FROM sur_project WHERE deptid=#{id})</if>
|
||||
GROUP BY project_id)) b WHERE a.project_id=b.project_id AND LEFT(a.node_lvl,2)=b.node_lvl AND LENGTH(a.node_lvl)>2
|
||||
GROUP BY a.project_id) b ON a.project_id =b.project_id
|
||||
|
||||
LEFT JOIN(
|
||||
SELECT a.project_id,COUNT(1) cnt FROM vw_sur_project_build_node_data_current a,
|
||||
(SELECT * FROM vw_sur_project_build_node_data_current WHERE id IN (
|
||||
SELECT MAX(id) FROM vw_sur_project_build_node_data_current
|
||||
WHERE LENGTH(node_lvl)=2
|
||||
<if test="projectId !=null and projectId !=0">and project_id=#{projectId}</if>
|
||||
<if test="id!=null and id!=0">and project_id in (SELECT id FROM sur_project WHERE deptid=#{id})</if>
|
||||
GROUP BY project_id)) b WHERE a.project_id=b.project_id AND LEFT(a.node_lvl,2)=b.node_lvl AND LENGTH(a.node_lvl)>2 AND a.end_date IS NOT NULL
|
||||
GROUP BY a.project_id
|
||||
) c ON a.project_id=c.project_id
|
||||
</select>
|
||||
</mapper>
|
Loading…
Reference in New Issue