| 
														
															@@ -20,12 +20,8 @@ import com.gree.mall.manager.enums.material.StateEnum; 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 import com.gree.mall.manager.exception.RemoteServiceException; 
														 | 
														
														 | 
														
															 import com.gree.mall.manager.exception.RemoteServiceException; 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 import com.gree.mall.manager.logic.common.CommonLogic; 
														 | 
														
														 | 
														
															 import com.gree.mall.manager.logic.common.CommonLogic; 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 import com.gree.mall.manager.plus.entity.*; 
														 | 
														
														 | 
														
															 import com.gree.mall.manager.plus.entity.*; 
														 | 
													
												
											
												
													
														| 
														 | 
														
															-import com.gree.mall.manager.plus.service.AdminWebsitService; 
														 | 
														
														 | 
														
															 
														 | 
													
												
											
												
													
														| 
														 | 
														
															-import com.gree.mall.manager.plus.service.ContractTemplateFieldService; 
														 | 
														
														 | 
														
															 
														 | 
													
												
											
												
													
														| 
														 | 
														
															-import com.gree.mall.manager.plus.service.ContractTemplateService; 
														 | 
														
														 | 
														
															 
														 | 
													
												
											
												
													
														| 
														 | 
														
															-import com.gree.mall.manager.plus.service.ContractWebsitService; 
														 | 
														
														 | 
														
															 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 
														 | 
														
														 | 
														
															+import com.gree.mall.manager.plus.service.*; 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 import com.gree.mall.manager.utils.fadada.Auth4FDDUtil; 
														 | 
														
														 | 
														
															 import com.gree.mall.manager.utils.fadada.Auth4FDDUtil; 
														 | 
													
												
											
												
													
														| 
														 | 
														
															-import com.gree.mall.manager.utils.oss.OSSUtil; 
														 | 
														
														 | 
														
															 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 import com.gree.mall.manager.zfire.bean.ZfireParamBean; 
														 | 
														
														 | 
														
															 import com.gree.mall.manager.zfire.bean.ZfireParamBean; 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 import com.gree.mall.manager.zfire.util.FieldUtils; 
														 | 
														
														 | 
														
															 import com.gree.mall.manager.zfire.util.FieldUtils; 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 import lombok.RequiredArgsConstructor; 
														 | 
														
														 | 
														
															 import lombok.RequiredArgsConstructor; 
														 | 
													
												
											
										
											
												
													
														 | 
														
															@@ -35,7 +31,10 @@ import org.springframework.beans.BeanUtils; 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 import org.springframework.stereotype.Service; 
														 | 
														
														 | 
														
															 import org.springframework.stereotype.Service; 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 import org.springframework.transaction.annotation.Transactional; 
														 | 
														
														 | 
														
															 import org.springframework.transaction.annotation.Transactional; 
														 | 
													
												
											
												
													
														| 
														 | 
														
															  
														 | 
														
														 | 
														
															  
														 | 
													
												
											
												
													
														| 
														 | 
														
															-import java.util.*; 
														 | 
														
														 | 
														
															 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 
														 | 
														
														 | 
														
															+import java.util.ArrayList; 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 
														 | 
														
														 | 
														
															+import java.util.List; 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 
														 | 
														
														 | 
														
															+import java.util.Map; 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 
														 | 
														
														 | 
														
															+import java.util.Objects; 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 import java.util.function.Function; 
														 | 
														
														 | 
														
															 import java.util.function.Function; 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 import java.util.stream.Collectors; 
														 | 
														
														 | 
														
															 import java.util.stream.Collectors; 
														 | 
													
												
											
												
													
														| 
														 | 
														
															  
														 | 
														
														 | 
														
															  
														 | 
													
												
											
										
											
												
													
														 | 
														
															@@ -48,9 +47,10 @@ public class ContractTemplateLogic { 
														 | 
													
												
											
												
													
														| 
														 | 
														
															     private final ContractTemplateService contractTemplateService; 
														 | 
														
														 | 
														
															     private final ContractTemplateService contractTemplateService; 
														 | 
													
												
											
												
													
														| 
														 | 
														
															     private final ContractWebsitService contractWebsitService; 
														 | 
														
														 | 
														
															     private final ContractWebsitService contractWebsitService; 
														 | 
													
												
											
												
													
														| 
														 | 
														
															     private final ContractTemplateFieldService contractTemplateFieldService; 
														 | 
														
														 | 
														
															     private final ContractTemplateFieldService contractTemplateFieldService; 
														 | 
													
												
											
												
													
														| 
														 | 
														
															-    private final AdminWebsitService adminWebsitService; 
														 | 
														
														 | 
														
															 
														 | 
													
												
											
												
													
														| 
														 | 
														
															-    private final OSSUtil ossUtil; 
														 | 
														
														 | 
														
															 
														 | 
													
												
											
												
													
														| 
														 | 
														
															     private final WebsitMapper websitMapper; 
														 | 
														
														 | 
														
															     private final WebsitMapper websitMapper; 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 
														 | 
														
														 | 
														
															+    private final WebsitContractSignRecordService websitContractSignRecordService; 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 
														 | 
														
														 | 
														
															+    private final WebsitContractSignItemService websitContractSignItemService; 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 
														 | 
														
														 | 
														
															+    private final WebsitContractSignFieldService websitContractSignFieldService; 
														 | 
													
												
											
												
													
														| 
														 | 
														
															  
														 | 
														
														 | 
														
															  
														 | 
													
												
											
												
													
														| 
														 | 
														
															     public IPage<ContractTemplateVO> list(ZfireParamBean zfireParamBean) { 
														 | 
														
														 | 
														
															     public IPage<ContractTemplateVO> list(ZfireParamBean zfireParamBean) { 
														 | 
													
												
											
												
													
														| 
														 | 
														
															         AdminUserCom adminUser = commonLogic.getAdminUser(); 
														 | 
														
														 | 
														
															         AdminUserCom adminUser = commonLogic.getAdminUser(); 
														 | 
													
												
											
										
											
												
													
														 | 
														
															@@ -141,6 +141,67 @@ public class ContractTemplateLogic { 
														 | 
													
												
											
												
													
														| 
														 | 
														
															                             .setId(IdWorker.getIdStr())) 
														 | 
														
														 | 
														
															                             .setId(IdWorker.getIdStr())) 
														 | 
													
												
											
												
													
														| 
														 | 
														
															                     .collect(Collectors.toList())); 
														 | 
														
														 | 
														
															                     .collect(Collectors.toList())); 
														 | 
													
												
											
												
													
														| 
														 | 
														
															         } 
														 | 
														
														 | 
														
															         } 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 
														 | 
														
														 | 
														
															+ 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 
														 | 
														
														 | 
														
															+        // 检查附件所属合同是否有签约记录 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 
														 | 
														
														 | 
														
															+        if (contractTemplate.getContractType().equals(ContractTypeEnum.FOLLOW.getKey()) 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 
														 | 
														
														 | 
														
															+                && StringUtils.isNotBlank(contractTemplate.getFollowContractTemplateId())) { 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 
														 | 
														
														 | 
														
															+            final List<WebsitContractSignItem> signItems = websitContractSignItemService.lambdaQuery() 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 
														 | 
														
														 | 
														
															+                    .eq(WebsitContractSignItem::getContractTemplateId, contractTemplate.getFollowContractTemplateId()) 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 
														 | 
														
														 | 
														
															+                    .in(WebsitContractSignItem::getContractStatus, SignContractStatusEnum.WAIT_SIGN.getKey(), SignContractStatusEnum.OK.getKey()) 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 
														 | 
														
														 | 
														
															+                    .groupBy(WebsitContractSignItem::getWebsitContractSignRecordId) 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 
														 | 
														
														 | 
														
															+                    .list(); 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 
														 | 
														
														 | 
														
															+ 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 
														 | 
														
														 | 
														
															+            if (CollectionUtil.isNotEmpty(signItems)) { 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 
														 | 
														
														 | 
														
															+                List<WebsitContractSignItem> signItemList = new ArrayList<>(); 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 
														 | 
														
														 | 
														
															+                List<WebsitContractSignField> signFieldList = new ArrayList<>(); 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 
														 | 
														
														 | 
														
															+                for (WebsitContractSignItem signItem : signItems) { 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 
														 | 
														
														 | 
														
															+                    WebsitContractSignItem contractSignItem = new WebsitContractSignItem(); 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 
														 | 
														
														 | 
														
															+                    contractSignItem.setId(IdWorker.getIdStr()) 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 
														 | 
														
														 | 
														
															+                            .setWebsitContractSignRecordId(signItem.getWebsitContractSignRecordId()) 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 
														 | 
														
														 | 
														
															+                            .setContractName(contractTemplate.getContractTemplateName()) 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 
														 | 
														
														 | 
														
															+                            .setContractTemplatePdf(contractTemplate.getContractTemplatePdf()) 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 
														 | 
														
														 | 
														
															+                            .setContractType(contractTemplate.getContractType()) 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 
														 | 
														
														 | 
														
															+                            .setContractStatus(SignContractStatusEnum.WAIT_SIGN.getKey()) 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 
														 | 
														
														 | 
														
															+                            .setValidDate(contractTemplate.getValidDate()) 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 
														 | 
														
														 | 
														
															+                            .setExpireDate(contractTemplate.getExpireDate()) 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 
														 | 
														
														 | 
														
															+                            .setContractTemplateId(contractTemplate.getContractTemplateId()) 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 
														 | 
														
														 | 
														
															+                            .setFadadaTemplateId(contractTemplate.getFadadaTemplateId()) 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 
														 | 
														
														 | 
														
															+                            .setNeedCompanySign(contractTemplate.getNeedCompanySign()) 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 
														 | 
														
														 | 
														
															+                            .setNeedManagerSign(contractTemplate.getNeedManagerSign()) 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 
														 | 
														
														 | 
														
															+                            .setNeedPartyASign(contractTemplate.getNeedPartyASign()) 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 
														 | 
														
														 | 
														
															+                            .setCaCustomerId(signItem.getCaCustomerId()) 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 
														 | 
														
														 | 
														
															+                            .setCompanySignFiled(contractTemplate.getCompanySignFiled()) 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 
														 | 
														
														 | 
														
															+                            .setManagerSignField(contractTemplate.getManagerSignField()) 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 
														 | 
														
														 | 
														
															+                            .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); 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 
														 | 
														
														 | 
														
															+                    } 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 
														 | 
														
														 | 
														
															+                } 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 
														 | 
														
														 | 
														
															+ 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 
														 | 
														
														 | 
														
															+                websitContractSignItemService.saveBatch(signItemList); 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 
														 | 
														
														 | 
														
															+                websitContractSignFieldService.saveBatch(signFieldList); 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 
														 | 
														
														 | 
														
															+ 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 
														 | 
														
														 | 
														
															+                websitContractSignRecordService.lambdaUpdate() 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 
														 | 
														
														 | 
														
															+                        .set(WebsitContractSignRecord::getStatus, SignContractStatusEnum.WAIT_SIGN.getKey()) 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 
														 | 
														
														 | 
														
															+                        .in(WebsitContractSignRecord::getId, signItems.stream() 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 
														 | 
														
														 | 
														
															+                                .map(WebsitContractSignItem::getWebsitContractSignRecordId) 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 
														 | 
														
														 | 
														
															+                                .collect(Collectors.toList())) 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 
														 | 
														
														 | 
														
															+                        .update(); 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 
														 | 
														
														 | 
														
															+            } 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 
														 | 
														
														 | 
														
															+        } 
														 | 
													
												
											
												
													
														| 
														 | 
														
															     } 
														 | 
														
														 | 
														
															     } 
														 | 
													
												
											
												
													
														| 
														 | 
														
															  
														 | 
														
														 | 
														
															  
														 | 
													
												
											
												
													
														| 
														 | 
														
															     @Transactional 
														 | 
														
														 | 
														
															     @Transactional 
														 |