[fix] 优化合同管理

This commit is contained in:
wyw 2024-08-15 10:40:06 +08:00
parent 97c7a8abc8
commit dd36988f9e
9 changed files with 25 additions and 217 deletions

View File

@ -29,9 +29,6 @@ public class ContractRespVO {
@ExcelProperty("项目id")
private Long projectId;
@Schema(description = "外部合同id", example = "32057")
@ExcelProperty("外部合同id")
private Long extContractId;

View File

@ -25,11 +25,7 @@ public class ContractSaveReqVO {
@ExcelProperty("项目id")
private Long projectId;
@Schema(description = "外部合同id", example = "32057")
@ExcelProperty("外部合同id")
private Long extContractId;
//
@Schema(description = "项目编号", requiredMode = Schema.RequiredMode.REQUIRED, example = "SJ24001")
@ExcelProperty("项目编号")

View File

@ -34,10 +34,7 @@ public class ContractDO extends BaseDO {
* 项目id
*/
private Long projectId;
/**
* 外部合同id
*/
private Long extContractId;
/**
* 合同名称
*/

View File

@ -1,29 +0,0 @@
package cn.iocoder.yudao.module.cms.dal.mysql.customerCompany;
import java.util.*;
import cn.iocoder.yudao.framework.common.pojo.PageResult;
import cn.iocoder.yudao.framework.mybatis.core.query.LambdaQueryWrapperX;
import cn.iocoder.yudao.framework.mybatis.core.mapper.BaseMapperX;
import cn.iocoder.yudao.module.cms.dal.dataobject.customerCompany.CustomerCompanyDO;
import org.apache.ibatis.annotations.Mapper;
import cn.iocoder.yudao.module.cms.controller.admin.customerCompany.vo.*;
/**
* 客户公司 Mapper
*
* @author hhyykk
*/
@Mapper
public interface CustomerCompanyMapper extends BaseMapperX<CustomerCompanyDO> {
default PageResult<CustomerCompanyDO> selectPage(CustomerCompanyPageReqVO reqVO) {
return selectPage(reqVO, new LambdaQueryWrapperX<CustomerCompanyDO>()
.likeIfPresent(CustomerCompanyDO::getContacts, reqVO.getContacts())
.likeIfPresent(CustomerCompanyDO::getName, reqVO.getName())
.eqIfPresent(CustomerCompanyDO::getAddress, reqVO.getAddress())
.eqIfPresent(CustomerCompanyDO::getPhone, reqVO.getPhone())
.orderByDesc(CustomerCompanyDO::getId));
}
}

View File

@ -37,14 +37,6 @@ public interface ContractService {
*/
void deleteContract(Long id);
/**
* 获得合同
*
* @param id 编号
* @return 合同
*/
ContractRespVO getContract(Long id);
/**
* 获得合同分页
*

View File

@ -19,6 +19,7 @@ import cn.iocoder.yudao.framework.common.pojo.PageResult;
import cn.iocoder.yudao.framework.common.util.object.BeanUtils;
import java.time.LocalDateTime;
import java.util.ArrayList;
import java.util.List;
import static cn.iocoder.yudao.framework.common.exception.util.ServiceExceptionUtil.exception;
@ -59,8 +60,6 @@ public class ContractServiceImpl implements ContractService {
}
//校验,项目是否存在
Long projectId = createReqVO.getProjectId();
String name = createReqVO.getName();
String trimName = name.trim();
List<ContractDO> projectList = contractMapper.selectList("project_id", projectId);
@ -70,13 +69,9 @@ public class ContractServiceImpl implements ContractService {
}
}
ContractDO contract = BeanUtils.toBean(createReqVO, ContractDO.class);
contract.setCreator(userName);
contract.setUpdater(userName);
contractMapper.insert(contract);
//返回
return contract.getId();
}
@ -104,48 +99,25 @@ public class ContractServiceImpl implements ContractService {
contractMapper.deleteById(id);
}
@Override
public ContractRespVO getContract(Long id) {
//校验
if (id == null) {
throw exception(CONTRACT_NOT_EXISTS);
}
ContractDO contractDO = contractMapper.selectById(id);
if (contractDO == null) {
throw exception(CONTRACT_NOT_EXISTS);
}
Long projectId = contractDO.getProjectId();
if (projectId == null) {
throw exception(PROJECT_NOT_EXISTS);
}
ProjectScheduleDetailDTO projectScheduleDetail = projectScheduleApi.getProjectScheduleDetail(projectId);
ContractRespVO contractRespVO = BeanUtils.toBean(contractDO, ContractRespVO.class);
contractRespVO.setProjectManager(projectScheduleDetail.getProjectManager());
return contractRespVO;
}
@Override
public PageResult<ContractRespVO> getContractPage(ContractPageReqVO pageReqVO) {
PageResult<ContractDO> contractDOPageResult = contractMapper.selectPage(pageReqVO);
PageResult<ContractDO> contractDOPage = contractMapper.selectPage(pageReqVO);
List<ContractDO> list = contractDOPage.getList();
List<ContractDetailDO> contractRespVOList = new ArrayList<>();
return null;
}
@Override
public void validateContractExists(Long id) {
if (contractMapper.selectById(id) == null) {
throw exception(CONTRACT_NOT_EXISTS);
for (ContractDO contractDO : list) {
Long id = contractDO.getId();
ContractDetailDO contractDetail = getContractDetail(id);
contractRespVOList.add(contractDetail);
}
List<ContractRespVO> respVOList = BeanUtils.toBean(contractRespVOList, ContractRespVO.class);
PageResult<ContractRespVO> pageResult = new PageResult<>();
pageResult.setList(respVOList);
return pageResult;
}
@Override
public ContractDetailDO getContractDetail(Long id) {
ContractDetailDO contractDetailDO = new ContractDetailDO();
@ -164,10 +136,14 @@ public class ContractServiceImpl implements ContractService {
BeanUtil.copyProperties(projectTracking,contractDetailDO);
BeanUtil.copyProperties(projectScheduleDetail,contractDetailDO);
return contractDetailDO;
}
@Override
public void validateContractExists(Long id) {
if (contractMapper.selectById(id) == null) {
throw exception(CONTRACT_NOT_EXISTS);
}
}
}

View File

@ -1,53 +0,0 @@
package cn.iocoder.yudao.module.cms.service.customerCompany;
import jakarta.validation.*;
import cn.iocoder.yudao.module.cms.controller.admin.customerCompany.vo.*;
import cn.iocoder.yudao.module.cms.dal.dataobject.customerCompany.CustomerCompanyDO;
import cn.iocoder.yudao.framework.common.pojo.PageResult;
/**
* 客户公司 Service 接口
*
* @author hhyykk
*/
public interface CustomerCompanyService {
/**
* 创建客户公司
*
* @param createReqVO 创建信息
* @return 编号
*/
Long createCustomerCompany(@Valid CustomerCompanySaveReqVO createReqVO);
/**
* 更新客户公司
*
* @param updateReqVO 更新信息
*/
void updateCustomerCompany(@Valid CustomerCompanySaveReqVO updateReqVO);
/**
* 删除客户公司
*
* @param id 编号
*/
void deleteCustomerCompany(Long id);
/**
* 获得客户公司
*
* @param id 编号
* @return 客户公司
*/
CustomerCompanyDO getCustomerCompany(Long id);
/**
* 获得客户公司分页
*
* @param pageReqVO 分页查询
* @return 客户公司分页
*/
PageResult<CustomerCompanyDO> getCustomerCompanyPage(CustomerCompanyPageReqVO pageReqVO);
}

View File

@ -1,71 +0,0 @@
package cn.iocoder.yudao.module.cms.service.customerCompany;
import org.springframework.stereotype.Service;
import jakarta.annotation.Resource;
import org.springframework.validation.annotation.Validated;
import cn.iocoder.yudao.module.cms.controller.admin.customerCompany.vo.*;
import cn.iocoder.yudao.module.cms.dal.dataobject.customerCompany.CustomerCompanyDO;
import cn.iocoder.yudao.framework.common.pojo.PageResult;
import cn.iocoder.yudao.framework.common.util.object.BeanUtils;
import cn.iocoder.yudao.module.cms.dal.mysql.customerCompany.CustomerCompanyMapper;
import static cn.iocoder.yudao.framework.common.exception.util.ServiceExceptionUtil.exception;
import static cn.iocoder.yudao.module.cms.enums.ErrorCodeConstants.*;
/**
* 客户公司 Service 实现类
*
* @author hhyykk
*/
@Service
@Validated
public class CustomerCompanyServiceImpl implements CustomerCompanyService {
@Resource
private CustomerCompanyMapper customerCompanyMapper;
@Override
public Long createCustomerCompany(CustomerCompanySaveReqVO createReqVO) {
// 插入
CustomerCompanyDO customerCompany = BeanUtils.toBean(createReqVO, CustomerCompanyDO.class);
customerCompanyMapper.insert(customerCompany);
// 返回
return customerCompany.getId();
}
@Override
public void updateCustomerCompany(CustomerCompanySaveReqVO updateReqVO) {
// 校验存在
validateCustomerCompanyExists(updateReqVO.getId());
// 更新
CustomerCompanyDO updateObj = BeanUtils.toBean(updateReqVO, CustomerCompanyDO.class);
customerCompanyMapper.updateById(updateObj);
}
@Override
public void deleteCustomerCompany(Long id) {
// 校验存在
validateCustomerCompanyExists(id);
// 删除
customerCompanyMapper.deleteById(id);
}
private void validateCustomerCompanyExists(Long id) {
if (customerCompanyMapper.selectById(id) == null) {
throw exception(CUSTOMER_COMPANY_NOT_EXISTS);
}
}
@Override
public CustomerCompanyDO getCustomerCompany(Long id) {
return customerCompanyMapper.selectById(id);
}
@Override
public PageResult<CustomerCompanyDO> getCustomerCompanyPage(CustomerCompanyPageReqVO pageReqVO) {
return customerCompanyMapper.selectPage(pageReqVO);
}
}

View File

@ -25,8 +25,11 @@ public interface ErrorCodeConstants {
// ========== 应收款管理历史记录 1_024_000_000 ==========
ErrorCode RECEIVABLES_HISTORY_NOT_EXISTS = new ErrorCode(1_024_000_000, "应收款管理历史记录不存在");
// ========== 项目进度管理 1_024_000_000 ==========
// ========== 项目进度管理 1_025_000_000 ==========
ErrorCode PROJECT_SCHEDULE_NOT_EXISTS = new ErrorCode(1_025_000_000, "项目进度管理不存在");
// ========== 项目追踪信息不存在 1_026_000_000 ==========
ErrorCode PROJECT_TRACKING_NOT_EXISTS = new ErrorCode(1_026_000_000, "项目进度管理不存在");
}