销售管理-客户

This commit is contained in:
2025-11-18 17:33:01 +08:00
parent 5e68c82fcc
commit 7bb592eb8c
10 changed files with 1350 additions and 0 deletions

View File

@ -0,0 +1,212 @@
package com.xjrsoft.module.sales.dto;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import java.io.Serializable;
import com.fasterxml.jackson.annotation.JsonFormat;
import java.time.LocalTime;
import java.time.LocalDateTime;
import java.math.BigDecimal;
import java.util.List;
import com.pictc.annotations.datalog.LogField;
import com.pictc.annotations.datalog.LogTable;
/**
* @title: 客户
* @Author 管理员
* @Date: 2025-11-18
* @Version 1.0
*/
@Data
@LogTable(source="lng_customer",name="客户")
public class AddLngCustomerDto implements Serializable {
private static final long serialVersionUID = 1L;
/**
* 客户编码(不能重复以C开头)
*/
@ApiModelProperty("客户编码(不能重复以C开头)")
@LogField(name="客户编码(不能重复以C开头)",index=0)
private String cuCode;
/**
* 集团编码
*/
@ApiModelProperty("集团编码")
@LogField(name="集团编码",index=0)
private String cuMcode;
/**
* 客户名称(不能与名称、简称重复)
*/
@ApiModelProperty("客户名称(不能与名称、简称重复)")
@LogField(name="客户名称(不能与名称、简称重复)",index=0)
private String cuName;
/**
* 简称(不能与名称、简称重复)
*/
@ApiModelProperty("简称(不能与名称、简称重复)")
@LogField(name="简称(不能与名称、简称重复)",index=0)
private String cuSname;
/**
* 国际/国内(I-国际D-国内)
*/
@ApiModelProperty("国际/国内(I-国际D-国内)")
@LogField(name="国际/国内(I-国际D-国内)",index=0)
private String dI;
/**
* 企业性质(国有企业/非国有企业)
*/
@ApiModelProperty("企业性质(国有企业/非国有企业)")
@LogField(name="企业性质(国有企业/非国有企业)",index=0)
private String natureCode;
/**
* 母公司名称
*/
@ApiModelProperty("母公司名称")
@LogField(name="母公司名称",index=0)
private String parentName;
/**
* 统一社会信用代码(非空时不可重复)
*/
@ApiModelProperty("统一社会信用代码(非空时不可重复)")
@LogField(name="统一社会信用代码(非空时不可重复)",index=0)
private String creditNo;
/**
* 纳税人识别号(非空时不可重复)
*/
@ApiModelProperty("纳税人识别号(非空时不可重复)")
@LogField(name="纳税人识别号(非空时不可重复)",index=0)
private String tiNo;
/**
* 法定代表人
*/
@ApiModelProperty("法定代表人")
@LogField(name="法定代表人",index=0)
private String representative;
/**
* 成立日期
*/
@ApiModelProperty("成立日期")
@LogField(name="成立日期",index=0)
private LocalDateTime dateEstab;
/**
* 准入日期
*/
@ApiModelProperty("准入日期")
@LogField(name="准入日期",index=0)
private LocalDateTime dateEntry;
/**
* 注册资本(万元)
*/
@ApiModelProperty("注册资本(万元)")
@LogField(name="注册资本(万元)",index=0)
private String amtReg;
/**
* 注册地址
*/
@ApiModelProperty("注册地址")
@LogField(name="注册地址",index=0)
private String addrReg;
/**
* 通讯地址
*/
@ApiModelProperty("通讯地址")
@LogField(name="通讯地址",index=0)
private String addrMail;
/**
* 客户分类(一类/二类)
*/
@ApiModelProperty("客户分类(一类/二类)")
@LogField(name="客户分类(一类/二类)",index=0)
private String classCode;
/**
* 客户类别(电厂/工业用户/城燃/贸易商)
*/
@ApiModelProperty("客户类别(电厂/工业用户/城燃/贸易商)")
@LogField(name="客户类别(电厂/工业用户/城燃/贸易商)",index=0)
private String typeCode;
/**
* 统计分类(内部/国电/华电/深能/其他)
*/
@ApiModelProperty("统计分类(内部/国电/华电/深能/其他)")
@LogField(name="统计分类(内部/国电/华电/深能/其他)",index=0)
private String propCode;
/**
* 国有企业持股
*/
@ApiModelProperty("国有企业持股")
@LogField(name="国有企业持股",index=0)
private String stateSign;
/**
* 国企持股比例
*/
@ApiModelProperty("国企持股比例")
@LogField(name="国企持股比例",index=0)
private BigDecimal rateShare;
/**
* 持股第一大股东名称
*/
@ApiModelProperty("持股第一大股东名称")
@LogField(name="持股第一大股东名称",index=0)
private String shareName;
/**
* 集团持股比例
*/
@ApiModelProperty("集团持股比例")
@LogField(name="集团持股比例",index=0)
private BigDecimal rateShareGn;
/**
* 是否校验预付款(Y-是N-否)
*/
@ApiModelProperty("是否校验预付款(Y-是N-否)")
@LogField(name="是否校验预付款(Y-是N-否)",index=0)
private String prepaySign;
/**
* 有无线上(竞拍)(Y-有N-无)
*/
@ApiModelProperty("有无线上(竞拍)(Y-有N-无)")
@LogField(name="有无线上(竞拍)(Y-有N-无)",index=0)
private String onlineSign;
/**
* 自有终端(Y-是N-否)
*/
@ApiModelProperty("自有终端(Y-是N-否)")
@LogField(name="自有终端(Y-是N-否)",index=0)
private String tSign;
/**
* 组织架构编码
*/
@ApiModelProperty("组织架构编码")
@LogField(name="组织架构编码",index=0)
private String orgCode;
/**
* 有效标志(不在黑名单)(Y-有效N-无效)
*/
@ApiModelProperty("有效标志(不在黑名单)(Y-有效N-无效)")
@LogField(name="有效标志(不在黑名单)(Y-有效N-无效)",index=0)
private String valid;
/**
* 状态(未提交/审批中/已审批/已驳回)
*/
@ApiModelProperty("状态(未提交/审批中/已审批/已驳回)")
@LogField(name="状态(未提交/审批中/已审批/已驳回)",index=0)
private String approCode;
/**
* 备注
*/
@ApiModelProperty("备注")
@LogField(name="备注",index=0)
private String note;
/**
* 租户id
*/
@ApiModelProperty("租户id")
@LogField(name="租户id",index=0)
private Long tenantId;
}

View File

@ -0,0 +1,70 @@
package com.xjrsoft.module.sales.dto;
import com.xjrsoft.common.page.PageInput;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import lombok.EqualsAndHashCode;
import org.springframework.format.annotation.DateTimeFormat;
import java.time.LocalTime;
import java.time.LocalDateTime;
import java.math.BigDecimal;
/**
* @title: 分页查询入参
* @Author 管理员
* @Date: 2025-11-18
* @Version 1.0
*/
@Data
@EqualsAndHashCode(callSuper = false)
public class LngCustomerPageDto extends PageInput {
/**
* 客户编码(不能重复以C开头)
*/
@ApiModelProperty("客户编码(不能重复以C开头)")
private String cuCode;
/**
* 客户名称(不能与名称、简称重复)
*/
@ApiModelProperty("客户名称(不能与名称、简称重复)")
private String cuName;
/**
* 简称(不能与名称、简称重复)
*/
@ApiModelProperty("简称(不能与名称、简称重复)")
private String cuSname;
/**
* 集团编码
*/
@ApiModelProperty("集团编码")
private String cuMcode;
/**
* 客户分类(一类/二类)
*/
@ApiModelProperty("客户分类(一类/二类)")
private String classCode;
/**
* 客户类别(电厂/工业用户/城燃/贸易商)
*/
@ApiModelProperty("客户类别(电厂/工业用户/城燃/贸易商)")
private String typeCode;
/**
* 企业性质(国有企业/非国有企业)
*/
@ApiModelProperty("企业性质(国有企业/非国有企业)")
private String natureCode;
/**
* 有效标志(不在黑名单)(Y-有效N-无效)
*/
@ApiModelProperty("有效标志(不在黑名单)(Y-有效N-无效)")
private String valid;
/**
* 状态(未提交/审批中/已审批/已驳回)
*/
@ApiModelProperty("状态(未提交/审批中/已审批/已驳回)")
private String approCode;
}

View File

@ -0,0 +1,254 @@
package com.xjrsoft.module.sales.dto;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import java.io.Serializable;
import java.time.LocalTime;
import java.time.LocalDateTime;
import java.math.BigDecimal;
import com.fasterxml.jackson.annotation.JsonFormat;
import java.util.List;
import com.pictc.annotations.datalog.LogTable;
import com.pictc.annotations.datalog.LogField;
import com.pictc.annotations.datalog.LogJoin;
import com.pictc.annotations.datalog.LogJoinColumn;
import com.pictc.annotations.datalog.JoinCaseType;
import com.pictc.annotations.datalog.JoinType;
import com.pictc.annotations.datalog.ValueDirectionType;
/**
* @title: 客户
* @Author 管理员
* @Date: 2025-11-18
* @Version 1.0
*/
@Data
@LogTable(source="lng_customer",name="客户")
public class UpdateLngCustomerDto implements Serializable {
private static final long serialVersionUID = 1L;
/**
* 主键
*/
@LogField(name="主键",index=0)
@ApiModelProperty("主键")
private Long id;
/**
* 客户编码(不能重复以C开头)
*/
@LogField(name="客户编码(不能重复以C开头)",index=1)
@ApiModelProperty("客户编码(不能重复以C开头)")
private String cuCode;
/**
* 集团编码
*/
@LogField(name="集团编码",index=2)
@ApiModelProperty("集团编码")
private String cuMcode;
/**
* 客户名称(不能与名称、简称重复)
*/
@LogField(name="客户名称(不能与名称、简称重复)",index=3)
@ApiModelProperty("客户名称(不能与名称、简称重复)")
private String cuName;
/**
* 简称(不能与名称、简称重复)
*/
@LogField(name="简称(不能与名称、简称重复)",index=4)
@ApiModelProperty("简称(不能与名称、简称重复)")
private String cuSname;
/**
* 国际/国内(I-国际D-国内)
*/
@LogField(name="国际/国内(I-国际D-国内)",index=5)
@ApiModelProperty("国际/国内(I-国际D-国内)")
private String dI;
/**
* 企业性质(国有企业/非国有企业)
*/
@LogField(name="企业性质(国有企业/非国有企业)",index=6)
@ApiModelProperty("企业性质(国有企业/非国有企业)")
private String natureCode;
/**
* 母公司名称
*/
@LogField(name="母公司名称",index=7)
@ApiModelProperty("母公司名称")
private String parentName;
/**
* 统一社会信用代码(非空时不可重复)
*/
@LogField(name="统一社会信用代码(非空时不可重复)",index=8)
@ApiModelProperty("统一社会信用代码(非空时不可重复)")
private String creditNo;
/**
* 纳税人识别号(非空时不可重复)
*/
@LogField(name="纳税人识别号(非空时不可重复)",index=9)
@ApiModelProperty("纳税人识别号(非空时不可重复)")
private String tiNo;
/**
* 法定代表人
*/
@LogField(name="法定代表人",index=10)
@ApiModelProperty("法定代表人")
private String representative;
/**
* 成立日期
*/
@LogField(name="成立日期",index=11)
@ApiModelProperty("成立日期")
private LocalDateTime dateEstab;
/**
* 准入日期
*/
@LogField(name="准入日期",index=12)
@ApiModelProperty("准入日期")
private LocalDateTime dateEntry;
/**
* 注册资本(万元)
*/
@LogField(name="注册资本(万元)",index=13)
@ApiModelProperty("注册资本(万元)")
private String amtReg;
/**
* 注册地址
*/
@LogField(name="注册地址",index=14)
@ApiModelProperty("注册地址")
private String addrReg;
/**
* 通讯地址
*/
@LogField(name="通讯地址",index=15)
@ApiModelProperty("通讯地址")
private String addrMail;
/**
* 客户分类(一类/二类)
*/
@LogField(name="客户分类(一类/二类)",index=16)
@ApiModelProperty("客户分类(一类/二类)")
private String classCode;
/**
* 客户类别(电厂/工业用户/城燃/贸易商)
*/
@LogField(name="客户类别(电厂/工业用户/城燃/贸易商)",index=17)
@ApiModelProperty("客户类别(电厂/工业用户/城燃/贸易商)")
private String typeCode;
/**
* 统计分类(内部/国电/华电/深能/其他)
*/
@LogField(name="统计分类(内部/国电/华电/深能/其他)",index=18)
@ApiModelProperty("统计分类(内部/国电/华电/深能/其他)")
private String propCode;
/**
* 国有企业持股
*/
@LogField(name="国有企业持股",index=19)
@ApiModelProperty("国有企业持股")
private String stateSign;
/**
* 国企持股比例
*/
@LogField(name="国企持股比例",index=20)
@ApiModelProperty("国企持股比例")
private BigDecimal rateShare;
/**
* 持股第一大股东名称
*/
@LogField(name="持股第一大股东名称",index=21)
@ApiModelProperty("持股第一大股东名称")
private String shareName;
/**
* 集团持股比例
*/
@LogField(name="集团持股比例",index=22)
@ApiModelProperty("集团持股比例")
private BigDecimal rateShareGn;
/**
* 是否校验预付款(Y-是N-否)
*/
@LogField(name="是否校验预付款(Y-是N-否)",index=23)
@ApiModelProperty("是否校验预付款(Y-是N-否)")
private String prepaySign;
/**
* 有无线上(竞拍)(Y-有N-无)
*/
@LogField(name="有无线上(竞拍)(Y-有N-无)",index=24)
@ApiModelProperty("有无线上(竞拍)(Y-有N-无)")
private String onlineSign;
/**
* 自有终端(Y-是N-否)
*/
@LogField(name="自有终端(Y-是N-否)",index=25)
@ApiModelProperty("自有终端(Y-是N-否)")
private String tSign;
/**
* 组织架构编码
*/
@LogField(name="组织架构编码",index=26)
@ApiModelProperty("组织架构编码")
private String orgCode;
/**
* 有效标志(不在黑名单)(Y-有效N-无效)
*/
@LogField(name="有效标志(不在黑名单)(Y-有效N-无效)",index=27)
@ApiModelProperty("有效标志(不在黑名单)(Y-有效N-无效)")
private String valid;
/**
* 状态(未提交/审批中/已审批/已驳回)
*/
@LogField(name="状态(未提交/审批中/已审批/已驳回)",index=28)
@ApiModelProperty("状态(未提交/审批中/已审批/已驳回)")
private String approCode;
/**
* 备注
*/
@LogField(name="备注",index=29)
@ApiModelProperty("备注")
private String note;
/**
* 租户id
*/
@LogField(name="租户id",index=30)
@ApiModelProperty("租户id")
private Long tenantId;
}

View File

@ -0,0 +1,73 @@
package com.xjrsoft.module.sales.vo;
import com.fasterxml.jackson.annotation.JsonFormat;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import com.xjrsoft.common.annotation.Trans;
import com.xjrsoft.common.enums.TransType;
import java.time.LocalTime;
import java.time.LocalDateTime;
import java.math.BigDecimal;
/**
* @title: 分页列表出参
* @Author 管理员
* @Date: 2025-11-18
* @Version 1.0
*/
@Data
public class LngCustomerPageVo {
/**
* 主键
*/
@ApiModelProperty("主键")
private String id;
/**
* 客户编码(不能重复以C开头)
*/
@ApiModelProperty("客户编码(不能重复以C开头)")
private String cuCode;
/**
* 集团编码
*/
@ApiModelProperty("集团编码")
private String cuMcode;
/**
* 客户名称(不能与名称、简称重复)
*/
@ApiModelProperty("客户名称(不能与名称、简称重复)")
private String cuName;
/**
* 简称(不能与名称、简称重复)
*/
@ApiModelProperty("简称(不能与名称、简称重复)")
private String cuSname;
/**
* 企业性质(国有企业/非国有企业)
*/
@ApiModelProperty("企业性质(国有企业/非国有企业)")
private String natureCode;
/**
* 客户分类(一类/二类)
*/
@ApiModelProperty("客户分类(一类/二类)")
private String classCode;
/**
* 客户类别(电厂/工业用户/城燃/贸易商)
*/
@ApiModelProperty("客户类别(电厂/工业用户/城燃/贸易商)")
private String typeCode;
/**
* 有效标志(不在黑名单)(Y-有效N-无效)
*/
@ApiModelProperty("有效标志(不在黑名单)(Y-有效N-无效)")
private String valid;
/**
* 状态(未提交/审批中/已审批/已驳回)
*/
@ApiModelProperty("状态(未提交/审批中/已审批/已驳回)")
private String approCode;
}

View File

@ -0,0 +1,282 @@
package com.xjrsoft.module.sales.vo;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import java.time.LocalTime;
import java.time.LocalDateTime;
import java.math.BigDecimal;
import java.util.List;
/**
* @title: 表单出参
* @Author 管理员
* @Date: 2025-11-18
* @Version 1.0
*/
@Data
public class LngCustomerVo {
/**
* 主键
*/
@ApiModelProperty("主键")
private Long id;
/**
* 客户编码(不能重复以C开头)
*/
@ApiModelProperty("客户编码(不能重复以C开头)")
private String cuCode;
/**
* 集团编码
*/
@ApiModelProperty("集团编码")
private String cuMcode;
/**
* 客户名称(不能与名称、简称重复)
*/
@ApiModelProperty("客户名称(不能与名称、简称重复)")
private String cuName;
/**
* 简称(不能与名称、简称重复)
*/
@ApiModelProperty("简称(不能与名称、简称重复)")
private String cuSname;
/**
* 国际/国内(I-国际D-国内)
*/
@ApiModelProperty("国际/国内(I-国际D-国内)")
private String dI;
/**
* 企业性质(国有企业/非国有企业)
*/
@ApiModelProperty("企业性质(国有企业/非国有企业)")
private String natureCode;
/**
* 母公司名称
*/
@ApiModelProperty("母公司名称")
private String parentName;
/**
* 统一社会信用代码(非空时不可重复)
*/
@ApiModelProperty("统一社会信用代码(非空时不可重复)")
private String creditNo;
/**
* 纳税人识别号(非空时不可重复)
*/
@ApiModelProperty("纳税人识别号(非空时不可重复)")
private String tiNo;
/**
* 法定代表人
*/
@ApiModelProperty("法定代表人")
private String representative;
/**
* 成立日期
*/
@ApiModelProperty("成立日期")
private LocalDateTime dateEstab;
/**
* 准入日期
*/
@ApiModelProperty("准入日期")
private LocalDateTime dateEntry;
/**
* 注册资本(万元)
*/
@ApiModelProperty("注册资本(万元)")
private String amtReg;
/**
* 注册地址
*/
@ApiModelProperty("注册地址")
private String addrReg;
/**
* 通讯地址
*/
@ApiModelProperty("通讯地址")
private String addrMail;
/**
* 客户分类(一类/二类)
*/
@ApiModelProperty("客户分类(一类/二类)")
private String classCode;
/**
* 客户类别(电厂/工业用户/城燃/贸易商)
*/
@ApiModelProperty("客户类别(电厂/工业用户/城燃/贸易商)")
private String typeCode;
/**
* 统计分类(内部/国电/华电/深能/其他)
*/
@ApiModelProperty("统计分类(内部/国电/华电/深能/其他)")
private String propCode;
/**
* 国有企业持股
*/
@ApiModelProperty("国有企业持股")
private String stateSign;
/**
* 国企持股比例
*/
@ApiModelProperty("国企持股比例")
private BigDecimal rateShare;
/**
* 持股第一大股东名称
*/
@ApiModelProperty("持股第一大股东名称")
private String shareName;
/**
* 集团持股比例
*/
@ApiModelProperty("集团持股比例")
private BigDecimal rateShareGn;
/**
* 是否校验预付款(Y-是N-否)
*/
@ApiModelProperty("是否校验预付款(Y-是N-否)")
private String prepaySign;
/**
* 有无线上(竞拍)(Y-有N-无)
*/
@ApiModelProperty("有无线上(竞拍)(Y-有N-无)")
private String onlineSign;
/**
* 自有终端(Y-是N-否)
*/
@ApiModelProperty("自有终端(Y-是N-否)")
private String tSign;
/**
* 组织架构编码
*/
@ApiModelProperty("组织架构编码")
private String orgCode;
/**
* 有效标志(不在黑名单)(Y-有效N-无效)
*/
@ApiModelProperty("有效标志(不在黑名单)(Y-有效N-无效)")
private String valid;
/**
* 状态(未提交/审批中/已审批/已驳回)
*/
@ApiModelProperty("状态(未提交/审批中/已审批/已驳回)")
private String approCode;
/**
* 备注
*/
@ApiModelProperty("备注")
private String note;
/**
* 创建人id
*/
@ApiModelProperty("创建人id")
private Long createUserId;
/**
* 创建时间
*/
@ApiModelProperty("创建时间")
private LocalDateTime createDate;
/**
* 修改人id
*/
@ApiModelProperty("修改人id")
private Long modifyUserId;
/**
* 修改时间
*/
@ApiModelProperty("修改时间")
private LocalDateTime modifyDate;
/**
* 租户id
*/
@ApiModelProperty("租户id")
private Long tenantId;
/**
* 部门id
*/
@ApiModelProperty("部门id")
private Long deptId;
/**
* 数据权限id
*/
@ApiModelProperty("数据权限id")
private Long ruleUserId;
}

View File

@ -0,0 +1,134 @@
package com.xjrsoft.module.sales.controller;
import cn.hutool.core.bean.BeanUtil;
import cn.hutool.core.util.ObjectUtil;
import cn.hutool.core.util.StrUtil;
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.core.toolkit.Wrappers;
import com.xjrsoft.common.constant.GlobalConstant;
import com.baomidou.mybatisplus.core.toolkit.StringPool;
import com.xjrsoft.common.page.ConventPage;
import com.xjrsoft.common.page.PageOutput;
import com.xjrsoft.common.model.result.R;
import com.xjrsoft.common.utils.VoToColumnUtil;
import com.xjrsoft.module.sales.dto.AddLngCustomerDto;
import com.xjrsoft.module.sales.dto.UpdateLngCustomerDto;
import cn.dev33.satoken.annotation.SaCheckPermission;
import com.xjrsoft.module.sales.dto.LngCustomerPageDto;
import com.xjrsoft.module.sales.entity.LngCustomer;
import com.xjrsoft.module.sales.service.ICustomerService;
import com.xjrsoft.module.sales.vo.LngCustomerPageVo;
import com.xjrsoft.module.datalog.vo.DataChangeLogVo;
import com.xjrsoft.module.datalog.service.DatalogService;
import com.xjrsoft.module.sales.vo.LngCustomerVo;
import io.swagger.annotations.Api;
import io.swagger.annotations.ApiOperation;
import lombok.AllArgsConstructor;
import org.springframework.web.bind.annotation.*;
import javax.validation.Valid;
import javax.validation.constraints.NotNull;
import java.util.List;
/**
* @title: 客户
* @Author 管理员
* @Date: 2025-11-18
* @Version 1.0
*/
@RestController
@RequestMapping("/sales" + "/customer")
@Api(value = "/sales" + "/customer",tags = "客户代码")
@AllArgsConstructor
public class CustomerController {
private final ICustomerService customerService;
private final DatalogService dataService;
@GetMapping(value = "/page")
@ApiOperation(value="LngCustomer列表(分页)")
@SaCheckPermission("customer:list")
public R page(@Valid LngCustomerPageDto dto){
LambdaQueryWrapper<LngCustomer> queryWrapper = new LambdaQueryWrapper<>();
queryWrapper
.like(StrUtil.isNotBlank(dto.getCuCode()),LngCustomer::getCuCode,dto.getCuCode())
.like(StrUtil.isNotBlank(dto.getCuName()),LngCustomer::getCuName,dto.getCuName())
.like(StrUtil.isNotBlank(dto.getCuSname()),LngCustomer::getCuSname,dto.getCuSname())
.like(StrUtil.isNotBlank(dto.getCuMcode()),LngCustomer::getCuMcode,dto.getCuMcode())
.like(StrUtil.isNotBlank(dto.getClassCode()),LngCustomer::getClassCode,dto.getClassCode())
.like(StrUtil.isNotBlank(dto.getTypeCode()),LngCustomer::getTypeCode,dto.getTypeCode())
.like(StrUtil.isNotBlank(dto.getNatureCode()),LngCustomer::getNatureCode,dto.getNatureCode())
.like(StrUtil.isNotBlank(dto.getValid()),LngCustomer::getValid,dto.getValid())
.like(StrUtil.isNotBlank(dto.getApproCode()),LngCustomer::getApproCode,dto.getApproCode())
.orderByDesc(LngCustomer::getId)
.select(LngCustomer.class,x -> VoToColumnUtil.fieldsToColumns(LngCustomerPageVo.class).contains(x.getProperty()));
IPage<LngCustomer> page = customerService.page(ConventPage.getPage(dto), queryWrapper);
PageOutput<LngCustomerPageVo> pageOutput = ConventPage.getPageOutput(page, LngCustomerPageVo.class);
return R.ok(pageOutput);
}
@GetMapping(value = "/info")
@ApiOperation(value="根据id查询LngCustomer信息")
@SaCheckPermission("customer:detail")
public R info(@RequestParam Long id){
LngCustomer lngCustomer = customerService.getById(id);
if (lngCustomer == null) {
return R.error("找不到此数据!");
}
return R.ok(BeanUtil.toBean(lngCustomer, LngCustomerVo.class));
}
@GetMapping(value = "/datalog")
@ApiOperation(value="根据id查询LngCustomer数据详细日志")
@SaCheckPermission("customer:datalog")
public R datalog(@RequestParam Long id){
List<DataChangeLogVo> logs = dataService.findLogsByEntityId(UpdateLngCustomerDto.class,id);
return R.ok(logs);
}
@PostMapping
@ApiOperation(value = "新增LngCustomer")
@SaCheckPermission("customer:add")
public R add(@Valid @RequestBody UpdateLngCustomerDto dto){
UpdateLngCustomerDto res = dataService.insert(dto);
return R.ok(res.getId());
}
@PutMapping
@ApiOperation(value = "修改LngCustomer")
@SaCheckPermission("customer:edit")
public R update(@Valid @RequestBody UpdateLngCustomerDto dto){
return R.ok(dataService.updateById(dto));
}
@DeleteMapping
@ApiOperation(value = "删除")
@SaCheckPermission("customer:delete")
public R delete(@Valid @RequestBody List<Long> ids){
return R.ok(dataService.deleteByIds(UpdateLngCustomerDto.class, ids));
}
@PostMapping("/enable")
@ApiOperation(value = "启用LngCustomer")
@SaCheckPermission("customer:enable")
public R enable(@Valid @RequestBody List<Long> ids){
return R.ok(dataService.enable(UpdateLngCustomerDto.class,ids));
}
@PostMapping("/disable")
@ApiOperation(value = "禁用LngCustomer")
@SaCheckPermission("customer:disable")
public R disable(@Valid @RequestBody List<Long> ids){
return R.ok(dataService.disable(UpdateLngCustomerDto.class,ids));
}
}

View File

@ -0,0 +1,264 @@
package com.xjrsoft.module.sales.entity;
import com.baomidou.mybatisplus.annotation.FieldFill;
import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableLogic;
import com.baomidou.mybatisplus.annotation.TableName;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.Version;
import com.github.yulichang.annotation.EntityMapping;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import java.io.Serializable;
import java.time.LocalTime;
import java.time.LocalDateTime;
import java.math.BigDecimal;
import java.util.List;
/**
* @title: 客户
* @Author 管理员
* @Date: 2025-11-18
* @Version 1.0
*/
@Data
@TableName("lng_customer")
@ApiModel(value = "客户对象", description = "客户")
public class LngCustomer implements Serializable {
private static final long serialVersionUID = 1L;
/**
* 主键
*/
@ApiModelProperty("主键")
@TableId
private Long id;
/**
* 客户编码(不能重复以C开头)
*/
@ApiModelProperty("客户编码(不能重复以C开头)")
private String cuCode;
/**
* 集团编码
*/
@ApiModelProperty("集团编码")
private String cuMcode;
/**
* 客户名称(不能与名称、简称重复)
*/
@ApiModelProperty("客户名称(不能与名称、简称重复)")
private String cuName;
/**
* 简称(不能与名称、简称重复)
*/
@ApiModelProperty("简称(不能与名称、简称重复)")
private String cuSname;
/**
* 国际/国内(I-国际D-国内)
*/
@ApiModelProperty("国际/国内(I-国际D-国内)")
private String dI;
/**
* 企业性质(国有企业/非国有企业)
*/
@ApiModelProperty("企业性质(国有企业/非国有企业)")
private String natureCode;
/**
* 母公司名称
*/
@ApiModelProperty("母公司名称")
private String parentName;
/**
* 统一社会信用代码(非空时不可重复)
*/
@ApiModelProperty("统一社会信用代码(非空时不可重复)")
private String creditNo;
/**
* 纳税人识别号(非空时不可重复)
*/
@ApiModelProperty("纳税人识别号(非空时不可重复)")
private String tiNo;
/**
* 法定代表人
*/
@ApiModelProperty("法定代表人")
private String representative;
/**
* 成立日期
*/
@ApiModelProperty("成立日期")
private LocalDateTime dateEstab;
/**
* 准入日期
*/
@ApiModelProperty("准入日期")
private LocalDateTime dateEntry;
/**
* 注册资本(万元)
*/
@ApiModelProperty("注册资本(万元)")
private String amtReg;
/**
* 注册地址
*/
@ApiModelProperty("注册地址")
private String addrReg;
/**
* 通讯地址
*/
@ApiModelProperty("通讯地址")
private String addrMail;
/**
* 客户分类(一类/二类)
*/
@ApiModelProperty("客户分类(一类/二类)")
private String classCode;
/**
* 客户类别(电厂/工业用户/城燃/贸易商)
*/
@ApiModelProperty("客户类别(电厂/工业用户/城燃/贸易商)")
private String typeCode;
/**
* 统计分类(内部/国电/华电/深能/其他)
*/
@ApiModelProperty("统计分类(内部/国电/华电/深能/其他)")
private String propCode;
/**
* 国有企业持股
*/
@ApiModelProperty("国有企业持股")
private String stateSign;
/**
* 国企持股比例
*/
@ApiModelProperty("国企持股比例")
private BigDecimal rateShare;
/**
* 持股第一大股东名称
*/
@ApiModelProperty("持股第一大股东名称")
private String shareName;
/**
* 集团持股比例
*/
@ApiModelProperty("集团持股比例")
private BigDecimal rateShareGn;
/**
* 是否校验预付款(Y-是N-否)
*/
@ApiModelProperty("是否校验预付款(Y-是N-否)")
private String prepaySign;
/**
* 有无线上(竞拍)(Y-有N-无)
*/
@ApiModelProperty("有无线上(竞拍)(Y-有N-无)")
private String onlineSign;
/**
* 自有终端(Y-是N-否)
*/
@ApiModelProperty("自有终端(Y-是N-否)")
private String tSign;
/**
* 组织架构编码
*/
@ApiModelProperty("组织架构编码")
private String orgCode;
/**
* 有效标志(不在黑名单)(Y-有效N-无效)
*/
@ApiModelProperty("有效标志(不在黑名单)(Y-有效N-无效)")
private String valid;
/**
* 状态(未提交/审批中/已审批/已驳回)
*/
@ApiModelProperty("状态(未提交/审批中/已审批/已驳回)")
private String approCode;
/**
* 备注
*/
@ApiModelProperty("备注")
private String note;
/**
* 创建人id
*/
@ApiModelProperty("创建人id")
@TableField(fill = FieldFill.INSERT)
private Long createUserId;
/**
* 创建时间
*/
@ApiModelProperty("创建时间")
@TableField(fill = FieldFill.INSERT)
private LocalDateTime createDate;
/**
* 修改人id
*/
@ApiModelProperty("修改人id")
@TableField(fill = FieldFill.UPDATE)
private Long modifyUserId;
/**
* 修改时间
*/
@ApiModelProperty("修改时间")
@TableField(fill = FieldFill.UPDATE)
private LocalDateTime modifyDate;
/**
* 租户id
*/
@ApiModelProperty("租户id")
private Long tenantId;
/**
* 部门id
*/
@ApiModelProperty("部门id")
@TableField(fill = FieldFill.INSERT)
private Long deptId;
/**
* 数据权限id
*/
@ApiModelProperty("数据权限id")
@TableField(fill = FieldFill.INSERT)
private Long ruleUserId;
}

View File

@ -0,0 +1,17 @@
package com.xjrsoft.module.sales.mapper;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.github.yulichang.base.MPJBaseMapper;
import com.xjrsoft.module.sales.entity.LngCustomer;
import org.apache.ibatis.annotations.Mapper;
/**
* @title: mapper
* @Author 管理员
* @Date: 2025-11-18
* @Version 1.0
*/
@Mapper
public interface LngCustomerMapper extends BaseMapper<LngCustomer> {
}

View File

@ -0,0 +1,19 @@
package com.xjrsoft.module.sales.service;
import com.baomidou.mybatisplus.extension.service.IService;
import com.github.yulichang.base.MPJBaseService;
import com.github.yulichang.extension.mapping.base.MPJDeepService;
import com.github.yulichang.extension.mapping.base.MPJRelationService;
import com.xjrsoft.module.sales.entity.LngCustomer;
import lombok.Data;
import java.util.List;
/**
* @title: service
* @Author 管理员
* @Date: 2025-11-18
* @Version 1.0
*/
public interface ICustomerService extends IService<LngCustomer> {
}

View File

@ -0,0 +1,25 @@
package com.xjrsoft.module.sales.service.impl;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import com.github.yulichang.base.MPJBaseServiceImpl;
import com.xjrsoft.module.sales.entity.LngCustomer;
import com.xjrsoft.module.sales.mapper.LngCustomerMapper;
import com.xjrsoft.module.sales.service.ICustomerService;
import lombok.AllArgsConstructor;
import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Transactional;
import java.util.List;
import java.util.Objects;
import java.util.stream.Collectors;
import com.baomidou.mybatisplus.core.toolkit.Wrappers;
/**
* @title: service
* @Author 管理员
* @Date: 2025-11-18
* @Version 1.0
*/
@Service
@AllArgsConstructor
public class CustomerServiceImpl extends ServiceImpl<LngCustomerMapper, LngCustomer> implements ICustomerService {
}