Commit 77a00448 authored by 竹天卫's avatar 竹天卫

委托 平行样可以派发给三个以上的人检测

parent df036b76
...@@ -33,6 +33,12 @@ public class SampleCheckVo { ...@@ -33,6 +33,12 @@ public class SampleCheckVo {
@ApiModelProperty("检测组名称") @ApiModelProperty("检测组名称")
private String teamGroupName; private String teamGroupName;
@ApiModelProperty("主样校核计算结果json串")
private String mainMap;
@ApiModelProperty("次样校核计算结果json串")
private String secondaryMap;
@ApiModelProperty("最终校核计算结果json串") @ApiModelProperty("最终校核计算结果json串")
private String countResult; private String countResult;
......
...@@ -59,7 +59,7 @@ public class CommonServiceImpl { ...@@ -59,7 +59,7 @@ public class CommonServiceImpl {
Integer counts = Integer.parseInt(cementCodes[1])+1; Integer counts = Integer.parseInt(cementCodes[1])+1;
String tailNo = counts<10?("000"+counts): String tailNo = counts<10?("000"+counts):
counts<100?("00"+counts): counts<100?("00"+counts):
counts<1000?("000"+counts): counts<1000?("0"+counts):
String.valueOf(counts); String.valueOf(counts);
String resultCode = cementCodes[0]+"-"+tailNo; String resultCode = cementCodes[0]+"-"+tailNo;
return resultCode; return resultCode;
...@@ -95,7 +95,7 @@ public class CommonServiceImpl { ...@@ -95,7 +95,7 @@ public class CommonServiceImpl {
public String getCementCode(Integer counts){ public String getCementCode(Integer counts){
String tailNo = counts<10?("000"+counts): String tailNo = counts<10?("000"+counts):
counts<100?("00"+counts): counts<100?("00"+counts):
counts<1000?("000"+counts): counts<1000?("0"+counts):
String.valueOf(counts); String.valueOf(counts);
return tailNo; return tailNo;
} }
......
...@@ -773,20 +773,23 @@ public class EntrustServiceImpl extends ServiceImpl<EntrustMapper, Entrust> impl ...@@ -773,20 +773,23 @@ public class EntrustServiceImpl extends ServiceImpl<EntrustMapper, Entrust> impl
} }
if (query.getSampleList() != null && query.getSampleList().size() > 0) { if (query.getSampleList() != null && query.getSampleList().size() > 0) {
List<Sample> sampleList = new ArrayList<>(); List<Sample> sampleList = new ArrayList<>();
QueryWrapper<Sample> sampleQueryWrapper = new QueryWrapper<>();
String maxCementCode = ""; //最大本所编号对应的平行样编号 String maxCementCode = ""; //最大本所编号对应的平行样编号
//当前平行样编号最大值
Integer integerMaxCode = commonService.getIntegerCode(getMaxCementCode().getData()); Integer integerMaxCode = commonService.getIntegerCode(getMaxCementCode().getData());
for (SampleQuery sampleQuery : query.getSampleList()) { for (SampleQuery sampleQuery : query.getSampleList()) {
if (StringUtils.isEmpty(sampleQuery.getCementCode())) { if (StringUtils.isEmpty(sampleQuery.getCementCode())) {
return BaseResponse.errorMsg("本所编号不能为空"); return BaseResponse.errorMsg("本所编号不能为空");
} }
//前端传入的本所编号
Integer cementCodeInteger = commonService.getIntegerCode(sampleQuery.getCementCode()); Integer cementCodeInteger = commonService.getIntegerCode(sampleQuery.getCementCode());
if (cementCodeInteger <= integerMaxCode) { if (cementCodeInteger <= integerMaxCode) {
return BaseResponse.errorMsg("本所编号必须大于最大值"); return BaseResponse.errorMsg("本所编号必须大于最大值");
} }
integerMaxCode = cementCodeInteger > integerMaxCode ? cementCodeInteger : integerMaxCode; if(sampleQuery.getIsParallel() == null){
String yearStr = commonService.getIntegerYear(maxCementCode); return BaseResponse.errorMsg("请选择是否需要平行样");
maxCementCode = yearStr + "-" + commonService.getCementCode(integerMaxCode); }
if (sampleQuery.getIsParallel() == 0) { //非平行样
maxCementCode = sampleQuery.getCementCode();
Sample sample = new Sample(); Sample sample = new Sample();
BeanUtils.copyProperties(sampleQuery, sample); BeanUtils.copyProperties(sampleQuery, sample);
sample.setId(null) sample.setId(null)
...@@ -795,23 +798,32 @@ public class EntrustServiceImpl extends ServiceImpl<EntrustMapper, Entrust> impl ...@@ -795,23 +798,32 @@ public class EntrustServiceImpl extends ServiceImpl<EntrustMapper, Entrust> impl
.setCreateTime(LocalDateTime.now()) .setCreateTime(LocalDateTime.now())
.setIsHandle(0)//样品处理未完成状态 .setIsHandle(0)//样品处理未完成状态
.setIsDistribution(0)//任务派发未完成状态 .setIsDistribution(0)//任务派发未完成状态
.setIsCheck(0);//样品校核未完成状态 .setIsCheck(0)//样品校核未完成状态
if (sampleQuery.getIsParallel() == 1) { //平行样 .setParallelCode(sampleQuery.getCementCode());
//生成平行样编号 (如果是平行样,会生成两条记录,本所编号是相同的,
// 第一个平行样编号和本所编号相同,第二个平行样的平行样编号会在本所编号上+1)
sample.setParallelCode(sampleQuery.getCementCode());
sampleList.add(sample); sampleList.add(sample);
Sample sample2 = new Sample(); }else{ //是平行样
BeanUtils.copyProperties(sample, sample2); if (sampleQuery.getIsParallel() < 2 ){
sample2.setParallelCode(commonService.createParallelCode(sampleQuery.getCementCode())); return BaseResponse.errorMsg("平行样数量至少2条");
sampleList.add(sample2); }
maxCementCode = sample2.getParallelCode(); if (sampleQuery.getIsParallel() > 4 ){
} else if (sampleQuery.getIsParallel() == 0) { //非平行样 return BaseResponse.errorMsg("平行样数量最多4条");
//如果不是平行样,本所编号和平行样编号是相同的。且就一条记录 }
sample.setParallelCode(sampleQuery.getCementCode()); for(int i=0; i<sampleQuery.getIsParallel(); i++){
integerMaxCode = cementCodeInteger > integerMaxCode ? cementCodeInteger : integerMaxCode+1;
String yearStr = commonService.getIntegerYear(sampleQuery.getCementCode());
maxCementCode = yearStr + "-" + commonService.getCementCode(integerMaxCode);
Sample sample = new Sample();
BeanUtils.copyProperties(sampleQuery, sample);
sample.setId(null)
.setSampleId(sampleQuery.getId())
.setStatus(0) //样品状态为未领用状态
.setCreateTime(LocalDateTime.now())
.setIsHandle(0)//样品处理未完成状态
.setIsDistribution(0)//任务派发未完成状态
.setIsCheck(0)//样品校核未完成状态
.setParallelCode(maxCementCode);
sampleList.add(sample); sampleList.add(sample);
} else { }
return BaseResponse.errorMsg("请选择是否需要平行样");
} }
} }
sampleService.saveBatch(sampleList); sampleService.saveBatch(sampleList);
...@@ -1380,23 +1392,6 @@ public class EntrustServiceImpl extends ServiceImpl<EntrustMapper, Entrust> impl ...@@ -1380,23 +1392,6 @@ public class EntrustServiceImpl extends ServiceImpl<EntrustMapper, Entrust> impl
BeanUtils.copyProperties(sample, sampleVo); BeanUtils.copyProperties(sample, sampleVo);
List<SampleDistributionTeamVo> sampleDistributionTeamVoList = List<SampleDistributionTeamVo> sampleDistributionTeamVoList =
distributionMapper.getDistributionTeamList(sample.getId(), loginUser.getId()); distributionMapper.getDistributionTeamList(sample.getId(), loginUser.getId());
//判断是否为平行样
/* List<SampleDistributionTeamVo> sampleDistributionTeamVoList = null;
if (sample.getIsParallel() == 0) {
//检测人员只能看到自己则的检测内容
sampleDistributionTeamVoList =
distributionMapper.getDistributionTeamList(sample.getId(), null, loginUser.getId());
} else if (sample.getIsParallel() == 1) {
List<Sample> sampleList1 = sampleMapper.getByCementCode(entrust.getId(), sample.getCementCode());
//检测人员只能看到自己则的检测内容
if (sampleList1.size() == 2) {
sampleDistributionTeamVoList =
distributionMapper.getDistributionTeamList(sampleList1.get(0).getId(), sampleList1.get(1).getId(), loginUser.getId());
} else {
sampleDistributionTeamVoList =
distributionMapper.getDistributionTeamList(sample.getId(), null, loginUser.getId());
}
}*/
if (sampleDistributionTeamVoList != null && sampleDistributionTeamVoList.size() > 0) { if (sampleDistributionTeamVoList != null && sampleDistributionTeamVoList.size() > 0) {
sampleVo.setSampleDistributionTeamVoList(sampleDistributionTeamVoList); sampleVo.setSampleDistributionTeamVoList(sampleDistributionTeamVoList);
for (SampleDistributionTeamVo sdVo : sampleDistributionTeamVoList) { for (SampleDistributionTeamVo sdVo : sampleDistributionTeamVoList) {
...@@ -1757,6 +1752,8 @@ public class EntrustServiceImpl extends ServiceImpl<EntrustMapper, Entrust> impl ...@@ -1757,6 +1752,8 @@ public class EntrustServiceImpl extends ServiceImpl<EntrustMapper, Entrust> impl
sampleCheckVo.setCementCode(cementCode); sampleCheckVo.setCementCode(cementCode);
sampleCheckVo.setTeamGroupId(sampleCheck.getTeamGroupId()); sampleCheckVo.setTeamGroupId(sampleCheck.getTeamGroupId());
sampleCheckVo.setTeamGroupName(sampleCheck.getTeamGroupName()); sampleCheckVo.setTeamGroupName(sampleCheck.getTeamGroupName());
sampleCheckVo.setMainMap(sampleCheck.getMainMap());
sampleCheckVo.setSecondaryMap(sampleCheck.getSecondaryMap());
sampleCheckVo.setCountResult(sampleCheck.getCountResult()); sampleCheckVo.setCountResult(sampleCheck.getCountResult());
sampleCheckVo.setIsParallel(sampleOne.getIsParallel()); sampleCheckVo.setIsParallel(sampleOne.getIsParallel());
QueryWrapper<SampleCheckTeam> sampleCheckTeamQW = new QueryWrapper<>(); QueryWrapper<SampleCheckTeam> sampleCheckTeamQW = new QueryWrapper<>();
......
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