Commit 5d266b60 authored by 3533457856@qq.com's avatar 3533457856@qq.com

【弹窗统计】优化质量问题弹窗统计

检验责任单位及监检状态 通过项目id获取焊口智能监验信息 通过项目id获取焊口编码
parent 539b4825
...@@ -50,6 +50,17 @@ public class WeldDto extends BaseDto { ...@@ -50,6 +50,17 @@ public class WeldDto extends BaseDto {
private Date codingDate; private Date codingDate;
@ApiModelProperty(value = "监察单位")
private String superviseDept;
@ApiModelProperty(value = "检验检测单位")
private String insDep;
@ApiModelProperty(value = "检验检测单位负责人")
private String insPerson;
......
package com.yeejoin.amos.boot.module.ugp.api.dto;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import lombok.EqualsAndHashCode;
@Data
//@EqualsAndHashCode(callSuper = true)
@ApiModel(value="WeldVerifyDto", description="焊口智能监验信息")
public class WeldVerifyDto {
private static final long serialVersionUID = 1L;
@ApiModelProperty(value = "设备名称")
private String name;
@ApiModelProperty(value = "设备编号")
private String code;
@ApiModelProperty(value = "安装区域")
private String installRegion;
@ApiModelProperty(value = "工艺校验")
private String craftStatus = "未校验";
@ApiModelProperty(value = "耐压校验")
private String voltageStatus = "未校验";
@ApiModelProperty(value = "敷设校验")
private String layStatus = "未校验";
@ApiModelProperty(value = "定位校验")
private String locationStatus = "未校验";
@ApiModelProperty(value = "探伤校验")
private String flawStatus = "未校验";
@ApiModelProperty(value = "管沟校验")
private String pipeDitchStatus = "未校验";
}
...@@ -4,6 +4,7 @@ import com.baomidou.mybatisplus.core.metadata.IPage; ...@@ -4,6 +4,7 @@ import com.baomidou.mybatisplus.core.metadata.IPage;
import com.yeejoin.amos.boot.module.ugp.api.dto.QualityProblemDto; import com.yeejoin.amos.boot.module.ugp.api.dto.QualityProblemDto;
import com.yeejoin.amos.boot.module.ugp.api.entity.QualityProblem; import com.yeejoin.amos.boot.module.ugp.api.entity.QualityProblem;
import com.baomidou.mybatisplus.core.mapper.BaseMapper; import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import feign.Param;
import org.springframework.stereotype.Repository; import org.springframework.stereotype.Repository;
import java.util.List; import java.util.List;
...@@ -23,5 +24,5 @@ public interface QualityProblemMapper extends BaseMapper<QualityProblem> { ...@@ -23,5 +24,5 @@ public interface QualityProblemMapper extends BaseMapper<QualityProblem> {
QualityProblemDto getInfoBySequenceNbr(String sequenceNbr); QualityProblemDto getInfoBySequenceNbr(String sequenceNbr);
List<Map<String, String>> qualityProblemStatistics(); List<Map<String, String>> qualityProblemStatistics(@Param("ids") Set<String> ids);
} }
...@@ -68,14 +68,21 @@ ...@@ -68,14 +68,21 @@
WHERE qi.sequence_nbr = #{sequenceNbr} WHERE qi.sequence_nbr = #{sequenceNbr}
</select> </select>
<select id="qualityProblemStatistics" resultType="java.util.HashMap"> <select id="qualityProblemStatistics" parameterType="java.util.Set" resultType="java.util.Map">
SELECT SELECT
generate_stage AS name, qi.generate_stage AS `name`,
count(1) AS value count(1) AS `value`
FROM FROM
tz_ugp_quality_problem tz_ugp_quality_problem AS qi
GROUP BY <where>
generate_stage <if test="ids != null and ids.size > 0">
and qi.project_id in
<foreach collection="ids" index="index" item="item" open="(" close=")" separator=",">
#{item}
</foreach>
</if>
</where>
GROUP BY qi.generate_stage
</select> </select>
......
...@@ -3,6 +3,7 @@ package com.yeejoin.amos.boot.module.ugp.biz.controller; ...@@ -3,6 +3,7 @@ package com.yeejoin.amos.boot.module.ugp.biz.controller;
import com.alibaba.fastjson.JSONObject; import com.alibaba.fastjson.JSONObject;
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
import com.baomidou.mybatisplus.core.metadata.IPage; import com.baomidou.mybatisplus.core.metadata.IPage;
import com.yeejoin.amos.boot.module.ugp.api.dto.WeldVerifyDto;
import com.yeejoin.amos.boot.module.ugp.api.entity.ProjectResource; import com.yeejoin.amos.boot.module.ugp.api.entity.ProjectResource;
import com.yeejoin.amos.boot.module.ugp.api.entity.Weld; import com.yeejoin.amos.boot.module.ugp.api.entity.Weld;
import com.yeejoin.amos.boot.module.ugp.api.mapper.ProjectResourceMapper; import com.yeejoin.amos.boot.module.ugp.api.mapper.ProjectResourceMapper;
...@@ -169,4 +170,35 @@ public class WeldController extends BaseController { ...@@ -169,4 +170,35 @@ public class WeldController extends BaseController {
return ResponseHelper.buildResponse(weldServiceImpl.getCode(sequenceNbr,number)); return ResponseHelper.buildResponse(weldServiceImpl.getCode(sequenceNbr,number));
} }
/**
* 通过项目id获取焊口编码
*/
@TycloudOperation(ApiLevel = UserType.AGENCY, needAuth = false)
@ApiOperation(httpMethod = "GET", value = "查看焊口编码", notes = "查看焊口编码")
@GetMapping(value = "/lookCode")
public ResponseModel<List<Weld>> lookCode(String projectId) {
return ResponseHelper.buildResponse(weldServiceImpl.lookCode(projectId));
}
/**
* 通过项目id获取焊口智能监验信息
*/
@TycloudOperation(ApiLevel = UserType.AGENCY, needAuth = false)
@ApiOperation(httpMethod = "GET", value = "焊口智能监验信息", notes = "焊口智能监验信息")
@GetMapping(value = "/selectStatus")
public ResponseModel<WeldVerifyDto> selectStage(Long projectId,String code) {
return ResponseHelper.buildResponse(weldServiceImpl.selectStatus(projectId,code));
}
@TycloudOperation(ApiLevel = UserType.AGENCY, needAuth = false)
@ApiOperation(httpMethod = "GET", value = "焊口智能监验信息", notes = "焊口智能监验信息")
@GetMapping(value = "/selectDept")
public ResponseModel<WeldDto> selectDept(String projectId){
return ResponseHelper.buildResponse(weldServiceImpl.selectDept(projectId));
}
} }
...@@ -170,7 +170,12 @@ public class QualityProblemServiceImpl extends BaseService<QualityProblemDto,Qua ...@@ -170,7 +170,12 @@ public class QualityProblemServiceImpl extends BaseService<QualityProblemDto,Qua
return qualityProblemDto; return qualityProblemDto;
} }
public List<Map<String,String>> qualityProblemStatistics() { public List<Map<String,String>> qualityProblemStatistics() {
return qualityProblemMapper.qualityProblemStatistics(); Set<String> projectIds = new HashSet<>();
for(Project project:projectResourceService.getProjectList()){
projectIds.add(String.valueOf(project.getSequenceNbr()));
}
return qualityProblemMapper.qualityProblemStatistics(projectIds);
} }
} }
\ No newline at end of file
package com.yeejoin.amos.boot.module.ugp.biz.service.impl; package com.yeejoin.amos.boot.module.ugp.biz.service.impl;
import com.alibaba.fastjson.JSONObject;
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.baomidou.mybatisplus.core.metadata.IPage; import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.yeejoin.amos.boot.module.common.api.entity.OrgUsr; import com.yeejoin.amos.boot.module.common.api.entity.OrgUsr;
import com.yeejoin.amos.boot.module.common.biz.service.impl.OrgUsrServiceImpl;
import com.yeejoin.amos.boot.module.ugp.api.Enum.ProjectInitiationEnum;
import com.yeejoin.amos.boot.module.ugp.api.Enum.StageEnum;
import com.yeejoin.amos.boot.module.ugp.api.Enum.WeldCodeEnum; import com.yeejoin.amos.boot.module.ugp.api.Enum.WeldCodeEnum;
import com.yeejoin.amos.boot.module.ugp.api.Enum.WeldMethodEnum; import com.yeejoin.amos.boot.module.ugp.api.Enum.WeldMethodEnum;
import com.yeejoin.amos.boot.module.ugp.api.dto.OrgUsrDto;
import com.yeejoin.amos.boot.module.ugp.api.dto.ProjectInitiationDto;
import com.yeejoin.amos.boot.module.ugp.api.dto.WeldDto; import com.yeejoin.amos.boot.module.ugp.api.dto.WeldDto;
import com.yeejoin.amos.boot.module.ugp.api.entity.Project; import com.yeejoin.amos.boot.module.ugp.api.dto.WeldVerifyDto;
import com.yeejoin.amos.boot.module.ugp.api.entity.SuperviseRule; import com.yeejoin.amos.boot.module.ugp.api.entity.*;
import com.yeejoin.amos.boot.module.ugp.api.entity.Weld;
import com.yeejoin.amos.boot.module.ugp.api.mapper.ProjectMapper; import com.yeejoin.amos.boot.module.ugp.api.mapper.ProjectMapper;
import com.yeejoin.amos.boot.module.ugp.api.mapper.SuperviseRuleMapper; import com.yeejoin.amos.boot.module.ugp.api.mapper.SuperviseRuleMapper;
import com.yeejoin.amos.boot.module.ugp.api.mapper.VerifyMapper;
import com.yeejoin.amos.boot.module.ugp.api.mapper.WeldMapper; import com.yeejoin.amos.boot.module.ugp.api.mapper.WeldMapper;
import com.yeejoin.amos.boot.module.ugp.api.service.IProjectInitiationService;
import com.yeejoin.amos.boot.module.ugp.api.service.IWeldService; import com.yeejoin.amos.boot.module.ugp.api.service.IWeldService;
import org.springframework.beans.BeanUtils; import org.springframework.beans.BeanUtils;
import org.springframework.beans.factory.annotation.Autowired; import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.beans.factory.annotation.Value; import org.springframework.beans.factory.annotation.Value;
import org.springframework.stereotype.Service; import org.springframework.stereotype.Service;
import org.springframework.web.bind.annotation.RequestParam; import org.springframework.web.bind.annotation.RequestParam;
import org.typroject.tyboot.core.foundation.utils.ValidationUtil;
import org.typroject.tyboot.core.rdbms.service.BaseService; import org.typroject.tyboot.core.rdbms.service.BaseService;
import java.util.*; import java.util.*;
...@@ -46,6 +54,13 @@ class WeldServiceImpl extends BaseService<WeldDto, Weld, WeldMapper> implements ...@@ -46,6 +54,13 @@ class WeldServiceImpl extends BaseService<WeldDto, Weld, WeldMapper> implements
SuperviseRuleMapper superviseRuleMapper; SuperviseRuleMapper superviseRuleMapper;
@Autowired @Autowired
ProjectResourceServiceImpl projectResourceService; ProjectResourceServiceImpl projectResourceService;
@Autowired
VerifyMapper verifyMapper;
@Autowired
ProjectInitiationServiceImpl projectInitiationService;
@Autowired
OrgUsrServiceImpl orgUsrServiceImpl;
// Logger logger = LoggerFactory.getLogger(WeldServiceImpl.class); // Logger logger = LoggerFactory.getLogger(WeldServiceImpl.class);
...@@ -209,7 +224,100 @@ class WeldServiceImpl extends BaseService<WeldDto, Weld, WeldMapper> implements ...@@ -209,7 +224,100 @@ class WeldServiceImpl extends BaseService<WeldDto, Weld, WeldMapper> implements
return weldMapper.select(projectId); return weldMapper.select(projectId);
} }
/**
* 通过项目id获取焊口编码
*/
public List<Weld> lookCode(String projectId){
LambdaQueryWrapper<Weld> wrapper = new LambdaQueryWrapper<>();
wrapper.eq(Weld::getProjectId,projectId);
List<Weld> weldList = weldMapper.selectList(wrapper);
return weldList;
}
/**
* 通过项目id获取焊口智能监验信息
*/
public WeldVerifyDto selectStatus(Long projectId,String code){
LambdaQueryWrapper<Project> wrapper = new LambdaQueryWrapper<>();
wrapper.eq(Project::getSequenceNbr,projectId);
Project project = projectMapper.selectOne(wrapper);
WeldVerifyDto weldVerifyDtos = new WeldVerifyDto();
weldVerifyDtos.setName(project.getName());
weldVerifyDtos.setCode(project.getCode());
weldVerifyDtos.setInstallRegion(project.getInstallRegion());
LambdaQueryWrapper<Verify> wrapper1 = new LambdaQueryWrapper<>();
wrapper1.eq(Verify::getProjectId,projectId)
.eq(Verify::getCode,code)
.groupBy(Verify::getStage)
.orderByDesc(Verify::getRecDate);
List<Verify> verifyList = verifyMapper.selectList(wrapper1);
for(Verify verify : verifyList){
if("1".equals(verify.getStatus())){
if(StageEnum.定位.getStage().equals(verify.getStage())){
weldVerifyDtos.setLocationStatus("合格");
}
if(StageEnum.管道耐压.getStage().equals(verify.getStage())){
weldVerifyDtos.setVoltageStatus("合格");
}
if(StageEnum.敷设质量.getStage().equals(verify.getStage())){
weldVerifyDtos.setLayStatus("合格");
}
if(StageEnum.焊接工艺.getStage().equals(verify.getStage())){
weldVerifyDtos.setCraftStatus("合格");
}
} else if("0".equals(verify.getStatus())){
if(StageEnum.定位.getStage().equals(verify.getStage())){
weldVerifyDtos.setLocationStatus("不合格");
}
if(StageEnum.管道耐压.getStage().equals(verify.getStage())){
weldVerifyDtos.setVoltageStatus("不合格");
}
if(StageEnum.敷设质量.getStage().equals(verify.getStage())){
weldVerifyDtos.setLayStatus("不合格");
}
if(StageEnum.焊接工艺.getStage().equals(verify.getStage())){
weldVerifyDtos.setCraftStatus("不合格");
}
}
}
return weldVerifyDtos;
}
/**
* 检验责任单位及监检状态
*/
public WeldDto selectDept(String projectId){
LambdaQueryWrapper<Project> wrapper = new LambdaQueryWrapper<>();
Project project = projectMapper.selectOne(wrapper.eq(Project::getSequenceNbr,projectId));
LambdaQueryWrapper<SuperviseRule> wrapper1 = new LambdaQueryWrapper<>();
WeldDto weldDtos = new WeldDto();
if(!ValidationUtil.isEmpty(project.getInstallRegionCode())){
SuperviseRule superviseRule = superviseRuleMapper.selectOne( wrapper1.eq(SuperviseRule::getAdminRegionCode,project.getInstallRegionCode()));
// LambdaQueryWrapper<OrgUsr> orgUsrLambdaQueryWrapper = new LambdaQueryWrapper<>();
OrgUsr orgUsr = orgService.getOrgUsrById(String.valueOf(superviseRule.getSuperviseDeptId()));
weldDtos.setSuperviseDept(orgUsr.getBizOrgName());
}
LambdaQueryWrapper<ProjectInitiation> wrapper2 = new LambdaQueryWrapper<>();
wrapper2.eq(ProjectInitiation::getInstanceId,project.getInstanceId())
.groupBy(ProjectInitiation::getTaskName)
.orderByDesc(ProjectInitiation::getRecDate);
List<ProjectInitiation> projectInitiations = projectInitiationService.list(wrapper2);
for(ProjectInitiation projectInitiation:projectInitiations){
if(ProjectInitiationEnum.监检员分配.getName().equals(projectInitiation.getTaskName())){
String context = projectInitiation.getContext();
JSONObject jsonObject = (JSONObject) JSONObject.parse(context);
weldDtos.setInsPerson(jsonObject.getString("insPerson"));
}
if(ProjectInitiationEnum.监检科室分配.getName().equals(projectInitiation.getTaskName())){
String contexts = projectInitiation.getContext();
JSONObject jsonObject = (JSONObject) JSONObject.parse(contexts);
weldDtos.setInsDep(jsonObject.getString("insDep"));
}
}
return weldDtos;
}
} }
\ 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