|
@@ -20,12 +20,8 @@ import com.gree.mall.manager.enums.material.StateEnum;
|
|
|
import com.gree.mall.manager.exception.RemoteServiceException;
|
|
|
import com.gree.mall.manager.logic.common.CommonLogic;
|
|
|
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.oss.OSSUtil;
|
|
|
import com.gree.mall.manager.zfire.bean.ZfireParamBean;
|
|
|
import com.gree.mall.manager.zfire.util.FieldUtils;
|
|
|
import lombok.RequiredArgsConstructor;
|
|
@@ -35,7 +31,10 @@ import org.springframework.beans.BeanUtils;
|
|
|
import org.springframework.stereotype.Service;
|
|
|
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.stream.Collectors;
|
|
|
|
|
@@ -48,9 +47,10 @@ public class ContractTemplateLogic {
|
|
|
private final ContractTemplateService contractTemplateService;
|
|
|
private final ContractWebsitService contractWebsitService;
|
|
|
private final ContractTemplateFieldService contractTemplateFieldService;
|
|
|
- private final AdminWebsitService adminWebsitService;
|
|
|
- private final OSSUtil ossUtil;
|
|
|
private final WebsitMapper websitMapper;
|
|
|
+ private final WebsitContractSignRecordService websitContractSignRecordService;
|
|
|
+ private final WebsitContractSignItemService websitContractSignItemService;
|
|
|
+ private final WebsitContractSignFieldService websitContractSignFieldService;
|
|
|
|
|
|
public IPage<ContractTemplateVO> list(ZfireParamBean zfireParamBean) {
|
|
|
AdminUserCom adminUser = commonLogic.getAdminUser();
|
|
@@ -141,6 +141,67 @@ public class ContractTemplateLogic {
|
|
|
.setId(IdWorker.getIdStr()))
|
|
|
.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
|