update code
parent
81bbfcf91b
commit
b9613287b6
|
@ -68,8 +68,8 @@ export default {
|
||||||
return {
|
return {
|
||||||
showPop: false,
|
showPop: false,
|
||||||
rules: {
|
rules: {
|
||||||
planStartDate: [{ required: true, trigger: "blur", message: "请选择日期" }],
|
//planStartDate: [{ required: true, trigger: "blur", message: "请选择日期" }],
|
||||||
planEndDate: [{ required: true, trigger: "blur", message: "请选择日期" }]
|
//planEndDate: [{ required: true, trigger: "blur", message: "请选择日期" }]
|
||||||
}
|
}
|
||||||
};
|
};
|
||||||
},
|
},
|
||||||
|
|
|
@ -0,0 +1,56 @@
|
||||||
|
package com.yanzhu.jh.bigscreen.web.controller;
|
||||||
|
|
||||||
|
import com.ruoyi.common.core.domain.AjaxResult;
|
||||||
|
import com.yanzhu.jh.project.domain.SurProjectBuildNodeData;
|
||||||
|
import com.yanzhu.jh.project.service.ISurProjectBuildNodeDataService;
|
||||||
|
import org.springframework.beans.factory.annotation.Autowired;
|
||||||
|
import org.springframework.web.bind.annotation.*;
|
||||||
|
|
||||||
|
import java.util.List;
|
||||||
|
|
||||||
|
@RestController
|
||||||
|
@RequestMapping("/bgscreen/projectBuildNode")
|
||||||
|
|
||||||
|
public class ProjectBuildNodeController {
|
||||||
|
|
||||||
|
@Autowired
|
||||||
|
ISurProjectBuildNodeDataService surProjectBuildNodeDataService;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 节点计划预警
|
||||||
|
* @param where
|
||||||
|
* @return
|
||||||
|
*/
|
||||||
|
@PostMapping("/selectScheduledAlerts")
|
||||||
|
public AjaxResult selectScheduledAlerts(@RequestBody SurProjectBuildNodeData where){
|
||||||
|
return AjaxResult.success(surProjectBuildNodeDataService.selectScheduledAlerts(where));
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 获取当前节点及叶子节点
|
||||||
|
* @param where
|
||||||
|
* @return
|
||||||
|
*/
|
||||||
|
@PostMapping("/selectCurrent")
|
||||||
|
public AjaxResult selectCurrent(@RequestBody SurProjectBuildNodeData where){
|
||||||
|
return AjaxResult.success(surProjectBuildNodeDataService.selectCurrent(where));
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 获取项目的计划节点
|
||||||
|
* @param projectId
|
||||||
|
* @return
|
||||||
|
*/
|
||||||
|
@GetMapping("/listByProject")
|
||||||
|
public AjaxResult listByProject(long projectId){
|
||||||
|
SurProjectBuildNodeData surProjectBuildNodeData=new SurProjectBuildNodeData();
|
||||||
|
surProjectBuildNodeData.setProjectId(projectId);
|
||||||
|
List list=surProjectBuildNodeDataService.selectSurProjectBuildNodeDataList(surProjectBuildNodeData);
|
||||||
|
if(list.size()>0){
|
||||||
|
return AjaxResult.success(list);
|
||||||
|
}
|
||||||
|
surProjectBuildNodeDataService.addProjectNodes(projectId);
|
||||||
|
list=surProjectBuildNodeDataService.selectSurProjectBuildNodeDataList(surProjectBuildNodeData);
|
||||||
|
return AjaxResult.success(list);
|
||||||
|
}
|
||||||
|
}
|
|
@ -30,6 +30,17 @@ public class BaseBuildNode extends BaseEntity
|
||||||
@Excel(name = "节点级别01,0101,0101")
|
@Excel(name = "节点级别01,0101,0101")
|
||||||
private String nodeLvl;
|
private String nodeLvl;
|
||||||
|
|
||||||
|
|
||||||
|
private int nodeType;
|
||||||
|
|
||||||
|
public int getNodeType() {
|
||||||
|
return nodeType;
|
||||||
|
}
|
||||||
|
|
||||||
|
public void setNodeType(int nodeType) {
|
||||||
|
this.nodeType = nodeType;
|
||||||
|
}
|
||||||
|
|
||||||
/** 是否删除 */
|
/** 是否删除 */
|
||||||
@Excel(name = "是否删除")
|
@Excel(name = "是否删除")
|
||||||
private Long isDel;
|
private Long isDel;
|
||||||
|
|
|
@ -59,4 +59,17 @@ public interface SurProjectBuildNodeDataMapper
|
||||||
*/
|
*/
|
||||||
public int deleteSurProjectBuildNodeDataByIds(Long[] ids);
|
public int deleteSurProjectBuildNodeDataByIds(Long[] ids);
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 节点计划预警
|
||||||
|
* @param where
|
||||||
|
* @return
|
||||||
|
*/
|
||||||
|
public List<SurProjectBuildNodeData> selectScheduledAlerts(SurProjectBuildNodeData where);
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 获取当前节点及叶子节点
|
||||||
|
* @param where
|
||||||
|
* @return
|
||||||
|
*/
|
||||||
|
public List<SurProjectBuildNodeData> selectCurrent(SurProjectBuildNodeData where);
|
||||||
}
|
}
|
||||||
|
|
|
@ -63,4 +63,18 @@ public interface ISurProjectBuildNodeDataService
|
||||||
public int addProjectNodes(long projectId);
|
public int addProjectNodes(long projectId);
|
||||||
|
|
||||||
public int importData(List<SurProjectBuildNodeDataExport> list);
|
public int importData(List<SurProjectBuildNodeDataExport> list);
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 节点计划预警
|
||||||
|
* @param where
|
||||||
|
* @return
|
||||||
|
*/
|
||||||
|
public List<SurProjectBuildNodeData> selectScheduledAlerts(SurProjectBuildNodeData where);
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 获取当前节点及叶子节点
|
||||||
|
* @param where
|
||||||
|
* @return
|
||||||
|
*/
|
||||||
|
public List<SurProjectBuildNodeData> selectCurrent(SurProjectBuildNodeData where);
|
||||||
}
|
}
|
||||||
|
|
|
@ -55,6 +55,7 @@ public class BaseBuildNodeServiceImpl implements IBaseBuildNodeService
|
||||||
{
|
{
|
||||||
baseBuildNode.setCreateBy(SecurityUtils.getUsername());
|
baseBuildNode.setCreateBy(SecurityUtils.getUsername());
|
||||||
baseBuildNode.setCreateTime(DateUtils.getNowDate());
|
baseBuildNode.setCreateTime(DateUtils.getNowDate());
|
||||||
|
baseBuildNode.setIsDel(0l);
|
||||||
return baseBuildNodeMapper.insertBaseBuildNode(baseBuildNode);
|
return baseBuildNodeMapper.insertBaseBuildNode(baseBuildNode);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -68,6 +68,7 @@ public class SurProjectBuildNodeDataServiceImpl implements ISurProjectBuildNodeD
|
||||||
if(!SecurityUtils.getAuthentication().getPrincipal().equals("anonymousUser")) {
|
if(!SecurityUtils.getAuthentication().getPrincipal().equals("anonymousUser")) {
|
||||||
surProjectBuildNodeData.setCreateBy(SecurityUtils.getUsername());
|
surProjectBuildNodeData.setCreateBy(SecurityUtils.getUsername());
|
||||||
}
|
}
|
||||||
|
surProjectBuildNodeData.setIsDel(0l);
|
||||||
surProjectBuildNodeData.setCreateTime(DateUtils.getNowDate());
|
surProjectBuildNodeData.setCreateTime(DateUtils.getNowDate());
|
||||||
return surProjectBuildNodeDataMapper.insertSurProjectBuildNodeData(surProjectBuildNodeData);
|
return surProjectBuildNodeDataMapper.insertSurProjectBuildNodeData(surProjectBuildNodeData);
|
||||||
}
|
}
|
||||||
|
@ -118,6 +119,7 @@ public class SurProjectBuildNodeDataServiceImpl implements ISurProjectBuildNodeD
|
||||||
SurProjectBuildNodeData item=new SurProjectBuildNodeData();
|
SurProjectBuildNodeData item=new SurProjectBuildNodeData();
|
||||||
item.setProjectId(projectId);
|
item.setProjectId(projectId);
|
||||||
item.setNodeId(it.getId());
|
item.setNodeId(it.getId());
|
||||||
|
item.setIsDel(0l);
|
||||||
n+=this.insertSurProjectBuildNodeData(item);
|
n+=this.insertSurProjectBuildNodeData(item);
|
||||||
}
|
}
|
||||||
return n;
|
return n;
|
||||||
|
@ -153,4 +155,24 @@ public class SurProjectBuildNodeDataServiceImpl implements ISurProjectBuildNodeD
|
||||||
}
|
}
|
||||||
return cnt;
|
return cnt;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 节点计划预警
|
||||||
|
* @param where
|
||||||
|
* @return
|
||||||
|
*/
|
||||||
|
@Override
|
||||||
|
public List<SurProjectBuildNodeData> selectScheduledAlerts(SurProjectBuildNodeData where) {
|
||||||
|
return surProjectBuildNodeDataMapper.selectScheduledAlerts(where);
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 获取当前节点及叶子节点
|
||||||
|
* @param where
|
||||||
|
* @return
|
||||||
|
*/
|
||||||
|
@Override
|
||||||
|
public List<SurProjectBuildNodeData> selectCurrent(SurProjectBuildNodeData where) {
|
||||||
|
return surProjectBuildNodeDataMapper.selectCurrent(where);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
|
@ -55,6 +55,7 @@ public class SurProjectCheckingServiceImpl implements ISurProjectCheckingService
|
||||||
{
|
{
|
||||||
surProjectChecking.setCreateBy(SecurityUtils.getUsername());
|
surProjectChecking.setCreateBy(SecurityUtils.getUsername());
|
||||||
surProjectChecking.setCreateTime(DateUtils.getNowDate());
|
surProjectChecking.setCreateTime(DateUtils.getNowDate());
|
||||||
|
surProjectChecking.setIsDel(0l);
|
||||||
return surProjectCheckingMapper.insertSurProjectChecking(surProjectChecking);
|
return surProjectCheckingMapper.insertSurProjectChecking(surProjectChecking);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -80,6 +80,7 @@ public class SurProjectDeptWroksServiceImpl implements ISurProjectDeptWroksServi
|
||||||
{
|
{
|
||||||
surProjectDeptWroks.setCreateBy(SecurityUtils.getUsername());
|
surProjectDeptWroks.setCreateBy(SecurityUtils.getUsername());
|
||||||
surProjectDeptWroks.setCreateTime(DateUtils.getNowDate());
|
surProjectDeptWroks.setCreateTime(DateUtils.getNowDate());
|
||||||
|
surProjectDeptWroks.setIsDel(0);
|
||||||
return surProjectDeptWroksMapper.insertSurProjectDeptWroks(surProjectDeptWroks);
|
return surProjectDeptWroksMapper.insertSurProjectDeptWroks(surProjectDeptWroks);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -86,6 +86,7 @@ public class SurProjectInsuranceServiceImpl implements ISurProjectInsuranceServi
|
||||||
surProjectInsurance.setCreateTime(DateUtils.getNowDate());
|
surProjectInsurance.setCreateTime(DateUtils.getNowDate());
|
||||||
surProjectInsurance.setInsuranceState(PublicStateEnum.YES.getCode());
|
surProjectInsurance.setInsuranceState(PublicStateEnum.YES.getCode());
|
||||||
surProjectInsurance.setIsDel(PublicStateEnum.OK.getCode());
|
surProjectInsurance.setIsDel(PublicStateEnum.OK.getCode());
|
||||||
|
surProjectInsurance.setIsDel("0");
|
||||||
int res = -1;
|
int res = -1;
|
||||||
//效验保险是否已办理
|
//效验保险是否已办理
|
||||||
int total = surProjectInsuranceMapper.findInsuranceByParams(surProjectInsurance);
|
int total = surProjectInsuranceMapper.findInsuranceByParams(surProjectInsurance);
|
||||||
|
|
|
@ -54,6 +54,7 @@ public class SurProjectInvestServiceImpl implements ISurProjectInvestService
|
||||||
public int insertSurProjectInvest(SurProjectInvest surProjectInvest)
|
public int insertSurProjectInvest(SurProjectInvest surProjectInvest)
|
||||||
{
|
{
|
||||||
surProjectInvest.setCreateTime(DateUtils.getNowDate());
|
surProjectInvest.setCreateTime(DateUtils.getNowDate());
|
||||||
|
surProjectInvest.setIsDel(0l);
|
||||||
return surProjectInvestMapper.insertSurProjectInvest(surProjectInvest);
|
return surProjectInvestMapper.insertSurProjectInvest(surProjectInvest);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -59,6 +59,7 @@ public class SurProjectScheduleServiceImpl implements ISurProjectScheduleService
|
||||||
public int insertSurProjectSchedule(SurProjectSchedule surProjectSchedule)
|
public int insertSurProjectSchedule(SurProjectSchedule surProjectSchedule)
|
||||||
{
|
{
|
||||||
surProjectSchedule.setCreateTime(DateUtils.getNowDate());
|
surProjectSchedule.setCreateTime(DateUtils.getNowDate());
|
||||||
|
surProjectSchedule.setIsDel(0l);
|
||||||
return surProjectScheduleMapper.insertSurProjectSchedule(surProjectSchedule);
|
return surProjectScheduleMapper.insertSurProjectSchedule(surProjectSchedule);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -55,6 +55,7 @@ public class SurProjectServiceImpl implements ISurProjectService
|
||||||
public int insertSurProject(SurProject surProject)
|
public int insertSurProject(SurProject surProject)
|
||||||
{
|
{
|
||||||
surProject.setCreateTime(DateUtils.getNowDate());
|
surProject.setCreateTime(DateUtils.getNowDate());
|
||||||
|
surProject.setIsDel(0l);
|
||||||
return surProjectMapper.insertSurProject(surProject);
|
return surProjectMapper.insertSurProject(surProject);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -9,6 +9,7 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
|
||||||
<result property="buildType" column="build_type" />
|
<result property="buildType" column="build_type" />
|
||||||
<result property="nodeText" column="node_text" />
|
<result property="nodeText" column="node_text" />
|
||||||
<result property="nodeLvl" column="node_lvl" />
|
<result property="nodeLvl" column="node_lvl" />
|
||||||
|
<result property="nodeType" column="node_type" />
|
||||||
<result property="remark" column="remark" />
|
<result property="remark" column="remark" />
|
||||||
<result property="isDel" column="is_del" />
|
<result property="isDel" column="is_del" />
|
||||||
<result property="createBy" column="create_by" />
|
<result property="createBy" column="create_by" />
|
||||||
|
@ -27,6 +28,7 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
|
||||||
<if test="buildType != null "> and build_type = #{buildType}</if>
|
<if test="buildType != null "> and build_type = #{buildType}</if>
|
||||||
<if test="nodeText != null and nodeText != ''"> and node_text = #{nodeText}</if>
|
<if test="nodeText != null and nodeText != ''"> and node_text = #{nodeText}</if>
|
||||||
<if test="nodeLvl != null and nodeLvl != ''"> and node_lvl = #{nodeLvl}</if>
|
<if test="nodeLvl != null and nodeLvl != ''"> and node_lvl = #{nodeLvl}</if>
|
||||||
|
<if test="nodeType != null "> and node_lvl = #{nodeType}</if>
|
||||||
<if test="isDel != null "> and is_del = #{isDel}</if>
|
<if test="isDel != null "> and is_del = #{isDel}</if>
|
||||||
</where>
|
</where>
|
||||||
</select>
|
</select>
|
||||||
|
@ -42,6 +44,7 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
|
||||||
<if test="buildType != null">build_type,</if>
|
<if test="buildType != null">build_type,</if>
|
||||||
<if test="nodeText != null">node_text,</if>
|
<if test="nodeText != null">node_text,</if>
|
||||||
<if test="nodeLvl != null">node_lvl,</if>
|
<if test="nodeLvl != null">node_lvl,</if>
|
||||||
|
<if test="nodeType != null">node_type,</if>
|
||||||
<if test="remark != null">remark,</if>
|
<if test="remark != null">remark,</if>
|
||||||
<if test="isDel != null">is_del,</if>
|
<if test="isDel != null">is_del,</if>
|
||||||
<if test="createBy != null">create_by,</if>
|
<if test="createBy != null">create_by,</if>
|
||||||
|
@ -53,6 +56,7 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
|
||||||
<if test="buildType != null">#{buildType},</if>
|
<if test="buildType != null">#{buildType},</if>
|
||||||
<if test="nodeText != null">#{nodeText},</if>
|
<if test="nodeText != null">#{nodeText},</if>
|
||||||
<if test="nodeLvl != null">#{nodeLvl},</if>
|
<if test="nodeLvl != null">#{nodeLvl},</if>
|
||||||
|
<if test="nodeType != null">#{nodeType},</if>
|
||||||
<if test="remark != null">#{remark},</if>
|
<if test="remark != null">#{remark},</if>
|
||||||
<if test="isDel != null">#{isDel},</if>
|
<if test="isDel != null">#{isDel},</if>
|
||||||
<if test="createBy != null">#{createBy},</if>
|
<if test="createBy != null">#{createBy},</if>
|
||||||
|
@ -68,6 +72,7 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
|
||||||
<if test="buildType != null">build_type = #{buildType},</if>
|
<if test="buildType != null">build_type = #{buildType},</if>
|
||||||
<if test="nodeText != null">node_text = #{nodeText},</if>
|
<if test="nodeText != null">node_text = #{nodeText},</if>
|
||||||
<if test="nodeLvl != null">node_lvl = #{nodeLvl},</if>
|
<if test="nodeLvl != null">node_lvl = #{nodeLvl},</if>
|
||||||
|
<if test="nodeType != null">node_type = #{nodeType},</if>
|
||||||
<if test="remark != null">remark = #{remark},</if>
|
<if test="remark != null">remark = #{remark},</if>
|
||||||
<if test="isDel != null">is_del = #{isDel},</if>
|
<if test="isDel != null">is_del = #{isDel},</if>
|
||||||
<if test="createBy != null">create_by = #{createBy},</if>
|
<if test="createBy != null">create_by = #{createBy},</if>
|
||||||
|
|
|
@ -41,6 +41,7 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
|
||||||
<result property="id" column="node_id" />
|
<result property="id" column="node_id" />
|
||||||
<result property="nodeText" column="node_text" />
|
<result property="nodeText" column="node_text" />
|
||||||
<result property="nodeLvl" column="node_lvl" />
|
<result property="nodeLvl" column="node_lvl" />
|
||||||
|
<result property="nodeType" column="node_type" />
|
||||||
</association>
|
</association>
|
||||||
<association property="project" javaType="SurProject">
|
<association property="project" javaType="SurProject">
|
||||||
<result property="id" column="project_id" />
|
<result property="id" column="project_id" />
|
||||||
|
@ -52,10 +53,7 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
|
||||||
select id, node_id, project_id, start_date, plan_start_date, end_date, plan_end_date, status, remark, files, is_del, create_by, create_time, update_by, update_time from sur_project_build_node_data
|
select id, node_id, project_id, start_date, plan_start_date, end_date, plan_end_date, status, remark, files, is_del, create_by, create_time, update_by, update_time from sur_project_build_node_data
|
||||||
</sql>
|
</sql>
|
||||||
<sql id="selectSurProjectBuildNodeDataVoByNode">
|
<sql id="selectSurProjectBuildNodeDataVoByNode">
|
||||||
SELECT * FROM (
|
SELECT * FROM vw_sur_project_build_node_data_all
|
||||||
SELECT a.id, node_id, project_id,p.projectName,start_date, end_date,plan_start_date,plan_end_date, STATUS, a.remark, files, a.is_del, a.create_by, a.create_time, a.update_by, a.update_time ,node_text,node_lvl
|
|
||||||
FROM sur_project_build_node_data a,base_build_node b,sur_project p WHERE a.node_id=b.id AND a.project_id=p.id
|
|
||||||
) sur_project_build_node_data
|
|
||||||
</sql>
|
</sql>
|
||||||
<select id="selectSurProjectBuildNodeDataList" parameterType="SurProjectBuildNodeData" resultMap="SurProjectBuildNodeDataResultNode">
|
<select id="selectSurProjectBuildNodeDataList" parameterType="SurProjectBuildNodeData" resultMap="SurProjectBuildNodeDataResultNode">
|
||||||
<include refid="selectSurProjectBuildNodeDataVoByNode"/>
|
<include refid="selectSurProjectBuildNodeDataVoByNode"/>
|
||||||
|
@ -118,10 +116,10 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
|
||||||
<trim prefix="SET" suffixOverrides=",">
|
<trim prefix="SET" suffixOverrides=",">
|
||||||
<if test="nodeId != null">node_id = #{nodeId},</if>
|
<if test="nodeId != null">node_id = #{nodeId},</if>
|
||||||
<if test="projectId != null">project_id = #{projectId},</if>
|
<if test="projectId != null">project_id = #{projectId},</if>
|
||||||
<if test="startDate != null">start_date = #{startDate},</if>
|
start_date = #{startDate},
|
||||||
<if test="planStartDate != null">plan_start_date = #{planStartDate},</if>
|
plan_start_date = #{planStartDate},
|
||||||
<if test="endDate != null">end_date = #{endDate},</if>
|
end_date = #{endDate},
|
||||||
<if test="planEndDate != null">plan_end_date = #{planEndDate},</if>
|
plan_end_date = #{planEndDate},
|
||||||
<if test="status != null">status = #{status},</if>
|
<if test="status != null">status = #{status},</if>
|
||||||
<if test="remark != null">remark = #{remark},</if>
|
<if test="remark != null">remark = #{remark},</if>
|
||||||
<if test="files != null">files = #{files},</if>
|
<if test="files != null">files = #{files},</if>
|
||||||
|
@ -145,4 +143,22 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
|
||||||
</foreach>
|
</foreach>
|
||||||
</delete>
|
</delete>
|
||||||
|
|
||||||
|
<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
|
||||||
|
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)
|
||||||
|
</select>
|
||||||
|
|
||||||
|
<select id="selectCurrent" parameterType="SurProjectBuildNodeData" resultMap="SurProjectBuildNodeDataResultNode">
|
||||||
|
|
||||||
|
SELECT a.* 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>
|
||||||
|
GROUP BY project_id)) b WHERE a.project_id=b.project_id AND LEFT(a.node_lvl,2)=b.node_lvl
|
||||||
|
</select>
|
||||||
</mapper>
|
</mapper>
|
Loading…
Reference in New Issue