Commit 337db081 by lijingjing

委托样品编号去除空格

parent 6731583e
...@@ -44,6 +44,7 @@ import javax.servlet.http.HttpServletResponse; ...@@ -44,6 +44,7 @@ import javax.servlet.http.HttpServletResponse;
import java.io.*; import java.io.*;
import java.math.BigDecimal; import java.math.BigDecimal;
import java.util.*; import java.util.*;
import java.util.concurrent.CompletableFuture;
import java.util.concurrent.Executor; import java.util.concurrent.Executor;
import java.util.stream.Collectors; import java.util.stream.Collectors;
...@@ -409,77 +410,76 @@ public class EntrustServiceImpl extends BaseServiceImpl<EntrustMapper, Entrust> ...@@ -409,77 +410,76 @@ public class EntrustServiceImpl extends BaseServiceImpl<EntrustMapper, Entrust>
// 保存并提交委托时使用 // 保存并提交委托时使用
dto.setId(entrust.getId()); dto.setId(entrust.getId());
// == // ==
if (CollectionUtils.isNotEmpty(sampleDTOList)) { // 先对样品进行处理
// 先对样品进行处理 Set<String> sampleNames = new HashSet<>(), sampleCodes = new HashSet<>(), sampleSlots = new HashSet<>();
Set<String> sampleNames = new HashSet<>(), sampleCodes = new HashSet<>(), sampleSlots = new HashSet<>();
for (EntrustSampleDTO sampleDTO : sampleDTOList) {
String sname = sampleDTO.getName(), scode = sampleDTO.getCode(), slotNo = sampleDTO.getSlotNo();
sampleNames.add(sname);
RestAssert.fail(StringUtils.isNotBlank(scode) && sampleCodes.contains(scode), String.format("样品编号【%s】重复!", scode));
RestAssert.fail(StringUtils.isNotBlank(slotNo) && sampleSlots.contains(slotNo), String.format("样品槽号【%s】重复!", scode));
sampleCodes.add(scode);
sampleSlots.add(slotNo);
}
RestAssert.fail(sampleNames.size() > 1, "一个委托只能下同一种样品!");
List<EntrustSample> saveSampleList = new ArrayList<>(); for (EntrustSampleDTO sampleDTO : sampleDTOList) {
List<EntrustSampleItem> saveEntrustSampleItemList = new ArrayList<>(); String sname = sampleDTO.getName(), scode = sampleDTO.getCode(), slotNo = sampleDTO.getSlotNo();
List<Long> contractSampleIds = new ArrayList<>(); RestAssert.fail(StringUtils.isNotBlank(scode) && sampleCodes.contains(scode), String.format("样品编号【%s】重复!", scode));
int incNum = 10; RestAssert.fail(StringUtils.isNotBlank(slotNo) && sampleSlots.contains(slotNo), String.format("样品槽号【%s】重复!", scode));
for (EntrustSampleDTO sampleDTO : sampleDTOList) { sampleNames.add(sname);
if (null != sampleDTO.getContractSampleId()) { sampleCodes.add(scode);
contractSampleIds.add(sampleDTO.getContractSampleId()); sampleSlots.add(slotNo);
} }
EntrustSample sample = sampleDTO.convert(EntrustSample.class);
sample.setEntrustId(entrust.getId());
if (isSubmit) {
if (StringUtils.isBlank(sample.getCode())) {
handleSampleCode(entrust, sample);
}
if (StringUtils.isNotBlank(sample.getCode())) {
RestAssert.fail(entrustSampleService.isRepeatSampleCode(sample), String.format("样品编号【%s】重复!", sample.getCode()));
}
}
judgeSampleFields(sample, isSubmit);
sample.setId(IdWorker.getId());
sample.setOrderBy(incNum);
saveSampleList.add(sample);
incNum += 10;
List<EntrustSampleItem> experiments = sampleDTO.getItemList();
if (CollectionUtils.isEmpty(experiments)) {
continue;
}
for (EntrustSampleItem sampleItem : experiments) {
if (null != sampleItem.getPrice()) { RestAssert.fail(sampleNames.size() > 1, "一个委托只能下同一种样品!");
totalFee = totalFee.add(sampleItem.getPrice());
}
sampleItem.setEntrustSampleId(sample.getId()); List<EntrustSample> saveSampleList = new ArrayList<>();
sampleItem.setEntrustId(entrust.getId()); List<EntrustSampleItem> saveEntrustSampleItemList = new ArrayList<>();
saveEntrustSampleItemList.add(sampleItem); List<Long> contractSampleIds = new ArrayList<>();
} int incNum = 10;
} for (EntrustSampleDTO sampleDTO : sampleDTOList) {
//计算费用 if (null != sampleDTO.getContractSampleId()) {
entrust.setTotalFee(totalFee); contractSampleIds.add(sampleDTO.getContractSampleId());
//保存样品名称
entrust.setSampleName(sampleDTOList.get(0).getName());
if (null == entrust.getMaterialId()) {
entrust.setMaterialId(sampleDTOList.get(0).getMaterialId());
} }
saveEntrust(entrust); EntrustSample sample = sampleDTO.convert(EntrustSample.class);
if (CollectionUtils.isNotEmpty(saveSampleList)) { sample.setEntrustId(entrust.getId());
entrustSampleService.saveBatch(saveSampleList); if (isSubmit) {
if (StringUtils.isBlank(sample.getCode())) {
handleSampleCode(entrust, sample);
}
if (StringUtils.isNotBlank(sample.getCode())) {
sample.setCode(sample.getCode().trim());
RestAssert.fail(entrustSampleService.isRepeatSampleCode(sample), String.format("样品编号【%s】重复!", sample.getCode()));
}
} }
if (CollectionUtils.isNotEmpty(saveEntrustSampleItemList)) { judgeSampleFields(sample, isSubmit);
entrustSampleItemService.saveBatch(saveEntrustSampleItemList); sample.setId(IdWorker.getId());
sample.setOrderBy(incNum);
saveSampleList.add(sample);
incNum += 10;
List<EntrustSampleItem> experiments = sampleDTO.getItemList();
if (CollectionUtils.isEmpty(experiments)) {
continue;
} }
for (EntrustSampleItem sampleItem : experiments) {
// 更新备样entrust_id字段 if (null != sampleItem.getPrice()) {
entrustSampleBackupService.updateEntrustId(entrust.getId(), contractSampleIds); totalFee = totalFee.add(sampleItem.getPrice());
}
sampleItem.setEntrustSampleId(sample.getId());
sampleItem.setEntrustId(entrust.getId());
saveEntrustSampleItemList.add(sampleItem);
}
}
//计算费用
entrust.setTotalFee(totalFee);
//保存样品名称
entrust.setSampleName(sampleDTOList.get(0).getName());
if (null == entrust.getMaterialId()) {
entrust.setMaterialId(sampleDTOList.get(0).getMaterialId());
}
saveEntrust(entrust);
if (CollectionUtils.isNotEmpty(saveSampleList)) {
entrustSampleService.saveBatch(saveSampleList);
} }
if (CollectionUtils.isNotEmpty(saveEntrustSampleItemList)) {
entrustSampleItemService.saveBatch(saveEntrustSampleItemList);
}
// 更新备样entrust_id字段
entrustSampleBackupService.updateEntrustId(entrust.getId(), contractSampleIds);
return true; return true;
} }
...@@ -638,10 +638,10 @@ public class EntrustServiceImpl extends BaseServiceImpl<EntrustMapper, Entrust> ...@@ -638,10 +638,10 @@ public class EntrustServiceImpl extends BaseServiceImpl<EntrustMapper, Entrust>
for (EntrustSampleDTO sampleDTO : sampleList) { for (EntrustSampleDTO sampleDTO : sampleList) {
String sname = sampleDTO.getName(), scode = sampleDTO.getCode(), slotNo = sampleDTO.getSlotNo(); String sname = sampleDTO.getName(), scode = sampleDTO.getCode(), slotNo = sampleDTO.getSlotNo();
RestAssert.fail(StringUtils.isBlank(sname), "样品名称不能为空"); RestAssert.fail(StringUtils.isBlank(sname), "样品名称不能为空");
sampleNames.add(sname);
RestAssert.fail(StringUtils.isNotBlank(scode) && sampleCodes.contains(scode), String.format("样品编号【%s】重复!", scode)); RestAssert.fail(StringUtils.isNotBlank(scode) && sampleCodes.contains(scode), String.format("样品编号【%s】重复!", scode));
sampleCodes.add(scode);
RestAssert.fail(StringUtils.isNotBlank(slotNo) && sampleSlots.contains(slotNo), String.format("样品槽号【%s】重复!", slotNo)); RestAssert.fail(StringUtils.isNotBlank(slotNo) && sampleSlots.contains(slotNo), String.format("样品槽号【%s】重复!", slotNo));
sampleNames.add(sname);
sampleCodes.add(scode);
sampleSlots.add(slotNo); sampleSlots.add(slotNo);
} }
...@@ -671,6 +671,7 @@ public class EntrustServiceImpl extends BaseServiceImpl<EntrustMapper, Entrust> ...@@ -671,6 +671,7 @@ public class EntrustServiceImpl extends BaseServiceImpl<EntrustMapper, Entrust>
handleSampleCode(entrust, sample); handleSampleCode(entrust, sample);
} }
if (StringUtils.isNotBlank(sample.getCode())) { if (StringUtils.isNotBlank(sample.getCode())) {
sample.setCode(sample.getCode().trim());
RestAssert.fail(entrustSampleService.isRepeatSampleCode(sample), String.format("样品编号【%s】重复!", sample.getCode())); RestAssert.fail(entrustSampleService.isRepeatSampleCode(sample), String.format("样品编号【%s】重复!", sample.getCode()));
} }
} }
...@@ -716,11 +717,9 @@ public class EntrustServiceImpl extends BaseServiceImpl<EntrustMapper, Entrust> ...@@ -716,11 +717,9 @@ public class EntrustServiceImpl extends BaseServiceImpl<EntrustMapper, Entrust>
entrustSampleItemService.updateItemComposeJudgeByEntrustId(entrust.getId()); entrustSampleItemService.updateItemComposeJudgeByEntrustId(entrust.getId());
executor1.execute(new Runnable() { CompletableFuture.runAsync(() -> {
@Override // 委托费用
public void run() { calTotalFee(entrust.getId());
calTotalFee(entrust.getId());
}
}); });
return true; return true;
......
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