mirror of
https://gitee.com/hhyykk/ipms-sjy.git
synced 2025-02-13 09:04:59 +08:00
[fix] 优化合同管理
This commit is contained in:
parent
39c410f56e
commit
668f7283d8
@ -8,8 +8,10 @@ import cn.iocoder.yudao.framework.jackson.core.databind.TimestampLocalDateTimeSe
|
|||||||
import com.fasterxml.jackson.databind.ObjectMapper;
|
import com.fasterxml.jackson.databind.ObjectMapper;
|
||||||
import com.fasterxml.jackson.databind.module.SimpleModule;
|
import com.fasterxml.jackson.databind.module.SimpleModule;
|
||||||
import com.fasterxml.jackson.datatype.jsr310.deser.LocalDateDeserializer;
|
import com.fasterxml.jackson.datatype.jsr310.deser.LocalDateDeserializer;
|
||||||
|
import com.fasterxml.jackson.datatype.jsr310.deser.LocalDateTimeDeserializer;
|
||||||
import com.fasterxml.jackson.datatype.jsr310.deser.LocalTimeDeserializer;
|
import com.fasterxml.jackson.datatype.jsr310.deser.LocalTimeDeserializer;
|
||||||
import com.fasterxml.jackson.datatype.jsr310.ser.LocalDateSerializer;
|
import com.fasterxml.jackson.datatype.jsr310.ser.LocalDateSerializer;
|
||||||
|
import com.fasterxml.jackson.datatype.jsr310.ser.LocalDateTimeSerializer;
|
||||||
import com.fasterxml.jackson.datatype.jsr310.ser.LocalTimeSerializer;
|
import com.fasterxml.jackson.datatype.jsr310.ser.LocalTimeSerializer;
|
||||||
import lombok.extern.slf4j.Slf4j;
|
import lombok.extern.slf4j.Slf4j;
|
||||||
import org.springframework.boot.autoconfigure.AutoConfiguration;
|
import org.springframework.boot.autoconfigure.AutoConfiguration;
|
||||||
@ -18,6 +20,7 @@ import org.springframework.context.annotation.Bean;
|
|||||||
import java.time.LocalDate;
|
import java.time.LocalDate;
|
||||||
import java.time.LocalDateTime;
|
import java.time.LocalDateTime;
|
||||||
import java.time.LocalTime;
|
import java.time.LocalTime;
|
||||||
|
import java.time.format.DateTimeFormatter;
|
||||||
import java.util.List;
|
import java.util.List;
|
||||||
|
|
||||||
@AutoConfiguration
|
@AutoConfiguration
|
||||||
@ -38,8 +41,8 @@ public class YudaoJacksonAutoConfiguration {
|
|||||||
.addSerializer(LocalTime.class, LocalTimeSerializer.INSTANCE)
|
.addSerializer(LocalTime.class, LocalTimeSerializer.INSTANCE)
|
||||||
.addDeserializer(LocalTime.class, LocalTimeDeserializer.INSTANCE)
|
.addDeserializer(LocalTime.class, LocalTimeDeserializer.INSTANCE)
|
||||||
// 新增 LocalDateTime 序列化、反序列化规则,使用 Long 时间戳
|
// 新增 LocalDateTime 序列化、反序列化规则,使用 Long 时间戳
|
||||||
.addSerializer(LocalDateTime.class, TimestampLocalDateTimeSerializer.INSTANCE)
|
.addSerializer(LocalDateTime.class, new LocalDateTimeSerializer(DateTimeFormatter.ofPattern("yyyy-MM-dd HH:mm:ss")))
|
||||||
.addDeserializer(LocalDateTime.class, TimestampLocalDateTimeDeserializer.INSTANCE);
|
.addDeserializer(LocalDateTime.class, new LocalDateTimeDeserializer(DateTimeFormatter.ofPattern("yyyy-MM-dd HH:mm:ss")));
|
||||||
// 1.2 注册到 objectMapper
|
// 1.2 注册到 objectMapper
|
||||||
objectMappers.forEach(objectMapper -> objectMapper.registerModule(simpleModule));
|
objectMappers.forEach(objectMapper -> objectMapper.registerModule(simpleModule));
|
||||||
|
|
||||||
|
@ -27,10 +27,6 @@ public class ContractRespVO {
|
|||||||
@ExcelProperty("项目id")
|
@ExcelProperty("项目id")
|
||||||
private Long projectId;
|
private Long projectId;
|
||||||
|
|
||||||
@Schema(description = "外部合同id", example = "32057")
|
|
||||||
@ExcelProperty("外部合同id")
|
|
||||||
private Long extContractId;
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
@Schema(description = "项目编号", requiredMode = Schema.RequiredMode.REQUIRED, example = "SJ24001")
|
@Schema(description = "项目编号", requiredMode = Schema.RequiredMode.REQUIRED, example = "SJ24001")
|
||||||
|
@ -23,36 +23,6 @@ public class ContractSaveReqVO {
|
|||||||
@ExcelProperty("项目id")
|
@ExcelProperty("项目id")
|
||||||
private Long projectId;
|
private Long projectId;
|
||||||
|
|
||||||
@Schema(description = "外部合同id", example = "32057")
|
|
||||||
@ExcelProperty("外部合同id")
|
|
||||||
private Long extContractId;
|
|
||||||
|
|
||||||
//
|
|
||||||
|
|
||||||
@Schema(description = "项目编号", requiredMode = Schema.RequiredMode.REQUIRED, example = "SJ24001")
|
|
||||||
@ExcelProperty("项目编号")
|
|
||||||
private String code;
|
|
||||||
|
|
||||||
@Schema(description = "主控部门", requiredMode = Schema.RequiredMode.REQUIRED, example = "生产一部")
|
|
||||||
@ExcelProperty("主控部门")
|
|
||||||
private String trackingDep;
|
|
||||||
|
|
||||||
@Schema(description = "项目负责人", requiredMode = Schema.RequiredMode.REQUIRED)
|
|
||||||
@ExcelProperty("项目负责人")
|
|
||||||
private String projectManager;
|
|
||||||
|
|
||||||
@Schema(description = "预计合同金额", requiredMode = Schema.RequiredMode.REQUIRED,example = "200.0000")
|
|
||||||
@ExcelProperty("预计合同金额")
|
|
||||||
private BigDecimal expectedContractAmount;
|
|
||||||
|
|
||||||
@Schema(description = "合同商议提示")
|
|
||||||
@ExcelProperty("合同商议提示")
|
|
||||||
private LocalDateTime reminderTime;
|
|
||||||
|
|
||||||
@Schema(description = "出图公司", requiredMode = Schema.RequiredMode.REQUIRED,example = "***设计院")
|
|
||||||
@ExcelProperty("出图公司")
|
|
||||||
private String drawingCompany;
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
@ -32,10 +32,6 @@ public class ContractDO extends BaseDO {
|
|||||||
* 项目id
|
* 项目id
|
||||||
*/
|
*/
|
||||||
private Long projectId;
|
private Long projectId;
|
||||||
/**
|
|
||||||
* 外部合同id
|
|
||||||
*/
|
|
||||||
private Long extContractId;
|
|
||||||
/**
|
/**
|
||||||
* 合同名称
|
* 合同名称
|
||||||
*/
|
*/
|
||||||
|
@ -0,0 +1,16 @@
|
|||||||
|
package cn.iocoder.yudao.module.cms.dal.dataobject.contract;
|
||||||
|
|
||||||
|
import lombok.Data;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @author wyw
|
||||||
|
* @description
|
||||||
|
* @date 2024/8/14
|
||||||
|
*/
|
||||||
|
@Data
|
||||||
|
public class ProjectScheduleDetailDO extends ContractDO {
|
||||||
|
/**
|
||||||
|
* 项目负责人
|
||||||
|
*/
|
||||||
|
private String projectLeader;
|
||||||
|
}
|
@ -0,0 +1,36 @@
|
|||||||
|
package cn.iocoder.yudao.module.cms.dal.dataobject.contract;
|
||||||
|
|
||||||
|
import lombok.Data;
|
||||||
|
|
||||||
|
import java.math.BigDecimal;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @author wyw
|
||||||
|
* @description
|
||||||
|
* @date 2024/8/14
|
||||||
|
*/
|
||||||
|
@Data
|
||||||
|
public class ProjectTrackingDetailDO extends ContractDO {
|
||||||
|
/**
|
||||||
|
* 项目编号
|
||||||
|
*/
|
||||||
|
private String code;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 跟踪部门
|
||||||
|
*/
|
||||||
|
private String trackingDep;
|
||||||
|
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 出图公司
|
||||||
|
*/
|
||||||
|
private BigDecimal lettingPartyPeople;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 预计公司合同总金额
|
||||||
|
*/
|
||||||
|
private BigDecimal companyContractAmount;
|
||||||
|
|
||||||
|
|
||||||
|
}
|
@ -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));
|
|
||||||
}
|
|
||||||
|
|
||||||
}
|
|
@ -1,7 +1,6 @@
|
|||||||
package cn.iocoder.yudao.module.cms.service.contract;
|
package cn.iocoder.yudao.module.cms.service.contract;
|
||||||
|
|
||||||
import cn.iocoder.yudao.module.bpm.api.task.BpmProcessInstanceApi;
|
import cn.iocoder.yudao.module.bpm.api.task.BpmProcessInstanceApi;
|
||||||
import cn.iocoder.yudao.module.bpm.api.task.dto.BpmProcessInstanceCreateReqDTO;
|
|
||||||
import cn.iocoder.yudao.module.bpm.api.task.dto.BpmProcessInstanceRespDTO;
|
import cn.iocoder.yudao.module.bpm.api.task.dto.BpmProcessInstanceRespDTO;
|
||||||
import cn.iocoder.yudao.module.bpm.api.task.dto.BpmTaskRespDTO;
|
import cn.iocoder.yudao.module.bpm.api.task.dto.BpmTaskRespDTO;
|
||||||
import cn.iocoder.yudao.module.cms.dal.dataobject.contractHistory.ContractHistoryDO;
|
import cn.iocoder.yudao.module.cms.dal.dataobject.contractHistory.ContractHistoryDO;
|
||||||
@ -66,100 +65,55 @@ public class ContractServiceImpl implements ContractService {
|
|||||||
@Override
|
@Override
|
||||||
public Long createContract(Long loginUserId, ContractSaveReqVO createReqVO) {
|
public Long createContract(Long loginUserId, ContractSaveReqVO createReqVO) {
|
||||||
|
|
||||||
if (loginUserId == null) {
|
|
||||||
throw exception(PARAM_NOT_EXISTS);
|
|
||||||
}
|
|
||||||
|
|
||||||
String userName = adminUserApi.getUser(loginUserId).getNickname();
|
String userName = adminUserApi.getUser(loginUserId).getNickname();
|
||||||
if (userName == null) {
|
if (userName == null) {
|
||||||
throw exception(USER_NOT_EXISTS);
|
throw exception(USER_NOT_EXISTS);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
//校验,项目是否存在
|
//校验,项目是否存在
|
||||||
Long projectId = createReqVO.getProjectId();
|
Long projectId = createReqVO.getProjectId();
|
||||||
projectApi.validProjectExist(projectId);
|
projectApi.validProjectExist(projectId);
|
||||||
|
|
||||||
//校验联表的字段是否和所联系的表内容相同
|
|
||||||
ProjectRespDTO project = projectApi.getProject(projectId);
|
|
||||||
ProjectDetailRespDTO projectDetail = projectApi.getProjectDetailById(projectId);
|
|
||||||
|
|
||||||
|
String name = createReqVO.getName();
|
||||||
//todo 待提取
|
String trimName = name.trim();
|
||||||
String code = createReqVO.getCode();
|
List<ContractDO> projectList = contractMapper.selectList("project_id", projectId);
|
||||||
String trackingDep = createReqVO.getTrackingDep();
|
for (ContractDO contractDO : projectList) {
|
||||||
String projectManager = createReqVO.getProjectManager();
|
if (contractDO.getName().equals(trimName)){
|
||||||
String drawingCompany = createReqVO.getDrawingCompany();
|
|
||||||
BigDecimal expectedContractAmount = createReqVO.getExpectedContractAmount();
|
|
||||||
BigDecimal provisionalSettlement = createReqVO.getProvisionalSettlement();
|
|
||||||
|
|
||||||
//LocalDateTime reminderTime = createReqVO.getReminderTime();
|
|
||||||
|
|
||||||
if (!project.getCode().equals(code)) {
|
|
||||||
throw exception(PARAM_ERROR);
|
|
||||||
}
|
|
||||||
if (!projectDetail.getTrackingDepName().equals(trackingDep)) {
|
|
||||||
throw exception(PARAM_ERROR);
|
|
||||||
}
|
|
||||||
if (!projectDetail.getProjectManagerName().equals(projectManager)) {
|
|
||||||
throw exception(PARAM_ERROR);
|
|
||||||
}
|
|
||||||
if (!project.getDrawingCompany().equals(drawingCompany)) {
|
|
||||||
throw exception(PARAM_ERROR);
|
|
||||||
}
|
|
||||||
if (!Objects.equals(project.getContractAmount(), expectedContractAmount)) {
|
|
||||||
throw exception(PARAM_ERROR);
|
|
||||||
}
|
|
||||||
if (!Objects.equals(provisionalSettlement, getProvisionalSettlement(createReqVO))) {
|
|
||||||
throw exception(PARAM_ERROR);
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
ContractDO contract = BeanUtils.toBean(createReqVO, ContractDO.class);
|
|
||||||
ContractRespVO contractResp = BeanUtils.toBean(contract, ContractRespVO.class);
|
|
||||||
contract.setCreator(userName);
|
|
||||||
contract.setUpdater(userName);
|
|
||||||
|
|
||||||
|
|
||||||
//判断该合同是否已经存在,比较各个字段值是否完全一样
|
|
||||||
//得到所有的合同?逐个比较?
|
|
||||||
|
|
||||||
|
|
||||||
List<ContractDO> contractList = contractMapper.selectList("project_id", projectId);
|
|
||||||
List<ContractRespVO> respVOList = BeanUtils.toBean(contractList, ContractRespVO.class);
|
|
||||||
|
|
||||||
for (ContractRespVO respVO : respVOList) {
|
|
||||||
if (respVO.equals(contractResp)) {
|
|
||||||
throw exception(CONTRACT_ALREADY_EXISTS);
|
throw exception(CONTRACT_ALREADY_EXISTS);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
ContractDO contract = BeanUtils.toBean(createReqVO, ContractDO.class);
|
||||||
|
|
||||||
|
contract.setCreator(userName);
|
||||||
|
contract.setUpdater(userName);
|
||||||
|
|
||||||
contractMapper.insert(contract);
|
contractMapper.insert(contract);
|
||||||
|
|
||||||
|
|
||||||
Long contractId = contract.getId();
|
// Long contractId = contract.getId();
|
||||||
ContractHistoryDO contractHistory = BeanUtils.toBean(contract, ContractHistoryDO.class);
|
// ContractHistoryDO contractHistory = BeanUtils.toBean(contract, ContractHistoryDO.class);
|
||||||
|
//
|
||||||
|
|
||||||
|
// // 启动流程,同时写入历史合同
|
||||||
// 启动流程,同时写入历史合同
|
// if (createReqVO.getId() == null) {
|
||||||
if (createReqVO.getId() == null) {
|
// String processInstanceId = processInstanceApi.createProcessInstance(loginUserId,
|
||||||
String processInstanceId = processInstanceApi.createProcessInstance(loginUserId,
|
// new BpmProcessInstanceCreateReqDTO()
|
||||||
new BpmProcessInstanceCreateReqDTO()
|
// .setProcessDefinitionKey(PROCESS_KEY).setBusinessKey(String.valueOf(contractId)));
|
||||||
.setProcessDefinitionKey(PROCESS_KEY).setBusinessKey(String.valueOf(contractId)));
|
//
|
||||||
|
// // 写入工作流编号
|
||||||
// 写入工作流编号
|
// contractHistory.setProcessInstanceId(processInstanceId);
|
||||||
contractHistory.setProcessInstanceId(processInstanceId);
|
// contractHistory.setContractId(contractId);
|
||||||
contractHistory.setContractId(contractId);
|
//
|
||||||
|
// Long count = contractHistoryMapper.selectCount("project_id", projectId);
|
||||||
Long count = contractHistoryMapper.selectCount("project_id", projectId);
|
// if (count < 1) {
|
||||||
if (count < 1) {
|
// contractHistory.setVersion(VERSION);
|
||||||
contractHistory.setVersion(VERSION);
|
// } else {
|
||||||
} else {
|
// contractHistory.setVersion(String.valueOf(count + 1));
|
||||||
contractHistory.setVersion(String.valueOf(count + 1));
|
// }
|
||||||
}
|
//
|
||||||
|
// contractHistory.setProcessStatus("0");
|
||||||
contractHistory.setProcessStatus("0");
|
// contractHistoryMapper.insert(contractHistory);
|
||||||
contractHistoryMapper.insert(contractHistory);
|
// }
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
//返回
|
//返回
|
||||||
@ -203,38 +157,12 @@ public class ContractServiceImpl implements ContractService {
|
|||||||
}
|
}
|
||||||
|
|
||||||
Long projectId = contractDO.getProjectId();
|
Long projectId = contractDO.getProjectId();
|
||||||
|
|
||||||
if (projectId == null) {
|
if (projectId == null) {
|
||||||
throw exception(PROJECT_NOT_EXISTS);
|
throw exception(PROJECT_NOT_EXISTS);
|
||||||
}
|
}
|
||||||
|
|
||||||
ContractRespVO contractRespVO = BeanUtils.toBean(contractDO, ContractRespVO.class);
|
ContractRespVO contractRespVO = BeanUtils.toBean(contractDO, ContractRespVO.class);
|
||||||
|
|
||||||
// 需要联表查询
|
|
||||||
// 1.项目编号 pms_project 直接 √
|
|
||||||
// 2.主控部门(跟踪部门) pms_project找到的是id 需要联表 √
|
|
||||||
// 3.项目经理 pms_project找到的是id 需要联表 √
|
|
||||||
// 4.出图公司 pms_project 直接 √
|
|
||||||
// 5.预计合同金额 pms_project 直接 √
|
|
||||||
// 6.合同商议提示 √ 外部合同表里
|
|
||||||
// 7.暂定结算数 √
|
|
||||||
|
|
||||||
ProjectRespDTO project = projectApi.getProject(projectId);
|
|
||||||
contractRespVO.setCode(project.getCode());
|
|
||||||
contractRespVO.setDrawingCompany(project.getDrawingCompany());
|
|
||||||
contractRespVO.setExpectedContractAmount(project.getContractAmount());
|
|
||||||
ProjectDetailRespDTO projectDetail = projectApi.getProjectDetailById(projectId);
|
|
||||||
contractRespVO.setTrackingDep(projectDetail.getTrackingDepName());
|
|
||||||
contractRespVO.setProjectManager(projectDetail.getProjectManagerName());
|
|
||||||
|
|
||||||
//分包合同商议提示 TODO 待优化
|
|
||||||
// ExtContractDO extContractDO = extContractMapper.selectOne("project_id", projectId);
|
|
||||||
// LocalDateTime reminderTime = extContractDO.getReminderTime();
|
|
||||||
contractRespVO.setReminderTime(null);
|
|
||||||
|
|
||||||
//暂定结算数
|
|
||||||
BigDecimal provisionalSettlement = getProvisionalSettlementById(id);
|
|
||||||
contractRespVO.setProvisionalSettlement(provisionalSettlement);
|
|
||||||
|
|
||||||
|
|
||||||
return contractRespVO;
|
return contractRespVO;
|
||||||
}
|
}
|
||||||
|
@ -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);
|
|
||||||
|
|
||||||
}
|
|
@ -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);
|
|
||||||
}
|
|
||||||
|
|
||||||
}
|
|
@ -10,7 +10,6 @@ import cn.iocoder.yudao.module.cms.controller.admin.extContract.vo.ExtContractRe
|
|||||||
import cn.iocoder.yudao.module.cms.controller.admin.extContract.vo.ExtContractSaveReqVO;
|
import cn.iocoder.yudao.module.cms.controller.admin.extContract.vo.ExtContractSaveReqVO;
|
||||||
import cn.iocoder.yudao.module.cms.dal.dataobject.extcontract.ExtContractDO;
|
import cn.iocoder.yudao.module.cms.dal.dataobject.extcontract.ExtContractDO;
|
||||||
import cn.iocoder.yudao.module.cms.dal.dataobject.extcontracthistory.ExtContractHistoryDO;
|
import cn.iocoder.yudao.module.cms.dal.dataobject.extcontracthistory.ExtContractHistoryDO;
|
||||||
import cn.iocoder.yudao.module.cms.dal.mysql.customerCompany.CustomerCompanyMapper;
|
|
||||||
import cn.iocoder.yudao.module.cms.dal.mysql.extContract.ExtContractMapper;
|
import cn.iocoder.yudao.module.cms.dal.mysql.extContract.ExtContractMapper;
|
||||||
import cn.iocoder.yudao.module.cms.dal.mysql.extcontracthistory.ExtContractHistoryMapper;
|
import cn.iocoder.yudao.module.cms.dal.mysql.extcontracthistory.ExtContractHistoryMapper;
|
||||||
import cn.iocoder.yudao.module.cms.enums.ChargingStandardEnum;
|
import cn.iocoder.yudao.module.cms.enums.ChargingStandardEnum;
|
||||||
@ -60,8 +59,6 @@ public class ExtContractServiceImpl implements ExtContractService {
|
|||||||
@Resource
|
@Resource
|
||||||
private ProjectApi projectApi;
|
private ProjectApi projectApi;
|
||||||
|
|
||||||
@Resource
|
|
||||||
private CustomerCompanyMapper customerCompanyMapper;
|
|
||||||
|
|
||||||
@Resource
|
@Resource
|
||||||
private AdminUserApi adminUserApi;
|
private AdminUserApi adminUserApi;
|
||||||
|
@ -1,7 +1,5 @@
|
|||||||
package cn.iocoder.yudao.module.cms.service.extcontracthistory;
|
package cn.iocoder.yudao.module.cms.service.extcontracthistory;
|
||||||
|
|
||||||
import cn.iocoder.yudao.module.cms.dal.dataobject.customerCompany.CustomerCompanyDO;
|
|
||||||
import cn.iocoder.yudao.module.cms.dal.mysql.customerCompany.CustomerCompanyMapper;
|
|
||||||
import cn.iocoder.yudao.module.cms.enums.ChargingStandardEnum;
|
import cn.iocoder.yudao.module.cms.enums.ChargingStandardEnum;
|
||||||
import cn.iocoder.yudao.module.cms.enums.ContractStatusEnum;
|
import cn.iocoder.yudao.module.cms.enums.ContractStatusEnum;
|
||||||
import cn.iocoder.yudao.module.cms.enums.ContractTypeEnum;
|
import cn.iocoder.yudao.module.cms.enums.ContractTypeEnum;
|
||||||
@ -47,8 +45,7 @@ public class ExtContractHistoryServiceImpl implements ExtContractHistoryService
|
|||||||
@Resource
|
@Resource
|
||||||
private AdminUserApi adminUserApi;
|
private AdminUserApi adminUserApi;
|
||||||
|
|
||||||
@Resource
|
|
||||||
private CustomerCompanyMapper customerCompanyMapper;
|
|
||||||
|
|
||||||
@Resource
|
@Resource
|
||||||
private ExtContractService extContractService;
|
private ExtContractService extContractService;
|
||||||
@ -104,9 +101,7 @@ public class ExtContractHistoryServiceImpl implements ExtContractHistoryService
|
|||||||
HistoryResp.setProjectManager(projectDetail.getProjectManagerName());
|
HistoryResp.setProjectManager(projectDetail.getProjectManagerName());
|
||||||
|
|
||||||
//用客户公司id查询
|
//用客户公司id查询
|
||||||
CustomerCompanyDO customerCompanyDO = customerCompanyMapper.selectById(customerCompanyId);
|
HistoryResp.setCustomerCompanyName(null);
|
||||||
String name = customerCompanyDO.getName();
|
|
||||||
HistoryResp.setCustomerCompanyName(name);
|
|
||||||
// TODO 枚举优化
|
// TODO 枚举优化
|
||||||
|
|
||||||
//合同总金额
|
//合同总金额
|
||||||
|
@ -18,6 +18,7 @@ import java.time.LocalDateTime;
|
|||||||
import java.time.LocalDateTime;
|
import java.time.LocalDateTime;
|
||||||
import com.baomidou.mybatisplus.annotation.*;
|
import com.baomidou.mybatisplus.annotation.*;
|
||||||
import cn.iocoder.yudao.framework.mybatis.core.dataobject.BaseDO;
|
import cn.iocoder.yudao.framework.mybatis.core.dataobject.BaseDO;
|
||||||
|
import org.glassfish.jaxb.core.v2.TODO;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 项目跟踪信息 DO
|
* 项目跟踪信息 DO
|
||||||
|
@ -57,7 +57,7 @@ public class ProjectTrackingServiceImpl implements ProjectTrackingService {
|
|||||||
|
|
||||||
private void validateProjectTrackingExists(Long id) {
|
private void validateProjectTrackingExists(Long id) {
|
||||||
if (projectTrackingMapper.selectById(id) == null) {
|
if (projectTrackingMapper.selectById(id) == null) {
|
||||||
throw exception(PROJECT_TRACKING_NOT_EXISTS);
|
throw exception(null);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
Loading…
Reference in New Issue
Block a user