10-12-合作协议

This commit is contained in:
2025-10-12 17:20:45 +08:00
parent 59623f53a0
commit d033b505e2
2 changed files with 33 additions and 5 deletions

View File

@ -146,5 +146,7 @@ public class XzdContractAgreementVo implements Serializable {
@ExcelDictFormat(readConverterExp = "多=个文件逗号分隔")
private String fileId;
private Long createBy;
private String createUser;
}

View File

@ -14,6 +14,7 @@ import lombok.RequiredArgsConstructor;
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.dto.QuerCorrespondentDto;
import org.dromara.xzd.domain.vo.XzdSupplierInfoVo;
@ -25,11 +26,9 @@ 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.Collections;
import java.util.List;
import java.util.Map;
import java.util.Collection;
import java.util.*;
/**
* 合作协议Service业务层处理
@ -51,6 +50,8 @@ public class XzdContractAgreementServiceImpl extends ServiceImpl<XzdContractAgre
private SysDeptServiceImpl sysDeptService;
@Autowired
private SysUserServiceImpl sysUserService;
@Autowired
private SysOssServiceImpl sysOssService;
/**
* 查询合作协议
@ -139,13 +140,26 @@ public class XzdContractAgreementServiceImpl extends ServiceImpl<XzdContractAgre
* @param bo 合作协议
* @return 是否修改成功
*/
@Transactional
@Override
public Boolean updateByBo(XzdContractAgreementBo bo) {
XzdContractAgreement update = MapstructUtils.convert(bo, XzdContractAgreement.class);
validEntityBeforeSave(update);
// validEntityBeforeSave(update);
//老数据
XzdContractAgreementVo old = baseMapper.selectVoById(update.getId());
setValue(Collections.singletonList(old));
//处理文件
List<String> oldFiles = Arrays.stream(old.getFileId().split(",")).toList();
List<String> newFiles = Arrays.stream(bo.getFileId().split(",")).toList();
List<Long> deleteIds = new ArrayList<>();
for (String oldFile : oldFiles) {
if (!newFiles.contains(oldFile)){
deleteIds.add(Long.valueOf(oldFile));
}
}
sysOssService.deleteWithValidByIds(deleteIds, false);
return baseMapper.updateById(update) > 0;
}
@ -169,6 +183,13 @@ public class XzdContractAgreementServiceImpl extends ServiceImpl<XzdContractAgre
if(isValid){
//TODO 做一些业务上的校验,判断是否需要校验
}
//删除文件
for (Long id : ids) {
XzdContractAgreementVo vo = baseMapper.selectVoById(id);
if (vo.getFileId() != null && !vo.getFileId().isEmpty()){
sysOssService.deleteWithValidByIds(Arrays.stream(vo.getFileId().split(",")).map(Long::valueOf).toList(), false);
}
}
return baseMapper.deleteByIds(ids) > 0;
}
@ -196,6 +217,11 @@ public class XzdContractAgreementServiceImpl extends ServiceImpl<XzdContractAgre
if (sysUserVo != null){
vo.setProjectManagerName(sysUserVo.getNickName());
}
//录入人
SysUserVo sysUserVo1 = sysUserService.selectUserById(vo.getCreateBy());
if (sysUserVo1 != null){
vo.setCreateUser(sysUserVo1.getUserName());
}
}
}