Commit 1542bba8 by lijingjing

修改复制问题;

parent 7003953c
......@@ -971,49 +971,53 @@ public class EntrustServiceImpl extends BaseServiceImpl<EntrustMapper, Entrust>
List<Entrust> entrustList = getBatchIds(Arrays.asList(ids));
RestAssert.fail(CollectionUtils.isEmpty(entrustList), "请选择要复制的委托记录");
// 循环遍历设置委托及其样品信息
List<Long> entrustIdList = new ArrayList<>();
List<EntrustSample> entrustSampleList = new ArrayList<>();
List<EntrustSampleItem> entrustSampleItemList = new ArrayList<>();
for (Entrust entrust : entrustList) {
// ==
List<EntrustSample> sampleList = entrustSampleService.list(Condition.create().eq("entrust_id", entrust.getId()).eq("deleted", 0));
List<EntrustSample> sampleList = entrustSampleService.list(Condition.create().eq("entrust_id", entrust.getId()).eq("type", 0));
if (CollectionUtils.isEmpty(sampleList)) {
continue;
}
entrust.setId(null);
entrust.setCode(null).setStatus(EntrustStatusEnum.DRAFT).setProgress(EntrustStatusEnum.DRAFT);
entrust.setUid(account.getUserId()).setCtime(new Date()).setLid(null).setLtime(null);
// 配置初始状态
String flowStatus = EntrustFlowEnum.DRAFT.getName();
if (StringUtils.isNotBlank(entrust.getStatusPath())) {
flowStatus = entrust.getStatusPath().split("->")[0];
}
entrust.setFlowStatus(flowStatus);
entrust.setCode(null).setStatus(EntrustStatusEnum.DRAFT).setProgress(EntrustStatusEnum.DRAFT)
.setFlowStatus(EntrustFlowEnum.DRAFT.getName())
.setUid(account.getUserId()).setCtime(new Date()).setLid(null).setLtime(null);
// 保存委托信息
saveEntrust(entrust);
entrustIdList.add(entrust.getId());
int sampleIndex = 0;
for (EntrustSample sample : sampleList) {
List<EntrustSampleItem> itemList = entrustSampleItemService.list(Condition.create().eq("entrust_sample_id", sample.getId()).eq("deleted", 0));
Long oldSampleId = sample.getId();
sample.setId(null);
sample.setId(IdWorker.getId());
sample.setCode(null);
//生成样品编号,可能存在为空的情况
initSampleCode(sample);
sample.setEntrustId(entrust.getId()).setOrderBy(sampleIndex).setStatus(EntrustSampleStatusEnum.DRAFT).setProgress(EntrustSampleStatusEnum.DRAFT)
.setOrderBy(sampleIndex).setOkJudge(null).setJudgerId(null).setJudgeProgress(null).setJudger(null).setJudgeStatus(null).setJudgeCheckTime(null)
.setJudgeCheckerId(null).setAppearanceResult(null).setSurplusSampleLimit(null).setReceiver(null).setReceiverId(null).setReceiveTime(null)
.setQualityRegistration(null).setUid(account.getUserId()).setCtime(new Date()).setLid(null).setLtime(null);
entrustSampleList.add(sample);
sampleIndex += 10;
//
List<EntrustSampleItem> itemList = entrustSampleItemService.list(Condition.create().eq("entrust_sample_id", oldSampleId).eq("deleted", 0));
if (CollectionUtils.isEmpty(itemList)) {
continue;
}
//生成样品编号,可能存在为空的情况
initSampleCode(sample);
sample.setId(null);
sample.setId(IdWorker.getId());
sample.setEntrustId(entrust.getId()).setOrderBy(sampleIndex);
sample.setStatus(EntrustSampleStatusEnum.DRAFT).setProgress(EntrustSampleStatusEnum.DRAFT);
sample.setUid(account.getUserId()).setCtime(new Date()).setLid(null).setLtime(null);
for (EntrustSampleItem item : itemList) {
item.setId(null);
item.setEntrustSampleId(sample.getId());
item.setStatus(EntrustSampleItemStatusEnum.DRAFT);
item.setProgress(EntrustSampleItemStatusEnum.DRAFT);
item.setUid(account.getUserId()).setCtime(new Date()).setLid(null).setLtime(null);
item.setEntrustSampleId(sample.getId()).setStatus(EntrustSampleItemStatusEnum.DRAFT)
.setProgress(EntrustSampleItemStatusEnum.DRAFT).setTesterId(null).setTester(null)
.setAgreedValue(null).setTestTime(null).setTestValue(null).setAuditor(null)
.setAuditorId(null).setAuditTime(null).setCheckTime(null).setChecker(null)
.setCheckerId(null).setPrice(null)
.setUid(account.getUserId()).setCtime(new Date()).setLid(null).setLtime(null);
entrustSampleItemList.add(item);
}
entrustSampleItemList.addAll(itemList);
sampleIndex += 1;
}
entrustSampleList.addAll(sampleList);
}
if (entrustSampleList.size() > 0) {
......@@ -1024,12 +1028,12 @@ public class EntrustServiceImpl extends BaseServiceImpl<EntrustMapper, Entrust>
entrustSampleItemService.saveBatch(entrustSampleItemList);
}
// 更新检测项目判定字段
for (Long entrustId : ids) {
for (Long entrustId : entrustIdList) {
entrustSampleItemService.updateItemComposeJudgeByEntrustId(entrustId);
}
// 操作记录
entrustRecordService.record(ids, EntrustStatusEnum.DRAFT.getDisplay(), EntrustStatusEnum.DRAFT.getDisplay(), 0, account, "复制初始化委托");
entrustRecordService.record(entrustIdList, EntrustStatusEnum.DRAFT.getDisplay(), EntrustStatusEnum.DRAFT.getDisplay(), 0, account, "复制初始化委托");
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