From 7bb592eb8c814b0b03fe80bbcc7e6e36dc766b59 Mon Sep 17 00:00:00 2001 From: "t-shunyi.kuang" <846002312@qq.com> Date: Tue, 18 Nov 2025 17:33:01 +0800 Subject: [PATCH] =?UTF-8?q?=E9=94=80=E5=94=AE=E7=AE=A1=E7=90=86-=E5=AE=A2?= =?UTF-8?q?=E6=88=B7?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../module/sales/dto/AddLngCustomerDto.java | 212 +++++++++++++ .../module/sales/dto/LngCustomerPageDto.java | 70 +++++ .../sales/dto/UpdateLngCustomerDto.java | 254 ++++++++++++++++ .../module/sales/vo/LngCustomerPageVo.java | 73 +++++ .../module/sales/vo/LngCustomerVo.java | 282 ++++++++++++++++++ .../sales/controller/CustomerController.java | 134 +++++++++ .../module/sales/entity/LngCustomer.java | 264 ++++++++++++++++ .../sales/mapper/LngCustomerMapper.java | 17 ++ .../sales/service/ICustomerService.java | 19 ++ .../service/impl/CustomerServiceImpl.java | 25 ++ 10 files changed, 1350 insertions(+) create mode 100644 itc-pcitc-mdm/itc-pcitc-mdm-api/src/main/java/com/xjrsoft/module/sales/dto/AddLngCustomerDto.java create mode 100644 itc-pcitc-mdm/itc-pcitc-mdm-api/src/main/java/com/xjrsoft/module/sales/dto/LngCustomerPageDto.java create mode 100644 itc-pcitc-mdm/itc-pcitc-mdm-api/src/main/java/com/xjrsoft/module/sales/dto/UpdateLngCustomerDto.java create mode 100644 itc-pcitc-mdm/itc-pcitc-mdm-api/src/main/java/com/xjrsoft/module/sales/vo/LngCustomerPageVo.java create mode 100644 itc-pcitc-mdm/itc-pcitc-mdm-api/src/main/java/com/xjrsoft/module/sales/vo/LngCustomerVo.java create mode 100644 itc-pcitc-mdm/itc-pcitc-mdm-service/src/main/java/com/xjrsoft/module/sales/controller/CustomerController.java create mode 100644 itc-pcitc-mdm/itc-pcitc-mdm-service/src/main/java/com/xjrsoft/module/sales/entity/LngCustomer.java create mode 100644 itc-pcitc-mdm/itc-pcitc-mdm-service/src/main/java/com/xjrsoft/module/sales/mapper/LngCustomerMapper.java create mode 100644 itc-pcitc-mdm/itc-pcitc-mdm-service/src/main/java/com/xjrsoft/module/sales/service/ICustomerService.java create mode 100644 itc-pcitc-mdm/itc-pcitc-mdm-service/src/main/java/com/xjrsoft/module/sales/service/impl/CustomerServiceImpl.java diff --git a/itc-pcitc-mdm/itc-pcitc-mdm-api/src/main/java/com/xjrsoft/module/sales/dto/AddLngCustomerDto.java b/itc-pcitc-mdm/itc-pcitc-mdm-api/src/main/java/com/xjrsoft/module/sales/dto/AddLngCustomerDto.java new file mode 100644 index 0000000..0c5da5c --- /dev/null +++ b/itc-pcitc-mdm/itc-pcitc-mdm-api/src/main/java/com/xjrsoft/module/sales/dto/AddLngCustomerDto.java @@ -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; + +} diff --git a/itc-pcitc-mdm/itc-pcitc-mdm-api/src/main/java/com/xjrsoft/module/sales/dto/LngCustomerPageDto.java b/itc-pcitc-mdm/itc-pcitc-mdm-api/src/main/java/com/xjrsoft/module/sales/dto/LngCustomerPageDto.java new file mode 100644 index 0000000..35fc0fb --- /dev/null +++ b/itc-pcitc-mdm/itc-pcitc-mdm-api/src/main/java/com/xjrsoft/module/sales/dto/LngCustomerPageDto.java @@ -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; + +} diff --git a/itc-pcitc-mdm/itc-pcitc-mdm-api/src/main/java/com/xjrsoft/module/sales/dto/UpdateLngCustomerDto.java b/itc-pcitc-mdm/itc-pcitc-mdm-api/src/main/java/com/xjrsoft/module/sales/dto/UpdateLngCustomerDto.java new file mode 100644 index 0000000..28706da --- /dev/null +++ b/itc-pcitc-mdm/itc-pcitc-mdm-api/src/main/java/com/xjrsoft/module/sales/dto/UpdateLngCustomerDto.java @@ -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; + + +} diff --git a/itc-pcitc-mdm/itc-pcitc-mdm-api/src/main/java/com/xjrsoft/module/sales/vo/LngCustomerPageVo.java b/itc-pcitc-mdm/itc-pcitc-mdm-api/src/main/java/com/xjrsoft/module/sales/vo/LngCustomerPageVo.java new file mode 100644 index 0000000..f519554 --- /dev/null +++ b/itc-pcitc-mdm/itc-pcitc-mdm-api/src/main/java/com/xjrsoft/module/sales/vo/LngCustomerPageVo.java @@ -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; + +} diff --git a/itc-pcitc-mdm/itc-pcitc-mdm-api/src/main/java/com/xjrsoft/module/sales/vo/LngCustomerVo.java b/itc-pcitc-mdm/itc-pcitc-mdm-api/src/main/java/com/xjrsoft/module/sales/vo/LngCustomerVo.java new file mode 100644 index 0000000..cc3472f --- /dev/null +++ b/itc-pcitc-mdm/itc-pcitc-mdm-api/src/main/java/com/xjrsoft/module/sales/vo/LngCustomerVo.java @@ -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; + + + + + +} diff --git a/itc-pcitc-mdm/itc-pcitc-mdm-service/src/main/java/com/xjrsoft/module/sales/controller/CustomerController.java b/itc-pcitc-mdm/itc-pcitc-mdm-service/src/main/java/com/xjrsoft/module/sales/controller/CustomerController.java new file mode 100644 index 0000000..b1735df --- /dev/null +++ b/itc-pcitc-mdm/itc-pcitc-mdm-service/src/main/java/com/xjrsoft/module/sales/controller/CustomerController.java @@ -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 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 page = customerService.page(ConventPage.getPage(dto), queryWrapper); + PageOutput 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 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 ids){ + return R.ok(dataService.deleteByIds(UpdateLngCustomerDto.class, ids)); + + } + + @PostMapping("/enable") + @ApiOperation(value = "启用LngCustomer") + @SaCheckPermission("customer:enable") + public R enable(@Valid @RequestBody List ids){ + return R.ok(dataService.enable(UpdateLngCustomerDto.class,ids)); + } + + + @PostMapping("/disable") + @ApiOperation(value = "禁用LngCustomer") + @SaCheckPermission("customer:disable") + public R disable(@Valid @RequestBody List ids){ + return R.ok(dataService.disable(UpdateLngCustomerDto.class,ids)); + } + + + +} \ No newline at end of file diff --git a/itc-pcitc-mdm/itc-pcitc-mdm-service/src/main/java/com/xjrsoft/module/sales/entity/LngCustomer.java b/itc-pcitc-mdm/itc-pcitc-mdm-service/src/main/java/com/xjrsoft/module/sales/entity/LngCustomer.java new file mode 100644 index 0000000..b3b8d76 --- /dev/null +++ b/itc-pcitc-mdm/itc-pcitc-mdm-service/src/main/java/com/xjrsoft/module/sales/entity/LngCustomer.java @@ -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; + + + +} \ No newline at end of file diff --git a/itc-pcitc-mdm/itc-pcitc-mdm-service/src/main/java/com/xjrsoft/module/sales/mapper/LngCustomerMapper.java b/itc-pcitc-mdm/itc-pcitc-mdm-service/src/main/java/com/xjrsoft/module/sales/mapper/LngCustomerMapper.java new file mode 100644 index 0000000..7f046fb --- /dev/null +++ b/itc-pcitc-mdm/itc-pcitc-mdm-service/src/main/java/com/xjrsoft/module/sales/mapper/LngCustomerMapper.java @@ -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 { + +} diff --git a/itc-pcitc-mdm/itc-pcitc-mdm-service/src/main/java/com/xjrsoft/module/sales/service/ICustomerService.java b/itc-pcitc-mdm/itc-pcitc-mdm-service/src/main/java/com/xjrsoft/module/sales/service/ICustomerService.java new file mode 100644 index 0000000..539726f --- /dev/null +++ b/itc-pcitc-mdm/itc-pcitc-mdm-service/src/main/java/com/xjrsoft/module/sales/service/ICustomerService.java @@ -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 { +} diff --git a/itc-pcitc-mdm/itc-pcitc-mdm-service/src/main/java/com/xjrsoft/module/sales/service/impl/CustomerServiceImpl.java b/itc-pcitc-mdm/itc-pcitc-mdm-service/src/main/java/com/xjrsoft/module/sales/service/impl/CustomerServiceImpl.java new file mode 100644 index 0000000..6032edf --- /dev/null +++ b/itc-pcitc-mdm/itc-pcitc-mdm-service/src/main/java/com/xjrsoft/module/sales/service/impl/CustomerServiceImpl.java @@ -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 implements ICustomerService { +}