diff --git a/itc-pcitc-mdm/itc-pcitc-mdm-api/src/main/java/com/xjrsoft/module/sales/dto/AddLngScoreDtlDto.java b/itc-pcitc-mdm/itc-pcitc-mdm-api/src/main/java/com/xjrsoft/module/sales/dto/AddLngScoreDtlDto.java new file mode 100644 index 0000000..64189ea --- /dev/null +++ b/itc-pcitc-mdm/itc-pcitc-mdm-api/src/main/java/com/xjrsoft/module/sales/dto/AddLngScoreDtlDto.java @@ -0,0 +1,99 @@ +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; + + + + + +/** +* @title: 客户评价 +* @Author 管理员 +* @Date: 2025-12-17 +* @Version 1.0 +*/ +@Data +public class AddLngScoreDtlDto implements Serializable { + + private static final long serialVersionUID = 1L; + + /** + * 评分信息主键 + */ + @ApiModelProperty("评分信息主键") + private Long sId; + /** + * 评价体系主键 + */ + @ApiModelProperty("评价体系主键") + private Long gsId; + /** + * 评价体系-条目主键 + */ + @ApiModelProperty("评价体系-条目主键") + private Long gsiId; + /** + * 评分事项(只读) + */ + @ApiModelProperty("评分事项(只读)") + private String itemName; + /** + * 评分标准(只读) + */ + @ApiModelProperty("评分标准(只读)") + private String itemDesc; + /** + * 评分部门(只读) + */ + @ApiModelProperty("评分部门(只读)") + private String eDeptCode; + /** + * 显示顺序 + */ + @ApiModelProperty("显示顺序") + private Short sort; + /** + * 实际评分部门编码(当前登录人所在部门) + */ + @ApiModelProperty("实际评分部门编码(当前登录人所在部门)") + private String aDeptCode; + /** + * 实际评分人编码(当前登录人) + */ + @ApiModelProperty("实际评分人编码(当前登录人)") + private String aEmpCode; + /** + * 实际评分时间 + */ + @ApiModelProperty("实际评分时间") + private Object aTime; + /** + * 分数 + */ + @ApiModelProperty("分数") + private BigDecimal score; + /** + * 分数说明 + */ + @ApiModelProperty("分数说明") + private String scoreDesc; + /** + * 备注 + */ + @ApiModelProperty("备注") + private String note; + /** + * 租户id + */ + @ApiModelProperty("租户id") + private Long tenantId; + +} diff --git a/itc-pcitc-mdm/itc-pcitc-mdm-api/src/main/java/com/xjrsoft/module/sales/dto/AddLngScoreDto.java b/itc-pcitc-mdm/itc-pcitc-mdm-api/src/main/java/com/xjrsoft/module/sales/dto/AddLngScoreDto.java new file mode 100644 index 0000000..7d2bab6 --- /dev/null +++ b/itc-pcitc-mdm/itc-pcitc-mdm-api/src/main/java/com/xjrsoft/module/sales/dto/AddLngScoreDto.java @@ -0,0 +1,73 @@ +package com.xjrsoft.module.sales.dto; + +import java.io.Serializable; +import java.math.BigDecimal; +import java.time.LocalDateTime; +import java.util.List; + +import com.fasterxml.jackson.annotation.JsonFormat; + +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; + + + +/** +* @title: 客户评价 +* @Author 管理员 +* @Date: 2025-12-17 +* @Version 1.0 +*/ +@Data +public class AddLngScoreDto implements Serializable { + + private static final long serialVersionUID = 1L; + + /** + * 评分日期 + */ + @ApiModelProperty("评分日期") + @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss") + private LocalDateTime dateGrade; + /** + * 评价体系主键 + */ + @ApiModelProperty("评价体系主键") + private Long gsId; + /** + * 表名(隐藏,供应商/客户/承运商表名;应与评价体系的对象一致) + */ + @ApiModelProperty("表名(隐藏,供应商/客户/承运商表名;应与评价体系的对象一致)") + private String tableName; + /** + * 供应商/客户 + */ + @ApiModelProperty("供应商/客户") + private String cpCode; + /** + * 分数 + */ + @ApiModelProperty("分数") + private BigDecimal score; + /** + * 审批状态(未审批/审批中/已审批/已驳回) + */ + @ApiModelProperty("审批状态(未审批/审批中/已审批/已驳回)") + private String approCode; + /** + * 备注 + */ + @ApiModelProperty("备注") + private String note; + /** + * 租户id + */ + @ApiModelProperty("租户id") + private Long tenantId; + + /** + * lngScoreDtl + */ + @ApiModelProperty("lngScoreDtl子表") + private List lngScoreDtlList; +} diff --git a/itc-pcitc-mdm/itc-pcitc-mdm-api/src/main/java/com/xjrsoft/module/sales/dto/LngScorePageDto.java b/itc-pcitc-mdm/itc-pcitc-mdm-api/src/main/java/com/xjrsoft/module/sales/dto/LngScorePageDto.java new file mode 100644 index 0000000..90c8356 --- /dev/null +++ b/itc-pcitc-mdm/itc-pcitc-mdm-api/src/main/java/com/xjrsoft/module/sales/dto/LngScorePageDto.java @@ -0,0 +1,62 @@ +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-12-17 +* @Version 1.0 +*/ +@Data +@EqualsAndHashCode(callSuper = false) +public class LngScorePageDto extends PageInput { + + /** + * 供应商/客户 + */ + @ApiModelProperty("供应商/客户") + private String cpCode; + /** + * 评价体系主键 + */ + @ApiModelProperty("评价体系主键") + private Long gsId; + /** + * 评分日期字段开始时间 + */ + @ApiModelProperty("评分日期字段开始时间") + @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss") + private LocalDateTime dateGradeStart; + /** + * 评分日期字段结束时间 + */ + @ApiModelProperty("评分日期字段结束时间") + @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss") + private LocalDateTime dateGradeEnd; + /** + * 分数 + */ + @ApiModelProperty("分数") + private BigDecimal score; + /** + * 审批状态(未审批/审批中/已审批/已驳回) + */ + @ApiModelProperty("审批状态(未审批/审批中/已审批/已驳回)") + private String approCode; + /** + * 备注 + */ + @ApiModelProperty("备注") + private String note; + +} diff --git a/itc-pcitc-mdm/itc-pcitc-mdm-api/src/main/java/com/xjrsoft/module/sales/dto/UpdateLngScoreDtlDto.java b/itc-pcitc-mdm/itc-pcitc-mdm-api/src/main/java/com/xjrsoft/module/sales/dto/UpdateLngScoreDtlDto.java new file mode 100644 index 0000000..93a647b --- /dev/null +++ b/itc-pcitc-mdm/itc-pcitc-mdm-api/src/main/java/com/xjrsoft/module/sales/dto/UpdateLngScoreDtlDto.java @@ -0,0 +1,142 @@ +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-12-17 +* @Version 1.0 +*/ +@Data +@LogTable(source="lng_score_dtl",name="客户评价") +public class UpdateLngScoreDtlDto implements Serializable { + + private static final long serialVersionUID = 1L; + + /** + * 主键 + */ + @LogField(name="主键",index=0) + @ApiModelProperty("主键") + private Long id; + + /** + * 评分信息主键 + */ + @LogField(name="评分信息主键",index=1) + @ApiModelProperty("评分信息主键") + private Long sId; + + /** + * 评价体系主键 + */ + @LogField(name="评价体系主键",index=2) + @ApiModelProperty("评价体系主键") + private Long gsId; + + /** + * 评价体系-条目主键 + */ + @LogField(name="评价体系-条目主键",index=3) + @ApiModelProperty("评价体系-条目主键") + private Long gsiId; + + /** + * 评分事项(只读) + */ + @LogField(name="评分事项(只读)",index=4) + @ApiModelProperty("评分事项(只读)") + private String itemName; + + /** + * 评分标准(只读) + */ + @LogField(name="评分标准(只读)",index=5) + @ApiModelProperty("评分标准(只读)") + private String itemDesc; + + /** + * 评分部门(只读) + */ + @LogField(name="评分部门(只读)",index=6) + @ApiModelProperty("评分部门(只读)") + private String eDeptCode; + + /** + * 显示顺序 + */ + @LogField(name="显示顺序",index=7) + @ApiModelProperty("显示顺序") + private Short sort; + + /** + * 实际评分部门编码(当前登录人所在部门) + */ + @LogField(name="实际评分部门编码(当前登录人所在部门)",index=8) + @ApiModelProperty("实际评分部门编码(当前登录人所在部门)") + private String aDeptCode; + + /** + * 实际评分人编码(当前登录人) + */ + @LogField(name="实际评分人编码(当前登录人)",index=9) + @ApiModelProperty("实际评分人编码(当前登录人)") + private String aEmpCode; + + /** + * 实际评分时间 + */ + @LogField(name="实际评分时间",index=10) + @ApiModelProperty("实际评分时间") + private Object aTime; + + /** + * 分数 + */ + @LogField(name="分数",index=11) + @ApiModelProperty("分数") + private BigDecimal score; + + /** + * 分数说明 + */ + @LogField(name="分数说明",index=12) + @ApiModelProperty("分数说明") + private String scoreDesc; + + /** + * 备注 + */ + @LogField(name="备注",index=13) + @ApiModelProperty("备注") + private String note; + + /** + * 租户id + */ + @LogField(name="租户id",index=14) + @ApiModelProperty("租户id") + private Long tenantId; + + +} diff --git a/itc-pcitc-mdm/itc-pcitc-mdm-api/src/main/java/com/xjrsoft/module/sales/dto/UpdateLngScoreDto.java b/itc-pcitc-mdm/itc-pcitc-mdm-api/src/main/java/com/xjrsoft/module/sales/dto/UpdateLngScoreDto.java new file mode 100644 index 0000000..4906109 --- /dev/null +++ b/itc-pcitc-mdm/itc-pcitc-mdm-api/src/main/java/com/xjrsoft/module/sales/dto/UpdateLngScoreDto.java @@ -0,0 +1,109 @@ +package com.xjrsoft.module.sales.dto; + +import java.io.Serializable; +import java.math.BigDecimal; +import java.time.LocalDateTime; +import java.util.List; + +import com.fasterxml.jackson.annotation.JsonFormat; +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.LogTable; +import com.pictc.annotations.datalog.ValueDirectionType; + +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; + + + +/** +* @title: 客户评价 +* @Author 管理员 +* @Date: 2025-12-17 +* @Version 1.0 +*/ +@Data +@LogTable(source="lng_score",name="客户评价") +public class UpdateLngScoreDto implements Serializable { + + private static final long serialVersionUID = 1L; + + /** + * 主键 + */ + @LogField(name="主键",index=0) + @ApiModelProperty("主键") + private Long id; + + /** + * 评分日期 + */ + @LogField(name="评分日期",index=1) + @ApiModelProperty("评分日期") + @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss") + private LocalDateTime dateGrade; + + /** + * 评价体系主键 + */ + @LogField(name="评价体系主键",index=2) + @ApiModelProperty("评价体系主键") + private Long gsId; + + /** + * 表名(隐藏,供应商/客户/承运商表名;应与评价体系的对象一致) + */ + @LogField(name="表名(隐藏,供应商/客户/承运商表名;应与评价体系的对象一致)",index=3) + @ApiModelProperty("表名(隐藏,供应商/客户/承运商表名;应与评价体系的对象一致)") + private String tableName; + + /** + * 供应商/客户 + */ + @LogField(name="供应商/客户",index=4) + @ApiModelProperty("供应商/客户") + private String cpCode; + + /** + * 分数 + */ + @LogField(name="分数",index=5) + @ApiModelProperty("分数") + private BigDecimal score; + + /** + * 审批状态(未审批/审批中/已审批/已驳回) + */ + @LogField(name="审批状态(未审批/审批中/已审批/已驳回)",index=6) + @ApiModelProperty("审批状态(未审批/审批中/已审批/已驳回)") + private String approCode; + + /** + * 备注 + */ + @LogField(name="备注",index=7) + @ApiModelProperty("备注") + private String note; + + /** + * 租户id + */ + @LogField(name="租户id",index=8) + @ApiModelProperty("租户id") + private Long tenantId; + + + /** + * lngScoreDtl + */ + @ApiModelProperty("lngScoreDtl子表") + @LogJoin(name = "lngScoreDtl子表", + columns = { + @LogJoinColumn(field = "sId",relatedField = "id", valueDirection = ValueDirectionType.RIGHT) + }, + caseType = JoinCaseType.FULL, target = UpdateLngScoreDtlDto.class, type = JoinType.MANY) + private List lngScoreDtlList; +} diff --git a/itc-pcitc-mdm/itc-pcitc-mdm-api/src/main/java/com/xjrsoft/module/sales/vo/LngScoreDtlVo.java b/itc-pcitc-mdm/itc-pcitc-mdm-api/src/main/java/com/xjrsoft/module/sales/vo/LngScoreDtlVo.java new file mode 100644 index 0000000..8faa2d4 --- /dev/null +++ b/itc-pcitc-mdm/itc-pcitc-mdm-api/src/main/java/com/xjrsoft/module/sales/vo/LngScoreDtlVo.java @@ -0,0 +1,170 @@ +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-12-17 +* @Version 1.0 +*/ +@Data +public class LngScoreDtlVo { + + /** + * 主键 + */ + @ApiModelProperty("主键") + private Long id; + + + /** + * 评分信息主键 + */ + @ApiModelProperty("评分信息主键") + private Long sId; + + + /** + * 评价体系主键 + */ + @ApiModelProperty("评价体系主键") + private Long gsId; + + + /** + * 评价体系-条目主键 + */ + @ApiModelProperty("评价体系-条目主键") + private Long gsiId; + + + /** + * 评分事项(只读) + */ + @ApiModelProperty("评分事项(只读)") + private String itemName; + + + /** + * 评分标准(只读) + */ + @ApiModelProperty("评分标准(只读)") + private String itemDesc; + + + /** + * 评分部门(只读) + */ + @ApiModelProperty("评分部门(只读)") + private String eDeptCode; + + + /** + * 显示顺序 + */ + @ApiModelProperty("显示顺序") + private Short sort; + + + /** + * 实际评分部门编码(当前登录人所在部门) + */ + @ApiModelProperty("实际评分部门编码(当前登录人所在部门)") + private String aDeptCode; + + + /** + * 实际评分人编码(当前登录人) + */ + @ApiModelProperty("实际评分人编码(当前登录人)") + private String aEmpCode; + + + /** + * 实际评分时间 + */ + @ApiModelProperty("实际评分时间") + private Object aTime; + + + /** + * 分数 + */ + @ApiModelProperty("分数") + private BigDecimal score; + + + /** + * 分数说明 + */ + @ApiModelProperty("分数说明") + private String scoreDesc; + + + /** + * 备注 + */ + @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/LngScorePageVo.java b/itc-pcitc-mdm/itc-pcitc-mdm-api/src/main/java/com/xjrsoft/module/sales/vo/LngScorePageVo.java new file mode 100644 index 0000000..24bbea3 --- /dev/null +++ b/itc-pcitc-mdm/itc-pcitc-mdm-api/src/main/java/com/xjrsoft/module/sales/vo/LngScorePageVo.java @@ -0,0 +1,61 @@ +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-12-17 +* @Version 1.0 +*/ +@Data +public class LngScorePageVo { + + /** + * 主键 + */ + @ApiModelProperty("主键") + private String id; + /** + * 评分日期 + */ + @ApiModelProperty("评分日期") + @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss") + private LocalDateTime dateGrade; + /** + * 评价体系主键 + */ + @ApiModelProperty("评价体系主键") + @Trans(type = TransType.API, id = "93d735dcb7364a0f8102188ec4d77ac7") + private String gsId; + /** + * 供应商/客户 + */ + @ApiModelProperty("供应商/客户") + private String cpCode; + /** + * 分数 + */ + @ApiModelProperty("分数") + private BigDecimal score; + /** + * 审批状态(未审批/审批中/已审批/已驳回) + */ + @ApiModelProperty("审批状态(未审批/审批中/已审批/已驳回)") + @Trans(type = TransType.DIC, id = "1990669393069129729") + private String approCode; + /** + * 备注 + */ + @ApiModelProperty("备注") + private String note; + +} diff --git a/itc-pcitc-mdm/itc-pcitc-mdm-api/src/main/java/com/xjrsoft/module/sales/vo/LngScoreVo.java b/itc-pcitc-mdm/itc-pcitc-mdm-api/src/main/java/com/xjrsoft/module/sales/vo/LngScoreVo.java new file mode 100644 index 0000000..2be93ac --- /dev/null +++ b/itc-pcitc-mdm/itc-pcitc-mdm-api/src/main/java/com/xjrsoft/module/sales/vo/LngScoreVo.java @@ -0,0 +1,132 @@ +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; + +/** +* @title: 表单出参 +* @Author 管理员 +* @Date: 2025-12-17 +* @Version 1.0 +*/ +@Data +public class LngScoreVo { + + /** + * 主键 + */ + @ApiModelProperty("主键") + private Long id; + + + /** + * 评分日期 + */ + @ApiModelProperty("评分日期") + private LocalDateTime dateGrade; + + + /** + * 评价体系主键 + */ + @ApiModelProperty("评价体系主键") + private Long gsId; + + + /** + * 表名(隐藏,供应商/客户/承运商表名;应与评价体系的对象一致) + */ + @ApiModelProperty("表名(隐藏,供应商/客户/承运商表名;应与评价体系的对象一致)") + private String tableName; + + + /** + * 供应商/客户 + */ + @ApiModelProperty("供应商/客户") + private String cpCode; + + + /** + * 分数 + */ + @ApiModelProperty("分数") + private BigDecimal score; + + + /** + * 审批状态(未审批/审批中/已审批/已驳回) + */ + @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; + + + + + /** + * lngScoreDtl + */ + @ApiModelProperty("lngScoreDtl子表") + private List lngScoreDtlList; + +} diff --git a/itc-pcitc-mdm/itc-pcitc-mdm-api/src/main/java/com/xjrsoft/module/supplier/dto/AddLngScoreDtlDto.java b/itc-pcitc-mdm/itc-pcitc-mdm-api/src/main/java/com/xjrsoft/module/supplier/dto/AddLngScoreDtlDto.java new file mode 100644 index 0000000..aad429c --- /dev/null +++ b/itc-pcitc-mdm/itc-pcitc-mdm-api/src/main/java/com/xjrsoft/module/supplier/dto/AddLngScoreDtlDto.java @@ -0,0 +1,99 @@ +package com.xjrsoft.module.supplier.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; + + + + + +/** +* @title: 供应商评价 +* @Author 管理员 +* @Date: 2025-12-17 +* @Version 1.0 +*/ +@Data +public class AddLngScoreDtlDto implements Serializable { + + private static final long serialVersionUID = 1L; + + /** + * 评分信息主键 + */ + @ApiModelProperty("评分信息主键") + private Long sId; + /** + * 评价体系主键 + */ + @ApiModelProperty("评价体系主键") + private Long gsId; + /** + * 评价体系-条目主键 + */ + @ApiModelProperty("评价体系-条目主键") + private Long gsiId; + /** + * 评分事项(只读) + */ + @ApiModelProperty("评分事项(只读)") + private String itemName; + /** + * 评分标准(只读) + */ + @ApiModelProperty("评分标准(只读)") + private String itemDesc; + /** + * 评分部门(只读) + */ + @ApiModelProperty("评分部门(只读)") + private String eDeptCode; + /** + * 显示顺序 + */ + @ApiModelProperty("显示顺序") + private Short sort; + /** + * 实际评分部门编码(当前登录人所在部门) + */ + @ApiModelProperty("实际评分部门编码(当前登录人所在部门)") + private String aDeptCode; + /** + * 实际评分人编码(当前登录人) + */ + @ApiModelProperty("实际评分人编码(当前登录人)") + private String aEmpCode; + /** + * 实际评分时间 + */ + @ApiModelProperty("实际评分时间") + private Object aTime; + /** + * 分数 + */ + @ApiModelProperty("分数") + private BigDecimal score; + /** + * 分数说明 + */ + @ApiModelProperty("分数说明") + private String scoreDesc; + /** + * 备注 + */ + @ApiModelProperty("备注") + private String note; + /** + * 租户id + */ + @ApiModelProperty("租户id") + private Long tenantId; + +} diff --git a/itc-pcitc-mdm/itc-pcitc-mdm-api/src/main/java/com/xjrsoft/module/supplier/dto/AddLngScoreDto.java b/itc-pcitc-mdm/itc-pcitc-mdm-api/src/main/java/com/xjrsoft/module/supplier/dto/AddLngScoreDto.java new file mode 100644 index 0000000..fdd4538 --- /dev/null +++ b/itc-pcitc-mdm/itc-pcitc-mdm-api/src/main/java/com/xjrsoft/module/supplier/dto/AddLngScoreDto.java @@ -0,0 +1,73 @@ +package com.xjrsoft.module.supplier.dto; + +import java.io.Serializable; +import java.math.BigDecimal; +import java.time.LocalDateTime; +import java.util.List; + +import com.fasterxml.jackson.annotation.JsonFormat; + +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; + + + +/** +* @title: 供应商评价 +* @Author 管理员 +* @Date: 2025-12-17 +* @Version 1.0 +*/ +@Data +public class AddLngScoreDto implements Serializable { + + private static final long serialVersionUID = 1L; + + /** + * 评分日期 + */ + @ApiModelProperty("评分日期") + @JsonFormat(pattern = "HH:mm:ss") + private LocalDateTime dateGrade; + /** + * 评价体系主键 + */ + @ApiModelProperty("评价体系主键") + private Long gsId; + /** + * 表名(隐藏,供应商/客户/承运商表名;应与评价体系的对象一致) + */ + @ApiModelProperty("表名(隐藏,供应商/客户/承运商表名;应与评价体系的对象一致)") + private String tableName; + /** + * 供应商/客户 + */ + @ApiModelProperty("供应商/客户") + private String cpCode; + /** + * 分数 + */ + @ApiModelProperty("分数") + private BigDecimal score; + /** + * 审批状态(未审批/审批中/已审批/已驳回) + */ + @ApiModelProperty("审批状态(未审批/审批中/已审批/已驳回)") + private String approCode; + /** + * 备注 + */ + @ApiModelProperty("备注") + private String note; + /** + * 租户id + */ + @ApiModelProperty("租户id") + private Long tenantId; + + /** + * lngScoreDtl + */ + @ApiModelProperty("lngScoreDtl子表") + private List lngScoreDtlList; +} diff --git a/itc-pcitc-mdm/itc-pcitc-mdm-api/src/main/java/com/xjrsoft/module/supplier/dto/LngScorePageDto.java b/itc-pcitc-mdm/itc-pcitc-mdm-api/src/main/java/com/xjrsoft/module/supplier/dto/LngScorePageDto.java new file mode 100644 index 0000000..8c0394d --- /dev/null +++ b/itc-pcitc-mdm/itc-pcitc-mdm-api/src/main/java/com/xjrsoft/module/supplier/dto/LngScorePageDto.java @@ -0,0 +1,62 @@ +package com.xjrsoft.module.supplier.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-12-17 +* @Version 1.0 +*/ +@Data +@EqualsAndHashCode(callSuper = false) +public class LngScorePageDto extends PageInput { + + /** + * 供应商/客户 + */ + @ApiModelProperty("供应商/客户") + private String cpCode; + /** + * 评价体系主键 + */ + @ApiModelProperty("评价体系主键") + private Long gsId; + /** + * 评分日期字段开始时间 + */ + @ApiModelProperty("评分日期字段开始时间") + @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss") + private LocalDateTime dateGradeStart; + /** + * 评分日期字段结束时间 + */ + @ApiModelProperty("评分日期字段结束时间") + @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss") + private LocalDateTime dateGradeEnd; + /** + * 分数 + */ + @ApiModelProperty("分数") + private BigDecimal score; + /** + * 审批状态(未审批/审批中/已审批/已驳回) + */ + @ApiModelProperty("审批状态(未审批/审批中/已审批/已驳回)") + private String approCode; + /** + * 备注 + */ + @ApiModelProperty("备注") + private String note; + +} diff --git a/itc-pcitc-mdm/itc-pcitc-mdm-api/src/main/java/com/xjrsoft/module/supplier/dto/UpdateLngScoreDtlDto.java b/itc-pcitc-mdm/itc-pcitc-mdm-api/src/main/java/com/xjrsoft/module/supplier/dto/UpdateLngScoreDtlDto.java new file mode 100644 index 0000000..bdfceec --- /dev/null +++ b/itc-pcitc-mdm/itc-pcitc-mdm-api/src/main/java/com/xjrsoft/module/supplier/dto/UpdateLngScoreDtlDto.java @@ -0,0 +1,142 @@ +package com.xjrsoft.module.supplier.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-12-17 +* @Version 1.0 +*/ +@Data +@LogTable(source="lng_score_dtl",name="供应商评价") +public class UpdateLngScoreDtlDto implements Serializable { + + private static final long serialVersionUID = 1L; + + /** + * 主键 + */ + @LogField(name="主键",index=0) + @ApiModelProperty("主键") + private Long id; + + /** + * 评分信息主键 + */ + @LogField(name="评分信息主键",index=1) + @ApiModelProperty("评分信息主键") + private Long sId; + + /** + * 评价体系主键 + */ + @LogField(name="评价体系主键",index=2) + @ApiModelProperty("评价体系主键") + private Long gsId; + + /** + * 评价体系-条目主键 + */ + @LogField(name="评价体系-条目主键",index=3) + @ApiModelProperty("评价体系-条目主键") + private Long gsiId; + + /** + * 评分事项(只读) + */ + @LogField(name="评分事项(只读)",index=4) + @ApiModelProperty("评分事项(只读)") + private String itemName; + + /** + * 评分标准(只读) + */ + @LogField(name="评分标准(只读)",index=5) + @ApiModelProperty("评分标准(只读)") + private String itemDesc; + + /** + * 评分部门(只读) + */ + @LogField(name="评分部门(只读)",index=6) + @ApiModelProperty("评分部门(只读)") + private String eDeptCode; + + /** + * 显示顺序 + */ + @LogField(name="显示顺序",index=7) + @ApiModelProperty("显示顺序") + private Short sort; + + /** + * 实际评分部门编码(当前登录人所在部门) + */ + @LogField(name="实际评分部门编码(当前登录人所在部门)",index=8) + @ApiModelProperty("实际评分部门编码(当前登录人所在部门)") + private String aDeptCode; + + /** + * 实际评分人编码(当前登录人) + */ + @LogField(name="实际评分人编码(当前登录人)",index=9) + @ApiModelProperty("实际评分人编码(当前登录人)") + private String aEmpCode; + + /** + * 实际评分时间 + */ + @LogField(name="实际评分时间",index=10) + @ApiModelProperty("实际评分时间") + private Object aTime; + + /** + * 分数 + */ + @LogField(name="分数",index=11) + @ApiModelProperty("分数") + private BigDecimal score; + + /** + * 分数说明 + */ + @LogField(name="分数说明",index=12) + @ApiModelProperty("分数说明") + private String scoreDesc; + + /** + * 备注 + */ + @LogField(name="备注",index=13) + @ApiModelProperty("备注") + private String note; + + /** + * 租户id + */ + @LogField(name="租户id",index=14) + @ApiModelProperty("租户id") + private Long tenantId; + + +} diff --git a/itc-pcitc-mdm/itc-pcitc-mdm-api/src/main/java/com/xjrsoft/module/supplier/dto/UpdateLngScoreDto.java b/itc-pcitc-mdm/itc-pcitc-mdm-api/src/main/java/com/xjrsoft/module/supplier/dto/UpdateLngScoreDto.java new file mode 100644 index 0000000..fb9cd95 --- /dev/null +++ b/itc-pcitc-mdm/itc-pcitc-mdm-api/src/main/java/com/xjrsoft/module/supplier/dto/UpdateLngScoreDto.java @@ -0,0 +1,109 @@ +package com.xjrsoft.module.supplier.dto; + +import java.io.Serializable; +import java.math.BigDecimal; +import java.time.LocalDateTime; +import java.util.List; + +import com.fasterxml.jackson.annotation.JsonFormat; +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.LogTable; +import com.pictc.annotations.datalog.ValueDirectionType; + +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; + + + +/** +* @title: 供应商评价 +* @Author 管理员 +* @Date: 2025-12-17 +* @Version 1.0 +*/ +@Data +@LogTable(source="lng_score",name="供应商评价") +public class UpdateLngScoreDto implements Serializable { + + private static final long serialVersionUID = 1L; + + /** + * 主键 + */ + @LogField(name="主键",index=0) + @ApiModelProperty("主键") + private Long id; + + /** + * 评分日期 + */ + @LogField(name="评分日期",index=1) + @ApiModelProperty("评分日期") + @JsonFormat(pattern = "HH:mm:ss") + private LocalDateTime dateGrade; + + /** + * 评价体系主键 + */ + @LogField(name="评价体系主键",index=2) + @ApiModelProperty("评价体系主键") + private Long gsId; + + /** + * 表名(隐藏,供应商/客户/承运商表名;应与评价体系的对象一致) + */ + @LogField(name="表名(隐藏,供应商/客户/承运商表名;应与评价体系的对象一致)",index=3) + @ApiModelProperty("表名(隐藏,供应商/客户/承运商表名;应与评价体系的对象一致)") + private String tableName; + + /** + * 供应商/客户 + */ + @LogField(name="供应商/客户",index=4) + @ApiModelProperty("供应商/客户") + private String cpCode; + + /** + * 分数 + */ + @LogField(name="分数",index=5) + @ApiModelProperty("分数") + private BigDecimal score; + + /** + * 审批状态(未审批/审批中/已审批/已驳回) + */ + @LogField(name="审批状态(未审批/审批中/已审批/已驳回)",index=6) + @ApiModelProperty("审批状态(未审批/审批中/已审批/已驳回)") + private String approCode; + + /** + * 备注 + */ + @LogField(name="备注",index=7) + @ApiModelProperty("备注") + private String note; + + /** + * 租户id + */ + @LogField(name="租户id",index=8) + @ApiModelProperty("租户id") + private Long tenantId; + + + /** + * lngScoreDtl + */ + @ApiModelProperty("lngScoreDtl子表") + @LogJoin(name = "lngScoreDtl子表", + columns = { + @LogJoinColumn(field = "sId",relatedField = "id", valueDirection = ValueDirectionType.RIGHT) + }, + caseType = JoinCaseType.FULL, target = UpdateLngScoreDtlDto.class, type = JoinType.MANY) + private List lngScoreDtlList; +} diff --git a/itc-pcitc-mdm/itc-pcitc-mdm-api/src/main/java/com/xjrsoft/module/supplier/vo/LngScoreDtlVo.java b/itc-pcitc-mdm/itc-pcitc-mdm-api/src/main/java/com/xjrsoft/module/supplier/vo/LngScoreDtlVo.java new file mode 100644 index 0000000..5b4ab07 --- /dev/null +++ b/itc-pcitc-mdm/itc-pcitc-mdm-api/src/main/java/com/xjrsoft/module/supplier/vo/LngScoreDtlVo.java @@ -0,0 +1,170 @@ +package com.xjrsoft.module.supplier.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-12-17 +* @Version 1.0 +*/ +@Data +public class LngScoreDtlVo { + + /** + * 主键 + */ + @ApiModelProperty("主键") + private Long id; + + + /** + * 评分信息主键 + */ + @ApiModelProperty("评分信息主键") + private Long sId; + + + /** + * 评价体系主键 + */ + @ApiModelProperty("评价体系主键") + private Long gsId; + + + /** + * 评价体系-条目主键 + */ + @ApiModelProperty("评价体系-条目主键") + private Long gsiId; + + + /** + * 评分事项(只读) + */ + @ApiModelProperty("评分事项(只读)") + private String itemName; + + + /** + * 评分标准(只读) + */ + @ApiModelProperty("评分标准(只读)") + private String itemDesc; + + + /** + * 评分部门(只读) + */ + @ApiModelProperty("评分部门(只读)") + private String eDeptCode; + + + /** + * 显示顺序 + */ + @ApiModelProperty("显示顺序") + private Short sort; + + + /** + * 实际评分部门编码(当前登录人所在部门) + */ + @ApiModelProperty("实际评分部门编码(当前登录人所在部门)") + private String aDeptCode; + + + /** + * 实际评分人编码(当前登录人) + */ + @ApiModelProperty("实际评分人编码(当前登录人)") + private String aEmpCode; + + + /** + * 实际评分时间 + */ + @ApiModelProperty("实际评分时间") + private Object aTime; + + + /** + * 分数 + */ + @ApiModelProperty("分数") + private BigDecimal score; + + + /** + * 分数说明 + */ + @ApiModelProperty("分数说明") + private String scoreDesc; + + + /** + * 备注 + */ + @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/supplier/vo/LngScorePageVo.java b/itc-pcitc-mdm/itc-pcitc-mdm-api/src/main/java/com/xjrsoft/module/supplier/vo/LngScorePageVo.java new file mode 100644 index 0000000..b73566c --- /dev/null +++ b/itc-pcitc-mdm/itc-pcitc-mdm-api/src/main/java/com/xjrsoft/module/supplier/vo/LngScorePageVo.java @@ -0,0 +1,61 @@ +package com.xjrsoft.module.supplier.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-12-17 +* @Version 1.0 +*/ +@Data +public class LngScorePageVo { + + /** + * 主键 + */ + @ApiModelProperty("主键") + private String id; + /** + * 评分日期 + */ + @ApiModelProperty("评分日期") + @JsonFormat(pattern = "HH:mm:ss") + private LocalDateTime dateGrade; + /** + * 评价体系主键 + */ + @ApiModelProperty("评价体系主键") + @Trans(type = TransType.API, id = "93d735dcb7364a0f8102188ec4d77ac7") + private String gsId; + /** + * 供应商/客户 + */ + @ApiModelProperty("供应商/客户") + private String cpCode; + /** + * 分数 + */ + @ApiModelProperty("分数") + private BigDecimal score; + /** + * 审批状态(未审批/审批中/已审批/已驳回) + */ + @ApiModelProperty("审批状态(未审批/审批中/已审批/已驳回)") + @Trans(type = TransType.DIC, id = "1990669393069129729") + private String approCode; + /** + * 备注 + */ + @ApiModelProperty("备注") + private String note; + +} diff --git a/itc-pcitc-mdm/itc-pcitc-mdm-api/src/main/java/com/xjrsoft/module/supplier/vo/LngScoreVo.java b/itc-pcitc-mdm/itc-pcitc-mdm-api/src/main/java/com/xjrsoft/module/supplier/vo/LngScoreVo.java new file mode 100644 index 0000000..248fc62 --- /dev/null +++ b/itc-pcitc-mdm/itc-pcitc-mdm-api/src/main/java/com/xjrsoft/module/supplier/vo/LngScoreVo.java @@ -0,0 +1,132 @@ +package com.xjrsoft.module.supplier.vo; + +import java.math.BigDecimal; +import java.time.LocalDateTime; +import java.util.List; + +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; + +/** +* @title: 表单出参 +* @Author 管理员 +* @Date: 2025-12-17 +* @Version 1.0 +*/ +@Data +public class LngScoreVo { + + /** + * 主键 + */ + @ApiModelProperty("主键") + private Long id; + + + /** + * 评分日期 + */ + @ApiModelProperty("评分日期") + private LocalDateTime dateGrade; + + + /** + * 评价体系主键 + */ + @ApiModelProperty("评价体系主键") + private Long gsId; + + + /** + * 表名(隐藏,供应商/客户/承运商表名;应与评价体系的对象一致) + */ + @ApiModelProperty("表名(隐藏,供应商/客户/承运商表名;应与评价体系的对象一致)") + private String tableName; + + + /** + * 供应商/客户 + */ + @ApiModelProperty("供应商/客户") + private String cpCode; + + + /** + * 分数 + */ + @ApiModelProperty("分数") + private BigDecimal score; + + + /** + * 审批状态(未审批/审批中/已审批/已驳回) + */ + @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; + + + + + /** + * lngScoreDtl + */ + @ApiModelProperty("lngScoreDtl子表") + private List lngScoreDtlList; + +} 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 ff55921..2ff1171 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 @@ -92,11 +92,13 @@ public class CustomerController { @ApiOperation(value="根据id查询LngCustomer信息") @SaCheckPermission("customer:detail") public R info(@RequestParam Long id){ + /** LngCustomer lngCustomer = customerService.getCustomerById(id); if (lngCustomer == null) { return R.error("找不到此数据!"); } - return R.ok(BeanUtil.toBean(lngCustomer, LngCustomerVo.class)); + return R.ok(BeanUtil.toBean(lngCustomer, LngCustomerVo.class));**/ + return R.ok(customerService.getCustomerById(id)); } @GetMapping(value = "/datalog") @@ -115,6 +117,10 @@ public class CustomerController { String code = codeRuleClient.genEncode(CUSTOMER_CODE); dto.setCuCode("C"+code); + UpdateLngCustomerDto obj = dataService.insert(dto); + codeRuleClient.useEncode(CUSTOMER_CODE); + return R.ok(obj); + /** return R.ok(dataService.insert(dto,new DataOperationListener() { @Override @@ -126,14 +132,15 @@ public class CustomerController { @Override public UpdateLngCustomerDto after(DataOperationContent content) { String msg = CommonCallUtils.saveAfter(content.getTableName(),content.getIdValue()); - if (StringUtils.isNotEmpty(msg)) { + + if (StringUtils.isNotEmpty(msg)) { throw new BusinessException(BusinessCode.ofArgs(ExceptionCommonCode.DB_FUNCTION_EXEC_ERROR, msg)); } codeRuleClient.useEncode(CUSTOMER_CODE); return content.getObj(); } })); - + **/ } @@ -141,7 +148,9 @@ public class CustomerController { @ApiOperation(value = "修改LngCustomer") @SaCheckPermission("customer:edit") public R update(@Valid @RequestBody UpdateLngCustomerDto dto){ - + + return R.ok(dataService.updateById(dto)); + /** return R.ok(dataService.updateById(dto,new DataOperationListener() { @Override @@ -158,6 +167,7 @@ public class CustomerController { return content.getObj(); } })); + **/ } @DeleteMapping diff --git a/itc-pcitc-mdm/itc-pcitc-mdm-service/src/main/java/com/xjrsoft/module/sales/controller/ScoreCustomerController.java b/itc-pcitc-mdm/itc-pcitc-mdm-service/src/main/java/com/xjrsoft/module/sales/controller/ScoreCustomerController.java new file mode 100644 index 0000000..6f9da7b --- /dev/null +++ b/itc-pcitc-mdm/itc-pcitc-mdm-service/src/main/java/com/xjrsoft/module/sales/controller/ScoreCustomerController.java @@ -0,0 +1,119 @@ +package com.xjrsoft.module.sales.controller; + +import java.util.List; + +import javax.validation.Valid; + +import org.springframework.web.bind.annotation.DeleteMapping; +import org.springframework.web.bind.annotation.GetMapping; +import org.springframework.web.bind.annotation.PostMapping; +import org.springframework.web.bind.annotation.PutMapping; +import org.springframework.web.bind.annotation.RequestBody; +import org.springframework.web.bind.annotation.RequestMapping; +import org.springframework.web.bind.annotation.RequestParam; +import org.springframework.web.bind.annotation.RestController; + +import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; +import com.baomidou.mybatisplus.core.metadata.IPage; +import com.xjrsoft.common.model.result.R; +import com.xjrsoft.common.page.ConventPage; +import com.xjrsoft.common.page.PageOutput; +import com.xjrsoft.common.utils.VoToColumnUtil; +import com.xjrsoft.module.datalog.service.DatalogService; +import com.xjrsoft.module.datalog.vo.DataChangeLogVo; +import com.xjrsoft.module.sales.dto.LngScorePageDto; +import com.xjrsoft.module.sales.dto.UpdateLngScoreDto; +import com.xjrsoft.module.sales.entity.LngScore; +import com.xjrsoft.module.sales.service.IScoreCustomerService; +import com.xjrsoft.module.sales.vo.LngScorePageVo; +import com.xjrsoft.module.sales.vo.LngScoreVo; + +import cn.dev33.satoken.annotation.SaCheckPermission; +import cn.hutool.core.bean.BeanUtil; +import cn.hutool.core.util.ObjectUtil; +import cn.hutool.core.util.StrUtil; +import io.swagger.annotations.Api; +import io.swagger.annotations.ApiOperation; +import lombok.AllArgsConstructor; + +/** +* @title: 客户评价 +* @Author 管理员 +* @Date: 2025-12-17 +* @Version 1.0 +*/ +@RestController +@RequestMapping("/sales" + "/scoreCustomer") +@Api(value = "/sales" + "/scoreCustomer",tags = "客户评价代码") +@AllArgsConstructor +public class ScoreCustomerController { + + + private final IScoreCustomerService scoreCustomerService; + private final DatalogService dataService; + + @GetMapping(value = "/page") + @ApiOperation(value="LngScore列表(分页)") + @SaCheckPermission("scoreCustomer:list") + public R page(@Valid LngScorePageDto dto){ + + LambdaQueryWrapper queryWrapper = new LambdaQueryWrapper<>(); + queryWrapper + .like(StrUtil.isNotBlank(dto.getCpCode()),LngScore::getCpCode,dto.getCpCode()) + .eq(ObjectUtil.isNotNull(dto.getGsId()),LngScore::getGsId,dto.getGsId()) + .between(ObjectUtil.isNotNull(dto.getDateGradeStart()) && ObjectUtil.isNotNull(dto.getDateGradeEnd()),LngScore::getDateGrade,dto.getDateGradeStart(),dto.getDateGradeEnd()) + .eq(ObjectUtil.isNotNull(dto.getScore()),LngScore::getScore,dto.getScore()) + .like(StrUtil.isNotBlank(dto.getApproCode()),LngScore::getApproCode,dto.getApproCode()) + .like(StrUtil.isNotBlank(dto.getNote()),LngScore::getNote,dto.getNote()) + .orderByDesc(LngScore::getId) + .select(LngScore.class,x -> VoToColumnUtil.fieldsToColumns(LngScorePageVo.class).contains(x.getProperty())); + IPage page = scoreCustomerService.page(ConventPage.getPage(dto), queryWrapper); + PageOutput pageOutput = ConventPage.getPageOutput(page, LngScorePageVo.class); + return R.ok(pageOutput); + } + + @GetMapping(value = "/info") + @ApiOperation(value="根据id查询LngScore信息") + @SaCheckPermission("scoreCustomer:detail") + public R info(@RequestParam Long id){ + LngScore lngScore = scoreCustomerService.getByIdDeep(id); + if (lngScore == null) { + return R.error("找不到此数据!"); + } + return R.ok(BeanUtil.toBean(lngScore, LngScoreVo.class)); + } + + @GetMapping(value = "/datalog") + @ApiOperation(value="根据id查询LngScore数据详细日志") + @SaCheckPermission("scoreCustomer:datalog") + public R datalog(@RequestParam Long id){ + List logs = dataService.findLogsByEntityId(UpdateLngScoreDto.class,id); + return R.ok(logs); + } + + + @PostMapping + @ApiOperation(value = "新增LngScore") + @SaCheckPermission("scoreCustomer:add") + public R add(@Valid @RequestBody UpdateLngScoreDto dto){ + UpdateLngScoreDto res = dataService.insert(dto); + return R.ok(res.getId()); + } + + @PutMapping + @ApiOperation(value = "修改LngScore") + @SaCheckPermission("scoreCustomer:edit") + public R update(@Valid @RequestBody UpdateLngScoreDto dto){ + return R.ok(dataService.updateById(dto)); + } + + @DeleteMapping + @ApiOperation(value = "删除") + @SaCheckPermission("scoreCustomer:delete") + public R delete(@Valid @RequestBody List ids){ + return R.ok(dataService.deleteByIds(UpdateLngScoreDto.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/LngScore.java b/itc-pcitc-mdm/itc-pcitc-mdm-service/src/main/java/com/xjrsoft/module/sales/entity/LngScore.java new file mode 100644 index 0000000..aff86ca --- /dev/null +++ b/itc-pcitc-mdm/itc-pcitc-mdm-service/src/main/java/com/xjrsoft/module/sales/entity/LngScore.java @@ -0,0 +1,139 @@ +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-12-17 +* @Version 1.0 +*/ +@Data +@TableName("lng_score") +@ApiModel(value = "客户评价对象", description = "客户评价") +public class LngScore implements Serializable { + + private static final long serialVersionUID = 1L; + + /** + * 主键 + */ + @ApiModelProperty("主键") + @TableId + private Long id; + + /** + * 评分日期 + */ + @ApiModelProperty("评分日期") + private LocalDateTime dateGrade; + + /** + * 评价体系主键 + */ + @ApiModelProperty("评价体系主键") + private Long gsId; + + /** + * 表名(隐藏,供应商/客户/承运商表名;应与评价体系的对象一致) + */ + @ApiModelProperty("表名(隐藏,供应商/客户/承运商表名;应与评价体系的对象一致)") + private String tableName; + + /** + * 供应商/客户 + */ + @ApiModelProperty("供应商/客户") + private String cpCode; + + /** + * 分数 + */ + @ApiModelProperty("分数") + private BigDecimal score; + + /** + * 审批状态(未审批/审批中/已审批/已驳回) + */ + @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; + + + /** + * lngScoreDtl + */ + @ApiModelProperty("lngScoreDtl子表") + @TableField(exist = false) + @EntityMapping(thisField = "id", joinField = "sId") + private List lngScoreDtlList; + +} \ No newline at end of file diff --git a/itc-pcitc-mdm/itc-pcitc-mdm-service/src/main/java/com/xjrsoft/module/sales/entity/LngScoreDtl.java b/itc-pcitc-mdm/itc-pcitc-mdm-service/src/main/java/com/xjrsoft/module/sales/entity/LngScoreDtl.java new file mode 100644 index 0000000..5c009a9 --- /dev/null +++ b/itc-pcitc-mdm/itc-pcitc-mdm-service/src/main/java/com/xjrsoft/module/sales/entity/LngScoreDtl.java @@ -0,0 +1,168 @@ +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-12-17 +* @Version 1.0 +*/ +@Data +@TableName("lng_score_dtl") +@ApiModel(value = "客户评价对象", description = "客户评价") +public class LngScoreDtl implements Serializable { + + private static final long serialVersionUID = 1L; + + /** + * 主键 + */ + @ApiModelProperty("主键") + @TableId + private Long id; + + /** + * 评分信息主键 + */ + @ApiModelProperty("评分信息主键") + private Long sId; + + /** + * 评价体系主键 + */ + @ApiModelProperty("评价体系主键") + private Long gsId; + + /** + * 评价体系-条目主键 + */ + @ApiModelProperty("评价体系-条目主键") + private Long gsiId; + + /** + * 评分事项(只读) + */ + @ApiModelProperty("评分事项(只读)") + private String itemName; + + /** + * 评分标准(只读) + */ + @ApiModelProperty("评分标准(只读)") + private String itemDesc; + + /** + * 评分部门(只读) + */ + @ApiModelProperty("评分部门(只读)") + private String eDeptCode; + + /** + * 显示顺序 + */ + @ApiModelProperty("显示顺序") + private Short sort; + + /** + * 实际评分部门编码(当前登录人所在部门) + */ + @ApiModelProperty("实际评分部门编码(当前登录人所在部门)") + private String aDeptCode; + + /** + * 实际评分人编码(当前登录人) + */ + @ApiModelProperty("实际评分人编码(当前登录人)") + private String aEmpCode; + + /** + * 实际评分时间 + */ + @ApiModelProperty("实际评分时间") + private Object aTime; + + /** + * 分数 + */ + @ApiModelProperty("分数") + private BigDecimal score; + + /** + * 分数说明 + */ + @ApiModelProperty("分数说明") + private String scoreDesc; + + /** + * 备注 + */ + @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/LngScoreDtlMapper.java b/itc-pcitc-mdm/itc-pcitc-mdm-service/src/main/java/com/xjrsoft/module/sales/mapper/LngScoreDtlMapper.java new file mode 100644 index 0000000..38735b5 --- /dev/null +++ b/itc-pcitc-mdm/itc-pcitc-mdm-service/src/main/java/com/xjrsoft/module/sales/mapper/LngScoreDtlMapper.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.LngScoreDtl; +import org.apache.ibatis.annotations.Mapper; + +/** +* @title: mapper +* @Author 管理员 +* @Date: 2025-12-17 +* @Version 1.0 +*/ +@Mapper +public interface LngScoreDtlMapper extends MPJBaseMapper { + +} diff --git a/itc-pcitc-mdm/itc-pcitc-mdm-service/src/main/java/com/xjrsoft/module/sales/mapper/LngScoreMapper.java b/itc-pcitc-mdm/itc-pcitc-mdm-service/src/main/java/com/xjrsoft/module/sales/mapper/LngScoreMapper.java new file mode 100644 index 0000000..1b14c5e --- /dev/null +++ b/itc-pcitc-mdm/itc-pcitc-mdm-service/src/main/java/com/xjrsoft/module/sales/mapper/LngScoreMapper.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.LngScore; +import org.apache.ibatis.annotations.Mapper; + +/** +* @title: mapper +* @Author 管理员 +* @Date: 2025-12-17 +* @Version 1.0 +*/ +@Mapper +public interface LngScoreMapper 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 aec6b52..721ca1c 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 @@ -6,6 +6,7 @@ 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 com.xjrsoft.module.sales.vo.LngCustomerVo; /** * @title: service @@ -24,6 +25,6 @@ public interface ICustomerService extends MPJBaseService, MPJDeepSe */ Boolean delete(List ids); - LngCustomer getCustomerById(Long id); + LngCustomerVo getCustomerById(Long id); } diff --git a/itc-pcitc-mdm/itc-pcitc-mdm-service/src/main/java/com/xjrsoft/module/sales/service/IScoreCustomerService.java b/itc-pcitc-mdm/itc-pcitc-mdm-service/src/main/java/com/xjrsoft/module/sales/service/IScoreCustomerService.java new file mode 100644 index 0000000..2ff68a0 --- /dev/null +++ b/itc-pcitc-mdm/itc-pcitc-mdm-service/src/main/java/com/xjrsoft/module/sales/service/IScoreCustomerService.java @@ -0,0 +1,42 @@ +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.LngScore; +import lombok.Data; +import java.util.List; + +/** +* @title: service +* @Author 管理员 +* @Date: 2025-12-17 +* @Version 1.0 +*/ + +public interface IScoreCustomerService extends MPJBaseService, MPJDeepService, MPJRelationService { + /** + * 新增 + * + * @param lngScore + * @return + */ + Boolean add(LngScore lngScore); + + /** + * 更新 + * + * @param lngScore + * @return + */ + Boolean update(LngScore lngScore); + + /** + * 删除 + * + * @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 6b2c36a..b006793 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 @@ -20,8 +20,12 @@ import com.xjrsoft.module.sales.mapper.LngCustomerContactMapper; import com.xjrsoft.module.sales.mapper.LngCustomerDocMapper; import com.xjrsoft.module.sales.mapper.LngCustomerMapper; import com.xjrsoft.module.sales.service.ICustomerService; +import com.xjrsoft.module.sales.vo.LngCustomerDocVo; +import com.xjrsoft.module.sales.vo.LngCustomerVo; import com.xjrsoft.module.system.client.IFileClient; +import com.xjrsoft.module.system.vo.LngFileUploadVo; +import cn.hutool.core.bean.BeanUtil; import cn.hutool.core.collection.CollectionUtil; import lombok.AllArgsConstructor; @@ -61,32 +65,21 @@ public class CustomerServiceImpl extends MPJBaseServiceImpl tempList = lngFileUploadMapper.selectList(Wrappers.lambdaQuery(LngFileUpload.class).eq(LngFileUpload::getTableId, lngCustomerDoc.getId()).eq(LngFileUpload::getTableName, "lng_customer_doc")); -// if(CollectionUtil.isNotEmpty(tempList)) { -// CloudStorageService storageService = OssFactory.build(); -// tempList.forEach(file -> { -// file.setPresignedUrl(storageService.fixUrl(file.getFilePath())); -// }); -// lngCustomerDoc.setFileList(tempList); -// } + LngCustomerVo vo = BeanUtil.toBean(lngCustomer, LngCustomerVo.class); + if(CollectionUtil.isNotEmpty(vo.getLngCustomerDocList())) { + for(LngCustomerDocVo lngCustomerDoc: vo.getLngCustomerDocList()) { + List fileList = fileClient.getTableFiles("lng_customer_doc", "fileList", lngCustomerDoc.getId()); + lngCustomerDoc.setFileList(fileList); } } -// List fileList = lngFileUploadMapper.selectList(Wrappers.lambdaQuery(LngFileUpload.class).eq(LngFileUpload::getTableId, lngCustomer.getId()).eq(LngFileUpload::getTableName, "lng_customer")); -// if (CollUtil.isNotEmpty(fileList)) { -// CloudStorageService storageService = OssFactory.build(); -// fileList.forEach(file -> { -// file.setPresignedUrl(storageService.fixUrl(file.getFilePath())); -// }); -// } - //lngCustomer.setLngFileUploadList(fileList); - return lngCustomer; + List fileList = fileClient.getTableFiles("lng_customer", "lngFileUploadList", vo.getId()); + vo.setLngFileUploadList(fileList); + return vo; } } diff --git a/itc-pcitc-mdm/itc-pcitc-mdm-service/src/main/java/com/xjrsoft/module/sales/service/impl/ScoreCustomerServiceImpl.java b/itc-pcitc-mdm/itc-pcitc-mdm-service/src/main/java/com/xjrsoft/module/sales/service/impl/ScoreCustomerServiceImpl.java new file mode 100644 index 0000000..88f7b89 --- /dev/null +++ b/itc-pcitc-mdm/itc-pcitc-mdm-service/src/main/java/com/xjrsoft/module/sales/service/impl/ScoreCustomerServiceImpl.java @@ -0,0 +1,88 @@ +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.LngScoreDtl; +import com.xjrsoft.module.sales.mapper.LngScoreDtlMapper; +import com.xjrsoft.module.sales.entity.LngScore; +import com.xjrsoft.module.sales.mapper.LngScoreMapper; +import com.xjrsoft.module.sales.service.IScoreCustomerService; +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-12-17 +* @Version 1.0 +*/ +@Service +@AllArgsConstructor +public class ScoreCustomerServiceImpl extends MPJBaseServiceImpl implements IScoreCustomerService { + private final LngScoreMapper scoreCustomerLngScoreMapper; + + private final LngScoreDtlMapper scoreCustomerLngScoreDtlMapper; + + + @Override + @Transactional(rollbackFor = Exception.class) + public Boolean add(LngScore lngScore) { + scoreCustomerLngScoreMapper.insert(lngScore); + for (LngScoreDtl lngScoreDtl : lngScore.getLngScoreDtlList()) { + lngScoreDtl.setSId(lngScore.getId()); + scoreCustomerLngScoreDtlMapper.insert(lngScoreDtl); + } + + return true; + } + + @Override + @Transactional(rollbackFor = Exception.class) + public Boolean update(LngScore lngScore) { + scoreCustomerLngScoreMapper.updateById(lngScore); + //********************************* LngScoreDtl 增删改 开始 *******************************************/ + { + // 查出所有子级的id + List lngScoreDtlList = scoreCustomerLngScoreDtlMapper.selectList(Wrappers.lambdaQuery(LngScoreDtl.class).eq(LngScoreDtl::getSId, lngScore.getId()).select(LngScoreDtl::getId)); + List lngScoreDtlIds = lngScoreDtlList.stream().map(LngScoreDtl::getId).collect(Collectors.toList()); + //原有子表单 没有被删除的主键 + List lngScoreDtlOldIds = lngScore.getLngScoreDtlList().stream().map(LngScoreDtl::getId).filter(Objects::nonNull).collect(Collectors.toList()); + //找到需要删除的id + List lngScoreDtlRemoveIds = lngScoreDtlIds.stream().filter(item -> !lngScoreDtlOldIds.contains(item)).collect(Collectors.toList()); + + for (LngScoreDtl lngScoreDtl : lngScore.getLngScoreDtlList()) { + //如果不等于空则修改 + if (lngScoreDtl.getId() != null) { + scoreCustomerLngScoreDtlMapper.updateById(lngScoreDtl); + } + //如果等于空 则新增 + else { + //已经不存在的id 删除 + lngScoreDtl.setSId(lngScore.getId()); + scoreCustomerLngScoreDtlMapper.insert(lngScoreDtl); + } + } + //已经不存在的id 删除 + if(lngScoreDtlRemoveIds.size() > 0){ + scoreCustomerLngScoreDtlMapper.deleteBatchIds(lngScoreDtlRemoveIds); + } + } + //********************************* LngScoreDtl 增删改 结束 *******************************************/ + + return true; + } + + @Override + @Transactional(rollbackFor = Exception.class) + public Boolean delete(List ids) { + scoreCustomerLngScoreMapper.deleteBatchIds(ids); + scoreCustomerLngScoreDtlMapper.delete(Wrappers.lambdaQuery(LngScoreDtl.class).in(LngScoreDtl::getSId, ids)); + + return true; + } +} diff --git a/itc-pcitc-mdm/itc-pcitc-mdm-service/src/main/java/com/xjrsoft/module/supplier/controller/ScoreSupplierController.java b/itc-pcitc-mdm/itc-pcitc-mdm-service/src/main/java/com/xjrsoft/module/supplier/controller/ScoreSupplierController.java new file mode 100644 index 0000000..7f9ecc4 --- /dev/null +++ b/itc-pcitc-mdm/itc-pcitc-mdm-service/src/main/java/com/xjrsoft/module/supplier/controller/ScoreSupplierController.java @@ -0,0 +1,115 @@ +package com.xjrsoft.module.supplier.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.supplier.dto.AddLngScoreDto; +import com.xjrsoft.module.supplier.dto.UpdateLngScoreDto; +import cn.dev33.satoken.annotation.SaCheckPermission; + +import com.xjrsoft.module.supplier.dto.LngScorePageDto; +import com.xjrsoft.module.supplier.entity.LngScore; +import com.xjrsoft.module.supplier.service.IScoreSupplierService; +import com.xjrsoft.module.supplier.vo.LngScorePageVo; +import com.xjrsoft.module.datalog.vo.DataChangeLogVo; +import com.xjrsoft.module.datalog.service.DatalogService; +import com.xjrsoft.module.supplier.vo.LngScoreVo; +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-12-17 +* @Version 1.0 +*/ +@RestController +@RequestMapping("/supplier" + "/scoreSupplier") +@Api(value = "/supplier" + "/scoreSupplier",tags = "供应商评价代码") +@AllArgsConstructor +public class ScoreSupplierController { + + + private final IScoreSupplierService scoreSupplierService; + private final DatalogService dataService; + + @GetMapping(value = "/page") + @ApiOperation(value="LngScore列表(分页)") + @SaCheckPermission("scoreSupplier:list") + public R page(@Valid LngScorePageDto dto){ + + LambdaQueryWrapper queryWrapper = new LambdaQueryWrapper<>(); + queryWrapper + .like(StrUtil.isNotBlank(dto.getCpCode()),LngScore::getCpCode,dto.getCpCode()) + .eq(ObjectUtil.isNotNull(dto.getGsId()),LngScore::getGsId,dto.getGsId()) + .between(ObjectUtil.isNotNull(dto.getDateGradeStart()) && ObjectUtil.isNotNull(dto.getDateGradeEnd()),LngScore::getDateGrade,dto.getDateGradeStart(),dto.getDateGradeEnd()) + .eq(ObjectUtil.isNotNull(dto.getScore()),LngScore::getScore,dto.getScore()) + .like(StrUtil.isNotBlank(dto.getApproCode()),LngScore::getApproCode,dto.getApproCode()) + .like(StrUtil.isNotBlank(dto.getNote()),LngScore::getNote,dto.getNote()) + .orderByDesc(LngScore::getId) + .select(LngScore.class,x -> VoToColumnUtil.fieldsToColumns(LngScorePageVo.class).contains(x.getProperty())); + IPage page = scoreSupplierService.page(ConventPage.getPage(dto), queryWrapper); + PageOutput pageOutput = ConventPage.getPageOutput(page, LngScorePageVo.class); + return R.ok(pageOutput); + } + + @GetMapping(value = "/info") + @ApiOperation(value="根据id查询LngScore信息") + @SaCheckPermission("scoreSupplier:detail") + public R info(@RequestParam Long id){ + LngScore lngScore = scoreSupplierService.getByIdDeep(id); + if (lngScore == null) { + return R.error("找不到此数据!"); + } + return R.ok(BeanUtil.toBean(lngScore, LngScoreVo.class)); + } + + @GetMapping(value = "/datalog") + @ApiOperation(value="根据id查询LngScore数据详细日志") + @SaCheckPermission("scoreSupplier:datalog") + public R datalog(@RequestParam Long id){ + List logs = dataService.findLogsByEntityId(UpdateLngScoreDto.class,id); + return R.ok(logs); + } + + + @PostMapping + @ApiOperation(value = "新增LngScore") + @SaCheckPermission("scoreSupplier:add") + public R add(@Valid @RequestBody UpdateLngScoreDto dto){ + UpdateLngScoreDto res = dataService.insert(dto); + return R.ok(res.getId()); + } + + @PutMapping + @ApiOperation(value = "修改LngScore") + @SaCheckPermission("scoreSupplier:edit") + public R update(@Valid @RequestBody UpdateLngScoreDto dto){ + return R.ok(dataService.updateById(dto)); + } + + @DeleteMapping + @ApiOperation(value = "删除") + @SaCheckPermission("scoreSupplier:delete") + public R delete(@Valid @RequestBody List ids){ + return R.ok(dataService.deleteByIds(UpdateLngScoreDto.class, ids)); + + } + + +} \ No newline at end of file diff --git a/itc-pcitc-mdm/itc-pcitc-mdm-service/src/main/java/com/xjrsoft/module/supplier/entity/LngScore.java b/itc-pcitc-mdm/itc-pcitc-mdm-service/src/main/java/com/xjrsoft/module/supplier/entity/LngScore.java new file mode 100644 index 0000000..18a001f --- /dev/null +++ b/itc-pcitc-mdm/itc-pcitc-mdm-service/src/main/java/com/xjrsoft/module/supplier/entity/LngScore.java @@ -0,0 +1,139 @@ +package com.xjrsoft.module.supplier.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-12-17 +* @Version 1.0 +*/ +@Data +@TableName("lng_score") +@ApiModel(value = "供应商评价对象", description = "供应商评价") +public class LngScore implements Serializable { + + private static final long serialVersionUID = 1L; + + /** + * 主键 + */ + @ApiModelProperty("主键") + @TableId + private Long id; + + /** + * 评分日期 + */ + @ApiModelProperty("评分日期") + private LocalDateTime dateGrade; + + /** + * 评价体系主键 + */ + @ApiModelProperty("评价体系主键") + private Long gsId; + + /** + * 表名(隐藏,供应商/客户/承运商表名;应与评价体系的对象一致) + */ + @ApiModelProperty("表名(隐藏,供应商/客户/承运商表名;应与评价体系的对象一致)") + private String tableName; + + /** + * 供应商/客户 + */ + @ApiModelProperty("供应商/客户") + private String cpCode; + + /** + * 分数 + */ + @ApiModelProperty("分数") + private BigDecimal score; + + /** + * 审批状态(未审批/审批中/已审批/已驳回) + */ + @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; + + + /** + * lngScoreDtl + */ + @ApiModelProperty("lngScoreDtl子表") + @TableField(exist = false) + @EntityMapping(thisField = "id", joinField = "sId") + private List lngScoreDtlList; + +} \ No newline at end of file diff --git a/itc-pcitc-mdm/itc-pcitc-mdm-service/src/main/java/com/xjrsoft/module/supplier/entity/LngScoreDtl.java b/itc-pcitc-mdm/itc-pcitc-mdm-service/src/main/java/com/xjrsoft/module/supplier/entity/LngScoreDtl.java new file mode 100644 index 0000000..ec86d39 --- /dev/null +++ b/itc-pcitc-mdm/itc-pcitc-mdm-service/src/main/java/com/xjrsoft/module/supplier/entity/LngScoreDtl.java @@ -0,0 +1,168 @@ +package com.xjrsoft.module.supplier.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-12-17 +* @Version 1.0 +*/ +@Data +@TableName("lng_score_dtl") +@ApiModel(value = "供应商评价对象", description = "供应商评价") +public class LngScoreDtl implements Serializable { + + private static final long serialVersionUID = 1L; + + /** + * 主键 + */ + @ApiModelProperty("主键") + @TableId + private Long id; + + /** + * 评分信息主键 + */ + @ApiModelProperty("评分信息主键") + private Long sId; + + /** + * 评价体系主键 + */ + @ApiModelProperty("评价体系主键") + private Long gsId; + + /** + * 评价体系-条目主键 + */ + @ApiModelProperty("评价体系-条目主键") + private Long gsiId; + + /** + * 评分事项(只读) + */ + @ApiModelProperty("评分事项(只读)") + private String itemName; + + /** + * 评分标准(只读) + */ + @ApiModelProperty("评分标准(只读)") + private String itemDesc; + + /** + * 评分部门(只读) + */ + @ApiModelProperty("评分部门(只读)") + private String eDeptCode; + + /** + * 显示顺序 + */ + @ApiModelProperty("显示顺序") + private Short sort; + + /** + * 实际评分部门编码(当前登录人所在部门) + */ + @ApiModelProperty("实际评分部门编码(当前登录人所在部门)") + private String aDeptCode; + + /** + * 实际评分人编码(当前登录人) + */ + @ApiModelProperty("实际评分人编码(当前登录人)") + private String aEmpCode; + + /** + * 实际评分时间 + */ + @ApiModelProperty("实际评分时间") + private Object aTime; + + /** + * 分数 + */ + @ApiModelProperty("分数") + private BigDecimal score; + + /** + * 分数说明 + */ + @ApiModelProperty("分数说明") + private String scoreDesc; + + /** + * 备注 + */ + @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/supplier/mapper/LngSupplierScoreDtlMapper.java b/itc-pcitc-mdm/itc-pcitc-mdm-service/src/main/java/com/xjrsoft/module/supplier/mapper/LngSupplierScoreDtlMapper.java new file mode 100644 index 0000000..8d6907d --- /dev/null +++ b/itc-pcitc-mdm/itc-pcitc-mdm-service/src/main/java/com/xjrsoft/module/supplier/mapper/LngSupplierScoreDtlMapper.java @@ -0,0 +1,17 @@ +package com.xjrsoft.module.supplier.mapper; + +import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import com.github.yulichang.base.MPJBaseMapper; +import com.xjrsoft.module.supplier.entity.LngScoreDtl; +import org.apache.ibatis.annotations.Mapper; + +/** +* @title: mapper +* @Author 管理员 +* @Date: 2025-12-17 +* @Version 1.0 +*/ +@Mapper +public interface LngSupplierScoreDtlMapper extends MPJBaseMapper { + +} diff --git a/itc-pcitc-mdm/itc-pcitc-mdm-service/src/main/java/com/xjrsoft/module/supplier/mapper/LngSupplierScoreMapper.java b/itc-pcitc-mdm/itc-pcitc-mdm-service/src/main/java/com/xjrsoft/module/supplier/mapper/LngSupplierScoreMapper.java new file mode 100644 index 0000000..a947888 --- /dev/null +++ b/itc-pcitc-mdm/itc-pcitc-mdm-service/src/main/java/com/xjrsoft/module/supplier/mapper/LngSupplierScoreMapper.java @@ -0,0 +1,17 @@ +package com.xjrsoft.module.supplier.mapper; + +import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import com.github.yulichang.base.MPJBaseMapper; +import com.xjrsoft.module.supplier.entity.LngScore; +import org.apache.ibatis.annotations.Mapper; + +/** +* @title: mapper +* @Author 管理员 +* @Date: 2025-12-17 +* @Version 1.0 +*/ +@Mapper +public interface LngSupplierScoreMapper extends MPJBaseMapper { + +} diff --git a/itc-pcitc-mdm/itc-pcitc-mdm-service/src/main/java/com/xjrsoft/module/supplier/service/IScoreSupplierService.java b/itc-pcitc-mdm/itc-pcitc-mdm-service/src/main/java/com/xjrsoft/module/supplier/service/IScoreSupplierService.java new file mode 100644 index 0000000..2d1c743 --- /dev/null +++ b/itc-pcitc-mdm/itc-pcitc-mdm-service/src/main/java/com/xjrsoft/module/supplier/service/IScoreSupplierService.java @@ -0,0 +1,42 @@ +package com.xjrsoft.module.supplier.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.supplier.entity.LngScore; +import lombok.Data; +import java.util.List; + +/** +* @title: service +* @Author 管理员 +* @Date: 2025-12-17 +* @Version 1.0 +*/ + +public interface IScoreSupplierService extends MPJBaseService, MPJDeepService, MPJRelationService { + /** + * 新增 + * + * @param lngScore + * @return + */ + Boolean add(LngScore lngScore); + + /** + * 更新 + * + * @param lngScore + * @return + */ + Boolean update(LngScore lngScore); + + /** + * 删除 + * + * @param ids + * @return + */ + Boolean delete(List ids); +} diff --git a/itc-pcitc-mdm/itc-pcitc-mdm-service/src/main/java/com/xjrsoft/module/supplier/service/impl/ScoreSupplierServiceImpl.java b/itc-pcitc-mdm/itc-pcitc-mdm-service/src/main/java/com/xjrsoft/module/supplier/service/impl/ScoreSupplierServiceImpl.java new file mode 100644 index 0000000..45ee9d5 --- /dev/null +++ b/itc-pcitc-mdm/itc-pcitc-mdm-service/src/main/java/com/xjrsoft/module/supplier/service/impl/ScoreSupplierServiceImpl.java @@ -0,0 +1,88 @@ +package com.xjrsoft.module.supplier.service.impl; + +import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; +import com.github.yulichang.base.MPJBaseServiceImpl; +import com.xjrsoft.module.supplier.entity.LngScoreDtl; +import com.xjrsoft.module.supplier.mapper.LngSupplierScoreDtlMapper; +import com.xjrsoft.module.supplier.entity.LngScore; +import com.xjrsoft.module.supplier.mapper.LngSupplierScoreMapper; +import com.xjrsoft.module.supplier.service.IScoreSupplierService; +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-12-17 +* @Version 1.0 +*/ +@Service +@AllArgsConstructor +public class ScoreSupplierServiceImpl extends MPJBaseServiceImpl implements IScoreSupplierService { + private final LngSupplierScoreMapper scoreSupplierLngScoreMapper; + + private final LngSupplierScoreDtlMapper scoreSupplierLngScoreDtlMapper; + + + @Override + @Transactional(rollbackFor = Exception.class) + public Boolean add(LngScore lngScore) { + scoreSupplierLngScoreMapper.insert(lngScore); + for (LngScoreDtl lngScoreDtl : lngScore.getLngScoreDtlList()) { + lngScoreDtl.setSId(lngScore.getId()); + scoreSupplierLngScoreDtlMapper.insert(lngScoreDtl); + } + + return true; + } + + @Override + @Transactional(rollbackFor = Exception.class) + public Boolean update(LngScore lngScore) { + scoreSupplierLngScoreMapper.updateById(lngScore); + //********************************* LngScoreDtl 增删改 开始 *******************************************/ + { + // 查出所有子级的id + List lngScoreDtlList = scoreSupplierLngScoreDtlMapper.selectList(Wrappers.lambdaQuery(LngScoreDtl.class).eq(LngScoreDtl::getSId, lngScore.getId()).select(LngScoreDtl::getId)); + List lngScoreDtlIds = lngScoreDtlList.stream().map(LngScoreDtl::getId).collect(Collectors.toList()); + //原有子表单 没有被删除的主键 + List lngScoreDtlOldIds = lngScore.getLngScoreDtlList().stream().map(LngScoreDtl::getId).filter(Objects::nonNull).collect(Collectors.toList()); + //找到需要删除的id + List lngScoreDtlRemoveIds = lngScoreDtlIds.stream().filter(item -> !lngScoreDtlOldIds.contains(item)).collect(Collectors.toList()); + + for (LngScoreDtl lngScoreDtl : lngScore.getLngScoreDtlList()) { + //如果不等于空则修改 + if (lngScoreDtl.getId() != null) { + scoreSupplierLngScoreDtlMapper.updateById(lngScoreDtl); + } + //如果等于空 则新增 + else { + //已经不存在的id 删除 + lngScoreDtl.setSId(lngScore.getId()); + scoreSupplierLngScoreDtlMapper.insert(lngScoreDtl); + } + } + //已经不存在的id 删除 + if(lngScoreDtlRemoveIds.size() > 0){ + scoreSupplierLngScoreDtlMapper.deleteBatchIds(lngScoreDtlRemoveIds); + } + } + //********************************* LngScoreDtl 增删改 结束 *******************************************/ + + return true; + } + + @Override + @Transactional(rollbackFor = Exception.class) + public Boolean delete(List ids) { + scoreSupplierLngScoreMapper.deleteBatchIds(ids); + scoreSupplierLngScoreDtlMapper.delete(Wrappers.lambdaQuery(LngScoreDtl.class).in(LngScoreDtl::getSId, ids)); + + return true; + } +}