Commit 2548f57c authored by qinhu's avatar qinhu

质量控制--列表and查看详情

parent cee99472
...@@ -3,18 +3,21 @@ package cn.wise.sc.cement.business.controller; ...@@ -3,18 +3,21 @@ package cn.wise.sc.cement.business.controller;
import cn.wise.sc.cement.business.entity.EntrustReport; import cn.wise.sc.cement.business.entity.EntrustReport;
import cn.wise.sc.cement.business.model.BaseResponse; import cn.wise.sc.cement.business.model.BaseResponse;
import cn.wise.sc.cement.business.model.PageQuery; import cn.wise.sc.cement.business.model.PageQuery;
import cn.wise.sc.cement.business.model.vo.EntrustVo;
import cn.wise.sc.cement.business.model.vo.QualityDetailVo;
import cn.wise.sc.cement.business.service.IEntrustService; import cn.wise.sc.cement.business.service.IEntrustService;
import cn.wise.sc.cement.business.util.PageUtil; import cn.wise.sc.cement.business.util.PageUtil;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import io.swagger.annotations.Api; import io.swagger.annotations.Api;
import io.swagger.annotations.ApiImplicitParam;
import io.swagger.annotations.ApiImplicitParams;
import io.swagger.annotations.ApiOperation; import io.swagger.annotations.ApiOperation;
import lombok.extern.slf4j.Slf4j; import lombok.extern.slf4j.Slf4j;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.GetMapping; import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.PathVariable; import org.springframework.web.bind.annotation.PathVariable;
import org.springframework.web.bind.annotation.RequestMapping; import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController; import org.springframework.web.bind.annotation.RestController;
import java.util.List; import java.util.List;
import java.util.stream.Collectors; import java.util.stream.Collectors;
...@@ -36,21 +39,27 @@ public class QualityController { ...@@ -36,21 +39,27 @@ public class QualityController {
this.iEntrustService = iEntrustService; this.iEntrustService = iEntrustService;
} }
@ApiOperation(value = "质量检测分页列表")
@ApiImplicitParams(value = {
@ApiImplicitParam(name = "startDate", value = "开始日期", paramType = "query", dataType = "String"),
@ApiImplicitParam(name = "endDate", value = "结束日期", paramType = "query", dataType = "String"),
@ApiImplicitParam(name = "clientId", value = "委托单位id", paramType = "query", dataType = "Integer"),
@ApiImplicitParam(name = "projectName", value = "项目名称", paramType = "query", dataType = "String"),
@ApiImplicitParam(name = "projectCode", value = "项目编号", paramType = "query", dataType = "String")
})
@GetMapping("/getPage")
public BaseResponse<IPage<EntrustVo>> page(PageQuery pageQuery, String startDate, String endDate,
Integer clientId, String projectName, String projectCode) {
return iEntrustService.getQualityPage(pageQuery, startDate, endDate, clientId, projectName, projectCode);
}
@GetMapping("/{entrustId}") @GetMapping("/{entrustId}")
@ApiOperation("获取报告详情") @ApiOperation("获取质量详情")
public BaseResponse<com.baomidou.mybatisplus.extension.plugins.pagination.Page<EntrustReport>> getReportDetail(@PathVariable("entrustId") Integer entrustId, PageQuery pageQuery) { public BaseResponse<QualityDetailVo> getReportDetail(@PathVariable("entrustId") Integer entrustId) {
List<EntrustReport> entrustReports = iEntrustService.getReportDetail(entrustId); return BaseResponse.okData(iEntrustService.getQualityDetail(entrustId));
if (entrustReports.size() != 0) {
//过滤 id==null 和 projectType != '常规项目'
List<EntrustReport> list = entrustReports.stream()
.filter(arg -> arg.getId() != null && "质量控制".equals(arg.getProjectType()))
.collect(Collectors.toList());
Page<EntrustReport> rts = PageUtil.listConvertToPage(list, pageQuery);
return BaseResponse.okData(rts);
}
return BaseResponse.errorMsg("没找到相关数据!");
} }
} }
...@@ -40,7 +40,7 @@ public class ReportController { ...@@ -40,7 +40,7 @@ public class ReportController {
this.iEntrustService = iEntrustService; this.iEntrustService = iEntrustService;
} }
@ApiOperation(value = "委托分页列表") @ApiOperation(value = "报告分页列表")
@ApiImplicitParams(value = { @ApiImplicitParams(value = {
@ApiImplicitParam(name = "startDate", value = "开始日期", paramType = "query", dataType = "String"), @ApiImplicitParam(name = "startDate", value = "开始日期", paramType = "query", dataType = "String"),
@ApiImplicitParam(name = "endDate", value = "结束日期", paramType = "query", dataType = "String"), @ApiImplicitParam(name = "endDate", value = "结束日期", paramType = "query", dataType = "String"),
......
package cn.wise.sc.cement.business.entity;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import java.io.Serializable;
/**
* @description: 质量检测详情
* @author: qh
* @create: 2020-09-28 14:01
**/
@Data
@ApiModel("质量检测详情实体")
public class QualityDetail implements Serializable {
private static final long serialVersionUID = 42L;
@ApiModelProperty("样品名字")
private String sampleName;
@ApiModelProperty("检测数据")
private String inputResult;
@ApiModelProperty("检测组名字")
private String teamGroupName;
@ApiModelProperty("项目编号")
private String entrustCode;
@ApiModelProperty("项目名字")
private String projectName;
@ApiModelProperty("委托人名字")
private String sendName;
@ApiModelProperty("委托人电话")
private String sendPhone;
@ApiModelProperty("样品id")
private Integer sampleId;
@ApiModelProperty("项目id")
private Integer entrustId;
@ApiModelProperty("检测组id")
private Integer teamGroupId;
@ApiModelProperty("用户id")
private Integer userId;
@ApiModelProperty("样品数量")
private Integer sampleNum;
private Integer clientId;
private String userName;
private String clientName;
}
...@@ -2,6 +2,7 @@ package cn.wise.sc.cement.business.mapper; ...@@ -2,6 +2,7 @@ package cn.wise.sc.cement.business.mapper;
import cn.wise.sc.cement.business.entity.Entrust; import cn.wise.sc.cement.business.entity.Entrust;
import cn.wise.sc.cement.business.entity.EntrustReport; import cn.wise.sc.cement.business.entity.EntrustReport;
import cn.wise.sc.cement.business.entity.QualityDetail;
import cn.wise.sc.cement.business.model.vo.EntrustVo; import cn.wise.sc.cement.business.model.vo.EntrustVo;
import cn.wise.sc.cement.business.model.vo.ProjectVo; import cn.wise.sc.cement.business.model.vo.ProjectVo;
import com.baomidou.mybatisplus.core.mapper.BaseMapper; import com.baomidou.mybatisplus.core.mapper.BaseMapper;
...@@ -38,4 +39,6 @@ public interface EntrustMapper extends BaseMapper<Entrust> { ...@@ -38,4 +39,6 @@ public interface EntrustMapper extends BaseMapper<Entrust> {
List<EntrustReport> getReportDetail(@Param("entrustId") Integer entrustId); List<EntrustReport> getReportDetail(@Param("entrustId") Integer entrustId);
List<QualityDetail> getQualityDetail(@Param("entrustId") Integer entrustId);
} }
...@@ -154,7 +154,6 @@ ...@@ -154,7 +154,6 @@
order by e.update_time desc order by e.update_time desc
</select> </select>
<!--数据校核分页列表--> <!--数据校核分页列表-->
<select id="getCheckPage" resultType="cn.wise.sc.cement.business.model.vo.EntrustVo"> <select id="getCheckPage" resultType="cn.wise.sc.cement.business.model.vo.EntrustVo">
select e.*, p.name as projectName, c.name as clientName, su.name as userName, select e.*, p.name as projectName, c.name as clientName, su.name as userName,
...@@ -193,6 +192,19 @@ ...@@ -193,6 +192,19 @@
ON sscct.entrust_id = e.id AND e.id = #{entrustId} ON sscct.entrust_id = e.id AND e.id = #{entrustId}
</select> </select>
<select id="getQualityDetail" resultType="cn.wise.sc.cement.business.entity.QualityDetail">
SELECT s.sample_name,esscct.* FROM (SELECT sscct.*,client_id,entrust_code,project_name,sample_num,send_name,send_phone FROM entrust e
RIGHT JOIN
(SELECT sct.input_result,sample_id,entrust_id,team_group_name,team_group_id,user_id FROM sample_check sc
RIGHT JOIN
(SELECT * FROM sample_check_team) sct
ON sct.check_id = sc.id WHERE sc.entrust_id = #{entrustId}) sscct
ON e.id = sscct.entrust_id) esscct
LEFT JOIN
(SELECT name as sample_name,id FROM sample) s
ON esscct.sample_id = s.id
</select>
<sql id="checkWhere"> <sql id="checkWhere">
<where> <where>
and e.is_delete = 1 and e.status >= 6 and e.is_delete = 1 and e.status >= 6
......
package cn.wise.sc.cement.business.model.vo;
import lombok.Data;
import java.io.Serializable;
import java.util.ArrayList;
import java.util.List;
/**
* @description: 质量检测详情Vo
* @author: qh
* @create: 2020-09-28 14:55
**/
@Data
public class QualityDetailVo implements Serializable {
private static final long serialVersionUID = 42L;
private String projectName;
private String clientName;
private String entrustCode;
private Integer sampleNum;
private String sendName;
private String sendPhone;
List<QualityTeamGroup> qualityTeamGroups = new ArrayList<>();
@Data
public static class QualityTeamGroup {
private String teamGroupName;
private List<QualitySample> qualitySamples = new ArrayList<>();
}
@Data
public static class QualitySample {
private String sampleName;
private List<SampleOriginal> sampleOriginals = new ArrayList<>();
}
@Data
public static class SampleOriginal {
private String cementCode;
private String userName;
private String teamValues;
}
}
...@@ -16,7 +16,7 @@ import java.util.Map; ...@@ -16,7 +16,7 @@ import java.util.Map;
/** /**
* <p> * <p>
* 服务类 * 服务类
* </p> * </p>
* *
* @author ztw * @author ztw
...@@ -24,66 +24,75 @@ import java.util.Map; ...@@ -24,66 +24,75 @@ import java.util.Map;
*/ */
public interface IEntrustService extends IService<Entrust> { public interface IEntrustService extends IService<Entrust> {
BaseResponse<IPage<EntrustVo>> getPage(PageQuery pageQuery, String startDate, String endDate, Integer status, BaseResponse<IPage<EntrustVo>> getPage(PageQuery pageQuery, String startDate, String endDate, Integer status,
Integer clientId, String projectName, String projectCode); Integer clientId, String projectName, String projectCode);
BaseResponse<String> setTopping(Integer id); BaseResponse<String> setTopping(Integer id);
BaseResponse<Entrust> create(EntrustQuery query); BaseResponse<Entrust> create(EntrustQuery query);
BaseResponse<EntrustVo> getDtail(Integer id); BaseResponse<EntrustVo> getDtail(Integer id);
BaseResponse<String> getMaxCementCode(); BaseResponse<String> getMaxCementCode();
BaseResponse<String> approval(ApprovalQuery query); BaseResponse<String> approval(ApprovalQuery query);
BaseResponse<String> handle(HandleQuery query); BaseResponse<String> handle(HandleQuery query);
BaseResponse<IPage<EntrustVo>> getSampleHandlePage(PageQuery pageQuery, String projectCode); BaseResponse<IPage<EntrustVo>> getSampleHandlePage(PageQuery pageQuery, String projectCode);
BaseResponse<Map<String, Object>> getSampleHandleList(Integer id); BaseResponse<Map<String, Object>> getSampleHandleList(Integer id);
BaseResponse<String> acceptHandle(Integer[] ids); BaseResponse<String> acceptHandle(Integer[] ids);
BaseResponse<List<SampleHandleEnclosureVo>> getSampleHandleEnclosureList(Integer sampleHandleId); BaseResponse<List<SampleHandleEnclosureVo>> getSampleHandleEnclosureList(Integer sampleHandleId);
BaseResponse<SampleHandleEnclosure> uploadEnclosureCL(SampleHandleEnclosureQuery query); BaseResponse<SampleHandleEnclosure> uploadEnclosureCL(SampleHandleEnclosureQuery query);
BaseResponse<SampleHandleVo> getHandleDtail(Integer id); BaseResponse<SampleHandleVo> getHandleDtail(Integer id);
BaseResponse<String> finishHandle(Integer[] ids); BaseResponse<String> finishHandle(Integer[] ids);
BaseResponse<String> distribution(DistributionQuery query); BaseResponse<String> distribution(DistributionQuery query);
BaseResponse<IPage<EntrustVo>> getSampleDistributionPage(PageQuery pageQuery,String projectName, BaseResponse<IPage<EntrustVo>> getSampleDistributionPage(PageQuery pageQuery, String projectName,
String projectCode ); String projectCode);
BaseResponse<Map<String, Object>> getSampleDistributionList(Integer id); BaseResponse<Map<String, Object>> getSampleDistributionList(Integer id);
BaseResponse<String> acceptDistribution(Integer[] ids); BaseResponse<String> acceptDistribution(Integer[] ids);
BaseResponse<SampleDistribution> uploadEnclosurePF(SampleDistributionEnclosureQuery query); BaseResponse<SampleDistribution> uploadEnclosurePF(SampleDistributionEnclosureQuery query);
BaseResponse<String> finishDistribution(Integer[] ids); BaseResponse<String> finishDistribution(Integer[] ids);
BaseResponse<IPage<EntrustVo>> getCheckPage(PageQuery pageQuery, String startDate, String endDate, Integer status, BaseResponse<IPage<EntrustVo>> getCheckPage(PageQuery pageQuery, String startDate, String endDate, Integer status,
Integer clientId, String projectName, String projectCode); Integer clientId, String projectName, String projectCode);
BaseResponse<Map<String, Object>> getCheckList(Integer id); BaseResponse<Map<String, Object>> getCheckList(Integer id);
BaseResponse<List<SampleCheckVo>> getCheckDetail(String cementCode); BaseResponse<List<SampleCheckVo>> getCheckDetail(String cementCode);
BaseResponse<List<SampleDistribution>> getEnclosureList(Integer sampleId, Integer teamGroupId, Integer userId); BaseResponse<List<SampleDistribution>> getEnclosureList(Integer sampleId, Integer teamGroupId, Integer userId);
BaseResponse<Map<String, String>> checkCount(Integer teamGroupId,Integer isParallel, BaseResponse<Map<String, String>> checkCount(Integer teamGroupId, Integer isParallel,
Map<String, Object> mainResult, Map<String, Object> mainResult,
Map<String, Object> secondaryResult); Map<String, Object> secondaryResult);
BaseResponse<String> check(CheckQuery query); BaseResponse<String> check(CheckQuery query);
BaseResponse<IPage<EntrustVo>> getReportPage(PageQuery pageQuery, String startDate, String endDate, Integer clientId, String projectName, String projectCode); BaseResponse<IPage<EntrustVo>> getReportPage(PageQuery pageQuery, String startDate,
String endDate, Integer clientId,
String projectName, String projectCode);
BaseResponse<Boolean> deleteById(Integer id); BaseResponse<Boolean> deleteById(Integer id);
List<EntrustReport> getReportDetail(Integer entrustId); List<EntrustReport> getReportDetail(Integer entrustId);
BaseResponse<IPage<EntrustVo>> getQualityPage(PageQuery pageQuery,
String startDate, String endDate,
Integer clientId, String projectName,
String projectCode);
QualityDetailVo getQualityDetail(Integer entrustId);
} }
...@@ -11,9 +11,7 @@ import cn.wise.sc.cement.business.model.vo.*; ...@@ -11,9 +11,7 @@ import cn.wise.sc.cement.business.model.vo.*;
import cn.wise.sc.cement.business.service.*; import cn.wise.sc.cement.business.service.*;
import cn.wise.sc.cement.business.util.CheckCountUtil; import cn.wise.sc.cement.business.util.CheckCountUtil;
import cn.wise.sc.cement.business.util.RedisUtil; import cn.wise.sc.cement.business.util.RedisUtil;
import cn.wise.sc.cement.business.wrapper.page.Query;
import com.alibaba.fastjson.JSON; import com.alibaba.fastjson.JSON;
import com.alibaba.fastjson.JSONArray;
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;
...@@ -23,13 +21,13 @@ import org.springframework.beans.BeanUtils; ...@@ -23,13 +21,13 @@ import org.springframework.beans.BeanUtils;
import org.springframework.beans.factory.annotation.Autowired; import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service; import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Transactional; import org.springframework.transaction.annotation.Transactional;
import javax.annotation.Resource; import javax.annotation.Resource;
import java.math.BigDecimal; import java.math.BigDecimal;
import java.text.SimpleDateFormat; import java.text.SimpleDateFormat;
import java.time.LocalDate; import java.time.LocalDate;
import java.time.LocalDateTime; import java.time.LocalDateTime;
import java.util.*; import java.util.*;
import java.util.stream.Collectors;
/** /**
* <p> * <p>
...@@ -42,60 +40,62 @@ import java.util.*; ...@@ -42,60 +40,62 @@ import java.util.*;
@Service @Service
public class EntrustServiceImpl extends ServiceImpl<EntrustMapper, Entrust> implements IEntrustService { public class EntrustServiceImpl extends ServiceImpl<EntrustMapper, Entrust> implements IEntrustService {
@Resource @Resource
private EntrustMapper entrustMapper; private EntrustMapper entrustMapper;
@Autowired @Autowired
private ISampleTmpService sampleTmpService; private ISampleTmpService sampleTmpService;
@Autowired @Autowired
private ISysUserService userService; private ISysUserService userService;
@Resource @Resource
private TeamMapper teamMapper; private TeamMapper teamMapper;
@Autowired @Autowired
private CommonServiceImpl commonService; private CommonServiceImpl commonService;
@Autowired @Autowired
private ISampleService sampleService; private ISampleService sampleService;
@Resource @Resource
private EntrustApprovalMapper approvalMapper; private EntrustApprovalMapper approvalMapper;
@Autowired @Autowired
private ISysLogsService logsService; private ISysLogsService logsService;
@Autowired @Autowired
private ISampleHandleService sampleHandleService; private ISampleHandleService sampleHandleService;
@Resource @Resource
private SampleHandleMapper sampleHandleMapper; private SampleHandleMapper sampleHandleMapper;
@Autowired @Autowired
private ISampleDistributionService distributionService; private ISampleDistributionService distributionService;
@Resource @Resource
private SampleDistributionMapper distributionMapper; private SampleDistributionMapper distributionMapper;
@Autowired @Autowired
private ISampleCheckService sampleCheckService; private ISampleCheckService sampleCheckService;
@Autowired @Autowired
private ISampleCheckTeamService sampleCheckTeamService; private ISampleCheckTeamService sampleCheckTeamService;
@Autowired @Autowired
private IEquipmentUseService equipmentUseService; private IEquipmentUseService equipmentUseService;
@Resource @Resource
private ProjectMapper projectMapper; private ProjectMapper projectMapper;
@Autowired @Autowired
RedisUtil redisUtil; RedisUtil redisUtil;
@Resource @Resource
private SampleMapper sampleMapper; private SampleMapper sampleMapper;
@Resource @Resource
private SysApprovalMapper sysApprovalMapper; private SysApprovalMapper sysApprovalMapper;
@Resource @Resource
private MethodMapper methodMapper; private MethodMapper methodMapper;
@Resource @Resource
private HandleMapper handleMapper; private HandleMapper handleMapper;
@Autowired @Autowired
private ISampleHandleEnclosureService sampleHandleEnclosureService; private ISampleHandleEnclosureService sampleHandleEnclosureService;
@Resource @Resource
private SampleHandleEnclosureMapper sampleHandleEnclosureMapper; private SampleHandleEnclosureMapper sampleHandleEnclosureMapper;
@Resource @Resource
private TeamGroupMapper teamGroupMapper; private TeamGroupMapper teamGroupMapper;
@Resource @Resource
private SampleCheckMapper sampleCheckMapper; private SampleCheckMapper sampleCheckMapper;
@Resource @Resource
private SampleCheckTeamMapper sampleCheckTeamMapper; private SampleCheckTeamMapper sampleCheckTeamMapper;
@Resource @Resource
private EquipmentUseMapper equipmentUseMapper; private EquipmentUseMapper equipmentUseMapper;
@Resource
private ClientMapper clientMapper;
/** /**
* 委托分页 * 委托分页
...@@ -1693,4 +1693,148 @@ public class EntrustServiceImpl extends ServiceImpl<EntrustMapper, Entrust> impl ...@@ -1693,4 +1693,148 @@ public class EntrustServiceImpl extends ServiceImpl<EntrustMapper, Entrust> impl
return list; return list;
} }
@Override
public BaseResponse<IPage<EntrustVo>> getQualityPage(PageQuery pageQuery, String startDate, String endDate, Integer clientId, String projectName, String projectCode) {
LoginUser loginUser = userService.getLoginUser();
if (loginUser == null) {
return BaseResponse.errorMsg("请登录账号");
}
Map<String, Object> params = new HashMap<>();
params.put("startDate", startDate);
params.put("endDate", endDate);
params.put("status", 8);
params.put("clientId", clientId);
params.put("projectName", projectName);
params.put("projectCode", projectCode);
params.put("projectType", "质量检测");
Integer approvalId = sysApprovalMapper.getApprovalId("委托评审");
if (approvalId == null) {
return BaseResponse.errorMsg("委托评审信息错误");
}
if (loginUser.getId() != approvalId) {
params.put("userId", loginUser.getId());
}
Page<EntrustVo> page = new Page<>(pageQuery.getPageNo(), pageQuery.getPageSize());
IPage<EntrustVo> pages = entrustMapper.getPage(page, params);
List<EntrustVo> list = pages.getRecords();
if (list != null && list.size() > 0) {
for (EntrustVo entrustVo : list) {
QueryWrapper<SampleTmp> queryWrapper = new QueryWrapper<>();
queryWrapper.eq("entrust_id", entrustVo.getId());
List<SampleTmp> sampleTmpList = sampleTmpService.list(queryWrapper);
//检测项目名称
String sampleNames = "";
if (sampleTmpList != null && sampleTmpList.size() > 0) {
//样品名称 列表中的拼接
for (SampleTmp sampleTmp : sampleTmpList) {
sampleNames = sampleNames.equals("") ? sampleTmp.getName() : (sampleNames + "、" + sampleTmp.getName());
}
entrustVo.setSampleNames(sampleNames);
//检测项 和检测依据 列表里只显示第一个样品的
SampleTmp sampleTmp = sampleTmpList.get(0);
String teamIds = sampleTmp.getTeamIds();
String checkTeam = "";
if (teamIds != null) {
String[] teamIdS = teamIds.split("、");
for (String teamId : teamIdS) {
Team team = teamMapper.selectById(Integer.valueOf(teamId));
if (team != null) {
checkTeam = checkTeam.equals("") ? team.getName() : (checkTeam + "、" + team.getName());
}
}
}
entrustVo.setCheckTeam(checkTeam);
entrustVo.setCheckMethodNumber(sampleTmp.getMethodNumbers());
}
}
}
pages.setRecords(list);
return BaseResponse.okData(pages);
}
@Override
public QualityDetailVo getQualityDetail(Integer entrustId) {
List<QualityDetail> qualityDetails = entrustMapper.getQualityDetail(entrustId);
if (qualityDetails.size() == 0) {
return null;
}
QualityDetail firstQualityDetail = qualityDetails.get(0);
QualityDetailVo qualityDetailVo = new QualityDetailVo();
qualityDetailVo.setProjectName(firstQualityDetail.getProjectName());
qualityDetailVo.setEntrustCode(firstQualityDetail.getEntrustCode());
qualityDetailVo.setSampleNum(firstQualityDetail.getSampleNum());
qualityDetailVo.setSendPhone(firstQualityDetail.getSendPhone());
qualityDetailVo.setSendName(firstQualityDetail.getSendName());
//获取clientId和userName
String userCacheKey = "CACHE:USER";
String clientCacheKey = "CACHE:CLIENT";
//缓存 60s
if (!redisUtil.existsKey(userCacheKey)) {
List<SysUser> users = userService.list();
String value = JSON.toJSONString(users);
redisUtil.setString(userCacheKey, value, 60);
}
if (!redisUtil.existsKey(clientCacheKey)) {
List<Client> clients = clientMapper.selectList(new QueryWrapper<>());
String value = JSON.toJSONString(clients);
redisUtil.setString(clientCacheKey, value, 60);
}
List<SysUser> sysUsers = JSON.parseArray(redisUtil.getString(userCacheKey) + "", SysUser.class);
List<Client> clients = JSON.parseArray(redisUtil.getString(clientCacheKey) + "", Client.class);
//关联委托方
clients.stream()
.filter(opt -> opt.getId().intValue() == firstQualityDetail.getClientId())
.findFirst().ifPresent(opt -> qualityDetailVo.setClientName(opt.getName()));
//关联检测者名字
qualityDetails.forEach(arg -> {
sysUsers.stream()
.filter(opt -> opt.getId().intValue() == arg.getUserId())
.findFirst().ifPresent(opt -> {
arg.setUserName(opt.getName());
});
});
//为每个检测组 创建实体
qualityDetails.stream()
.map(QualityDetail::getTeamGroupName)
.collect(Collectors.toSet())
.forEach(arg -> {
//遍历每个检测组名字 创建检测组集合
QualityDetailVo.QualityTeamGroup qualityTeamGroup = new QualityDetailVo.QualityTeamGroup();
qualityTeamGroup.setTeamGroupName(arg);
qualityDetailVo.getQualityTeamGroups().add(qualityTeamGroup);
qualityDetails.stream()
//找到当前检测组下的是要样品
.filter(opt -> opt.getTeamGroupName().equals(arg))
.collect(Collectors.toList())
.stream()
.map(QualityDetail::getSampleName)
.collect(Collectors.toSet())
.forEach(opt -> {
//拿到了样品名字和检测组名字 开始创建Vo对象
QualityDetailVo.QualitySample qualitySample =
new QualityDetailVo.QualitySample();
qualitySample.setSampleName(opt);
qualityTeamGroup.getQualitySamples().add(qualitySample);
qualityDetails.forEach(param -> {
//找到检测组和样品相同的详情
if (param.getTeamGroupName().equals(arg) && param.getSampleName().equals(opt)) {
QualityDetailVo.SampleOriginal sampleOriginal = new QualityDetailVo.SampleOriginal();
sampleOriginal.setCementCode(param.getEntrustCode());
sampleOriginal.setTeamValues(param.getInputResult());
sampleOriginal.setUserName(param.getUserName());
qualitySample.getSampleOriginals().add(sampleOriginal);
}
});
});
});
return qualityDetailVo;
}
} }
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