From f920d4976e136ec96c3c430c3a7476fbe4fc4730 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E5=B1=88=E5=B1=95=E8=88=AA?= <2426745133@qq.com> Date: Fri, 24 Oct 2025 15:22:31 +0800 Subject: [PATCH] =?UTF-8?q?10-24-=E4=BF=AE=E5=A4=8D?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../xzd/domain/XzdSupplierQualification.java | 13 ++-- .../domain/bo/XzdSupplierQualificationBo.java | 21 +++--- .../dromara/xzd/domain/vo/XzdProjectVo.java | 2 + .../domain/vo/XzdSupplierQualificationVo.java | 9 +-- .../impl/XzdContractAgreementServiceImpl.java | 50 +++++++------ .../impl/XzdContractChangeServiceImpl.java | 74 ++++--------------- .../service/impl/XzdProjectServiceImpl.java | 4 + .../impl/XzdSupplierInfoServiceImpl.java | 30 ++++++-- .../fbhtfk/domain/bo/XzdSkyfkFbhtfkBo.java | 19 +++-- 9 files changed, 102 insertions(+), 120 deletions(-) diff --git a/xinnengyuan/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/xzd/domain/XzdSupplierQualification.java b/xinnengyuan/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/xzd/domain/XzdSupplierQualification.java index b81613ec..32356cbf 100644 --- a/xinnengyuan/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/xzd/domain/XzdSupplierQualification.java +++ b/xinnengyuan/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/xzd/domain/XzdSupplierQualification.java @@ -1,14 +1,15 @@ package org.dromara.xzd.domain; -import org.dromara.common.mybatis.core.domain.BaseEntity; -import com.baomidou.mybatisplus.annotation.*; +import com.baomidou.mybatisplus.annotation.TableId; +import com.baomidou.mybatisplus.annotation.TableName; +import com.fasterxml.jackson.annotation.JsonFormat; import lombok.Data; import lombok.EqualsAndHashCode; -import java.util.Date; -import com.fasterxml.jackson.annotation.JsonFormat; +import org.dromara.common.mybatis.core.domain.BaseEntity; import org.springframework.format.annotation.DateTimeFormat; import java.io.Serial; +import java.util.Date; /** * 供应商资质信息对象 xzd_supplier_qualification @@ -60,9 +61,9 @@ public class XzdSupplierQualification extends BaseEntity { private String fileUrl; /** - * 文件ID + * 文件ID,逗号分隔 */ - private Long fileId; + private String fileId; /** * 备注 diff --git a/xinnengyuan/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/xzd/domain/bo/XzdSupplierQualificationBo.java b/xinnengyuan/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/xzd/domain/bo/XzdSupplierQualificationBo.java index f5cfb190..bca4b7f9 100644 --- a/xinnengyuan/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/xzd/domain/bo/XzdSupplierQualificationBo.java +++ b/xinnengyuan/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/xzd/domain/bo/XzdSupplierQualificationBo.java @@ -1,17 +1,19 @@ package org.dromara.xzd.domain.bo; -import org.dromara.xzd.domain.XzdSupplierQualification; -import org.dromara.common.mybatis.core.domain.BaseEntity; -import org.dromara.common.core.validate.AddGroup; -import org.dromara.common.core.validate.EditGroup; +import com.fasterxml.jackson.annotation.JsonFormat; import io.github.linpeilie.annotations.AutoMapper; +import jakarta.validation.constraints.NotBlank; +import jakarta.validation.constraints.NotNull; import lombok.Data; import lombok.EqualsAndHashCode; -import jakarta.validation.constraints.*; -import java.util.Date; -import com.fasterxml.jackson.annotation.JsonFormat; +import org.dromara.common.core.validate.AddGroup; +import org.dromara.common.core.validate.EditGroup; +import org.dromara.common.mybatis.core.domain.BaseEntity; +import org.dromara.xzd.domain.XzdSupplierQualification; import org.springframework.format.annotation.DateTimeFormat; +import java.util.Date; + /** * 供应商资质信息业务对象 xzd_supplier_qualification * @@ -64,10 +66,9 @@ public class XzdSupplierQualificationBo extends BaseEntity { private String fileUrl; /** - * 文件ID + * 文件ID,逗号分隔 */ - @NotNull(message = "文件ID不能为空", groups = { AddGroup.class, EditGroup.class }) - private Long fileId; + private String fileId; /** * 备注 diff --git a/xinnengyuan/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/xzd/domain/vo/XzdProjectVo.java b/xinnengyuan/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/xzd/domain/vo/XzdProjectVo.java index b4809b6a..6c166041 100644 --- a/xinnengyuan/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/xzd/domain/vo/XzdProjectVo.java +++ b/xinnengyuan/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/xzd/domain/vo/XzdProjectVo.java @@ -61,6 +61,8 @@ public class XzdProjectVo implements Serializable { private String projectTypeName; + private String xmdl; + /** * 项目状态 */ diff --git a/xinnengyuan/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/xzd/domain/vo/XzdSupplierQualificationVo.java b/xinnengyuan/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/xzd/domain/vo/XzdSupplierQualificationVo.java index 8c4c635f..374e0fe3 100644 --- a/xinnengyuan/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/xzd/domain/vo/XzdSupplierQualificationVo.java +++ b/xinnengyuan/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/xzd/domain/vo/XzdSupplierQualificationVo.java @@ -1,14 +1,11 @@ package org.dromara.xzd.domain.vo; -import java.util.Date; -import com.fasterxml.jackson.annotation.JsonFormat; -import org.dromara.xzd.domain.XzdSupplierQualification; import com.alibaba.excel.annotation.ExcelIgnoreUnannotated; import com.alibaba.excel.annotation.ExcelProperty; -import org.dromara.common.excel.annotation.ExcelDictFormat; -import org.dromara.common.excel.convert.ExcelDictConvert; +import com.fasterxml.jackson.annotation.JsonFormat; import io.github.linpeilie.annotations.AutoMapper; import lombok.Data; +import org.dromara.xzd.domain.XzdSupplierQualification; import org.springframework.format.annotation.DateTimeFormat; import java.io.Serial; @@ -75,7 +72,7 @@ public class XzdSupplierQualificationVo implements Serializable { * 文件ID */ @ExcelProperty(value = "文件ID") - private Long fileId; + private String fileId; /** * 备注 diff --git a/xinnengyuan/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/xzd/service/impl/XzdContractAgreementServiceImpl.java b/xinnengyuan/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/xzd/service/impl/XzdContractAgreementServiceImpl.java index 9a036673..9d189aef 100644 --- a/xinnengyuan/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/xzd/service/impl/XzdContractAgreementServiceImpl.java +++ b/xinnengyuan/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/xzd/service/impl/XzdContractAgreementServiceImpl.java @@ -1,32 +1,31 @@ package org.dromara.xzd.service.impl; -import cn.hutool.core.util.IdUtil; +import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; +import com.baomidou.mybatisplus.core.toolkit.Wrappers; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; +import lombok.RequiredArgsConstructor; import org.dromara.common.core.domain.R; import org.dromara.common.core.utils.MapstructUtils; import org.dromara.common.core.utils.StringUtils; -import org.dromara.common.mybatis.core.page.TableDataInfo; import org.dromara.common.mybatis.core.page.PageQuery; -import com.baomidou.mybatisplus.extension.plugins.pagination.Page; -import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; -import com.baomidou.mybatisplus.core.toolkit.Wrappers; -import lombok.RequiredArgsConstructor; +import org.dromara.common.mybatis.core.page.TableDataInfo; import org.dromara.common.utils.BatchNumberGenerator; import org.dromara.system.domain.vo.SysDeptVo; import org.dromara.system.domain.vo.SysUserVo; import org.dromara.system.service.impl.SysDeptServiceImpl; import org.dromara.system.service.impl.SysOssServiceImpl; import org.dromara.system.service.impl.SysUserServiceImpl; +import org.dromara.xzd.domain.XzdContractAgreement; +import org.dromara.xzd.domain.bo.XzdContractAgreementBo; import org.dromara.xzd.domain.dto.QuerCorrespondentDto; +import org.dromara.xzd.domain.vo.XzdContractAgreementVo; import org.dromara.xzd.domain.vo.XzdSupplierInfoVo; +import org.dromara.xzd.mapper.XzdContractAgreementMapper; +import org.dromara.xzd.service.IXzdContractAgreementService; import org.dromara.xzd.service.IXzdCorrespondentList; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; -import org.dromara.xzd.domain.bo.XzdContractAgreementBo; -import org.dromara.xzd.domain.vo.XzdContractAgreementVo; -import org.dromara.xzd.domain.XzdContractAgreement; -import org.dromara.xzd.mapper.XzdContractAgreementMapper; -import org.dromara.xzd.service.IXzdContractAgreementService; import org.springframework.transaction.annotation.Transactional; import java.util.*; @@ -147,23 +146,26 @@ public class XzdContractAgreementServiceImpl extends ServiceImpl oldFiles = Arrays.stream(old.getFileId().split(",")).toList(); - List newFiles = Arrays.stream(bo.getFileId().split(",")).toList(); - - List deleteIds = new ArrayList<>(); - - for (String oldFile : oldFiles) { - if (!newFiles.contains(oldFile)){ - deleteIds.add(Long.valueOf(oldFile)); + //更新文件 + if (bo.getFileId() != null && !bo.getFileId().isEmpty()){ + if (old.getFileId() != null && !old.getFileId().isEmpty()) { + List oldFileId = Arrays.stream(old.getFileId().split(",")).map(Long::valueOf).toList(); + List nowFileId = Arrays.stream(bo.getFileId().split(",")).map(Long::valueOf).toList(); + for (Long l : oldFileId) { + if (!nowFileId.contains(l)) { + sysOssService.deleteWithValidByIds(List.of(l), false); + } + } + } + }else { + if (old.getFileId()!= null && !old.getFileId().isEmpty()){ + List deleteIds = Arrays.stream(old.getFileId().split(",")).map(Long::valueOf).toList(); + sysOssService.deleteWithValidByIds(deleteIds, false); } - } - if (!deleteIds.isEmpty()) { - sysOssService.deleteWithValidByIds(deleteIds, false); } return baseMapper.updateById(update) > 0; diff --git a/xinnengyuan/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/xzd/service/impl/XzdContractChangeServiceImpl.java b/xinnengyuan/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/xzd/service/impl/XzdContractChangeServiceImpl.java index 6abc2dbd..b78657a1 100644 --- a/xinnengyuan/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/xzd/service/impl/XzdContractChangeServiceImpl.java +++ b/xinnengyuan/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/xzd/service/impl/XzdContractChangeServiceImpl.java @@ -1,16 +1,15 @@ package org.dromara.xzd.service.impl; -import cn.hutool.core.util.IdUtil; +import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; +import com.baomidou.mybatisplus.core.toolkit.Wrappers; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; +import lombok.RequiredArgsConstructor; import org.dromara.common.core.domain.R; import org.dromara.common.core.utils.MapstructUtils; import org.dromara.common.core.utils.StringUtils; -import org.dromara.common.mybatis.core.page.TableDataInfo; import org.dromara.common.mybatis.core.page.PageQuery; -import com.baomidou.mybatisplus.extension.plugins.pagination.Page; -import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; -import com.baomidou.mybatisplus.core.toolkit.Wrappers; -import lombok.RequiredArgsConstructor; +import org.dromara.common.mybatis.core.page.TableDataInfo; import org.dromara.common.utils.BatchNumberGenerator; import org.dromara.system.domain.vo.SysDeptVo; import org.dromara.system.domain.vo.SysUserVo; @@ -20,24 +19,23 @@ import org.dromara.system.service.impl.SysUserServiceImpl; import org.dromara.xzd.comprehensive.domain.XzdHtglHtbgqd; import org.dromara.xzd.comprehensive.service.IXzdHtglHtbgqdService; import org.dromara.xzd.domain.*; +import org.dromara.xzd.domain.bo.XzdContractChangeBo; import org.dromara.xzd.domain.dto.QuerCorrespondentDto; import org.dromara.xzd.domain.vo.XzdBusinessSealVo; +import org.dromara.xzd.domain.vo.XzdContractChangeVo; import org.dromara.xzd.domain.vo.XzdContractDetailsVo; import org.dromara.xzd.enums.XzdClassEnum; -import org.dromara.xzd.service.IXzdBusinessSealService; +import org.dromara.xzd.mapper.XzdContractChangeMapper; +import org.dromara.xzd.service.IXzdContractChangeService; import org.dromara.xzd.service.IXzdCorrespondentList; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; -import org.dromara.xzd.domain.bo.XzdContractChangeBo; -import org.dromara.xzd.domain.vo.XzdContractChangeVo; -import org.dromara.xzd.mapper.XzdContractChangeMapper; -import org.dromara.xzd.service.IXzdContractChangeService; import org.springframework.transaction.annotation.Transactional; import java.util.Arrays; +import java.util.Collection; import java.util.List; import java.util.Map; -import java.util.Collection; /** * 承包合同变更Service业务层处理 @@ -255,21 +253,6 @@ public class XzdContractChangeServiceImpl extends ServiceImpl().eq(XzdHtglHtbgqd::getMainDocumentId,bo.getId())); if (bo.getHtbgqds() != null && !bo.getHtbgqds().isEmpty()) { bo.getHtbgqds().forEach(item->{item.setMainDocumentId(bo.getId());}); @@ -349,7 +307,7 @@ public class XzdContractChangeServiceImpl extends ServiceImpl oldFileId = Arrays.stream(old.getFileId().split(",")).map(Long::valueOf).toList(); List nowFileId = Arrays.stream(bo.getFileId().split(",")).map(Long::valueOf).toList(); for (Long fileId : oldFileId) { @@ -504,7 +462,7 @@ public class XzdContractChangeServiceImpl extends ServiceImpl list4 = xzdHtglHtbgqdService.getBaseMapper().selectList(new LambdaQueryWrapper().eq(XzdHtglHtbgqd::getMainDocumentId, vo.getId())); vo.setHtbgqds(list4); } diff --git a/xinnengyuan/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/xzd/service/impl/XzdProjectServiceImpl.java b/xinnengyuan/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/xzd/service/impl/XzdProjectServiceImpl.java index 243c615d..7ded75e7 100644 --- a/xinnengyuan/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/xzd/service/impl/XzdProjectServiceImpl.java +++ b/xinnengyuan/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/xzd/service/impl/XzdProjectServiceImpl.java @@ -590,6 +590,10 @@ public class XzdProjectServiceImpl extends ServiceImpl 0; //处理资质信息更新 - List qualifications = bo.getQualifications(); - for (XzdSupplierQualification qualification : qualifications) { - qualification.setSupplierId(update.getId()); + if (bo.getQualifications() != null && !bo.getQualifications().isEmpty()){ + if (old.getQualifications() != null && !old.getQualifications().isEmpty()){ + xzdSupplierQualificationService.removeByIds(old.getQualifications()); + } + for (XzdSupplierQualification businessChange : bo.getQualifications()) { + businessChange.setSupplierId(update.getId()); + } + xzdSupplierQualificationService.saveBatch(bo.getQualifications()); + }else { + if (old.getQualifications() != null && !old.getQualifications().isEmpty()){ + //删除绑定的文件 + for (XzdSupplierQualification qualification : old.getQualifications()) { + if (qualification.getFileId() != null){ + String[] split = qualification.getFileId().split(","); + List fileIdList = Arrays.stream(split) + .map(Long::valueOf) + .collect(Collectors.toList()); + sysOssService.deleteWithValidByIds(fileIdList, false); + } + } + xzdSupplierQualificationService.removeByIds(old.getQualifications()); + } } - xzdSupplierQualificationService.saveOrUpdateBatch(qualifications); //处理供应商信息补充 if (bo.getSupplement() != null){ @@ -510,7 +528,7 @@ public class XzdSupplierInfoServiceImpl extends ServiceImpl fileIds = new ArrayList<>(); for (XzdSupplierQualification qualification : list1) { if (qualification.getFileId() != null){ - fileIds.add(qualification.getFileId()); + fileIds.add(Long.valueOf(qualification.getFileId())); } } if (!fileIds.isEmpty()){ diff --git a/xinnengyuan/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/xzd/skyfk/fbhtfk/domain/bo/XzdSkyfkFbhtfkBo.java b/xinnengyuan/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/xzd/skyfk/fbhtfk/domain/bo/XzdSkyfkFbhtfkBo.java index b8be2b9a..ad17169b 100644 --- a/xinnengyuan/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/xzd/skyfk/fbhtfk/domain/bo/XzdSkyfkFbhtfkBo.java +++ b/xinnengyuan/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/xzd/skyfk/fbhtfk/domain/bo/XzdSkyfkFbhtfkBo.java @@ -1,18 +1,17 @@ package org.dromara.xzd.skyfk.fbhtfk.domain.bo; import com.fasterxml.jackson.annotation.JsonFormat; -import org.dromara.xzd.paymentsReceipts.domain.XzdSfkFapiao; -import org.dromara.xzd.paymentsReceipts.domain.XzdSfkFukuan; -import org.dromara.xzd.paymentsReceipts.domain.bo.XzdSfkFapiaoBo; -import org.dromara.xzd.paymentsReceipts.domain.bo.XzdSfkFukuanBo; -import org.dromara.xzd.skyfk.fbhtfk.domain.XzdSkyfkFbhtfk; -import org.dromara.common.mybatis.core.domain.BaseEntity; -import org.dromara.common.core.validate.AddGroup; -import org.dromara.common.core.validate.EditGroup; import io.github.linpeilie.annotations.AutoMapper; +import jakarta.validation.constraints.NotBlank; +import jakarta.validation.constraints.NotNull; import lombok.Data; import lombok.EqualsAndHashCode; -import jakarta.validation.constraints.*; +import org.dromara.common.core.validate.AddGroup; +import org.dromara.common.core.validate.EditGroup; +import org.dromara.common.mybatis.core.domain.BaseEntity; +import org.dromara.xzd.paymentsReceipts.domain.XzdSfkFapiao; +import org.dromara.xzd.paymentsReceipts.domain.XzdSfkFukuan; +import org.dromara.xzd.skyfk.fbhtfk.domain.XzdSkyfkFbhtfk; import org.springframework.format.annotation.DateTimeFormat; import java.util.Date; @@ -292,6 +291,6 @@ public class XzdSkyfkFbhtfkBo extends BaseEntity { /** * 付款信息 */ - List fkxx; + private List fkxx; }