Commit 0fbfc35d authored by lisong's avatar lisong

修改项目管理列表查询

parent 72564851
......@@ -3,6 +3,7 @@ package com.yeejoin.amos.boot.module.ugp.api.dto;
import com.alibaba.fastjson.JSONArray;
import com.alibaba.fastjson.JSONObject;
import com.baomidou.mybatisplus.annotation.TableField;
import com.fasterxml.jackson.annotation.JsonFormat;
import com.yeejoin.amos.boot.module.ugp.api.entity.Company;
import com.yeejoin.amos.boot.module.ugp.api.entity.Project;
import com.yeejoin.amos.boot.module.ugp.api.entity.Weld;
......@@ -11,6 +12,8 @@ import io.swagger.annotations.ApiModelProperty;
import com.yeejoin.amos.boot.biz.common.dto.BaseDto;
import lombok.Data;
import lombok.EqualsAndHashCode;
import org.springframework.format.annotation.DateTimeFormat;
import java.util.Date;
import java.util.List;
......@@ -171,6 +174,7 @@ public class ProjectDto extends BaseDto {
private String insDep;
private String insPerson;
private String startDateString;
private String submitDateString;
private String companyType;
......@@ -210,4 +214,9 @@ public class ProjectDto extends BaseDto {
private String supervisionLicenseCode;
private String testingLicenseCode;
/**
* 项目进度
*/
private Double projectSchedule;
}
......@@ -59,4 +59,5 @@ public interface ProjectMapper extends BaseMapper<Project> {
String getContext(String instanceId,String taskName);
Double getProjectSchedule(@Param("projectId") Long projectId);
}
......@@ -48,6 +48,21 @@
<if test="project.constructionUnit != '' and project.constructionUnit != null">
and pt.construction_Unit like concat('%',#{project.constructionUnit},'%')
</if>
<if test="project.installRegionCode != '' and project.installRegionCode != null">
and pt.install_region_code like concat(#{project.installRegionCode},'%')
</if>
<if test="project.status != '' and project.status != null and project.status == 1">
and pt.status != '竣工流程结束!'
</if>
<if test="project.status != '' and project.status != null and project.status == 2">
and pt.status = '竣工流程结束!'
</if>
<if test="project.status != '' and project.status != null and project.status == 3">
and ( SELECT count(1) from tz_ugp_quality_problem tuq where tuq.project_id = pt.sequence_nbr and tuq.process_progress = '问题待处理') = 0
</if>
<if test="project.status != '' and project.status != null and project.status == 4">
and ( SELECT count(1) from tz_ugp_quality_problem tuq where tuq.project_id = pt.sequence_nbr and tuq.process_progress = '问题待处理') > 0
</if>
</where>
order by pt.rec_date desc
</select>
......@@ -287,5 +302,17 @@
<select id="getContext" resultType="java.lang.String">
SELECT log.context FROM tz_ugp_initiation_log log WHERE log.instance_id = #{instanceId} AND log.task_name = #{taskName} ORDER BY log.rec_date DESC LIMIT 1
</select>
<select id="getProjectSchedule" resultType="java.lang.Double">
SELECT CAST( ABS ( temp.finished / IF (( temp.LENGTH = 0 ),
1,
temp.length
)) * 100 AS DECIMAL(18,2) )AS abs
FROM
(
SELECT
( SELECT COUNT ( 1 ) FROM tz_ugp_weld tuw WHERE tuw.project_id = #{projectId} and tuw.status = 1 ) AS finished,
( SELECT LENGTH * 1000 FROM tz_ugp_project tup WHERE tup.sequence_nbr = #{projectId} ) AS length
) temp
</select>
</mapper>
package com.yeejoin.amos.boot.module.ugp.biz.controller;
import com.alibaba.fastjson.JSON;
import com.alibaba.fastjson.JSONArray;
import com.alibaba.fastjson.JSONObject;
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.mysql.cj.xdevapi.JsonString;
import com.yeejoin.amos.boot.biz.common.controller.BaseController;
import com.yeejoin.amos.boot.module.common.api.entity.OrgUsr;
import com.yeejoin.amos.boot.module.common.biz.utils.CommonResponseUtil;
import com.yeejoin.amos.boot.module.ugp.api.Enum.TabLogoEnum;
import com.yeejoin.amos.boot.module.ugp.api.constants.XJConstant;
import com.yeejoin.amos.boot.module.ugp.api.dto.FileDto;
import com.yeejoin.amos.boot.module.ugp.api.dto.InformationDto;
import com.yeejoin.amos.boot.module.ugp.api.dto.InstallNoticeDto;
import com.yeejoin.amos.boot.module.ugp.api.dto.ProjectDto;
import com.yeejoin.amos.boot.module.ugp.api.dto.*;
import com.yeejoin.amos.boot.module.ugp.api.entity.InstallNotice;
import com.yeejoin.amos.boot.module.ugp.api.entity.Project;
import com.yeejoin.amos.boot.module.ugp.api.mapper.CompanyMapper;
......
......@@ -9,6 +9,7 @@ import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.google.common.collect.Lists;
import com.yeejoin.amos.boot.biz.common.bo.ReginParams;
import com.yeejoin.amos.boot.biz.common.utils.DateUtils;
import com.yeejoin.amos.boot.module.common.api.entity.OrgUsr;
import com.yeejoin.amos.boot.module.ugp.api.Enum.OrgEnum;
import com.yeejoin.amos.boot.module.ugp.api.Enum.ProcessTypeEnum;
......@@ -39,6 +40,7 @@ import org.typroject.tyboot.core.foundation.utils.ValidationUtil;
import org.typroject.tyboot.core.rdbms.service.BaseService;
import java.math.BigDecimal;
import java.text.ParseException;
import java.text.SimpleDateFormat;
import java.util.*;
import java.util.concurrent.atomic.AtomicInteger;
......@@ -258,8 +260,8 @@ public class ProjectServiceImpl extends BaseService<ProjectDto, Project, Project
map = getInfo(regionName,regionCode,region.getParentId());
} else {
map.put("regionName",regionName);
map.put("regionCode",regionCode);
}
map.put("regionCode",regionCode);
return map;
}
......@@ -495,6 +497,10 @@ public class ProjectServiceImpl extends BaseService<ProjectDto, Project, Project
@BusinessIdentify
@Override
public IPage<ProjectDto> queryProjectPage(String current,String size, Project project) {
if (!ObjectUtils.isEmpty(project.getInstallRegionCode())){
Map<String, String> info = getInfo("", "", Long.parseLong(project.getInstallRegionCode()));
project.setInstallRegionCode(info.get("regionCode"));
}
IPage<ProjectDto> page = new Page<>();
page.setCurrent(Long.parseLong(current));
page.setSize(Long.parseLong(size));
......@@ -522,7 +528,20 @@ public class ProjectServiceImpl extends BaseService<ProjectDto, Project, Project
page = projectMapper.queryProjectPage(page, project, roleName,companyId,codes);
}
List<ProjectDto> projects = page.getRecords();
for(ProjectDto projectDto:projects){
for (ProjectDto projectDto : projects) {
SimpleDateFormat simpleDateFormat = new SimpleDateFormat("yyyy-MM-dd");
if (!ObjectUtils.isEmpty(projectDto.getStartDate())) {
String startDate = simpleDateFormat.format(projectDto.getStartDate());
projectDto.setStartDateString(startDate);
}
if (!ObjectUtils.isEmpty(projectDto.getSubmitDate())) {
String submitDate = simpleDateFormat.format(projectDto.getSubmitDate());
projectDto.setSubmitDateString(submitDate);
}
Double projectSchedule = projectMapper.getProjectSchedule(projectDto.getSequenceNbr());
if (!ObjectUtils.isEmpty(projectSchedule)){
projectDto.setProjectSchedule(projectSchedule);
}
getProjectState(projectDto);
}
List<ProjectDto> projectDtoList = getPage(projects);
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment