| 
					
				 | 
			
			
				@@ -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(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				             } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     } 
			 |