diff --git a/itc-pcitc-mdm/itc-pcitc-mdm-api/src/main/java/com/xjrsoft/module/sales/dto/AddLngGradeSystemDto.java b/itc-pcitc-mdm/itc-pcitc-mdm-api/src/main/java/com/xjrsoft/module/sales/dto/AddLngGradeSystemDto.java new file mode 100644 index 0000000..069f401 --- /dev/null +++ b/itc-pcitc-mdm/itc-pcitc-mdm-api/src/main/java/com/xjrsoft/module/sales/dto/AddLngGradeSystemDto.java @@ -0,0 +1,63 @@ +package com.xjrsoft.module.sales.dto; + +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; + +import java.io.Serializable; +import java.util.List; + + + +/** +* @title: 评价体系 +* @Author 管理员 +* @Date: 2025-12-05 +* @Version 1.0 +*/ +@Data +public class AddLngGradeSystemDto implements Serializable { + + private static final long serialVersionUID = 1L; + + /** + * 编码(可用于排序、分类) + */ + @ApiModelProperty("编码(可用于排序、分类)") + private String gsCode; + /** + * 名称 + */ + @ApiModelProperty("名称") + private String gsName; + /** + * 评价对象(供应商准入/供应商评级/客户评级/客户评价/承运商准入/承运商评级) + */ + @ApiModelProperty("评价对象(供应商准入/供应商评级/客户评级/客户评价/承运商准入/承运商评级)") + private String typeCode; + /** + * 有效标志(Y-有效,N-无效) + */ + @ApiModelProperty("有效标志(Y-有效,N-无效)") + private String valid; + /** + * 审批状态(未审批/审批中/已审批/已驳回) + */ + @ApiModelProperty("审批状态(未审批/审批中/已审批/已驳回)") + private String approCode; + /** + * 备注 + */ + @ApiModelProperty("备注") + private String note; + /** + * 租户id + */ + @ApiModelProperty("租户id") + private Long tenantId; + + /** + * lngGradeSystemItem + */ + @ApiModelProperty("lngGradeSystemItem子表") + private List lngGradeSystemItemList; +} diff --git a/itc-pcitc-mdm/itc-pcitc-mdm-api/src/main/java/com/xjrsoft/module/sales/dto/AddLngGradeSystemItemDto.java b/itc-pcitc-mdm/itc-pcitc-mdm-api/src/main/java/com/xjrsoft/module/sales/dto/AddLngGradeSystemItemDto.java new file mode 100644 index 0000000..52fca79 --- /dev/null +++ b/itc-pcitc-mdm/itc-pcitc-mdm-api/src/main/java/com/xjrsoft/module/sales/dto/AddLngGradeSystemItemDto.java @@ -0,0 +1,59 @@ +package com.xjrsoft.module.sales.dto; + +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; + +import java.io.Serializable; + + + + + +/** +* @title: 评价体系 +* @Author 管理员 +* @Date: 2025-12-05 +* @Version 1.0 +*/ +@Data +public class AddLngGradeSystemItemDto implements Serializable { + + private static final long serialVersionUID = 1L; + + /** + * 评价体系主键 + */ + @ApiModelProperty("评价体系主键") + private Long gsId; + /** + * 评分事项 + */ + @ApiModelProperty("评分事项") + private String itemName; + /** + * 评分标准 + */ + @ApiModelProperty("评分标准") + private String itemDesc; + /** + * 评价部门编码 + */ + @ApiModelProperty("评价部门编码") + private String eDeptCode; + /** + * 显示顺序 + */ + @ApiModelProperty("显示顺序") + private Short sort; + /** + * 备注 + */ + @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/LngGradeSystemPageDto.java b/itc-pcitc-mdm/itc-pcitc-mdm-api/src/main/java/com/xjrsoft/module/sales/dto/LngGradeSystemPageDto.java new file mode 100644 index 0000000..f496a42 --- /dev/null +++ b/itc-pcitc-mdm/itc-pcitc-mdm-api/src/main/java/com/xjrsoft/module/sales/dto/LngGradeSystemPageDto.java @@ -0,0 +1,35 @@ +package com.xjrsoft.module.sales.dto; + +import com.xjrsoft.common.page.PageInput; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; +import lombok.EqualsAndHashCode; + + +/** +* @title: 分页查询入参 +* @Author 管理员 +* @Date: 2025-12-05 +* @Version 1.0 +*/ +@Data +@EqualsAndHashCode(callSuper = false) +public class LngGradeSystemPageDto extends PageInput { + + /** + * 名称 + */ + @ApiModelProperty("名称") + private String gsName; + /** + * 评价对象(供应商准入/供应商评级/客户评级/客户评价/承运商准入/承运商评级) + */ + @ApiModelProperty("评价对象(供应商准入/供应商评级/客户评级/客户评价/承运商准入/承运商评级)") + private String typeCode; + /** + * 有效标志(Y-有效,N-无效) + */ + @ApiModelProperty("有效标志(Y-有效,N-无效)") + private String valid; + +} diff --git a/itc-pcitc-mdm/itc-pcitc-mdm-api/src/main/java/com/xjrsoft/module/sales/dto/UpdateLngGradeSystemDto.java b/itc-pcitc-mdm/itc-pcitc-mdm-api/src/main/java/com/xjrsoft/module/sales/dto/UpdateLngGradeSystemDto.java new file mode 100644 index 0000000..dbfb002 --- /dev/null +++ b/itc-pcitc-mdm/itc-pcitc-mdm-api/src/main/java/com/xjrsoft/module/sales/dto/UpdateLngGradeSystemDto.java @@ -0,0 +1,91 @@ +package com.xjrsoft.module.sales.dto; + +import com.pictc.annotations.datalog.*; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; + +import java.io.Serializable; +import java.util.List; + + + +/** +* @title: 评价体系 +* @Author 管理员 +* @Date: 2025-12-05 +* @Version 1.0 +*/ +@Data +@LogTable(source="lng_grade_system",name="评价体系") +public class UpdateLngGradeSystemDto implements Serializable { + + private static final long serialVersionUID = 1L; + + /** + * 主键 + */ + @LogField(name="主键",index=0) + @ApiModelProperty("主键") + private Long id; + + /** + * 编码(可用于排序、分类) + */ + @LogField(name="编码(可用于排序、分类)",index=1) + @ApiModelProperty("编码(可用于排序、分类)") + private String gsCode; + + /** + * 名称 + */ + @LogField(name="名称",index=2) + @ApiModelProperty("名称") + private String gsName; + + /** + * 评价对象(供应商准入/供应商评级/客户评级/客户评价/承运商准入/承运商评级) + */ + @LogField(name="评价对象(供应商准入/供应商评级/客户评级/客户评价/承运商准入/承运商评级)",index=3) + @ApiModelProperty("评价对象(供应商准入/供应商评级/客户评级/客户评价/承运商准入/承运商评级)") + private String typeCode; + + /** + * 有效标志(Y-有效,N-无效) + */ + @LogField(name="有效标志(Y-有效,N-无效)",index=4) + @ApiModelProperty("有效标志(Y-有效,N-无效)") + private String valid; + + /** + * 审批状态(未审批/审批中/已审批/已驳回) + */ + @LogField(name="审批状态(未审批/审批中/已审批/已驳回)",index=5) + @ApiModelProperty("审批状态(未审批/审批中/已审批/已驳回)") + private String approCode; + + /** + * 备注 + */ + @LogField(name="备注",index=6) + @ApiModelProperty("备注") + private String note; + + /** + * 租户id + */ + @LogField(name="租户id",index=7) + @ApiModelProperty("租户id") + private Long tenantId; + + + /** + * lngGradeSystemItem + */ + @ApiModelProperty("lngGradeSystemItem子表") + @LogJoin(name = "lngGradeSystemItem子表", + columns = { + @LogJoinColumn(field = "gsId",relatedField = "id", valueDirection = ValueDirectionType.RIGHT) + }, + caseType = JoinCaseType.FULL, target = UpdateLngGradeSystemItemDto.class, type = JoinType.MANY) + private List lngGradeSystemItemList; +} diff --git a/itc-pcitc-mdm/itc-pcitc-mdm-api/src/main/java/com/xjrsoft/module/sales/dto/UpdateLngGradeSystemItemDto.java b/itc-pcitc-mdm/itc-pcitc-mdm-api/src/main/java/com/xjrsoft/module/sales/dto/UpdateLngGradeSystemItemDto.java new file mode 100644 index 0000000..7e8f30d --- /dev/null +++ b/itc-pcitc-mdm/itc-pcitc-mdm-api/src/main/java/com/xjrsoft/module/sales/dto/UpdateLngGradeSystemItemDto.java @@ -0,0 +1,82 @@ +package com.xjrsoft.module.sales.dto; + +import com.pictc.annotations.datalog.LogField; +import com.pictc.annotations.datalog.LogTable; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; + +import java.io.Serializable; + + + + +/** +* @title: 评价体系 +* @Author 管理员 +* @Date: 2025-12-05 +* @Version 1.0 +*/ +@Data +@LogTable(source="lng_grade_system_item",name="评价体系") +public class UpdateLngGradeSystemItemDto implements Serializable { + + private static final long serialVersionUID = 1L; + + /** + * 主键 + */ + @LogField(name="主键",index=0) + @ApiModelProperty("主键") + private Long id; + + /** + * 评价体系主键 + */ + @LogField(name="评价体系主键",index=1) + @ApiModelProperty("评价体系主键") + private Long gsId; + + /** + * 评分事项 + */ + @LogField(name="评分事项",index=2) + @ApiModelProperty("评分事项") + private String itemName; + + /** + * 评分标准 + */ + @LogField(name="评分标准",index=3) + @ApiModelProperty("评分标准") + private String itemDesc; + + /** + * 评价部门编码 + */ + @LogField(name="评价部门编码",index=4) + @ApiModelProperty("评价部门编码") + private String eDeptCode; + + /** + * 显示顺序 + */ + @LogField(name="显示顺序",index=5) + @ApiModelProperty("显示顺序") + private Short sort; + + /** + * 备注 + */ + @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/vo/LngGradeSystemItemVo.java b/itc-pcitc-mdm/itc-pcitc-mdm-api/src/main/java/com/xjrsoft/module/sales/vo/LngGradeSystemItemVo.java new file mode 100644 index 0000000..3403f1d --- /dev/null +++ b/itc-pcitc-mdm/itc-pcitc-mdm-api/src/main/java/com/xjrsoft/module/sales/vo/LngGradeSystemItemVo.java @@ -0,0 +1,118 @@ +package com.xjrsoft.module.sales.vo; + +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; + +import java.time.LocalDateTime; + +/** +* @title: 表单出参 +* @Author 管理员 +* @Date: 2025-12-05 +* @Version 1.0 +*/ +@Data +public class LngGradeSystemItemVo { + + /** + * 主键 + */ + @ApiModelProperty("主键") + private Long id; + + + /** + * 评价体系主键 + */ + @ApiModelProperty("评价体系主键") + private Long gsId; + + + /** + * 评分事项 + */ + @ApiModelProperty("评分事项") + private String itemName; + + + /** + * 评分标准 + */ + @ApiModelProperty("评分标准") + private String itemDesc; + + + /** + * 评价部门编码 + */ + @ApiModelProperty("评价部门编码") + private String eDeptCode; + + + /** + * 显示顺序 + */ + @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/LngGradeSystemPageVo.java b/itc-pcitc-mdm/itc-pcitc-mdm-api/src/main/java/com/xjrsoft/module/sales/vo/LngGradeSystemPageVo.java new file mode 100644 index 0000000..d94a8a6 --- /dev/null +++ b/itc-pcitc-mdm/itc-pcitc-mdm-api/src/main/java/com/xjrsoft/module/sales/vo/LngGradeSystemPageVo.java @@ -0,0 +1,40 @@ +package com.xjrsoft.module.sales.vo; + +import com.xjrsoft.common.annotation.Trans; +import com.xjrsoft.common.enums.TransType; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; + +/** +* @title: 分页列表出参 +* @Author 管理员 +* @Date: 2025-12-05 +* @Version 1.0 +*/ +@Data +public class LngGradeSystemPageVo { + + /** + * 主键 + */ + @ApiModelProperty("主键") + private String id; + /** + * 名称 + */ + @ApiModelProperty("名称") + private String gsName; + /** + * 评价对象(供应商准入/供应商评级/客户评级/客户评价/承运商准入/承运商评级) + */ + @ApiModelProperty("评价对象(供应商准入/供应商评级/客户评级/客户评价/承运商准入/承运商评级)") + @Trans(type = TransType.DIC, id = "1995320402390622209") + private String typeCode; + /** + * 有效标志(Y-有效,N-无效) + */ + @ApiModelProperty("有效标志(Y-有效,N-无效)") + @Trans(type = TransType.DIC, id = "1978057078528327681") + private String valid; + +} diff --git a/itc-pcitc-mdm/itc-pcitc-mdm-api/src/main/java/com/xjrsoft/module/sales/vo/LngGradeSystemVo.java b/itc-pcitc-mdm/itc-pcitc-mdm-api/src/main/java/com/xjrsoft/module/sales/vo/LngGradeSystemVo.java new file mode 100644 index 0000000..75799bc --- /dev/null +++ b/itc-pcitc-mdm/itc-pcitc-mdm-api/src/main/java/com/xjrsoft/module/sales/vo/LngGradeSystemVo.java @@ -0,0 +1,124 @@ +package com.xjrsoft.module.sales.vo; + +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; + +import java.time.LocalDateTime; +import java.util.List; + +/** +* @title: 表单出参 +* @Author 管理员 +* @Date: 2025-12-05 +* @Version 1.0 +*/ +@Data +public class LngGradeSystemVo { + + /** + * 主键 + */ + @ApiModelProperty("主键") + private Long id; + + + /** + * 编码(可用于排序、分类) + */ + @ApiModelProperty("编码(可用于排序、分类)") + private String gsCode; + + + /** + * 名称 + */ + @ApiModelProperty("名称") + private String gsName; + + + /** + * 评价对象(供应商准入/供应商评级/客户评级/客户评价/承运商准入/承运商评级) + */ + @ApiModelProperty("评价对象(供应商准入/供应商评级/客户评级/客户评价/承运商准入/承运商评级)") + private String typeCode; + + + /** + * 有效标志(Y-有效,N-无效) + */ + @ApiModelProperty("有效标志(Y-有效,N-无效)") + private String valid; + + + /** + * 审批状态(未审批/审批中/已审批/已驳回) + */ + @ApiModelProperty("审批状态(未审批/审批中/已审批/已驳回)") + private String approCode; + + + /** + * 备注 + */ + @ApiModelProperty("备注") + private String note; + + + /** + * 创建人id + */ + @ApiModelProperty("创建人id") + private Long createUserId; + + + /** + * 创建时间 + */ + @ApiModelProperty("创建时间") + private LocalDateTime createDate; + + + /** + * 修改人id + */ + @ApiModelProperty("修改人id") + private Long modifyUserId; + + + /** + * 修改时间 + */ + @ApiModelProperty("修改时间") + private LocalDateTime modifyDate; + + + /** + * 租户id + */ + @ApiModelProperty("租户id") + private Long tenantId; + + + /** + * 部门id + */ + @ApiModelProperty("部门id") + private Long deptId; + + + /** + * 数据权限id + */ + @ApiModelProperty("数据权限id") + private Long ruleUserId; + + + + + /** + * lngGradeSystemItem + */ + @ApiModelProperty("lngGradeSystemItem子表") + private List lngGradeSystemItemList; + +} diff --git a/itc-pcitc-mdm/itc-pcitc-mdm-service/src/main/java/com/xjrsoft/module/mdm/controller/CategoryController.java b/itc-pcitc-mdm/itc-pcitc-mdm-service/src/main/java/com/xjrsoft/module/mdm/controller/CategoryController.java index a0668c6..1a75cb6 100644 --- a/itc-pcitc-mdm/itc-pcitc-mdm-service/src/main/java/com/xjrsoft/module/mdm/controller/CategoryController.java +++ b/itc-pcitc-mdm/itc-pcitc-mdm-service/src/main/java/com/xjrsoft/module/mdm/controller/CategoryController.java @@ -50,7 +50,7 @@ public class CategoryController { queryWrapper .like(StrUtil.isNotBlank(dto.getFullName()), LngBCategory::getFullName, dto.getFullName()) .eq(StrUtil.isNotBlank(dto.getValid()), LngBCategory::getValid, dto.getValid()) - .orderByDesc(LngBCategory::getCode) + .orderByAsc(LngBCategory::getSort).orderByDesc(LngBCategory::getCode) .select(LngBCategory.class,x -> VoToColumnUtil.fieldsToColumns(LngBCategoryPageVo.class) .contains(x.getProperty())); IPage page = categoryService.page(ConventPage.getPage(dto), queryWrapper); diff --git a/itc-pcitc-mdm/itc-pcitc-mdm-service/src/main/java/com/xjrsoft/module/sales/controller/GradeSystemController.java b/itc-pcitc-mdm/itc-pcitc-mdm-service/src/main/java/com/xjrsoft/module/sales/controller/GradeSystemController.java new file mode 100644 index 0000000..3266126 --- /dev/null +++ b/itc-pcitc-mdm/itc-pcitc-mdm-service/src/main/java/com/xjrsoft/module/sales/controller/GradeSystemController.java @@ -0,0 +1,121 @@ +package com.xjrsoft.module.sales.controller; + +import cn.dev33.satoken.annotation.SaCheckPermission; +import cn.hutool.core.bean.BeanUtil; +import cn.hutool.core.util.StrUtil; +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.LngGradeSystemPageDto; +import com.xjrsoft.module.sales.dto.UpdateLngGradeSystemDto; +import com.xjrsoft.module.sales.entity.LngGradeSystem; +import com.xjrsoft.module.sales.service.IGradeSystemService; +import com.xjrsoft.module.sales.vo.LngGradeSystemPageVo; +import com.xjrsoft.module.sales.vo.LngGradeSystemVo; +import io.swagger.annotations.Api; +import io.swagger.annotations.ApiOperation; +import lombok.AllArgsConstructor; +import org.springframework.web.bind.annotation.*; + +import javax.validation.Valid; +import java.util.List; + +/** +* @title: 评价体系 +* @Author 管理员 +* @Date: 2025-12-05 +* @Version 1.0 +*/ +@RestController +@RequestMapping("/sales" + "/gradeSystem") +@Api(value = "/sales" + "/gradeSystem",tags = "评价体系代码") +@AllArgsConstructor +public class GradeSystemController { + + + private final IGradeSystemService gradeSystemService; + private final DatalogService dataService; + + @GetMapping(value = "/page") + @ApiOperation(value="LngGradeSystem列表(分页)") + @SaCheckPermission("gradeSystem:list") + public R page(@Valid LngGradeSystemPageDto dto){ + + LambdaQueryWrapper queryWrapper = new LambdaQueryWrapper<>(); + queryWrapper + .like(StrUtil.isNotBlank(dto.getGsName()),LngGradeSystem::getGsName,dto.getGsName()) + .like(StrUtil.isNotBlank(dto.getTypeCode()),LngGradeSystem::getTypeCode,dto.getTypeCode()) + .like(StrUtil.isNotBlank(dto.getValid()),LngGradeSystem::getValid,dto.getValid()) + .orderByDesc(LngGradeSystem::getId) + .select(LngGradeSystem.class,x -> VoToColumnUtil.fieldsToColumns(LngGradeSystemPageVo.class).contains(x.getProperty())); + IPage page = gradeSystemService.page(ConventPage.getPage(dto), queryWrapper); + PageOutput pageOutput = ConventPage.getPageOutput(page, LngGradeSystemPageVo.class); + return R.ok(pageOutput); + } + + @GetMapping(value = "/info") + @ApiOperation(value="根据id查询LngGradeSystem信息") + @SaCheckPermission("gradeSystem:detail") + public R info(@RequestParam Long id){ + LngGradeSystem lngGradeSystem = gradeSystemService.getByIdDeep(id); + if (lngGradeSystem == null) { + return R.error("找不到此数据!"); + } + return R.ok(BeanUtil.toBean(lngGradeSystem, LngGradeSystemVo.class)); + } + + @GetMapping(value = "/datalog") + @ApiOperation(value="根据id查询LngGradeSystem数据详细日志") + @SaCheckPermission("gradeSystem:datalog") + public R datalog(@RequestParam Long id){ + List logs = dataService.findLogsByEntityId(UpdateLngGradeSystemDto.class,id); + return R.ok(logs); + } + + + @PostMapping + @ApiOperation(value = "新增LngGradeSystem") + @SaCheckPermission("gradeSystem:add") + public R add(@Valid @RequestBody UpdateLngGradeSystemDto dto){ + UpdateLngGradeSystemDto res = dataService.insert(dto); + return R.ok(res.getId()); + } + + @PutMapping + @ApiOperation(value = "修改LngGradeSystem") + @SaCheckPermission("gradeSystem:edit") + public R update(@Valid @RequestBody UpdateLngGradeSystemDto dto){ + return R.ok(dataService.updateById(dto)); + } + + @DeleteMapping + @ApiOperation(value = "删除") + @SaCheckPermission("gradeSystem:delete") + public R delete(@Valid @RequestBody List ids){ + return R.ok(dataService.deleteByIds(UpdateLngGradeSystemDto.class, ids)); + + } + + @PostMapping("/enable") + @ApiOperation(value = "启用LngGradeSystem") + @SaCheckPermission("gradeSystem:enable") + public R enable(@Valid @RequestBody List ids){ + return R.ok(dataService.enable(UpdateLngGradeSystemDto.class,ids)); + } + + + @PostMapping("/disable") + @ApiOperation(value = "禁用LngGradeSystem") + @SaCheckPermission("gradeSystem:disable") + public R disable(@Valid @RequestBody List ids){ + return R.ok(dataService.disable(UpdateLngGradeSystemDto.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/LngGradeSystem.java b/itc-pcitc-mdm/itc-pcitc-mdm-service/src/main/java/com/xjrsoft/module/sales/entity/LngGradeSystem.java new file mode 100644 index 0000000..9118d81 --- /dev/null +++ b/itc-pcitc-mdm/itc-pcitc-mdm-service/src/main/java/com/xjrsoft/module/sales/entity/LngGradeSystem.java @@ -0,0 +1,130 @@ +package com.xjrsoft.module.sales.entity; + +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; +import lombok.Data; + +import java.io.Serializable; +import java.time.LocalDateTime; +import java.util.List; + + +/** +* @title: 评价体系 +* @Author 管理员 +* @Date: 2025-12-05 +* @Version 1.0 +*/ +@Data +@TableName("lng_grade_system") +@ApiModel(value = "评价体系对象", description = "评价体系") +public class LngGradeSystem implements Serializable { + + private static final long serialVersionUID = 1L; + + /** + * 主键 + */ + @ApiModelProperty("主键") + @TableId + private Long id; + + /** + * 编码(可用于排序、分类) + */ + @ApiModelProperty("编码(可用于排序、分类)") + private String gsCode; + + /** + * 名称 + */ + @ApiModelProperty("名称") + private String gsName; + + /** + * 评价对象(供应商准入/供应商评级/客户评级/客户评价/承运商准入/承运商评级) + */ + @ApiModelProperty("评价对象(供应商准入/供应商评级/客户评级/客户评价/承运商准入/承运商评级)") + private String typeCode; + + /** + * 有效标志(Y-有效,N-无效) + */ + @ApiModelProperty("有效标志(Y-有效,N-无效)") + private String valid; + + /** + * 审批状态(未审批/审批中/已审批/已驳回) + */ + @ApiModelProperty("审批状态(未审批/审批中/已审批/已驳回)") + private String approCode; + + /** + * 备注 + */ + @ApiModelProperty("备注") + private String note; + + /** + * 创建人id + */ + @ApiModelProperty("创建人id") + @TableField(fill = FieldFill.INSERT) + private Long createUserId; + + /** + * 创建时间 + */ + @ApiModelProperty("创建时间") + @TableField(fill = FieldFill.INSERT) + private LocalDateTime createDate; + + /** + * 修改人id + */ + @ApiModelProperty("修改人id") + @TableField(fill = FieldFill.UPDATE) + private Long modifyUserId; + + /** + * 修改时间 + */ + @ApiModelProperty("修改时间") + @TableField(fill = FieldFill.UPDATE) + private LocalDateTime modifyDate; + + /** + * 租户id + */ + @ApiModelProperty("租户id") + private Long tenantId; + + /** + * 部门id + */ + @ApiModelProperty("部门id") + @TableField(fill = FieldFill.INSERT) + private Long deptId; + + /** + * 数据权限id + */ + @ApiModelProperty("数据权限id") + @TableField(fill = FieldFill.INSERT) + private Long ruleUserId; + + + /** + * lngGradeSystemItem + */ + @ApiModelProperty("lngGradeSystemItem子表") + @TableField(exist = false) + @EntityMapping(thisField = "id", joinField = "gsId") + private List lngGradeSystemItemList; + +} \ No newline at end of file diff --git a/itc-pcitc-mdm/itc-pcitc-mdm-service/src/main/java/com/xjrsoft/module/sales/entity/LngGradeSystemItem.java b/itc-pcitc-mdm/itc-pcitc-mdm-service/src/main/java/com/xjrsoft/module/sales/entity/LngGradeSystemItem.java new file mode 100644 index 0000000..5aabbb2 --- /dev/null +++ b/itc-pcitc-mdm/itc-pcitc-mdm-service/src/main/java/com/xjrsoft/module/sales/entity/LngGradeSystemItem.java @@ -0,0 +1,121 @@ +package com.xjrsoft.module.sales.entity; + +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; + +import java.io.Serializable; +import java.time.LocalDateTime; + + +/** +* @title: 评价体系 +* @Author 管理员 +* @Date: 2025-12-05 +* @Version 1.0 +*/ +@Data +@TableName("lng_grade_system_item") +@ApiModel(value = "评价体系对象", description = "评价体系") +public class LngGradeSystemItem implements Serializable { + + private static final long serialVersionUID = 1L; + + /** + * 主键 + */ + @ApiModelProperty("主键") + @TableId + private Long id; + + /** + * 评价体系主键 + */ + @ApiModelProperty("评价体系主键") + private Long gsId; + + /** + * 评分事项 + */ + @ApiModelProperty("评分事项") + private String itemName; + + /** + * 评分标准 + */ + @ApiModelProperty("评分标准") + private String itemDesc; + + /** + * 评价部门编码 + */ + @ApiModelProperty("评价部门编码") + private String eDeptCode; + + /** + * 显示顺序 + */ + @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/LngGradeSystemItemMapper.java b/itc-pcitc-mdm/itc-pcitc-mdm-service/src/main/java/com/xjrsoft/module/sales/mapper/LngGradeSystemItemMapper.java new file mode 100644 index 0000000..99a3b13 --- /dev/null +++ b/itc-pcitc-mdm/itc-pcitc-mdm-service/src/main/java/com/xjrsoft/module/sales/mapper/LngGradeSystemItemMapper.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.LngGradeSystemItem; +import org.apache.ibatis.annotations.Mapper; + +/** +* @title: mapper +* @Author 管理员 +* @Date: 2025-12-05 +* @Version 1.0 +*/ +@Mapper +public interface LngGradeSystemItemMapper extends MPJBaseMapper, BaseMapper { + +} diff --git a/itc-pcitc-mdm/itc-pcitc-mdm-service/src/main/java/com/xjrsoft/module/sales/mapper/LngGradeSystemMapper.java b/itc-pcitc-mdm/itc-pcitc-mdm-service/src/main/java/com/xjrsoft/module/sales/mapper/LngGradeSystemMapper.java new file mode 100644 index 0000000..f780d9a --- /dev/null +++ b/itc-pcitc-mdm/itc-pcitc-mdm-service/src/main/java/com/xjrsoft/module/sales/mapper/LngGradeSystemMapper.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.LngGradeSystem; +import org.apache.ibatis.annotations.Mapper; + +/** +* @title: mapper +* @Author 管理员 +* @Date: 2025-12-05 +* @Version 1.0 +*/ +@Mapper +public interface LngGradeSystemMapper extends MPJBaseMapper, BaseMapper { + +} diff --git a/itc-pcitc-mdm/itc-pcitc-mdm-service/src/main/java/com/xjrsoft/module/sales/service/IGradeSystemService.java b/itc-pcitc-mdm/itc-pcitc-mdm-service/src/main/java/com/xjrsoft/module/sales/service/IGradeSystemService.java new file mode 100644 index 0000000..82c24f4 --- /dev/null +++ b/itc-pcitc-mdm/itc-pcitc-mdm-service/src/main/java/com/xjrsoft/module/sales/service/IGradeSystemService.java @@ -0,0 +1,41 @@ +package com.xjrsoft.module.sales.service; + +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.LngGradeSystem; + +import java.util.List; + +/** +* @title: service +* @Author 管理员 +* @Date: 2025-12-05 +* @Version 1.0 +*/ + +public interface IGradeSystemService extends MPJBaseService, MPJDeepService, MPJRelationService { + /** + * 新增 + * + * @param lngGradeSystem + * @return + */ + Boolean add(LngGradeSystem lngGradeSystem); + + /** + * 更新 + * + * @param lngGradeSystem + * @return + */ + Boolean update(LngGradeSystem lngGradeSystem); + + /** + * 删除 + * + * @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/GradeSystemServiceImpl.java b/itc-pcitc-mdm/itc-pcitc-mdm-service/src/main/java/com/xjrsoft/module/sales/service/impl/GradeSystemServiceImpl.java new file mode 100644 index 0000000..191e96d --- /dev/null +++ b/itc-pcitc-mdm/itc-pcitc-mdm-service/src/main/java/com/xjrsoft/module/sales/service/impl/GradeSystemServiceImpl.java @@ -0,0 +1,88 @@ +package com.xjrsoft.module.sales.service.impl; + +import com.baomidou.mybatisplus.core.toolkit.Wrappers; +import com.github.yulichang.base.MPJBaseServiceImpl; +import com.xjrsoft.module.sales.entity.LngGradeSystem; +import com.xjrsoft.module.sales.entity.LngGradeSystemItem; +import com.xjrsoft.module.sales.mapper.LngGradeSystemItemMapper; +import com.xjrsoft.module.sales.mapper.LngGradeSystemMapper; +import com.xjrsoft.module.sales.service.IGradeSystemService; +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; + +/** +* @title: service +* @Author 管理员 +* @Date: 2025-12-05 +* @Version 1.0 +*/ +@Service +@AllArgsConstructor +public class GradeSystemServiceImpl extends MPJBaseServiceImpl implements IGradeSystemService { + private final LngGradeSystemMapper gradeSystemLngGradeSystemMapper; + + private final LngGradeSystemItemMapper gradeSystemLngGradeSystemItemMapper; + + + @Override + @Transactional(rollbackFor = Exception.class) + public Boolean add(LngGradeSystem lngGradeSystem) { + gradeSystemLngGradeSystemMapper.insert(lngGradeSystem); + for (LngGradeSystemItem lngGradeSystemItem : lngGradeSystem.getLngGradeSystemItemList()) { + lngGradeSystemItem.setGsId(lngGradeSystem.getId()); + gradeSystemLngGradeSystemItemMapper.insert(lngGradeSystemItem); + } + + return true; + } + + @Override + @Transactional(rollbackFor = Exception.class) + public Boolean update(LngGradeSystem lngGradeSystem) { + gradeSystemLngGradeSystemMapper.updateById(lngGradeSystem); + //********************************* LngGradeSystemItem 增删改 开始 *******************************************/ + { + // 查出所有子级的id + List lngGradeSystemItemList = gradeSystemLngGradeSystemItemMapper.selectList(Wrappers.lambdaQuery(LngGradeSystemItem.class).eq(LngGradeSystemItem::getGsId, lngGradeSystem.getId()).select(LngGradeSystemItem::getId)); + List lngGradeSystemItemIds = lngGradeSystemItemList.stream().map(LngGradeSystemItem::getId).collect(Collectors.toList()); + //原有子表单 没有被删除的主键 + List lngGradeSystemItemOldIds = lngGradeSystem.getLngGradeSystemItemList().stream().map(LngGradeSystemItem::getId).filter(Objects::nonNull).collect(Collectors.toList()); + //找到需要删除的id + List lngGradeSystemItemRemoveIds = lngGradeSystemItemIds.stream().filter(item -> !lngGradeSystemItemOldIds.contains(item)).collect(Collectors.toList()); + + for (LngGradeSystemItem lngGradeSystemItem : lngGradeSystem.getLngGradeSystemItemList()) { + //如果不等于空则修改 + if (lngGradeSystemItem.getId() != null) { + gradeSystemLngGradeSystemItemMapper.updateById(lngGradeSystemItem); + } + //如果等于空 则新增 + else { + //已经不存在的id 删除 + lngGradeSystemItem.setGsId(lngGradeSystem.getId()); + gradeSystemLngGradeSystemItemMapper.insert(lngGradeSystemItem); + } + } + //已经不存在的id 删除 + if(lngGradeSystemItemRemoveIds.size() > 0){ + gradeSystemLngGradeSystemItemMapper.deleteBatchIds(lngGradeSystemItemRemoveIds); + } + } + //********************************* LngGradeSystemItem 增删改 结束 *******************************************/ + + return true; + } + + @Override + @Transactional(rollbackFor = Exception.class) + public Boolean delete(List ids) { + gradeSystemLngGradeSystemMapper.deleteBatchIds(ids); + gradeSystemLngGradeSystemItemMapper.delete(Wrappers.lambdaQuery(LngGradeSystemItem.class).in(LngGradeSystemItem::getGsId, ids)); + + return true; + } +}