Commit dad5859d authored by 竹天卫's avatar 竹天卫

质量控制接口 修复, 需求需要重新设计 所以暂时先调通接口

parent b44b8164
...@@ -188,8 +188,8 @@ public class StandardController { ...@@ -188,8 +188,8 @@ public class StandardController {
@ApiOperation("按检测组获取标样信息") @ApiOperation("按检测组获取标样信息")
@GetMapping("/list/byGroup") @GetMapping("/list/byGroup")
public BaseResponse<List<GroupStandard>> getStandards(String name) { public BaseResponse<List<GroupStandard>> getStandards(String name) {
return BaseResponse.okMsg("功能待完善");
return BaseResponse.okData(standardService.getStandards(name)); // return BaseResponse.okData(standardService.getStandards(name));
} }
} }
...@@ -2,6 +2,7 @@ package cn.wise.sc.cement.business.entity; ...@@ -2,6 +2,7 @@ package cn.wise.sc.cement.business.entity;
import io.swagger.annotations.ApiModel; import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty; import io.swagger.annotations.ApiModelProperty;
import io.swagger.models.auth.In;
import lombok.Data; import lombok.Data;
import java.io.Serializable; import java.io.Serializable;
...@@ -9,50 +10,69 @@ import java.time.LocalDate; ...@@ -9,50 +10,69 @@ import java.time.LocalDate;
/** /**
* @description: 质量检测详情 * @description: 质量检测详情
* @author: qh * @author: ztw
* @create: 2020-09-28 14:01 * @create: 2021-03-23 14:01
**/ **/
@Data @Data
@ApiModel("质量检测详情实体") @ApiModel("质量检测详情实体")
public class QualityDetail implements Serializable { public class QualityDetail implements Serializable {
private static final long serialVersionUID = 42L; private static final long serirsionUID = 42L;
@ApiModelProperty("检测表id")
private Integer id;
@ApiModelProperty("样品名字") @ApiModelProperty("样品名字")
private String sampleName; private String sampleName;
@ApiModelProperty("检测数据") @ApiModelProperty("本所编号")
private String inputResult; private String cementCode;
@ApiModelProperty("检测组名字") @ApiModelProperty("平行样编号")
private String teamGroupName; private String parallelCode;
@ApiModelProperty("样品状态")
private String sampleForm;
@ApiModelProperty("来样编号")
private String sampleCode;
@ApiModelProperty("项目id")
private Integer entrustId;
@ApiModelProperty("样品id")
private Integer sampleId;
@ApiModelProperty("检测组id")
private Integer teamGroupId;
@ApiModelProperty("检测项id")
private Integer teamId;
@ApiModelProperty("检测人id")
private Integer userId;
@ApiModelProperty("检测结果")
private String disResult;
@ApiModelProperty("校核结果表id")
private Integer checkId;
@ApiModelProperty("最终检测结果")
private String lastResult;
@ApiModelProperty("误差值")
private String errorResult;
@ApiModelProperty("送检单位id")
private Integer clientId;
@ApiModelProperty("项目编号") @ApiModelProperty("项目编号")
private String entrustCode; private String entrustCode;
@ApiModelProperty("项目名字") @ApiModelProperty("项目名字")
private String projectName; private String projectName;
@ApiModelProperty("样品数量")
private Integer sampleNum;
@ApiModelProperty("委托人名字") @ApiModelProperty("委托人名字")
private String sendName; private String sendName;
@ApiModelProperty("委托人电话") @ApiModelProperty("委托人电话")
private String sendPhone; private String sendPhone;
@ApiModelProperty("样品id") @ApiModelProperty("委托创建时间")
private Integer sampleId; private LocalDate createTime;
@ApiModelProperty("项目id")
private Integer entrustId;
@ApiModelProperty("检测组id") @ApiModelProperty("检测组名字")
private Integer teamGroupId; private String teamGroupName;
@ApiModelProperty("用户id")
private Integer userId;
@ApiModelProperty("样品数量")
private Integer sampleNum;
@ApiModelProperty("送检单位id")
private Integer clientId;
@ApiModelProperty("用户名") @ApiModelProperty("用户名")
private String userName; private String userName;
@ApiModelProperty("送检单位名字") @ApiModelProperty("送检单位名字")
private String clientName; private String clientName;
@ApiModelProperty("委托创建时间")
private LocalDate createTime;
@ApiModelProperty("来样编号")
private String sampleCode;
@ApiModelProperty("样品状态")
private String sampleForm;
@ApiModelProperty("本所编号")
private String cementCode;
} }
...@@ -351,25 +351,34 @@ ...@@ -351,25 +351,34 @@
</select> </select>
<select id="getQualityDetail" resultType="cn.wise.sc.cement.business.entity.QualityDetail"> <select id="getQualityDetail" resultType="cn.wise.sc.cement.business.entity.QualityDetail">
SELECT s.sample_name,s.cement_code,s.sample_form,s.sample_code,esscct.* FROM (SELECT SELECT s.sample_name,s.cement_code,s.sample_form,s.sample_code,esscct.* FROM (
sscct.*,client_id,entrust_code,project_name,sample_num,send_name,send_phone,create_time FROM entrust e SELECT sscct.*,e.client_id as clientId, e.entrust_code as entrustCode,
p.name as projectName, p.code as projectCode,c.name as clientName,
e.sample_num as sampleNum, e.send_name as sendName, e.send_phone as sendPhone, e.create_time as createTime
FROM entrust e
left join project p on p.id = e.project_id
left join client c on c.id = e.client_id
RIGHT JOIN RIGHT JOIN
( (
SELECT sd.id as id, sd.entrust_id as entrustId, sd.sample_id as sampleId,
sd.team_group_id as teamGroupId, tg.name as teamGroupName,
sd.team_id as teamId, t.name as teamName,
sd.user_id as userId,su.name as userName,
sd.distribution_result as disResult, sd.check_id as checkId,
sdc.last_result,sdc.distribution_error as errorResult
FROM sample_distribution sd
left join sample_distribution_check sdc on sdc.id = sd.check_id
left join team t on t.id = sd.team_id
left join team_group tg on tg.id = sd.team_group_id
SELECT count_result as input_result,sample_id,entrust_id,team_group_name,team_group_id,user_id FROM left join sys_user su on su.id = sd.user_id
sample_check sc where sd.entrust_id = #{entrustId}
RIGHT JOIN
(SELECT * FROM sample_check_team) sct
ON sct.check_id = sc.id WHERE sc.entrust_id = #{entrustId}
) sscct ) sscct
ON e.id = sscct.entrust_id) esscct ON e.id = sscct.entrustId
) esscct
LEFT JOIN LEFT JOIN
(SELECT name as sample_name,id,cement_code,sample_form,sample_code FROM sample) s (SELECT name as sample_name,id,cement_code,parallel_code,sample_form,sample_code FROM sample) s
ON esscct.sample_id = s.id ON esscct.sampleId = s.id
</select> </select>
......
...@@ -5439,36 +5439,34 @@ public class EntrustServiceImpl extends ServiceImpl<EntrustMapper, Entrust> impl ...@@ -5439,36 +5439,34 @@ public class EntrustServiceImpl extends ServiceImpl<EntrustMapper, Entrust> impl
if (qualityDetails.size() == 0) { if (qualityDetails.size() == 0) {
return null; return null;
} }
//处理inputValue
qualityDetails.forEach(arg -> arg.setInputResult(mapStringToMap(arg.getInputResult())));
QualityDetail firstQualityDetail = qualityDetails.get(0); QualityDetail firstQualityDetail = qualityDetails.get(0);
QualityDetailVo qualityDetailVo = new QualityDetailVo(); QualityDetailVo qualityDetailVo = new QualityDetailVo();
BeanUtil.copyProperties(firstQualityDetail, qualityDetailVo); BeanUtil.copyProperties(firstQualityDetail, qualityDetailVo);
//获取clientId和userName //获取clientId和userName
String userCacheKey = "CACHE:USER"; // String userCacheKey = "CACHE:USER";
String clientCacheKey = "CACHE:CLIENT"; // String clientCacheKey = "CACHE:CLIENT";
//缓存 60s /* //缓存 60s
if (!redisUtil.existsKey(userCacheKey)) { if (!redisUtil.existsKey(userCacheKey)) {
List<SysUser> users = userService.list(); List<SysUser> users = userService.list();
String value = JSON.toJSONString(users); String value = JSON.toJSONString(users);
redisUtil.setString(userCacheKey, value, 60); redisUtil.setString(userCacheKey, value, 60);
} }*/
if (!redisUtil.existsKey(clientCacheKey)) { // if (!redisUtil.existsKey(clientCacheKey)) {
List<Client> clients = clientMapper.selectList(new QueryWrapper<>()); // List<Client> clients = clientMapper.selectList(new QueryWrapper<>());
String value = JSON.toJSONString(clients); // String value = JSON.toJSONString(clients);
redisUtil.setString(clientCacheKey, value, 60); // redisUtil.setString(clientCacheKey, value, 60);
} // }
List<SysUser> sysUsers = JSON.parseArray(redisUtil.getString(userCacheKey) + "", SysUser.class); // List<SysUser> sysUsers = JSON.parseArray(redisUtil.getString(userCacheKey) + "", SysUser.class);
List<Client> clients = JSON.parseArray(redisUtil.getString(clientCacheKey) + "", Client.class); // List<Client> clients = JSON.parseArray(redisUtil.getString(clientCacheKey) + "", Client.class);
//关联委托方 //关联委托方
clients.stream() // clients.stream()
.filter(opt -> opt.getId().intValue() == firstQualityDetail.getClientId()) // .filter(opt -> opt.getId().intValue() == firstQualityDetail.getClientId())
.findFirst().ifPresent(opt -> qualityDetailVo.setClientName(opt.getName())); // .findFirst().ifPresent(opt -> qualityDetailVo.setClientName(opt.getName()));
//关联检测者名字 //关联检测者名字
qualityDetails.forEach(arg -> sysUsers.stream() /* qualityDetails.forEach(arg -> sysUsers.stream()
.filter(opt -> opt.getId().intValue() == arg.getUserId()) .filter(opt -> opt.getId().intValue() == arg.getUserId())
.findFirst().ifPresent(opt -> arg.setUserName(opt.getName()))); .findFirst().ifPresent(opt -> arg.setUserName(opt.getName())));*/
//为每个检测组 创建实体 //为每个检测组 创建实体
qualityDetails.stream() qualityDetails.stream()
.map(QualityDetail::getTeamGroupName) .map(QualityDetail::getTeamGroupName)
...@@ -5497,7 +5495,7 @@ public class EntrustServiceImpl extends ServiceImpl<EntrustMapper, Entrust> impl ...@@ -5497,7 +5495,7 @@ public class EntrustServiceImpl extends ServiceImpl<EntrustMapper, Entrust> impl
if (param.getTeamGroupName().equals(arg) && param.getSampleName().equals(opt)) { if (param.getTeamGroupName().equals(arg) && param.getSampleName().equals(opt)) {
QualityDetailVo.SampleOriginal sampleOriginal = new QualityDetailVo.SampleOriginal(); QualityDetailVo.SampleOriginal sampleOriginal = new QualityDetailVo.SampleOriginal();
sampleOriginal.setCementCode(param.getEntrustCode()); sampleOriginal.setCementCode(param.getEntrustCode());
sampleOriginal.setTeamValues(param.getInputResult()); sampleOriginal.setTeamValues(param.getDisResult());
sampleOriginal.setUserName(param.getUserName()); sampleOriginal.setUserName(param.getUserName());
sampleOriginal.setUserId(param.getUserId()); sampleOriginal.setUserId(param.getUserId());
qualitySample.getSampleOriginals().add(sampleOriginal); qualitySample.getSampleOriginals().add(sampleOriginal);
...@@ -5513,21 +5511,6 @@ public class EntrustServiceImpl extends ServiceImpl<EntrustMapper, Entrust> impl ...@@ -5513,21 +5511,6 @@ public class EntrustServiceImpl extends ServiceImpl<EntrustMapper, Entrust> impl
return qualityDetailVo; return qualityDetailVo;
} }
private String mapStringToMap(String str) {
List<MapObj> mapObjs = JSON.parseArray(str, MapObj.class);
Map<String, String> map = new HashMap<>();
mapObjs.forEach(arg -> map.put(arg.getName(), arg.getValue()));
return JSON.toJSONString(map);
}
@Data
public static class MapObj {
String name;
String value;
}
/** /**
* 替换特殊角标 * 替换特殊角标
......
...@@ -588,7 +588,6 @@ public class StandardServiceImpl extends ServiceImpl<StandardMapper, Standard> i ...@@ -588,7 +588,6 @@ public class StandardServiceImpl extends ServiceImpl<StandardMapper, Standard> i
@Override @Override
public List<GroupStandard> getStandards(String name) { public List<GroupStandard> getStandards(String name) {
//获取标样信息 //获取标样信息
List<StandardGroupDto> list = standardMapper.getStandardsByGroup(); List<StandardGroupDto> list = standardMapper.getStandardsByGroup();
List<GroupStandard> rts = new ArrayList<>(list.size()); List<GroupStandard> rts = new ArrayList<>(list.size());
...@@ -636,6 +635,10 @@ public class StandardServiceImpl extends ServiceImpl<StandardMapper, Standard> i ...@@ -636,6 +635,10 @@ public class StandardServiceImpl extends ServiceImpl<StandardMapper, Standard> i
} }
Set<String> cementCodes = sampleChecks.stream() Set<String> cementCodes = sampleChecks.stream()
.map(SampleCheck::getCementCode).collect(Collectors.toSet()); .map(SampleCheck::getCementCode).collect(Collectors.toSet());
//根据cementCodes和team_group_id计算多个平行样的平均值 //根据cementCodes和team_group_id计算多个平行样的平均值
for (String cementCode : cementCodes) { for (String cementCode : cementCodes) {
List<SampleCheck> collect = sampleChecks List<SampleCheck> collect = sampleChecks
...@@ -694,9 +697,6 @@ public class StandardServiceImpl extends ServiceImpl<StandardMapper, Standard> i ...@@ -694,9 +697,6 @@ public class StandardServiceImpl extends ServiceImpl<StandardMapper, Standard> i
return rts; return rts;
} }
public static void main(String[] args) {
BigDecimal bigDecimal = new BigDecimal(111);
System.out.println(bigDecimal.toString());
}
} }
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