[feat] 新增合同管理功能

This commit is contained in:
wyw
2024-07-22 17:09:10 +08:00
parent 391dd0fe83
commit 5c4b2e1271
18 changed files with 931 additions and 8 deletions

View File

@@ -0,0 +1,17 @@
package cn.iocoder.yudao.module.pms.api;
import cn.iocoder.yudao.module.pms.api.dto.project.ProjectDetailRespDTO;
import cn.iocoder.yudao.module.pms.api.dto.project.ProjectRespDTO;
public interface ProjectApi {
/**
* 获得项目部分信息
*/
ProjectRespDTO getProject(Long projectId);
/**
* 获得项目detail信息
*/
ProjectDetailRespDTO getProjectDetailById(Long projectId);
}

View File

@@ -0,0 +1,21 @@
package cn.iocoder.yudao.module.pms.api.dto.project;
import lombok.Data;
@Data
public class ProjectDetailRespDTO {
/**
* 跟踪部门
*/
private String trackingDepName;
/**
* 项目经理
*/
private String projectManagerName;
/**
* 客户公司
*/
private String customerCompanyName;
}

View File

@@ -0,0 +1,46 @@
package cn.iocoder.yudao.module.pms.api.dto.project;
import lombok.Data;
import java.math.BigDecimal;
/**
* 项目基本信息 dto
*/
@Data
public class ProjectRespDTO {
/**
* 项目编号
*/
private String code;
/**
* 出图公司
*/
private String drawingCompany;
/**
* 跟踪部门id
*/
private Long trackingDepId;
/**
* 客户公司id
*/
private Long customerCompanyId;
/**
* 项目经理id
*/
private Long projectManagerId;
/**
* 预计合同金额
*/
private BigDecimal contractAmount;
}

View File

@@ -0,0 +1,30 @@
package cn.iocoder.yudao.module.pms.api.project;
import cn.iocoder.yudao.framework.common.util.object.BeanUtils;
import cn.iocoder.yudao.module.pms.api.ProjectApi;
import cn.iocoder.yudao.module.pms.api.dto.project.ProjectDetailRespDTO;
import cn.iocoder.yudao.module.pms.api.dto.project.ProjectRespDTO;
import cn.iocoder.yudao.module.pms.dal.dataobject.project.ProjectDO;
import cn.iocoder.yudao.module.pms.dal.dataobject.project.ProjectDetailDO;
import cn.iocoder.yudao.module.pms.dal.mysql.project.ProjectMapper;
import jakarta.annotation.Resource;
public class ProjectImpl implements ProjectApi {
@Resource
private ProjectMapper projectMapper;
@Override
public ProjectRespDTO getProject(Long projectId) {
ProjectDO projectDO = projectMapper.selectById(projectId);
ProjectRespDTO projectRespDTO = BeanUtils.toBean(projectDO, ProjectRespDTO.class);
return projectRespDTO;
}
@Override
public ProjectDetailRespDTO getProjectDetailById(Long projectId) {
ProjectDetailDO projectMapperDetail = projectMapper.getDetailById(projectId);
ProjectDetailRespDTO detailRespDTO = BeanUtils.toBean(projectMapperDetail, ProjectDetailRespDTO.class);
return detailRespDTO;
}
}

View File

@@ -4,11 +4,8 @@ import cn.iocoder.yudao.module.pms.enums.DictTypeConstants;
import lombok.*;
import java.math.BigDecimal;
import java.util.*;
import java.time.LocalDateTime;
import java.time.LocalDateTime;
import java.time.LocalDateTime;
import java.time.LocalDateTime;
import com.baomidou.mybatisplus.annotation.*;
import cn.iocoder.yudao.framework.mybatis.core.dataobject.BaseDO;

View File

@@ -1,10 +1,7 @@
package cn.iocoder.yudao.module.pms.dal.dataobject.project;
import cn.iocoder.yudao.framework.common.pojo.FileDTO;
import lombok.Data;
import java.util.List;
/**
* @author hhyykk
* @description

View File

@@ -42,7 +42,7 @@ public interface ProjectMapper extends BaseMapperX<ProjectDO> {
.leftJoin(DeptDO.class, DeptDO::getId, ProjectDO::getTrackingDepId)
.leftJoin(AdminUserDO.class, AdminUserDO::getId, ProjectDO::getProjectManagerId)
.leftJoin(CustomerCompanyDO.class, CustomerCompanyDO::getId, ProjectDO::getCustomerCompanyId)
);
);
}
default ProjectDetailDO getDetailById(Long id) {