|
|
@@ -174,134 +174,147 @@ public class AdminUserLogic {
|
|
|
*/
|
|
|
private void checkWebsitLevel2(AdminUser adminUser, AdminUserCom adminUserCom) {
|
|
|
adminUserCom.setIsJumpSign(false);
|
|
|
- if (CollectionUtil.isNotEmpty(adminUserCom.getAdminWebsitIds()) && adminUserCom.getAdminWebsitIds().size() == 1) {
|
|
|
- final AdminWebsit websit = adminWebsitService.getById(adminUserCom.getAdminWebsitIds().get(0));
|
|
|
- // 二级网点
|
|
|
- if (websit.getLevel() == 2) {
|
|
|
- Integer existCount = websitContractSignRecordService.lambdaQuery()
|
|
|
- .eq(WebsitContractSignRecord::getWebsitId, websit.getWebsitId())
|
|
|
- .eq(WebsitContractSignRecord::getStatus, SignContractStatusEnum.OK.getKey())
|
|
|
- .ge(WebsitContractSignRecord::getSignOverTime, DateUtil.formatDateTime(DateUtil.date()))
|
|
|
- .count();
|
|
|
- // 没有签成功并且审核通过未过期的记录,进行下一步检查
|
|
|
- if (existCount == 0) {
|
|
|
- // 查询是否有状态为待签约或待审核的
|
|
|
- existCount = websitContractSignRecordService.lambdaQuery()
|
|
|
+ if (adminUser.getIsMaster()
|
|
|
+ && adminUser.getType() == 0
|
|
|
+ && CollectionUtil.isNotEmpty(adminUserCom.getAdminWebsitIds())) {
|
|
|
+ for (String adminWebsitId : adminUserCom.getAdminWebsitIds()) {
|
|
|
+ final AdminWebsit websit = adminWebsitService.getById(adminWebsitId);
|
|
|
+ // 二级网点
|
|
|
+ if (websit.getLevel() == 2) {
|
|
|
+ Integer existCount = websitContractSignRecordService.lambdaQuery()
|
|
|
.eq(WebsitContractSignRecord::getWebsitId, websit.getWebsitId())
|
|
|
- .in(WebsitContractSignRecord::getStatus, SignContractStatusEnum.WAIT_SIGN.getKey(), SignContractStatusEnum.WAIT.getKey())
|
|
|
+ .eq(WebsitContractSignRecord::getStatus, SignContractStatusEnum.OK.getKey())
|
|
|
.ge(WebsitContractSignRecord::getSignOverTime, DateUtil.formatDateTime(DateUtil.date()))
|
|
|
- .isNull(WebsitContractSignRecord::getCancelTime)
|
|
|
.count();
|
|
|
+ log.info("没有签成功并且审核通过未过期的记录,进行下一步检查{}", existCount);
|
|
|
+ // 没有签成功并且审核通过未过期的记录,进行下一步检查
|
|
|
if (existCount == 0) {
|
|
|
- List<ContractTemplate> contractList = commonMapper.queryNeedContract(adminUser.getCompanyWechatId(), websit.getWebsitId(), DateUtil.date());
|
|
|
- if (CollectionUtil.isEmpty(contractList)) {
|
|
|
+ // 查询是否有状态为待签约或待审核的
|
|
|
+ existCount = websitContractSignRecordService.lambdaQuery()
|
|
|
+ .eq(WebsitContractSignRecord::getWebsitId, websit.getWebsitId())
|
|
|
+ .in(WebsitContractSignRecord::getStatus, SignContractStatusEnum.WAIT_SIGN.getKey(), SignContractStatusEnum.WAIT.getKey())
|
|
|
+ .ge(WebsitContractSignRecord::getSignOverTime, DateUtil.formatDateTime(DateUtil.date()))
|
|
|
+ .isNull(WebsitContractSignRecord::getCancelTime)
|
|
|
+ .count();
|
|
|
+ log.info("查询是否有状态为待签约或待审核的{}", existCount);
|
|
|
+ if (existCount == 0) {
|
|
|
+ List<ContractTemplate> contractList = commonMapper.queryNeedContract(adminUser.getCompanyWechatId(), websit.getWebsitId(), DateUtil.date());
|
|
|
+ if (CollectionUtil.isEmpty(contractList)) {
|
|
|
// adminUserCom.setContractSignInfo("未发现网点需要签约合同,请联系管理员处理");
|
|
|
- } else if (CollectionUtil.isNotEmpty(contractList) && contractList.size() > 1) {
|
|
|
- adminUserCom.setContractSignInfo("发现网点需要签约合同多份,请联系管理员处理");
|
|
|
- } else {
|
|
|
- adminUserCom.setIsJumpSign(true);
|
|
|
- final WebsitFollowConfigItem item = websitFollowConfigItemService.lambdaQuery()
|
|
|
- .eq(WebsitFollowConfigItem::getCompanyWechatId, websit.getCompanyWechatId())
|
|
|
- .eq(WebsitFollowConfigItem::getSubWebsitId, websit.getWebsitId())
|
|
|
- .one();
|
|
|
- if (Objects.isNull(item)) {
|
|
|
- adminUserCom.setContractSignInfo("二级网点未绑定一级网点,请联系管理员处理");
|
|
|
+ } else if (CollectionUtil.isNotEmpty(contractList) && contractList.size() > 1) {
|
|
|
+ adminUserCom.setContractSignInfo("发现网点需要签约合同多份,请联系管理员处理");
|
|
|
} else {
|
|
|
- final AdminWebsit parentWebsit = adminWebsitService.getById(item.getParentId());
|
|
|
- final CompanyCaAuth caAuth = companyCaAuthService.lambdaQuery()
|
|
|
- .eq(CompanyCaAuth::getCompanyWechatId, item.getCompanyWechatId())
|
|
|
- .eq(CompanyCaAuth::getWebsitId, item.getParentId())
|
|
|
- .eq(CompanyCaAuth::getFadadaIsAuth, IsYesNoEnum.YES.getKey())
|
|
|
- .eq(CompanyCaAuth::getFadadaAuthAutoStatus, IsYesNoEnum.YES.getKey())
|
|
|
+ final WebsitFollowConfigItem item = websitFollowConfigItemService.lambdaQuery()
|
|
|
+ .eq(WebsitFollowConfigItem::getCompanyWechatId, websit.getCompanyWechatId())
|
|
|
+ .eq(WebsitFollowConfigItem::getSubWebsitId, websit.getWebsitId())
|
|
|
.one();
|
|
|
- if (Objects.isNull(caAuth)) {
|
|
|
- adminUserCom.setContractSignInfo("一级网点的CA认证未完成,请联系管理员处理");
|
|
|
+ if (Objects.isNull(item)) {
|
|
|
+ log.info("二级网点未绑定一级网点,请联系管理员处理");
|
|
|
+// adminUserCom.setContractSignInfo("二级网点未绑定一级网点,请联系管理员处理");
|
|
|
} else {
|
|
|
- final ContractTemplate template = contractList.get(0);
|
|
|
- WebsitContractSignRecord record = new WebsitContractSignRecord();
|
|
|
- record.setId(IdWorker.getIdStr())
|
|
|
- .setCompanyWechatId(websit.getCompanyWechatId())
|
|
|
- .setCompanyWechatName(websit.getCompanyWechatName())
|
|
|
- .setBelongCompany(websit.getBelongCompany())
|
|
|
- .setBelongCompanyCode(websit.getBelongCompanyCode())
|
|
|
- .setWebsitId(websit.getWebsitId())
|
|
|
- .setWebsitName(websit.getName())
|
|
|
- .setParentId(parentWebsit.getWebsitId())
|
|
|
- .setParentName(parentWebsit.getName())
|
|
|
- .setContractTemplateId(template.getContractTemplateId())
|
|
|
- .setContractName(template.getContractTemplateName())
|
|
|
- .setSignOverTime(template.getExpireDate())
|
|
|
- .setAuthStatus(StringUtils.isBlank(websit.getFadadaCustomerId()) ? IsYesNoEnum.NO.getKey() : IsYesNoEnum.YES.getKey())
|
|
|
- .insert();
|
|
|
-
|
|
|
- WebsitContractSignItem signItem = new WebsitContractSignItem();
|
|
|
- signItem.setId(IdWorker.getIdStr())
|
|
|
- .setWebsitContractSignRecordId(record.getId())
|
|
|
- .setContractName(template.getContractTemplateName())
|
|
|
- .setContractTemplatePdf(template.getContractTemplatePdf())
|
|
|
- .setContractType(template.getContractType())
|
|
|
- .setContractStatus(SignContractStatusEnum.WAIT_SIGN.getKey())
|
|
|
- .setValidDate(template.getValidDate())
|
|
|
- .setExpireDate(template.getExpireDate())
|
|
|
- .setContractTemplateId(template.getContractTemplateId())
|
|
|
- .setFadadaTemplateId(template.getFadadaTemplateId())
|
|
|
- .setNeedCompanySign(template.getNeedCompanySign())
|
|
|
- .setNeedManagerSign(template.getNeedManagerSign())
|
|
|
- .setNeedPartyASign(template.getNeedPartyASign())
|
|
|
- .setCaCustomerId(caAuth.getFadadaCustomerId())
|
|
|
- .setCompanySignFiled(template.getCompanySignFiled())
|
|
|
- .setManagerSignField(template.getManagerSignField())
|
|
|
- .setPartyASignFiled(template.getPartyASignFiled());
|
|
|
-
|
|
|
- // 根据主合同查询从合同
|
|
|
- final List<ContractTemplate> templateList = contractTemplateService.lambdaQuery()
|
|
|
- .eq(ContractTemplate::getFollowContractTemplateId, template.getContractTemplateId())
|
|
|
- .eq(ContractTemplate::getStatus, StateEnum.ON.getKey())
|
|
|
- .list();
|
|
|
- List<WebsitContractSignItem> signItemList = new ArrayList<>();
|
|
|
- List<WebsitContractSignField> signFieldList = new ArrayList<>();
|
|
|
- signItemList.add(signItem);
|
|
|
- for (ContractTemplate contractTemplate : templateList) {
|
|
|
- WebsitContractSignItem contractSignItem = new WebsitContractSignItem();
|
|
|
- contractSignItem.setId(IdWorker.getIdStr())
|
|
|
+ final AdminWebsit parentWebsit = adminWebsitService.getById(item.getParentId());
|
|
|
+ final CompanyCaAuth caAuth = companyCaAuthService.lambdaQuery()
|
|
|
+ .eq(CompanyCaAuth::getCompanyWechatId, item.getCompanyWechatId())
|
|
|
+ .eq(CompanyCaAuth::getWebsitId, item.getParentId())
|
|
|
+ .eq(CompanyCaAuth::getFadadaIsAuth, IsYesNoEnum.YES.getKey())
|
|
|
+ .eq(CompanyCaAuth::getFadadaAuthAutoStatus, IsYesNoEnum.YES.getKey())
|
|
|
+ .one();
|
|
|
+ if (Objects.isNull(caAuth)) {
|
|
|
+ adminUserCom.setContractSignInfo("一级网点的CA认证未完成,请联系管理员处理");
|
|
|
+ } else {
|
|
|
+ final ContractTemplate template = contractList.get(0);
|
|
|
+ WebsitContractSignRecord record = new WebsitContractSignRecord();
|
|
|
+ record.setId(IdWorker.getIdStr())
|
|
|
+ .setCompanyWechatId(websit.getCompanyWechatId())
|
|
|
+ .setCompanyWechatName(websit.getCompanyWechatName())
|
|
|
+ .setBelongCompany(websit.getBelongCompany())
|
|
|
+ .setBelongCompanyCode(websit.getBelongCompanyCode())
|
|
|
+ .setWebsitId(websit.getWebsitId())
|
|
|
+ .setWebsitName(websit.getName())
|
|
|
+ .setParentId(parentWebsit.getWebsitId())
|
|
|
+ .setParentName(parentWebsit.getName())
|
|
|
+ .setContractTemplateId(template.getContractTemplateId())
|
|
|
+ .setContractName(template.getContractTemplateName())
|
|
|
+ .setSignOverTime(template.getExpireDate())
|
|
|
+ .setAuthStatus(StringUtils.isBlank(websit.getFadadaCustomerId()) ? IsYesNoEnum.NO.getKey() : IsYesNoEnum.YES.getKey())
|
|
|
+ .insert();
|
|
|
+
|
|
|
+ WebsitContractSignItem signItem = new WebsitContractSignItem();
|
|
|
+ signItem.setId(IdWorker.getIdStr())
|
|
|
.setWebsitContractSignRecordId(record.getId())
|
|
|
- .setContractName(contractTemplate.getContractTemplateName())
|
|
|
+ .setContractName(template.getContractTemplateName())
|
|
|
.setContractTemplatePdf(template.getContractTemplatePdf())
|
|
|
- .setContractType(contractTemplate.getContractType())
|
|
|
+ .setContractType(template.getContractType())
|
|
|
.setContractStatus(SignContractStatusEnum.WAIT_SIGN.getKey())
|
|
|
.setValidDate(template.getValidDate())
|
|
|
.setExpireDate(template.getExpireDate())
|
|
|
- .setContractTemplateId(contractTemplate.getContractTemplateId())
|
|
|
- .setFadadaTemplateId(contractTemplate.getFadadaTemplateId())
|
|
|
- .setNeedCompanySign(contractTemplate.getNeedCompanySign())
|
|
|
- .setNeedManagerSign(contractTemplate.getNeedManagerSign())
|
|
|
- .setNeedPartyASign(contractTemplate.getNeedPartyASign())
|
|
|
+ .setContractTemplateId(template.getContractTemplateId())
|
|
|
+ .setFadadaTemplateId(template.getFadadaTemplateId())
|
|
|
+ .setNeedCompanySign(template.getNeedCompanySign())
|
|
|
+ .setNeedManagerSign(template.getNeedManagerSign())
|
|
|
+ .setNeedPartyASign(template.getNeedPartyASign())
|
|
|
.setCaCustomerId(caAuth.getFadadaCustomerId())
|
|
|
- .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())
|
|
|
+ .setCompanySignFiled(template.getCompanySignFiled())
|
|
|
+ .setManagerSignField(template.getManagerSignField())
|
|
|
+ .setPartyASignFiled(template.getPartyASignFiled());
|
|
|
+
|
|
|
+ // 根据主合同查询从合同
|
|
|
+ final List<ContractTemplate> templateList = contractTemplateService.lambdaQuery()
|
|
|
+ .eq(ContractTemplate::getFollowContractTemplateId, template.getContractTemplateId())
|
|
|
+ .eq(ContractTemplate::getStatus, StateEnum.ON.getKey())
|
|
|
.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);
|
|
|
+ List<WebsitContractSignItem> signItemList = new ArrayList<>();
|
|
|
+ List<WebsitContractSignField> signFieldList = new ArrayList<>();
|
|
|
+ signItemList.add(signItem);
|
|
|
+ for (ContractTemplate contractTemplate : templateList) {
|
|
|
+ WebsitContractSignItem contractSignItem = new WebsitContractSignItem();
|
|
|
+ contractSignItem.setId(IdWorker.getIdStr())
|
|
|
+ .setWebsitContractSignRecordId(record.getId())
|
|
|
+ .setContractName(contractTemplate.getContractTemplateName())
|
|
|
+ .setContractTemplatePdf(template.getContractTemplatePdf())
|
|
|
+ .setContractType(contractTemplate.getContractType())
|
|
|
+ .setContractStatus(SignContractStatusEnum.WAIT_SIGN.getKey())
|
|
|
+ .setValidDate(template.getValidDate())
|
|
|
+ .setExpireDate(template.getExpireDate())
|
|
|
+ .setContractTemplateId(contractTemplate.getContractTemplateId())
|
|
|
+ .setFadadaTemplateId(contractTemplate.getFadadaTemplateId())
|
|
|
+ .setNeedCompanySign(contractTemplate.getNeedCompanySign())
|
|
|
+ .setNeedManagerSign(contractTemplate.getNeedManagerSign())
|
|
|
+ .setNeedPartyASign(contractTemplate.getNeedPartyASign())
|
|
|
+ .setCaCustomerId(caAuth.getFadadaCustomerId())
|
|
|
+ .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);
|
|
|
+ websitContractSignItemService.saveBatch(signItemList);
|
|
|
+ websitContractSignFieldService.saveBatch(signFieldList);
|
|
|
+ adminUserCom.setIsJumpSign(true);
|
|
|
+ log.info("生成签约记录跳转");
|
|
|
+ break;
|
|
|
+ }
|
|
|
}
|
|
|
}
|
|
|
+ } else {
|
|
|
+ log.info("已有签约记录跳转");
|
|
|
+ adminUserCom.setIsJumpSign(true);
|
|
|
+ break;
|
|
|
}
|
|
|
}
|
|
|
}
|
|
|
@@ -1088,28 +1101,29 @@ public class AdminUserLogic {
|
|
|
final List<AdminUserWebsitRela> relas = adminUserWebsitRelaService.lambdaQuery()
|
|
|
.eq(AdminUserWebsitRela::getAdminUserId, adminUser.getAdminUserId())
|
|
|
.list();
|
|
|
- if (CollectionUtil.isNotEmpty(relas) && relas.size() == 1) {
|
|
|
- final AdminUserWebsitRela rela = relas.get(0);
|
|
|
- final AdminWebsit websit = adminWebsitService.lambdaQuery()
|
|
|
- .eq(AdminWebsit::getWebsitId, rela.getAdminWebsitId())
|
|
|
- .one();
|
|
|
- if (websit.getLevel() == 2) {
|
|
|
- Integer existCount = websitContractSignRecordService.lambdaQuery()
|
|
|
- .eq(WebsitContractSignRecord::getWebsitId, websit.getWebsitId())
|
|
|
- .eq(WebsitContractSignRecord::getStatus, SignContractStatusEnum.OK.getKey())
|
|
|
- .ge(WebsitContractSignRecord::getSignOverTime, DateUtil.formatDateTime(DateUtil.date()))
|
|
|
- .count();
|
|
|
- // 没有签成功并且审核通过未过期的记录,只有签约菜单
|
|
|
- if (existCount == 0 && CollectionUtil.isNotEmpty(trees)) {
|
|
|
- // 是否有需要签约的合同
|
|
|
- List<ContractTemplate> contractList = commonMapper.queryNeedContract(adminUser.getCompanyWechatId(), websit.getWebsitId(), DateUtil.date());
|
|
|
- if (CollectionUtil.isNotEmpty(contractList)) {
|
|
|
- List<AdminModuleTree> filterTree = trees.stream().filter(v -> v.getLevel() == 1 && v.getNotSign()).collect(Collectors.toList());
|
|
|
- if (CollectionUtil.isNotEmpty(filterTree)) {
|
|
|
- for (AdminModuleTree moduleTree : filterTree) {
|
|
|
- moduleTree.setChildren(this.treeModule(trees, moduleTree.getModuleId(), hasModule, admin, true));
|
|
|
+ if (CollectionUtil.isNotEmpty(relas)) {
|
|
|
+ for (AdminUserWebsitRela rela : relas) {
|
|
|
+ final AdminWebsit websit = adminWebsitService.lambdaQuery()
|
|
|
+ .eq(AdminWebsit::getWebsitId, rela.getAdminWebsitId())
|
|
|
+ .one();
|
|
|
+ if (websit.getLevel() == 2) {
|
|
|
+ Integer existCount = websitContractSignRecordService.lambdaQuery()
|
|
|
+ .eq(WebsitContractSignRecord::getWebsitId, websit.getWebsitId())
|
|
|
+ .eq(WebsitContractSignRecord::getStatus, SignContractStatusEnum.OK.getKey())
|
|
|
+ .ge(WebsitContractSignRecord::getSignOverTime, DateUtil.formatDateTime(DateUtil.date()))
|
|
|
+ .count();
|
|
|
+ // 没有签成功并且审核通过未过期的记录,只有签约菜单
|
|
|
+ if (existCount == 0 && CollectionUtil.isNotEmpty(trees)) {
|
|
|
+ // 是否有需要签约的合同
|
|
|
+ List<ContractTemplate> contractList = commonMapper.queryNeedContract(adminUser.getCompanyWechatId(), websit.getWebsitId(), DateUtil.date());
|
|
|
+ if (CollectionUtil.isNotEmpty(contractList)) {
|
|
|
+ List<AdminModuleTree> filterTree = trees.stream().filter(v -> v.getLevel() == 1 && v.getNotSign()).collect(Collectors.toList());
|
|
|
+ if (CollectionUtil.isNotEmpty(filterTree)) {
|
|
|
+ for (AdminModuleTree moduleTree : filterTree) {
|
|
|
+ moduleTree.setChildren(this.treeModule(trees, moduleTree.getModuleId(), hasModule, admin, true));
|
|
|
+ }
|
|
|
+ return filterTree;
|
|
|
}
|
|
|
- return filterTree;
|
|
|
}
|
|
|
}
|
|
|
}
|