|
@@ -31,10 +31,7 @@ import org.springframework.beans.BeanUtils;
|
|
|
import org.springframework.stereotype.Service;
|
|
|
import org.springframework.transaction.annotation.Transactional;
|
|
|
|
|
|
-import java.util.ArrayList;
|
|
|
-import java.util.List;
|
|
|
-import java.util.Map;
|
|
|
-import java.util.Objects;
|
|
|
+import java.util.*;
|
|
|
import java.util.function.Function;
|
|
|
import java.util.stream.Collectors;
|
|
|
|
|
@@ -152,9 +149,23 @@ public class ContractTemplateLogic {
|
|
|
.list();
|
|
|
|
|
|
if (CollectionUtil.isNotEmpty(signItems)) {
|
|
|
+ final List<WebsitContractSignRecord> signRecords = websitContractSignRecordService.lambdaQuery()
|
|
|
+ .select(WebsitContractSignRecord::getId)
|
|
|
+ .in(WebsitContractSignRecord::getId, signItems.stream()
|
|
|
+ .map(WebsitContractSignItem::getWebsitContractSignRecordId)
|
|
|
+ .collect(Collectors.toList()))
|
|
|
+ .in(WebsitContractSignRecord::getStatus, SignContractStatusEnum.WAIT.getKey(), SignContractStatusEnum.OK.getKey())
|
|
|
+ .list();
|
|
|
+ final Set<String> recordSet = signRecords.stream().map(WebsitContractSignRecord::getId).collect(Collectors.toSet());
|
|
|
List<WebsitContractSignItem> signItemList = new ArrayList<>();
|
|
|
List<WebsitContractSignField> signFieldList = new ArrayList<>();
|
|
|
for (WebsitContractSignItem signItem : signItems) {
|
|
|
+ if (CollectionUtil.isEmpty(recordSet)) {
|
|
|
+ continue;
|
|
|
+ }
|
|
|
+ if (!recordSet.contains(signItem.getWebsitContractSignRecordId())) {
|
|
|
+ continue;
|
|
|
+ }
|
|
|
WebsitContractSignItem contractSignItem = new WebsitContractSignItem();
|
|
|
contractSignItem.setId(IdWorker.getIdStr())
|
|
|
.setWebsitContractSignRecordId(signItem.getWebsitContractSignRecordId())
|
|
@@ -175,31 +186,39 @@ public class ContractTemplateLogic {
|
|
|
.setPartyASignFiled(contractTemplate.getPartyASignFiled());
|
|
|
signItemList.add(contractSignItem);
|
|
|
}
|
|
|
- // 遍历网点合同签约明细找出填充字段配置
|
|
|
- for (WebsitContractSignItem contractSignItem : signItemList) {
|
|
|
- final List<ContractTemplateField> templateFieldList = contractTemplateFieldService.lambdaQuery()
|
|
|
- .eq(ContractTemplateField::getContractTemplateId, contractSignItem.getContractTemplateId())
|
|
|
- .list();
|
|
|
- for (ContractTemplateField templateField : templateFieldList) {
|
|
|
- WebsitContractSignField field = new WebsitContractSignField();
|
|
|
- field.setWebsitContractSignRecordId(contractSignItem.getWebsitContractSignRecordId())
|
|
|
- .setWebsitContractSignItemId(contractSignItem.getId())
|
|
|
- .setFieldType(templateField.getFieldType())
|
|
|
- .setFieldName(templateField.getFieldName())
|
|
|
- .setFieldValue(templateField.getFieldValue());
|
|
|
- signFieldList.add(field);
|
|
|
+ if (CollectionUtil.isNotEmpty(signItemList)) {
|
|
|
+ // 遍历网点合同签约明细找出填充字段配置
|
|
|
+ for (WebsitContractSignItem contractSignItem : signItemList) {
|
|
|
+ final List<ContractTemplateField> templateFieldList = contractTemplateFieldService.lambdaQuery()
|
|
|
+ .eq(ContractTemplateField::getContractTemplateId, contractSignItem.getContractTemplateId())
|
|
|
+ .list();
|
|
|
+ for (ContractTemplateField templateField : templateFieldList) {
|
|
|
+ WebsitContractSignField field = new WebsitContractSignField();
|
|
|
+ field.setWebsitContractSignRecordId(contractSignItem.getWebsitContractSignRecordId())
|
|
|
+ .setWebsitContractSignItemId(contractSignItem.getId())
|
|
|
+ .setFieldType(templateField.getFieldType())
|
|
|
+ .setFieldName(templateField.getFieldName())
|
|
|
+ .setFieldValue(templateField.getFieldValue());
|
|
|
+ signFieldList.add(field);
|
|
|
+ }
|
|
|
}
|
|
|
}
|
|
|
|
|
|
- websitContractSignItemService.saveBatch(signItemList);
|
|
|
- websitContractSignFieldService.saveBatch(signFieldList);
|
|
|
+ if (CollectionUtil.isNotEmpty(signItemList)) {
|
|
|
+ websitContractSignItemService.saveBatch(signItemList);
|
|
|
+
|
|
|
+ websitContractSignRecordService.lambdaUpdate()
|
|
|
+ .set(WebsitContractSignRecord::getStatus, SignContractStatusEnum.WAIT_SIGN.getKey())
|
|
|
+ .in(WebsitContractSignRecord::getId, signItems.stream()
|
|
|
+ .map(WebsitContractSignItem::getWebsitContractSignRecordId)
|
|
|
+ .collect(Collectors.toList()))
|
|
|
+ .in(WebsitContractSignRecord::getStatus, SignContractStatusEnum.WAIT.getKey(), SignContractStatusEnum.OK.getKey())
|
|
|
+ .update();
|
|
|
+ }
|
|
|
+ if (CollectionUtil.isNotEmpty(signFieldList)) {
|
|
|
+ websitContractSignFieldService.saveBatch(signFieldList);
|
|
|
+ }
|
|
|
|
|
|
- websitContractSignRecordService.lambdaUpdate()
|
|
|
- .set(WebsitContractSignRecord::getStatus, SignContractStatusEnum.WAIT_SIGN.getKey())
|
|
|
- .in(WebsitContractSignRecord::getId, signItems.stream()
|
|
|
- .map(WebsitContractSignItem::getWebsitContractSignRecordId)
|
|
|
- .collect(Collectors.toList()))
|
|
|
- .update();
|
|
|
}
|
|
|
}
|
|
|
}
|