business/src/main/java/com/ycl/domain/entity/ProjectEngineering.java
@@ -3,9 +3,12 @@ import com.baomidou.mybatisplus.annotation.TableField; import com.baomidou.mybatisplus.annotation.TableName; import java.io.Serializable; import java.util.Date; import com.fasterxml.jackson.annotation.JsonFormat; import com.ycl.system.domain.base.AbsEntity; import com.ycl.system.domain.base.AbsUUIDEntity; import io.swagger.annotations.ApiModelProperty; import lombok.Data; /** @@ -40,5 +43,15 @@ /** 状态 */ private String status; @TableField("department") private Long department; @TableField("unit") private Long unit; @TableField("parent_id") private String parent; @TableField("year") private Date year; } business/src/main/java/com/ycl/domain/form/ProjectEngineeringForm.java
@@ -1,7 +1,9 @@ package com.ycl.domain.form; import com.fasterxml.jackson.annotation.JsonFormat; import com.ycl.common.group.Update; import com.ycl.common.group.Add; import com.ycl.common.utils.StringUtils; import com.ycl.system.domain.base.AbsForm; import com.ycl.domain.entity.ProjectEngineering; import com.ycl.system.domain.base.AbsUUIDForm; @@ -44,10 +46,26 @@ @ApiModelProperty("状态") private String status; @ApiModelProperty("主管部门") private Long department; @ApiModelProperty("业主单位") private Long unit; @ApiModelProperty("年份") @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss") private Date year; @ApiModelProperty("父工程") private String parent; public static ProjectEngineering getEntityByForm(@NonNull ProjectEngineeringForm form, ProjectEngineering entity) { if(entity == null) { entity = new ProjectEngineering(); } if (StringUtils.isEmpty(form.parent)){ form.setParent("0"); } BeanUtils.copyProperties(form, entity); return entity; } business/src/main/java/com/ycl/domain/vo/ProjectEngineeringVO.java
@@ -1,8 +1,11 @@ package com.ycl.domain.vo; import com.fasterxml.jackson.annotation.JsonFormat; import com.ycl.system.domain.base.AbsUUIDVo; import com.ycl.system.domain.base.AbsVo; import com.ycl.domain.entity.ProjectEngineering; import java.util.ArrayList; import java.util.List; import org.springframework.lang.NonNull; import org.springframework.beans.BeanUtils; @@ -44,6 +47,27 @@ @ApiModelProperty("状态") private String status; @ApiModelProperty("主管部门") private Long department; @ApiModelProperty("业主单位") private Long unit; @ApiModelProperty("年份") private Date year; @ApiModelProperty("父工程") private String parent; private String departmentName; private String unitName; @ApiModelProperty("工程列表") private List<ProjectEngineeringVO> children = new ArrayList<ProjectEngineeringVO>(); public static ProjectEngineeringVO getVoByEntity(@NonNull ProjectEngineering entity, ProjectEngineeringVO vo) { if(vo == null) { vo = new ProjectEngineeringVO(); business/src/main/java/com/ycl/service/impl/ProjectEngineeringServiceImpl.java
@@ -88,6 +88,7 @@ @Override public Result page(ProjectEngineeringQuery query) { IPage<ProjectEngineeringVO> page = PageUtil.getPage(query, ProjectEngineeringVO.class); baseMapper.getPage(page, query); return Result.ok().data(page.getRecords()).total(page.getTotal()); } business/src/main/resources/mapper/ProjectEngineeringMapper.xml
@@ -4,18 +4,42 @@ <!-- 通用查询映射结果 --> <resultMap id="BaseResultMap" type="com.ycl.domain.vo.ProjectEngineeringVO"> <id column="id" property="id"/> <result column="project_info_id" property="projectInfoId" /> <result column="projectInfoName" property="projectInfoName" /> <result column="project_name" property="projectName" /> <result column="project_type" property="projectType" /> <result column="investment_amount" property="investmentAmount" /> <result column="status" property="status" /> <result column="unit" property="unit" /> <result column="department" property="department" /> <result column="parent_id" property="parent" /> <result column="year" property="year" /> <result column="unit_name" property="unitName" /> <result column="department_name" property="departmentName" /> <collection property="children" ofType="com.ycl.domain.vo.ProjectEngineeringVO" select="getProjectEngineering" column="id"></collection> </resultMap> <select id="getProjectEngineering" parameterType="String" resultMap="com.ycl.mapper.ProjectEngineeringMapper.BaseResultMap"> SELECT TPE.project_info_id, TPE.project_name, TPE.project_type, TPE.investment_amount, TPE.status, TPE.id, TPE.unit, TPE.department, TPE.parent_id, TPE.year, (SELECT SD.dept_name FROM sys_dept SD WHERE SD.dept_id = TPE.unit) AS unit_name, (SELECT SD.dept_name FROM sys_dept SD WHERE SD.dept_id = TPE.department) AS department_name FROM t_project_engineering TPE INNER JOIN t_project_info TPI ON TPI.id = TPE.project_info_id AND TPI.deleted = 0 WHERE TPE.parent_id = #{id} and TPE.deleted = 0 ORDER BY TPE.gmt_create </select> <select id="getById" resultMap="BaseResultMap"> @@ -25,7 +49,11 @@ TPE.project_type, TPE.investment_amount, TPE.status, TPE.id TPE.id, TPE.unit, TPE.department, TPE.parent_id, TPE.year FROM t_project_engineering TPE WHERE @@ -36,17 +64,23 @@ <select id="getPage" resultMap="BaseResultMap"> SELECT TPE.project_info_id, TPE.project_name, TPE.project_type, TPE.investment_amount, TPE.status, TPE.id, TPI.project_name as projectInfoName TPE.unit, TPE.department, TPE.parent_id, TPE.year, TPI.project_name, (SELECT SD.dept_name FROM sys_dept SD WHERE SD.dept_id = TPE.unit) AS unit_name, (SELECT SD.dept_name FROM sys_dept SD WHERE SD.dept_id = TPE.department) AS department_name FROM t_project_engineering TPE INNER JOIN t_project_info TPI ON TPI.id = TPE.project_info_id AND TPI.deleted = 0 Left JOIN t_project_info TPI ON TPI.id = TPE.project_info_id AND TPI.deleted = 0 WHERE TPE.deleted = 0 TPE.deleted = 0 AND TPE.parent_id = '0' <if test="query.projectName != null and query.projectName != ''"> AND TPE.project_name LIKE concat('%', #{query.projectName}, '%') </if> @@ -59,6 +93,8 @@ <if test="query.projectType != null and query.projectType != ''"> AND TPE.project_type = #{query.projectType} </if> ORDER BY TPE.gmt_create DESC </select> </mapper> business/src/main/resources/mapper/ProjectProcessMapper.xml
@@ -65,7 +65,7 @@ </resultMap> <select id="getProjectEngineering" parameterType="long" resultMap="com.ycl.mapper.ProjectEngineeringMapper.BaseResultMap"> SELECT * FROM t_project_engineering WHERE project_info_id = #{id} and deleted = 0 ORDER BY gmt_create SELECT * FROM t_project_engineering WHERE project_info_id = #{id} and deleted = 0 AND parent_id = '0' ORDER BY gmt_create </select>