Commit 337db081 by lijingjing

委托样品编号去除空格

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