Commit b1b1a13e authored by 曹盼盼's avatar 曹盼盼

项目质量监检信息列表

parent 9f850099
package com.yeejoin.amos.boot.module.ugp.api.dto;
import com.yeejoin.amos.boot.biz.common.dto.BaseDto;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import java.util.Date;
/**
* @Author cpp
* @Description
* @Date 2022/10/10
*/
@Data
public class PercentOfPassDto extends BaseDto {
@ApiModelProperty(value = "项目id")
private Long projectId;
@ApiModelProperty(value = "合格率")
private String percentOfPass;
@ApiModelProperty(value = "监理单位")
private String currentUnit;
@ApiModelProperty(value = "项目名称")
private String name;
@ApiModelProperty(value = "项目地点")
private String address;
@ApiModelProperty(value = "项目进度")
private String progressStatus;
@ApiModelProperty(value = "建设单位名称")
private String constructionUnit;
@ApiModelProperty(value = "建设单位负责人名称")
private String chargePerson;
@ApiModelProperty(value = "项目开工日期")
private Date startDate;
@ApiModelProperty(value = "项目提交日期")
private Date submitDate;
@ApiModelProperty(value = "刷新")
private String refresh;
}
package com.yeejoin.amos.boot.module.ugp.api.mapper;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.yeejoin.amos.boot.module.ugp.api.dto.PercentOfPassDto;
import com.yeejoin.amos.boot.module.ugp.api.entity.QualityInfo;
import java.util.List;
public interface IInstallationQualityMapper extends BaseMapper<QualityInfo> {
List<QualityInfo> findss();
}
package com.yeejoin.amos.boot.module.ugp.api.service;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.yeejoin.amos.boot.module.ugp.api.dto.PercentOfPassDto;
import com.yeejoin.amos.boot.module.ugp.api.entity.Weld;
import java.util.List;
public interface IInstallationQualityService {
Page<PercentOfPassDto> find(Page<PercentOfPassDto> page,PercentOfPassDto percentOfPassDto);
}
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<mapper namespace="com.yeejoin.amos.boot.module.ugp.api.mapper.IInstallationQualityMapper">
<resultMap id="result" type="com.yeejoin.amos.boot.module.ugp.api.entity.QualityInfo">
<result property="projectId" column="project_id" jdbcType="INTEGER"/>
<result property="supervisoryUnitId" column="supervisory_unit_id" jdbcType="INTEGER"/>
<association property="project" javaType="com.yeejoin.amos.boot.module.ugp.api.entity.Project" >
<!--@Table tz_ugp_project-->
<result property="name" column="name" jdbcType="VARCHAR"/>
<result property="progressStatus" column="progress_status" jdbcType="VARCHAR"/>
<result property="address" column="address" jdbcType="VARCHAR"/>
<result property="startDate" column="start_date" jdbcType="OTHER"/>
<result property="constructionUnit" column="construction_unit" jdbcType="VARCHAR"/>
<result property="chargePerson" column="charge_person" jdbcType="VARCHAR"/>
<result property="submitDate" column="submit_date" jdbcType="OTHER"/>
</association>
</resultMap>
<select id="findss" resultMap="result">
select
pt.name ,
pt.address ,
pt.progress_status ,
qy.supervisory_unit_id ,
qy.project_id,
pt.construction_unit ,
pt.charge_person ,
pt.start_date ,
pt.submit_date
from
tz_ugp_quality_info qy ,
tz_ugp_project pt
where
qy.project_id=pt.sequence_nbr
and
qy.is_delete =0
and
pt.is_delete=0
</select>
</mapper>
\ No newline at end of file
package com.yeejoin.amos.boot.module.ugp.biz.controller;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.yeejoin.amos.boot.module.ugp.api.dto.InstallNoticeDto;
import com.yeejoin.amos.boot.module.ugp.api.dto.InstallNoticePageDto;
import com.yeejoin.amos.boot.module.ugp.api.dto.PercentOfPassDto;
import com.yeejoin.amos.boot.module.ugp.api.dto.WeldDto;
import com.yeejoin.amos.boot.module.ugp.api.entity.Weld;
import com.yeejoin.amos.boot.module.ugp.api.service.IInstallationQualityService;
import com.yeejoin.amos.boot.module.ugp.biz.service.impl.InstallationQualityImpl;
import com.yeejoin.amos.boot.module.ugp.biz.service.impl.WeldServiceImpl;
import org.springframework.web.bind.annotation.RequestMapping;
import io.swagger.annotations.ApiOperation;
import io.swagger.annotations.Api;
import org.springframework.web.bind.annotation.RestController;
import com.yeejoin.amos.boot.biz.common.controller.BaseController;
import org.typroject.tyboot.core.restful.utils.ResponseHelper;
import org.typroject.tyboot.core.restful.utils.ResponseModel;
import org.springframework.web.bind.annotation.*;
import org.typroject.tyboot.core.restful.doc.TycloudOperation;
import org.typroject.tyboot.core.foundation.enumeration.UserType;
import javax.annotation.Resource;
import java.util.List;
/**
* 质量问题闭环管理-安装质量监检信息-质量监检信息
*
* @author system_generator
* @date 2022-10-09
*/
@RestController
@Api(tags = "质量问题闭环管理-安装质量监检信息-质量监检信息Api")
@RequestMapping(value = "/install-quality")
public class InstallationQualityController extends BaseController {
@Resource
private InstallationQualityImpl services;
@Resource
private WeldServiceImpl weld;
//查看质量监检信息
@TycloudOperation(ApiLevel = UserType.AGENCY, needAuth = false)
@GetMapping(value = "/find")
@ApiOperation(httpMethod = "GET", value = "质量问题闭环管理-安装质量监检信息-质量监检信息", notes = "质量问题闭环管理-安装质量监检信息-质量监检信息")
public ResponseModel<Page<PercentOfPassDto>> find(@RequestParam(value = "current") int current, @RequestParam
(value = "size") int size,PercentOfPassDto percentOfPassDto) {
Page<PercentOfPassDto> page = new Page<>();
page.setCurrent(current);
page.setSize(size);
return ResponseHelper.buildResponse(services.find(page,percentOfPassDto));
}
//通过projectId查询焊口信息
@TycloudOperation(ApiLevel = UserType.AGENCY, needAuth = false)
@GetMapping(value = "/selectByProjectId/{projectId}")
@ApiOperation(httpMethod = "get", value = "焊口信息", notes = "焊口信息")
public ResponseModel<List<WeldDto>> selectByProjectId(@PathVariable("projectId") Long projectId) {
if (projectId == null) {
return null;
}
return ResponseHelper.buildResponse(weld.getProjectId (projectId));
}
}
package com.yeejoin.amos.boot.module.ugp.biz.service.impl;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.yeejoin.amos.boot.module.common.api.dto.OrgUsrFormDto;
import com.yeejoin.amos.boot.module.common.biz.service.impl.OrgUsrServiceImpl;
import com.yeejoin.amos.boot.module.ugp.api.dto.PercentOfPassDto;
import com.yeejoin.amos.boot.module.ugp.api.dto.WeldDto;
import com.yeejoin.amos.boot.module.ugp.api.entity.QualityInfo;
import com.yeejoin.amos.boot.module.ugp.api.entity.Weld;
import com.yeejoin.amos.boot.module.ugp.api.mapper.IInstallationQualityMapper;
import com.yeejoin.amos.boot.module.ugp.api.service.IInstallationQualityService;
import jdk.nashorn.internal.runtime.logging.Logger;
import lombok.extern.log4j.Log4j;
import lombok.extern.slf4j.Slf4j;
import org.springframework.stereotype.Service;
import org.springframework.util.StringUtils;
import org.typroject.tyboot.core.rdbms.service.BaseService;
import javax.annotation.Resource;
import java.math.BigDecimal;
import java.util.ArrayList;
import java.util.List;
import java.util.stream.Collectors;
/**
* @Author cpp
* @Description
* @Date 2022/10/10
*/
@Service
public class InstallationQualityImpl extends BaseService<PercentOfPassDto, QualityInfo, IInstallationQualityMapper> implements IInstallationQualityService {
@Resource
private IInstallationQualityMapper mapper;
@Resource
private WeldServiceImpl weldService;
@Resource
private OrgUsrServiceImpl orgUsrService;
//分页查询项目质量监检信息
@Override
public Page<PercentOfPassDto> find(Page<PercentOfPassDto> page,PercentOfPassDto pd) {
String name = pd.getName( );
List<QualityInfo> qfList = mapper.findss ( );
List<PercentOfPassDto> list = new ArrayList<> ( );
for (QualityInfo qualityInfo : qfList) {
PercentOfPassDto percentOfPassDto = new PercentOfPassDto ( );
percentOfPassDto.setName (qualityInfo.getProject ( ).getName ( ));
percentOfPassDto.setAddress (qualityInfo.getProject ( ).getAddress ( ));
percentOfPassDto.setProgressStatus (qualityInfo.getProject ( ).getProgressStatus ( ));
percentOfPassDto.setProjectId (qualityInfo.getProjectId ( ));
percentOfPassDto.setChargePerson (qualityInfo.getProject ( ).getChargePerson ( ));
//获取监理单位的id
Long supervisoryUnitId = qualityInfo.getSupervisoryUnitId ( );
//调用接口
try {
OrgUsrFormDto orgUsrFormDto = orgUsrService.selectCompanyById (supervisoryUnitId);
String currentUnit = orgUsrFormDto.getCurrentUnit ( );
percentOfPassDto.setCurrentUnit (currentUnit);
} catch (Exception e) {
e.printStackTrace ( );
}
percentOfPassDto.setStartDate (qualityInfo.getProject ( ).getStartDate ( ));
percentOfPassDto.setConstructionUnit (qualityInfo.getProject ( ).getConstructionUnit ( ));
percentOfPassDto.setSubmitDate (qualityInfo.getProject ( ).getSubmitDate ( ));
list.add (percentOfPassDto);
}
//创建新的集合来存放数据
List<PercentOfPassDto> newsData = new ArrayList<> ( );
if (list != null && list.size ( ) > 0) {
//遍历数据
for (PercentOfPassDto pr : list) {
//获取项目id
Long projectId = pr.getProjectId ( );
//通过项目id查询焊口数据
List<WeldDto> weldDtoList = weldService.getProjectId (projectId);
if (weldDtoList != null && weldDtoList.size ( ) > 0) {
//获取焊口信息总条数
int sum = weldDtoList.size ( );
//焊口合格数
int qualifiedData = 0;
for (WeldDto weldDto : weldDtoList) {
String superInspecStatus = weldDto.getSuperInspecStatus ( );
if (superInspecStatus.equals ("合格")) {
qualifiedData++;
}
}
//合格率
BigDecimal sums = new BigDecimal (sum);
BigDecimal qualifiedDatas = new BigDecimal (qualifiedData);
Double pass = qualifiedDatas.divide (sums, 2, BigDecimal.ROUND_HALF_UP).multiply (new BigDecimal (100)).doubleValue ( );
//转换成百分比,生成合格率
String fpy = pass.toString ( ) + "%";
//将合格率赋值给数据集合
pr.setPercentOfPass (fpy);
//将数据添加到新集合里面
newsData.add (pr);
}
}
//name不为空走条件筛选
if (!StringUtils.isEmpty(name)) {
//进行数据筛选
List<PercentOfPassDto> collect = newsData.stream ( ).filter (b -> b.getName ( ).equals (name)).collect (Collectors.toList ( ));
page.setRecords (collect);
page.setTotal (collect.size ());
return page;
}else {
//如果条件name为空的,直接查询全部
page.setRecords (newsData);
page.setTotal (newsData.size ());
return page;
}
}
return null;
}
}
...@@ -129,5 +129,12 @@ class WeldServiceImpl extends BaseService<WeldDto, Weld, WeldMapper> implements ...@@ -129,5 +129,12 @@ class WeldServiceImpl extends BaseService<WeldDto, Weld, WeldMapper> implements
return welds; return welds;
} }
/**
* 通过项目多个id获取数据
* @param projectId
* @return
*/
public List<WeldDto> getProjectId(Long projectId){
return weldMapper.select(projectId);
}
} }
\ No newline at end of file
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