CRM-合同:RespVO 添加导出注解

This commit is contained in:
puhui999 2024-01-17 12:11:39 +08:00
parent ff9cef6a92
commit 7b36eb888e
3 changed files with 36 additions and 4 deletions

View File

@ -1,83 +1,116 @@
package cn.iocoder.yudao.module.crm.controller.admin.contract.vo; package cn.iocoder.yudao.module.crm.controller.admin.contract.vo;
import com.alibaba.excel.annotation.ExcelIgnoreUnannotated;
import com.alibaba.excel.annotation.ExcelProperty;
import io.swagger.v3.oas.annotations.media.Schema; import io.swagger.v3.oas.annotations.media.Schema;
import lombok.Data; import lombok.Data;
import org.springframework.format.annotation.DateTimeFormat;
import java.time.LocalDateTime; import java.time.LocalDateTime;
// TODO @puhui999导出注解哈 import static cn.iocoder.yudao.framework.common.util.date.DateUtils.FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND;
@Schema(description = "管理后台 - CRM 合同 Response VO") @Schema(description = "管理后台 - CRM 合同 Response VO")
@Data @Data
@ExcelIgnoreUnannotated
public class CrmContractRespVO { public class CrmContractRespVO {
@Schema(description = "合同编号", requiredMode = Schema.RequiredMode.REQUIRED, example = "10430") @Schema(description = "合同编号", requiredMode = Schema.RequiredMode.REQUIRED, example = "10430")
@ExcelProperty("合同编号")
private Long id; private Long id;
@Schema(description = "合同名称", requiredMode = Schema.RequiredMode.REQUIRED, example = "王五") @Schema(description = "合同名称", requiredMode = Schema.RequiredMode.REQUIRED, example = "王五")
@ExcelProperty("合同名称")
private String name; private String name;
@Schema(description = "客户编号", requiredMode = Schema.RequiredMode.REQUIRED, example = "18336") @Schema(description = "客户编号", requiredMode = Schema.RequiredMode.REQUIRED, example = "18336")
@ExcelProperty("客户编号")
private Long customerId; private Long customerId;
@Schema(description = "商机编号", example = "10864") @Schema(description = "商机编号", example = "10864")
@ExcelProperty("商机编号")
private Long businessId; private Long businessId;
@Schema(description = "工作流编号", example = "1043") @Schema(description = "工作流编号", example = "1043")
@ExcelProperty("工作流编号")
private Long processInstanceId; private Long processInstanceId;
@Schema(description = "下单日期", requiredMode = Schema.RequiredMode.REQUIRED) @Schema(description = "下单日期", requiredMode = Schema.RequiredMode.REQUIRED)
@ExcelProperty("下单日期")
@DateTimeFormat(pattern = FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND)
private LocalDateTime orderDate; private LocalDateTime orderDate;
@Schema(description = "负责人的用户编号", requiredMode = Schema.RequiredMode.REQUIRED, example = "17144") @Schema(description = "负责人的用户编号", requiredMode = Schema.RequiredMode.REQUIRED, example = "17144")
@ExcelProperty("负责人的用户编号")
private Long ownerUserId; private Long ownerUserId;
// TODO @芋艿未来应该支持自动生成 // TODO @芋艿未来应该支持自动生成
@Schema(description = "合同编号", requiredMode = Schema.RequiredMode.REQUIRED, example = "20230101") @Schema(description = "合同编号", requiredMode = Schema.RequiredMode.REQUIRED, example = "20230101")
@ExcelProperty("合同编号")
private String no; private String no;
@Schema(description = "开始时间") @Schema(description = "开始时间")
@ExcelProperty("开始时间")
@DateTimeFormat(pattern = FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND)
private LocalDateTime startTime; private LocalDateTime startTime;
@Schema(description = "结束时间") @Schema(description = "结束时间")
@ExcelProperty("结束时间")
@DateTimeFormat(pattern = FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND)
private LocalDateTime endTime; private LocalDateTime endTime;
@Schema(description = "合同金额", example = "5617") @Schema(description = "合同金额", example = "5617")
@ExcelProperty("合同金额")
private Integer price; private Integer price;
@Schema(description = "整单折扣") @Schema(description = "整单折扣")
@ExcelProperty("整单折扣")
private Integer discountPercent; private Integer discountPercent;
@Schema(description = "产品总金额", example = "19510") @Schema(description = "产品总金额", example = "19510")
@ExcelProperty("产品总金额")
private Integer productPrice; private Integer productPrice;
@Schema(description = "联系人编号", example = "18546") @Schema(description = "联系人编号", example = "18546")
@ExcelProperty("联系人编号")
private Long contactId; private Long contactId;
@Schema(description = "公司签约人", example = "14036") @Schema(description = "公司签约人", example = "14036")
@ExcelProperty("公司签约人")
private Long signUserId; private Long signUserId;
@Schema(description = "最后跟进时间") @Schema(description = "最后跟进时间")
@ExcelProperty("最后跟进时间")
@DateTimeFormat(pattern = FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND)
private LocalDateTime contactLastTime; private LocalDateTime contactLastTime;
@Schema(description = "备注", example = "你猜") @Schema(description = "备注", example = "你猜")
@ExcelProperty("备注")
private String remark; private String remark;
@Schema(description = "创建时间", requiredMode = Schema.RequiredMode.REQUIRED) @Schema(description = "创建时间", requiredMode = Schema.RequiredMode.REQUIRED)
@ExcelProperty("创建时间")
@DateTimeFormat(pattern = FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND)
private LocalDateTime createTime; private LocalDateTime createTime;
@Schema(description = "创建人", example = "25682") @Schema(description = "创建人", example = "25682")
@ExcelProperty("创建人")
private String creator; private String creator;
@Schema(description = "创建人名字", example = "test") @Schema(description = "创建人名字", example = "test")
@ExcelProperty("创建人名字")
private String creatorName; private String creatorName;
@Schema(description = "客户名字", example = "test") @Schema(description = "客户名字", example = "test")
@ExcelProperty("客户名字")
private String customerName; private String customerName;
@Schema(description = "负责人", example = "test") @Schema(description = "负责人", example = "test")
@ExcelProperty("负责人")
private String ownerUserName; private String ownerUserName;
@Schema(description = "审批状态", requiredMode = Schema.RequiredMode.REQUIRED, example = "0") @Schema(description = "审批状态", requiredMode = Schema.RequiredMode.REQUIRED, example = "0")
@ExcelProperty("审批状态")
private Integer auditStatus; private Integer auditStatus;
} }

View File

@ -165,7 +165,7 @@ public class CrmClueServiceImpl implements CrmClueService {
// 1. 创建客户 // 1. 创建客户
CrmCustomerSaveReqVO customerSaveReqVO = BeanUtils.toBean(clue, CrmCustomerSaveReqVO.class).setId(null); CrmCustomerSaveReqVO customerSaveReqVO = BeanUtils.toBean(clue, CrmCustomerSaveReqVO.class).setId(null);
Long customerId = customerService.createCustomer(customerSaveReqVO, userId); Long customerId = customerService.createCustomer(customerSaveReqVO, userId);
// TODO @puhui999如果有跟进记录需要一起转过去 // TODO @puhui999如果有跟进记录需要一起转过去提问艿艿这里是复制线索所有的跟进吗还是直接把线索相关的跟进 bizTypebizId 全改为关联客户
// 2. 更新线索 // 2. 更新线索
clueMapper.updateById(new CrmClueDO().setId(clue.getId()) clueMapper.updateById(new CrmClueDO().setId(clue.getId())
.setTransformStatus(Boolean.TRUE).setCustomerId(customerId)); .setTransformStatus(Boolean.TRUE).setCustomerId(customerId));

View File

@ -235,8 +235,7 @@ public class CrmCustomerServiceImpl implements CrmCustomerService {
// 3. 删除负责人数据权限 // 3. 删除负责人数据权限
permissionService.deletePermission(CrmBizTypeEnum.CRM_CUSTOMER.getType(), customer.getId(), permissionService.deletePermission(CrmBizTypeEnum.CRM_CUSTOMER.getType(), customer.getId(),
CrmPermissionLevelEnum.OWNER.getLevel()); CrmPermissionLevelEnum.OWNER.getLevel());
// TODO @puhui999联系人的负责人也要设置为 null这块和领取是对应的因为领取后负责人也要关联过来 // 联系人的负责人也要设置为 null这块和领取是对应的因为领取后负责人也要关联过来
// 提问那是不是可以这样理解客户所有联系人的负责人默认为客户的负责人然后添加客户团队成员时才存在同时分配给的操作
contactService.updateOwnerUserIdByCustomerId(customer.getId(), null); contactService.updateOwnerUserIdByCustomerId(customer.getId(), null);
// 记录操作日志上下文 // 记录操作日志上下文