diff --git a/itc-pcitc-mdm/itc-pcitc-mdm-api/src/main/java/com/xjrsoft/module/sales/dto/AddLngCustomerAttrPowerDto.java b/itc-pcitc-mdm/itc-pcitc-mdm-api/src/main/java/com/xjrsoft/module/sales/dto/AddLngCustomerAttrPowerDto.java new file mode 100644 index 0000000..76e21c5 --- /dev/null +++ b/itc-pcitc-mdm/itc-pcitc-mdm-api/src/main/java/com/xjrsoft/module/sales/dto/AddLngCustomerAttrPowerDto.java @@ -0,0 +1,58 @@ +package com.xjrsoft.module.sales.dto; + +import java.io.Serializable; +import java.math.BigDecimal; + +import com.pictc.annotations.datalog.LogField; +import com.pictc.annotations.datalog.LogTable; + +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; + + + + +/** +* @title: 客户 +* @Author 管理员 +* @Date: 2025-11-19 +* @Version 1.0 +*/ +@Data +@LogTable(source="lng_customer_attr_power",name="客户") +public class AddLngCustomerAttrPowerDto implements Serializable { + + private static final long serialVersionUID = 1L; + + /** + * 客户编码 + */ + @ApiModelProperty("客户编码") + @LogField(name="客户编码",index=0) + private String cuCode; + /** + * 管道编码 + */ + @ApiModelProperty("管道编码") + @LogField(name="管道编码",index=0) + private String lineCode; + /** + * 装机量(万KW) + */ + @ApiModelProperty("装机量(万KW)") + @LogField(name="装机量(万KW)",index=0) + private BigDecimal capacity; + /** + * 备注 + */ + @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/AddLngCustomerBankDto.java b/itc-pcitc-mdm/itc-pcitc-mdm-api/src/main/java/com/xjrsoft/module/sales/dto/AddLngCustomerBankDto.java new file mode 100644 index 0000000..a31c4b2 --- /dev/null +++ b/itc-pcitc-mdm/itc-pcitc-mdm-api/src/main/java/com/xjrsoft/module/sales/dto/AddLngCustomerBankDto.java @@ -0,0 +1,74 @@ +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-19 +* @Version 1.0 +*/ +@Data +@LogTable(source="lng_customer_bank",name="客户") +public class AddLngCustomerBankDto implements Serializable { + + private static final long serialVersionUID = 1L; + + /** + * 客户编码 + */ + @ApiModelProperty("客户编码") + @LogField(name="客户编码",index=0) + private String cuCode; + /** + * 银行 + */ + @ApiModelProperty("银行") + @LogField(name="银行",index=0) + private String bankCode; + /** + * 账号名称 + */ + @ApiModelProperty("账号名称") + @LogField(name="账号名称",index=0) + private String accountName; + /** + * 账号 + */ + @ApiModelProperty("账号") + @LogField(name="账号",index=0) + private String account; + /** + * 默认账号(Y-是,N-否;只能有一个Y的有效记录) + */ + @ApiModelProperty("默认账号(Y-是,N-否;只能有一个Y的有效记录)") + @LogField(name="默认账号(Y-是,N-否;只能有一个Y的有效记录)",index=0) + private String defaultSign; + /** + * 备注 + */ + @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/AddLngCustomerContactDto.java b/itc-pcitc-mdm/itc-pcitc-mdm-api/src/main/java/com/xjrsoft/module/sales/dto/AddLngCustomerContactDto.java new file mode 100644 index 0000000..636d9ba --- /dev/null +++ b/itc-pcitc-mdm/itc-pcitc-mdm-api/src/main/java/com/xjrsoft/module/sales/dto/AddLngCustomerContactDto.java @@ -0,0 +1,80 @@ +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-19 +* @Version 1.0 +*/ +@Data +@LogTable(source="lng_customer_contact",name="客户") +public class AddLngCustomerContactDto implements Serializable { + + private static final long serialVersionUID = 1L; + + /** + * 客户编码 + */ + @ApiModelProperty("客户编码") + @LogField(name="客户编码",index=0) + private String cuCode; + /** + * 姓名 + */ + @ApiModelProperty("姓名") + @LogField(name="姓名",index=0) + private String contactName; + /** + * 联系电话 + */ + @ApiModelProperty("联系电话") + @LogField(name="联系电话",index=0) + private String tel; + /** + * 通讯地址 + */ + @ApiModelProperty("通讯地址") + @LogField(name="通讯地址",index=0) + private String addrMail; + /** + * 电子邮箱 + */ + @ApiModelProperty("电子邮箱") + @LogField(name="电子邮箱",index=0) + private String email; + /** + * 职位 + */ + @ApiModelProperty("职位") + @LogField(name="职位",index=0) + private String position; + /** + * 备注 + */ + @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/AddLngCustomerDocDto.java b/itc-pcitc-mdm/itc-pcitc-mdm-api/src/main/java/com/xjrsoft/module/sales/dto/AddLngCustomerDocDto.java new file mode 100644 index 0000000..0954a8a --- /dev/null +++ b/itc-pcitc-mdm/itc-pcitc-mdm-api/src/main/java/com/xjrsoft/module/sales/dto/AddLngCustomerDocDto.java @@ -0,0 +1,80 @@ +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-19 +* @Version 1.0 +*/ +@Data +@LogTable(source="lng_customer_doc",name="客户") +public class AddLngCustomerDocDto implements Serializable { + + private static final long serialVersionUID = 1L; + + /** + * 客户编码 + */ + @ApiModelProperty("客户编码") + @LogField(name="客户编码",index=0) + private String cuCode; + /** + * 资质证书类型 + */ + @ApiModelProperty("资质证书类型") + @LogField(name="资质证书类型",index=0) + private String docTypeCode; + /** + * 资质证书编号 + */ + @ApiModelProperty("资质证书编号") + @LogField(name="资质证书编号",index=0) + private String docNo; + /** + * 有效期开始 + */ + @ApiModelProperty("有效期开始") + @LogField(name="有效期开始",index=0) + private LocalDateTime dateFrom; + /** + * 有效期结束 + */ + @ApiModelProperty("有效期结束") + @LogField(name="有效期结束",index=0) + private LocalDateTime dateTo; + /** + * 显示顺序 + */ + @ApiModelProperty("显示顺序") + @LogField(name="显示顺序",index=0) + private Short sort; + /** + * 备注 + */ + @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/AddLngCustomerDto.java b/itc-pcitc-mdm/itc-pcitc-mdm-api/src/main/java/com/xjrsoft/module/sales/dto/AddLngCustomerDto.java index 0c5da5c..bf0740b 100644 --- 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 @@ -1,25 +1,22 @@ 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.time.LocalDateTime; import java.util.List; import com.pictc.annotations.datalog.LogField; import com.pictc.annotations.datalog.LogTable; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; /** * @title: 客户 * @Author 管理员 -* @Date: 2025-11-18 +* @Date: 2025-11-19 * @Version 1.0 */ @Data @@ -209,4 +206,24 @@ public class AddLngCustomerDto implements Serializable { @LogField(name="租户id",index=0) private Long tenantId; + /** + * lngCustomerAttrPower + */ + @ApiModelProperty("lngCustomerAttrPower子表") + private List lngCustomerAttrPowerList; + /** + * lngCustomerBank + */ + @ApiModelProperty("lngCustomerBank子表") + private List lngCustomerBankList; + /** + * lngCustomerDoc + */ + @ApiModelProperty("lngCustomerDoc子表") + private List lngCustomerDocList; + /** + * lngCustomerContact + */ + @ApiModelProperty("lngCustomerContact子表") + private List lngCustomerContactList; } 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 index 35fc0fb..bb1b2eb 100644 --- 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 @@ -1,20 +1,16 @@ 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 +* @Date: 2025-11-19 * @Version 1.0 */ @Data diff --git a/itc-pcitc-mdm/itc-pcitc-mdm-api/src/main/java/com/xjrsoft/module/sales/dto/UpdateLngCustomerAttrPowerDto.java b/itc-pcitc-mdm/itc-pcitc-mdm-api/src/main/java/com/xjrsoft/module/sales/dto/UpdateLngCustomerAttrPowerDto.java new file mode 100644 index 0000000..81d5f77 --- /dev/null +++ b/itc-pcitc-mdm/itc-pcitc-mdm-api/src/main/java/com/xjrsoft/module/sales/dto/UpdateLngCustomerAttrPowerDto.java @@ -0,0 +1,79 @@ +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-19 +* @Version 1.0 +*/ +@Data +@LogTable(source="lng_customer_attr_power",name="客户") +public class UpdateLngCustomerAttrPowerDto implements Serializable { + + private static final long serialVersionUID = 1L; + + /** + * 主键 + */ + @LogField(name="主键",index=0) + @ApiModelProperty("主键") + private Long id; + + /** + * 客户编码 + */ + @LogField(name="客户编码",index=1) + @ApiModelProperty("客户编码") + private String cuCode; + + /** + * 管道编码 + */ + @LogField(name="管道编码",index=2) + @ApiModelProperty("管道编码") + private String lineCode; + + /** + * 装机量(万KW) + */ + @LogField(name="装机量(万KW)",index=3) + @ApiModelProperty("装机量(万KW)") + private BigDecimal capacity; + + /** + * 备注 + */ + @LogField(name="备注",index=4) + @ApiModelProperty("备注") + private String note; + + /** + * 租户id + */ + @LogField(name="租户id",index=5) + @ApiModelProperty("租户id") + private Long tenantId; + + +} diff --git a/itc-pcitc-mdm/itc-pcitc-mdm-api/src/main/java/com/xjrsoft/module/sales/dto/UpdateLngCustomerBankDto.java b/itc-pcitc-mdm/itc-pcitc-mdm-api/src/main/java/com/xjrsoft/module/sales/dto/UpdateLngCustomerBankDto.java new file mode 100644 index 0000000..4ffe9a4 --- /dev/null +++ b/itc-pcitc-mdm/itc-pcitc-mdm-api/src/main/java/com/xjrsoft/module/sales/dto/UpdateLngCustomerBankDto.java @@ -0,0 +1,93 @@ +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-19 +* @Version 1.0 +*/ +@Data +@LogTable(source="lng_customer_bank",name="客户") +public class UpdateLngCustomerBankDto implements Serializable { + + private static final long serialVersionUID = 1L; + + /** + * 主键 + */ + @LogField(name="主键",index=0) + @ApiModelProperty("主键") + private Long id; + + /** + * 客户编码 + */ + @LogField(name="客户编码",index=1) + @ApiModelProperty("客户编码") + private String cuCode; + + /** + * 银行 + */ + @LogField(name="银行",index=2) + @ApiModelProperty("银行") + private String bankCode; + + /** + * 账号名称 + */ + @LogField(name="账号名称",index=3) + @ApiModelProperty("账号名称") + private String accountName; + + /** + * 账号 + */ + @LogField(name="账号",index=4) + @ApiModelProperty("账号") + private String account; + + /** + * 默认账号(Y-是,N-否;只能有一个Y的有效记录) + */ + @LogField(name="默认账号(Y-是,N-否;只能有一个Y的有效记录)",index=5) + @ApiModelProperty("默认账号(Y-是,N-否;只能有一个Y的有效记录)") + private String defaultSign; + + /** + * 备注 + */ + @LogField(name="备注",index=6) + @ApiModelProperty("备注") + private String note; + + /** + * 租户id + */ + @LogField(name="租户id",index=7) + @ApiModelProperty("租户id") + private Long tenantId; + + +} diff --git a/itc-pcitc-mdm/itc-pcitc-mdm-api/src/main/java/com/xjrsoft/module/sales/dto/UpdateLngCustomerContactDto.java b/itc-pcitc-mdm/itc-pcitc-mdm-api/src/main/java/com/xjrsoft/module/sales/dto/UpdateLngCustomerContactDto.java new file mode 100644 index 0000000..897a583 --- /dev/null +++ b/itc-pcitc-mdm/itc-pcitc-mdm-api/src/main/java/com/xjrsoft/module/sales/dto/UpdateLngCustomerContactDto.java @@ -0,0 +1,100 @@ +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-19 +* @Version 1.0 +*/ +@Data +@LogTable(source="lng_customer_contact",name="客户") +public class UpdateLngCustomerContactDto implements Serializable { + + private static final long serialVersionUID = 1L; + + /** + * 主键 + */ + @LogField(name="主键",index=0) + @ApiModelProperty("主键") + private Long id; + + /** + * 客户编码 + */ + @LogField(name="客户编码",index=1) + @ApiModelProperty("客户编码") + private String cuCode; + + /** + * 姓名 + */ + @LogField(name="姓名",index=2) + @ApiModelProperty("姓名") + private String contactName; + + /** + * 联系电话 + */ + @LogField(name="联系电话",index=3) + @ApiModelProperty("联系电话") + private String tel; + + /** + * 通讯地址 + */ + @LogField(name="通讯地址",index=4) + @ApiModelProperty("通讯地址") + private String addrMail; + + /** + * 电子邮箱 + */ + @LogField(name="电子邮箱",index=5) + @ApiModelProperty("电子邮箱") + private String email; + + /** + * 职位 + */ + @LogField(name="职位",index=6) + @ApiModelProperty("职位") + private String position; + + /** + * 备注 + */ + @LogField(name="备注",index=7) + @ApiModelProperty("备注") + private String note; + + /** + * 租户id + */ + @LogField(name="租户id",index=8) + @ApiModelProperty("租户id") + private Long tenantId; + + +} diff --git a/itc-pcitc-mdm/itc-pcitc-mdm-api/src/main/java/com/xjrsoft/module/sales/dto/UpdateLngCustomerDocDto.java b/itc-pcitc-mdm/itc-pcitc-mdm-api/src/main/java/com/xjrsoft/module/sales/dto/UpdateLngCustomerDocDto.java new file mode 100644 index 0000000..a0a5721 --- /dev/null +++ b/itc-pcitc-mdm/itc-pcitc-mdm-api/src/main/java/com/xjrsoft/module/sales/dto/UpdateLngCustomerDocDto.java @@ -0,0 +1,100 @@ +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-19 +* @Version 1.0 +*/ +@Data +@LogTable(source="lng_customer_doc",name="客户") +public class UpdateLngCustomerDocDto implements Serializable { + + private static final long serialVersionUID = 1L; + + /** + * 主键 + */ + @LogField(name="主键",index=0) + @ApiModelProperty("主键") + private Long id; + + /** + * 客户编码 + */ + @LogField(name="客户编码",index=1) + @ApiModelProperty("客户编码") + private String cuCode; + + /** + * 资质证书类型 + */ + @LogField(name="资质证书类型",index=2) + @ApiModelProperty("资质证书类型") + private String docTypeCode; + + /** + * 资质证书编号 + */ + @LogField(name="资质证书编号",index=3) + @ApiModelProperty("资质证书编号") + private String docNo; + + /** + * 有效期开始 + */ + @LogField(name="有效期开始",index=4) + @ApiModelProperty("有效期开始") + private LocalDateTime dateFrom; + + /** + * 有效期结束 + */ + @LogField(name="有效期结束",index=5) + @ApiModelProperty("有效期结束") + private LocalDateTime dateTo; + + /** + * 显示顺序 + */ + @LogField(name="显示顺序",index=6) + @ApiModelProperty("显示顺序") + private Short sort; + + /** + * 备注 + */ + @LogField(name="备注",index=7) + @ApiModelProperty("备注") + private String note; + + /** + * 租户id + */ + @LogField(name="租户id",index=8) + @ApiModelProperty("租户id") + private Long tenantId; + + +} 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 index 28706da..b93f067 100644 --- 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 @@ -1,30 +1,27 @@ 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.time.LocalDateTime; import java.util.List; -import com.pictc.annotations.datalog.LogTable; +import com.pictc.annotations.datalog.JoinCaseType; +import com.pictc.annotations.datalog.JoinType; 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.LogTable; import com.pictc.annotations.datalog.ValueDirectionType; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; /** * @title: 客户 * @Author 管理员 -* @Date: 2025-11-18 +* @Date: 2025-11-19 * @Version 1.0 */ @Data @@ -251,4 +248,44 @@ public class UpdateLngCustomerDto implements Serializable { private Long tenantId; + /** + * lngCustomerAttrPower + */ + @ApiModelProperty("lngCustomerAttrPower子表") + @LogJoin(name = "lngCustomerAttrPower子表", + columns = { + @LogJoinColumn(field = "cuCode",relatedField = "cuCode", valueDirection = ValueDirectionType.RIGHT) + }, + caseType = JoinCaseType.FULL, target = UpdateLngCustomerAttrPowerDto.class, type = JoinType.MANY) + private List lngCustomerAttrPowerList; + /** + * lngCustomerBank + */ + @ApiModelProperty("lngCustomerBank子表") + @LogJoin(name = "lngCustomerBank子表", + columns = { + @LogJoinColumn(field = "cuCode",relatedField = "cuCode", valueDirection = ValueDirectionType.RIGHT) + }, + caseType = JoinCaseType.FULL, target = UpdateLngCustomerBankDto.class, type = JoinType.MANY) + private List lngCustomerBankList; + /** + * lngCustomerDoc + */ + @ApiModelProperty("lngCustomerDoc子表") + @LogJoin(name = "lngCustomerDoc子表", + columns = { + @LogJoinColumn(field = "cuCode",relatedField = "cuCode", valueDirection = ValueDirectionType.RIGHT) + }, + caseType = JoinCaseType.FULL, target = UpdateLngCustomerDocDto.class, type = JoinType.MANY) + private List lngCustomerDocList; + /** + * lngCustomerContact + */ + @ApiModelProperty("lngCustomerContact子表") + @LogJoin(name = "lngCustomerContact子表", + columns = { + @LogJoinColumn(field = "cuCode",relatedField = "cuCode", valueDirection = ValueDirectionType.RIGHT) + }, + caseType = JoinCaseType.FULL, target = UpdateLngCustomerContactDto.class, type = JoinType.MANY) + private List lngCustomerContactList; } diff --git a/itc-pcitc-mdm/itc-pcitc-mdm-api/src/main/java/com/xjrsoft/module/sales/vo/LngCustomerAttrPowerVo.java b/itc-pcitc-mdm/itc-pcitc-mdm-api/src/main/java/com/xjrsoft/module/sales/vo/LngCustomerAttrPowerVo.java new file mode 100644 index 0000000..e9bfb35 --- /dev/null +++ b/itc-pcitc-mdm/itc-pcitc-mdm-api/src/main/java/com/xjrsoft/module/sales/vo/LngCustomerAttrPowerVo.java @@ -0,0 +1,107 @@ +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-19 +* @Version 1.0 +*/ +@Data +public class LngCustomerAttrPowerVo { + + /** + * 主键 + */ + @ApiModelProperty("主键") + private Long id; + + + /** + * 客户编码 + */ + @ApiModelProperty("客户编码") + private String cuCode; + + + /** + * 管道编码 + */ + @ApiModelProperty("管道编码") + private String lineCode; + + + /** + * 装机量(万KW) + */ + @ApiModelProperty("装机量(万KW)") + private BigDecimal capacity; + + + /** + * 备注 + */ + @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-api/src/main/java/com/xjrsoft/module/sales/vo/LngCustomerBankVo.java b/itc-pcitc-mdm/itc-pcitc-mdm-api/src/main/java/com/xjrsoft/module/sales/vo/LngCustomerBankVo.java new file mode 100644 index 0000000..02ca81b --- /dev/null +++ b/itc-pcitc-mdm/itc-pcitc-mdm-api/src/main/java/com/xjrsoft/module/sales/vo/LngCustomerBankVo.java @@ -0,0 +1,121 @@ +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-19 +* @Version 1.0 +*/ +@Data +public class LngCustomerBankVo { + + /** + * 主键 + */ + @ApiModelProperty("主键") + private Long id; + + + /** + * 客户编码 + */ + @ApiModelProperty("客户编码") + private String cuCode; + + + /** + * 银行 + */ + @ApiModelProperty("银行") + private String bankCode; + + + /** + * 账号名称 + */ + @ApiModelProperty("账号名称") + private String accountName; + + + /** + * 账号 + */ + @ApiModelProperty("账号") + private String account; + + + /** + * 默认账号(Y-是,N-否;只能有一个Y的有效记录) + */ + @ApiModelProperty("默认账号(Y-是,N-否;只能有一个Y的有效记录)") + private String defaultSign; + + + /** + * 备注 + */ + @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-api/src/main/java/com/xjrsoft/module/sales/vo/LngCustomerContactVo.java b/itc-pcitc-mdm/itc-pcitc-mdm-api/src/main/java/com/xjrsoft/module/sales/vo/LngCustomerContactVo.java new file mode 100644 index 0000000..363b72f --- /dev/null +++ b/itc-pcitc-mdm/itc-pcitc-mdm-api/src/main/java/com/xjrsoft/module/sales/vo/LngCustomerContactVo.java @@ -0,0 +1,128 @@ +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-19 +* @Version 1.0 +*/ +@Data +public class LngCustomerContactVo { + + /** + * 主键 + */ + @ApiModelProperty("主键") + private Long id; + + + /** + * 客户编码 + */ + @ApiModelProperty("客户编码") + private String cuCode; + + + /** + * 姓名 + */ + @ApiModelProperty("姓名") + private String contactName; + + + /** + * 联系电话 + */ + @ApiModelProperty("联系电话") + private String tel; + + + /** + * 通讯地址 + */ + @ApiModelProperty("通讯地址") + private String addrMail; + + + /** + * 电子邮箱 + */ + @ApiModelProperty("电子邮箱") + private String email; + + + /** + * 职位 + */ + @ApiModelProperty("职位") + private String position; + + + /** + * 备注 + */ + @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-api/src/main/java/com/xjrsoft/module/sales/vo/LngCustomerDocVo.java b/itc-pcitc-mdm/itc-pcitc-mdm-api/src/main/java/com/xjrsoft/module/sales/vo/LngCustomerDocVo.java new file mode 100644 index 0000000..ef0d4fe --- /dev/null +++ b/itc-pcitc-mdm/itc-pcitc-mdm-api/src/main/java/com/xjrsoft/module/sales/vo/LngCustomerDocVo.java @@ -0,0 +1,128 @@ +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-19 +* @Version 1.0 +*/ +@Data +public class LngCustomerDocVo { + + /** + * 主键 + */ + @ApiModelProperty("主键") + private Long id; + + + /** + * 客户编码 + */ + @ApiModelProperty("客户编码") + private String cuCode; + + + /** + * 资质证书类型 + */ + @ApiModelProperty("资质证书类型") + private String docTypeCode; + + + /** + * 资质证书编号 + */ + @ApiModelProperty("资质证书编号") + private String docNo; + + + /** + * 有效期开始 + */ + @ApiModelProperty("有效期开始") + private LocalDateTime dateFrom; + + + /** + * 有效期结束 + */ + @ApiModelProperty("有效期结束") + private LocalDateTime dateTo; + + + /** + * 显示顺序 + */ + @ApiModelProperty("显示顺序") + private Short sort; + + + /** + * 备注 + */ + @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-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 index f519554..6eecdab 100644 --- 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 @@ -1,19 +1,12 @@ 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 +* @Date: 2025-11-19 * @Version 1.0 */ @Data 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 index cc3472f..863df61 100644 --- 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 @@ -1,17 +1,16 @@ package com.xjrsoft.module.sales.vo; +import java.math.BigDecimal; +import java.time.LocalDateTime; +import java.util.List; + 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 +* @Date: 2025-11-19 * @Version 1.0 */ @Data @@ -278,5 +277,25 @@ public class LngCustomerVo { + /** + * lngCustomerAttrPower + */ + @ApiModelProperty("lngCustomerAttrPower子表") + private List lngCustomerAttrPowerList; + /** + * lngCustomerBank + */ + @ApiModelProperty("lngCustomerBank子表") + private List lngCustomerBankList; + /** + * lngCustomerDoc + */ + @ApiModelProperty("lngCustomerDoc子表") + private List lngCustomerDocList; + /** + * lngCustomerContact + */ + @ApiModelProperty("lngCustomerContact子表") + private List lngCustomerContactList; } 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 index 68859cf..bdbdd3f 100644 --- 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 @@ -38,12 +38,12 @@ import lombok.AllArgsConstructor; /** * @title: 客户 * @Author 管理员 -* @Date: 2025-11-18 +* @Date: 2025-11-19 * @Version 1.0 */ @RestController -@RequestMapping("/sales/customer") -@Api(value = "/sales/customer",tags = "客户管理") +@RequestMapping("/sales" + "/customer") +@Api(value = "/sales" + "/customer",tags = "客户代码") @AllArgsConstructor public class CustomerController { @@ -67,7 +67,8 @@ public class CustomerController { .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); + .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); @@ -77,7 +78,7 @@ public class CustomerController { @ApiOperation(value="根据id查询LngCustomer信息") @SaCheckPermission("customer:detail") public R info(@RequestParam Long id){ - LngCustomer lngCustomer = customerService.getById(id); + LngCustomer lngCustomer = customerService.getByIdDeep(id); if (lngCustomer == null) { return R.error("找不到此数据!"); } @@ -112,7 +113,7 @@ public class CustomerController { @ApiOperation(value = "删除") @SaCheckPermission("customer:delete") public R delete(@Valid @RequestBody List ids){ - return R.ok(dataService.deleteByIds(UpdateLngCustomerDto.class, ids)); + return R.ok(dataService.deleteByIds(UpdateLngCustomerDto.class, ids)); } @@ -120,7 +121,7 @@ public class CustomerController { @ApiOperation(value = "启用LngCustomer") @SaCheckPermission("customer:enable") public R enable(@Valid @RequestBody List ids){ - return R.ok(dataService.enable(UpdateLngCustomerDto.class,ids)); + return R.ok(dataService.enable(UpdateLngCustomerDto.class,ids)); } @@ -128,7 +129,7 @@ public class CustomerController { @ApiOperation(value = "禁用LngCustomer") @SaCheckPermission("customer:disable") public R disable(@Valid @RequestBody List ids){ - return R.ok(dataService.disable(UpdateLngCustomerDto.class,ids)); + return R.ok(dataService.disable(UpdateLngCustomerDto.class,ids)); } 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 index 7da0e3f..9f7fb84 100644 --- 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 @@ -3,11 +3,13 @@ package com.xjrsoft.module.sales.entity; import java.io.Serializable; import java.math.BigDecimal; import java.time.LocalDateTime; +import java.util.List; import com.baomidou.mybatisplus.annotation.FieldFill; import com.baomidou.mybatisplus.annotation.TableField; import com.baomidou.mybatisplus.annotation.TableId; import com.baomidou.mybatisplus.annotation.TableName; +import com.github.yulichang.annotation.EntityMapping; import io.swagger.annotations.ApiModel; import io.swagger.annotations.ApiModelProperty; @@ -17,7 +19,7 @@ import lombok.Data; /** * @title: 客户 * @Author 管理员 -* @Date: 2025-11-18 +* @Date: 2025-11-19 * @Version 1.0 */ @Data @@ -257,5 +259,33 @@ public class LngCustomer implements Serializable { private Long ruleUserId; + /** + * lngCustomerAttrPower + */ + @ApiModelProperty("lngCustomerAttrPower子表") + @TableField(exist = false) + @EntityMapping(thisField = "cuCode", joinField = "cuCode") + private List lngCustomerAttrPowerList; + /** + * lngCustomerBank + */ + @ApiModelProperty("lngCustomerBank子表") + @TableField(exist = false) + @EntityMapping(thisField = "cuCode", joinField = "cuCode") + private List lngCustomerBankList; + /** + * lngCustomerDoc + */ + @ApiModelProperty("lngCustomerDoc子表") + @TableField(exist = false) + @EntityMapping(thisField = "cuCode", joinField = "cuCode") + private List lngCustomerDocList; + /** + * lngCustomerContact + */ + @ApiModelProperty("lngCustomerContact子表") + @TableField(exist = false) + @EntityMapping(thisField = "cuCode", joinField = "cuCode") + private List lngCustomerContactList; } \ No newline at end of file diff --git a/itc-pcitc-mdm/itc-pcitc-mdm-service/src/main/java/com/xjrsoft/module/sales/entity/LngCustomerAttrPower.java b/itc-pcitc-mdm/itc-pcitc-mdm-service/src/main/java/com/xjrsoft/module/sales/entity/LngCustomerAttrPower.java new file mode 100644 index 0000000..4fab19e --- /dev/null +++ b/itc-pcitc-mdm/itc-pcitc-mdm-service/src/main/java/com/xjrsoft/module/sales/entity/LngCustomerAttrPower.java @@ -0,0 +1,111 @@ +package com.xjrsoft.module.sales.entity; + +import java.io.Serializable; +import java.math.BigDecimal; +import java.time.LocalDateTime; + +import com.baomidou.mybatisplus.annotation.FieldFill; +import com.baomidou.mybatisplus.annotation.TableField; +import com.baomidou.mybatisplus.annotation.TableId; +import com.baomidou.mybatisplus.annotation.TableName; + +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; + + +/** +* @title: 客户 +* @Author 管理员 +* @Date: 2025-11-19 +* @Version 1.0 +*/ +@Data +@TableName("lng_customer_attr_power") +@ApiModel(value = "客户对象", description = "客户") +public class LngCustomerAttrPower implements Serializable { + + private static final long serialVersionUID = 1L; + + /** + * 主键 + */ + @ApiModelProperty("主键") + @TableId + private Long id; + + /** + * 客户编码 + */ + @ApiModelProperty("客户编码") + private String cuCode; + + /** + * 管道编码 + */ + @ApiModelProperty("管道编码") + private String lineCode; + + /** + * 装机量(万KW) + */ + @ApiModelProperty("装机量(万KW)") + private BigDecimal capacity; + + /** + * 备注 + */ + @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/entity/LngCustomerBank.java b/itc-pcitc-mdm/itc-pcitc-mdm-service/src/main/java/com/xjrsoft/module/sales/entity/LngCustomerBank.java new file mode 100644 index 0000000..f0546a3 --- /dev/null +++ b/itc-pcitc-mdm/itc-pcitc-mdm-service/src/main/java/com/xjrsoft/module/sales/entity/LngCustomerBank.java @@ -0,0 +1,126 @@ +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-19 +* @Version 1.0 +*/ +@Data +@TableName("lng_customer_bank") +@ApiModel(value = "客户对象", description = "客户") +public class LngCustomerBank implements Serializable { + + private static final long serialVersionUID = 1L; + + /** + * 主键 + */ + @ApiModelProperty("主键") + @TableId + private Long id; + + /** + * 客户编码 + */ + @ApiModelProperty("客户编码") + private String cuCode; + + /** + * 银行 + */ + @ApiModelProperty("银行") + private String bankCode; + + /** + * 账号名称 + */ + @ApiModelProperty("账号名称") + private String accountName; + + /** + * 账号 + */ + @ApiModelProperty("账号") + private String account; + + /** + * 默认账号(Y-是,N-否;只能有一个Y的有效记录) + */ + @ApiModelProperty("默认账号(Y-是,N-否;只能有一个Y的有效记录)") + private String defaultSign; + + /** + * 备注 + */ + @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/entity/LngCustomerContact.java b/itc-pcitc-mdm/itc-pcitc-mdm-service/src/main/java/com/xjrsoft/module/sales/entity/LngCustomerContact.java new file mode 100644 index 0000000..f204b1f --- /dev/null +++ b/itc-pcitc-mdm/itc-pcitc-mdm-service/src/main/java/com/xjrsoft/module/sales/entity/LngCustomerContact.java @@ -0,0 +1,132 @@ +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-19 +* @Version 1.0 +*/ +@Data +@TableName("lng_customer_contact") +@ApiModel(value = "客户对象", description = "客户") +public class LngCustomerContact implements Serializable { + + private static final long serialVersionUID = 1L; + + /** + * 主键 + */ + @ApiModelProperty("主键") + @TableId + private Long id; + + /** + * 客户编码 + */ + @ApiModelProperty("客户编码") + private String cuCode; + + /** + * 姓名 + */ + @ApiModelProperty("姓名") + private String contactName; + + /** + * 联系电话 + */ + @ApiModelProperty("联系电话") + private String tel; + + /** + * 通讯地址 + */ + @ApiModelProperty("通讯地址") + private String addrMail; + + /** + * 电子邮箱 + */ + @ApiModelProperty("电子邮箱") + private String email; + + /** + * 职位 + */ + @ApiModelProperty("职位") + private String position; + + /** + * 备注 + */ + @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/entity/LngCustomerDoc.java b/itc-pcitc-mdm/itc-pcitc-mdm-service/src/main/java/com/xjrsoft/module/sales/entity/LngCustomerDoc.java new file mode 100644 index 0000000..6986c82 --- /dev/null +++ b/itc-pcitc-mdm/itc-pcitc-mdm-service/src/main/java/com/xjrsoft/module/sales/entity/LngCustomerDoc.java @@ -0,0 +1,132 @@ +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-19 +* @Version 1.0 +*/ +@Data +@TableName("lng_customer_doc") +@ApiModel(value = "客户对象", description = "客户") +public class LngCustomerDoc implements Serializable { + + private static final long serialVersionUID = 1L; + + /** + * 主键 + */ + @ApiModelProperty("主键") + @TableId + private Long id; + + /** + * 客户编码 + */ + @ApiModelProperty("客户编码") + private String cuCode; + + /** + * 资质证书类型 + */ + @ApiModelProperty("资质证书类型") + private String docTypeCode; + + /** + * 资质证书编号 + */ + @ApiModelProperty("资质证书编号") + private String docNo; + + /** + * 有效期开始 + */ + @ApiModelProperty("有效期开始") + private LocalDateTime dateFrom; + + /** + * 有效期结束 + */ + @ApiModelProperty("有效期结束") + private LocalDateTime dateTo; + + /** + * 显示顺序 + */ + @ApiModelProperty("显示顺序") + private Short sort; + + /** + * 备注 + */ + @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/LngCustomerAttrPowerMapper.java b/itc-pcitc-mdm/itc-pcitc-mdm-service/src/main/java/com/xjrsoft/module/sales/mapper/LngCustomerAttrPowerMapper.java new file mode 100644 index 0000000..3091a47 --- /dev/null +++ b/itc-pcitc-mdm/itc-pcitc-mdm-service/src/main/java/com/xjrsoft/module/sales/mapper/LngCustomerAttrPowerMapper.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.LngCustomerAttrPower; +import org.apache.ibatis.annotations.Mapper; + +/** +* @title: mapper +* @Author 管理员 +* @Date: 2025-11-19 +* @Version 1.0 +*/ +@Mapper +public interface LngCustomerAttrPowerMapper extends MPJBaseMapper { + +} diff --git a/itc-pcitc-mdm/itc-pcitc-mdm-service/src/main/java/com/xjrsoft/module/sales/mapper/LngCustomerBankMapper.java b/itc-pcitc-mdm/itc-pcitc-mdm-service/src/main/java/com/xjrsoft/module/sales/mapper/LngCustomerBankMapper.java new file mode 100644 index 0000000..160671c --- /dev/null +++ b/itc-pcitc-mdm/itc-pcitc-mdm-service/src/main/java/com/xjrsoft/module/sales/mapper/LngCustomerBankMapper.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.LngCustomerBank; +import org.apache.ibatis.annotations.Mapper; + +/** +* @title: mapper +* @Author 管理员 +* @Date: 2025-11-19 +* @Version 1.0 +*/ +@Mapper +public interface LngCustomerBankMapper extends MPJBaseMapper { + +} diff --git a/itc-pcitc-mdm/itc-pcitc-mdm-service/src/main/java/com/xjrsoft/module/sales/mapper/LngCustomerContactMapper.java b/itc-pcitc-mdm/itc-pcitc-mdm-service/src/main/java/com/xjrsoft/module/sales/mapper/LngCustomerContactMapper.java new file mode 100644 index 0000000..85b2b09 --- /dev/null +++ b/itc-pcitc-mdm/itc-pcitc-mdm-service/src/main/java/com/xjrsoft/module/sales/mapper/LngCustomerContactMapper.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.LngCustomerContact; +import org.apache.ibatis.annotations.Mapper; + +/** +* @title: mapper +* @Author 管理员 +* @Date: 2025-11-19 +* @Version 1.0 +*/ +@Mapper +public interface LngCustomerContactMapper extends MPJBaseMapper { + +} diff --git a/itc-pcitc-mdm/itc-pcitc-mdm-service/src/main/java/com/xjrsoft/module/sales/mapper/LngCustomerDocMapper.java b/itc-pcitc-mdm/itc-pcitc-mdm-service/src/main/java/com/xjrsoft/module/sales/mapper/LngCustomerDocMapper.java new file mode 100644 index 0000000..200485d --- /dev/null +++ b/itc-pcitc-mdm/itc-pcitc-mdm-service/src/main/java/com/xjrsoft/module/sales/mapper/LngCustomerDocMapper.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.LngCustomerDoc; +import org.apache.ibatis.annotations.Mapper; + +/** +* @title: mapper +* @Author 管理员 +* @Date: 2025-11-19 +* @Version 1.0 +*/ +@Mapper +public interface LngCustomerDocMapper extends MPJBaseMapper { + +} 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 index 7f046fb..87fb9c2 100644 --- 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 @@ -8,10 +8,10 @@ import org.apache.ibatis.annotations.Mapper; /** * @title: mapper * @Author 管理员 -* @Date: 2025-11-18 +* @Date: 2025-11-19 * @Version 1.0 */ @Mapper -public interface LngCustomerMapper extends BaseMapper { +public interface LngCustomerMapper extends MPJBaseMapper { } 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 index 539726f..be3aaa8 100644 --- 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 @@ -11,9 +11,32 @@ import java.util.List; /** * @title: service * @Author 管理员 -* @Date: 2025-11-18 +* @Date: 2025-11-19 * @Version 1.0 */ -public interface ICustomerService extends IService { +public interface ICustomerService extends MPJBaseService, MPJDeepService, MPJRelationService { + /** + * 新增 + * + * @param lngCustomer + * @return + */ + Boolean add(LngCustomer lngCustomer); + + /** + * 更新 + * + * @param lngCustomer + * @return + */ + Boolean update(LngCustomer lngCustomer); + + /** + * 删除 + * + * @param ids + * @return + */ + Boolean delete(List ids); } 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 index 6032edf..272d9f4 100644 --- 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 @@ -2,6 +2,14 @@ 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.LngCustomerAttrPower; +import com.xjrsoft.module.sales.mapper.LngCustomerAttrPowerMapper; +import com.xjrsoft.module.sales.entity.LngCustomerBank; +import com.xjrsoft.module.sales.mapper.LngCustomerBankMapper; +import com.xjrsoft.module.sales.entity.LngCustomerDoc; +import com.xjrsoft.module.sales.mapper.LngCustomerDocMapper; +import com.xjrsoft.module.sales.entity.LngCustomerContact; +import com.xjrsoft.module.sales.mapper.LngCustomerContactMapper; import com.xjrsoft.module.sales.entity.LngCustomer; import com.xjrsoft.module.sales.mapper.LngCustomerMapper; import com.xjrsoft.module.sales.service.ICustomerService; @@ -16,10 +24,176 @@ import com.baomidou.mybatisplus.core.toolkit.Wrappers; /** * @title: service * @Author 管理员 -* @Date: 2025-11-18 +* @Date: 2025-11-19 * @Version 1.0 */ @Service @AllArgsConstructor -public class CustomerServiceImpl extends ServiceImpl implements ICustomerService { +public class CustomerServiceImpl extends MPJBaseServiceImpl implements ICustomerService { + private final LngCustomerMapper customerLngCustomerMapper; + + private final LngCustomerAttrPowerMapper customerLngCustomerAttrPowerMapper; + private final LngCustomerBankMapper customerLngCustomerBankMapper; + private final LngCustomerDocMapper customerLngCustomerDocMapper; + private final LngCustomerContactMapper customerLngCustomerContactMapper; + + + @Override + @Transactional(rollbackFor = Exception.class) + public Boolean add(LngCustomer lngCustomer) { + customerLngCustomerMapper.insert(lngCustomer); + for (LngCustomerAttrPower lngCustomerAttrPower : lngCustomer.getLngCustomerAttrPowerList()) { + lngCustomerAttrPower.setCuCode(lngCustomer.getCuCode()); + customerLngCustomerAttrPowerMapper.insert(lngCustomerAttrPower); + } + for (LngCustomerBank lngCustomerBank : lngCustomer.getLngCustomerBankList()) { + lngCustomerBank.setCuCode(lngCustomer.getCuCode()); + customerLngCustomerBankMapper.insert(lngCustomerBank); + } + for (LngCustomerDoc lngCustomerDoc : lngCustomer.getLngCustomerDocList()) { + lngCustomerDoc.setCuCode(lngCustomer.getCuCode()); + customerLngCustomerDocMapper.insert(lngCustomerDoc); + } + for (LngCustomerContact lngCustomerContact : lngCustomer.getLngCustomerContactList()) { + lngCustomerContact.setCuCode(lngCustomer.getCuCode()); + customerLngCustomerContactMapper.insert(lngCustomerContact); + } + + return true; + } + + @Override + @Transactional(rollbackFor = Exception.class) + public Boolean update(LngCustomer lngCustomer) { + customerLngCustomerMapper.updateById(lngCustomer); + //********************************* LngCustomerAttrPower 增删改 开始 *******************************************/ + { + // 查出所有子级的id + List lngCustomerAttrPowerList = customerLngCustomerAttrPowerMapper.selectList(Wrappers.lambdaQuery(LngCustomerAttrPower.class).eq(LngCustomerAttrPower::getCuCode, lngCustomer.getCuCode()).select(LngCustomerAttrPower::getId)); + List lngCustomerAttrPowerIds = lngCustomerAttrPowerList.stream().map(LngCustomerAttrPower::getId).collect(Collectors.toList()); + //原有子表单 没有被删除的主键 + List lngCustomerAttrPowerOldIds = lngCustomer.getLngCustomerAttrPowerList().stream().map(LngCustomerAttrPower::getId).filter(Objects::nonNull).collect(Collectors.toList()); + //找到需要删除的id + List lngCustomerAttrPowerRemoveIds = lngCustomerAttrPowerIds.stream().filter(item -> !lngCustomerAttrPowerOldIds.contains(item)).collect(Collectors.toList()); + + for (LngCustomerAttrPower lngCustomerAttrPower : lngCustomer.getLngCustomerAttrPowerList()) { + //如果不等于空则修改 + if (lngCustomerAttrPower.getId() != null) { + customerLngCustomerAttrPowerMapper.updateById(lngCustomerAttrPower); + } + //如果等于空 则新增 + else { + //已经不存在的id 删除 + lngCustomerAttrPower.setCuCode(lngCustomer.getCuCode()); + customerLngCustomerAttrPowerMapper.insert(lngCustomerAttrPower); + } + } + //已经不存在的id 删除 + if(lngCustomerAttrPowerRemoveIds.size() > 0){ + customerLngCustomerAttrPowerMapper.deleteBatchIds(lngCustomerAttrPowerRemoveIds); + } + } + //********************************* LngCustomerAttrPower 增删改 结束 *******************************************/ + + //********************************* LngCustomerBank 增删改 开始 *******************************************/ + { + // 查出所有子级的id + List lngCustomerBankList = customerLngCustomerBankMapper.selectList(Wrappers.lambdaQuery(LngCustomerBank.class).eq(LngCustomerBank::getCuCode, lngCustomer.getCuCode()).select(LngCustomerBank::getId)); + List lngCustomerBankIds = lngCustomerBankList.stream().map(LngCustomerBank::getId).collect(Collectors.toList()); + //原有子表单 没有被删除的主键 + List lngCustomerBankOldIds = lngCustomer.getLngCustomerBankList().stream().map(LngCustomerBank::getId).filter(Objects::nonNull).collect(Collectors.toList()); + //找到需要删除的id + List lngCustomerBankRemoveIds = lngCustomerBankIds.stream().filter(item -> !lngCustomerBankOldIds.contains(item)).collect(Collectors.toList()); + + for (LngCustomerBank lngCustomerBank : lngCustomer.getLngCustomerBankList()) { + //如果不等于空则修改 + if (lngCustomerBank.getId() != null) { + customerLngCustomerBankMapper.updateById(lngCustomerBank); + } + //如果等于空 则新增 + else { + //已经不存在的id 删除 + lngCustomerBank.setCuCode(lngCustomer.getCuCode()); + customerLngCustomerBankMapper.insert(lngCustomerBank); + } + } + //已经不存在的id 删除 + if(lngCustomerBankRemoveIds.size() > 0){ + customerLngCustomerBankMapper.deleteBatchIds(lngCustomerBankRemoveIds); + } + } + //********************************* LngCustomerBank 增删改 结束 *******************************************/ + + //********************************* LngCustomerDoc 增删改 开始 *******************************************/ + { + // 查出所有子级的id + List lngCustomerDocList = customerLngCustomerDocMapper.selectList(Wrappers.lambdaQuery(LngCustomerDoc.class).eq(LngCustomerDoc::getCuCode, lngCustomer.getCuCode()).select(LngCustomerDoc::getId)); + List lngCustomerDocIds = lngCustomerDocList.stream().map(LngCustomerDoc::getId).collect(Collectors.toList()); + //原有子表单 没有被删除的主键 + List lngCustomerDocOldIds = lngCustomer.getLngCustomerDocList().stream().map(LngCustomerDoc::getId).filter(Objects::nonNull).collect(Collectors.toList()); + //找到需要删除的id + List lngCustomerDocRemoveIds = lngCustomerDocIds.stream().filter(item -> !lngCustomerDocOldIds.contains(item)).collect(Collectors.toList()); + + for (LngCustomerDoc lngCustomerDoc : lngCustomer.getLngCustomerDocList()) { + //如果不等于空则修改 + if (lngCustomerDoc.getId() != null) { + customerLngCustomerDocMapper.updateById(lngCustomerDoc); + } + //如果等于空 则新增 + else { + //已经不存在的id 删除 + lngCustomerDoc.setCuCode(lngCustomer.getCuCode()); + customerLngCustomerDocMapper.insert(lngCustomerDoc); + } + } + //已经不存在的id 删除 + if(lngCustomerDocRemoveIds.size() > 0){ + customerLngCustomerDocMapper.deleteBatchIds(lngCustomerDocRemoveIds); + } + } + //********************************* LngCustomerDoc 增删改 结束 *******************************************/ + + //********************************* LngCustomerContact 增删改 开始 *******************************************/ + { + // 查出所有子级的id + List lngCustomerContactList = customerLngCustomerContactMapper.selectList(Wrappers.lambdaQuery(LngCustomerContact.class).eq(LngCustomerContact::getCuCode, lngCustomer.getCuCode()).select(LngCustomerContact::getId)); + List lngCustomerContactIds = lngCustomerContactList.stream().map(LngCustomerContact::getId).collect(Collectors.toList()); + //原有子表单 没有被删除的主键 + List lngCustomerContactOldIds = lngCustomer.getLngCustomerContactList().stream().map(LngCustomerContact::getId).filter(Objects::nonNull).collect(Collectors.toList()); + //找到需要删除的id + List lngCustomerContactRemoveIds = lngCustomerContactIds.stream().filter(item -> !lngCustomerContactOldIds.contains(item)).collect(Collectors.toList()); + + for (LngCustomerContact lngCustomerContact : lngCustomer.getLngCustomerContactList()) { + //如果不等于空则修改 + if (lngCustomerContact.getId() != null) { + customerLngCustomerContactMapper.updateById(lngCustomerContact); + } + //如果等于空 则新增 + else { + //已经不存在的id 删除 + lngCustomerContact.setCuCode(lngCustomer.getCuCode()); + customerLngCustomerContactMapper.insert(lngCustomerContact); + } + } + //已经不存在的id 删除 + if(lngCustomerContactRemoveIds.size() > 0){ + customerLngCustomerContactMapper.deleteBatchIds(lngCustomerContactRemoveIds); + } + } + //********************************* LngCustomerContact 增删改 结束 *******************************************/ + + return true; + } + + @Override + @Transactional(rollbackFor = Exception.class) + public Boolean delete(List ids) { + customerLngCustomerMapper.deleteBatchIds(ids); + customerLngCustomerAttrPowerMapper.delete(Wrappers.lambdaQuery(LngCustomerAttrPower.class).in(LngCustomerAttrPower::getCuCode, ids)); + customerLngCustomerBankMapper.delete(Wrappers.lambdaQuery(LngCustomerBank.class).in(LngCustomerBank::getCuCode, ids)); + customerLngCustomerDocMapper.delete(Wrappers.lambdaQuery(LngCustomerDoc.class).in(LngCustomerDoc::getCuCode, ids)); + customerLngCustomerContactMapper.delete(Wrappers.lambdaQuery(LngCustomerContact.class).in(LngCustomerContact::getCuCode, ids)); + + return true; + } }