diff --git a/pusong-common/pusong-common-core/src/main/java/com/pusong/common/core/service/PostService.java b/pusong-common/pusong-common-core/src/main/java/com/pusong/common/core/service/PostService.java new file mode 100644 index 0000000..3eaffa9 --- /dev/null +++ b/pusong-common/pusong-common-core/src/main/java/com/pusong/common/core/service/PostService.java @@ -0,0 +1,18 @@ +package com.pusong.common.core.service; + +/** + * 通用 岗位服务 + * + * @author Lion Li + */ +public interface PostService { + + /** + * 通过岗位ID查询岗位名称 + * + * @param deptIds 岗位ID串逗号分隔 + * @return 岗位名称串逗号分隔 + */ + String selectPostNameByIds(String deptIds); + +} diff --git a/pusong-common/pusong-common-translation/src/main/java/com/pusong/common/translation/constant/TransConstant.java b/pusong-common/pusong-common-translation/src/main/java/com/pusong/common/translation/constant/TransConstant.java index fe8f0be..ce3cfb4 100644 --- a/pusong-common/pusong-common-translation/src/main/java/com/pusong/common/translation/constant/TransConstant.java +++ b/pusong-common/pusong-common-translation/src/main/java/com/pusong/common/translation/constant/TransConstant.java @@ -21,6 +21,10 @@ public interface TransConstant { * 部门id转名称 */ String DEPT_ID_TO_NAME = "dept_id_to_name"; + /** + * 岗位id转名称 + */ + String POST_ID_TO_NAME = "post_id_to_name"; /** * 字典type转label diff --git a/pusong-common/pusong-common-translation/src/main/java/com/pusong/common/translation/core/impl/PostNameTranslationImpl.java b/pusong-common/pusong-common-translation/src/main/java/com/pusong/common/translation/core/impl/PostNameTranslationImpl.java new file mode 100644 index 0000000..e6e4e94 --- /dev/null +++ b/pusong-common/pusong-common-translation/src/main/java/com/pusong/common/translation/core/impl/PostNameTranslationImpl.java @@ -0,0 +1,29 @@ +package com.pusong.common.translation.core.impl; + +import com.pusong.common.core.service.DeptService; +import com.pusong.common.translation.annotation.TranslationType; +import com.pusong.common.translation.constant.TransConstant; +import com.pusong.common.translation.core.TranslationInterface; +import lombok.AllArgsConstructor; + +/** + * 岗位翻译实现 + * + * @author Lion Li + */ +@AllArgsConstructor +@TranslationType(type = TransConstant.POST_ID_TO_NAME) +public class PostNameTranslationImpl implements TranslationInterface { + + private final DeptService deptService; + + @Override + public String translation(Object key, String other) { + if (key instanceof String ids) { + return deptService.selectDeptNameByIds(ids); + } else if (key instanceof Long id) { + return deptService.selectDeptNameByIds(id.toString()); + } + return null; + } +} diff --git a/pusong-modules/pusong-business/src/main/java/com/pusong/business/controller/PsSalaryConfigController.java b/pusong-modules/pusong-business/src/main/java/com/pusong/business/controller/PsSalaryConfigController.java new file mode 100644 index 0000000..4b7fdd8 --- /dev/null +++ b/pusong-modules/pusong-business/src/main/java/com/pusong/business/controller/PsSalaryConfigController.java @@ -0,0 +1,118 @@ +package com.pusong.business.controller; + +import java.util.List; + +import com.pusong.business.domain.vo.PsSalaryConfigInfoVo; +import lombok.RequiredArgsConstructor; +import jakarta.servlet.http.HttpServletResponse; +import jakarta.validation.constraints.*; +import cn.dev33.satoken.annotation.SaCheckPermission; +import org.springframework.web.bind.annotation.*; +import org.springframework.validation.annotation.Validated; +import com.pusong.common.idempotent.annotation.RepeatSubmit; +import com.pusong.common.log.annotation.Log; +import com.pusong.common.web.core.BaseController; +import com.pusong.common.mybatis.core.page.PageQuery; +import com.pusong.common.core.domain.R; +import com.pusong.common.core.validate.AddGroup; +import com.pusong.common.core.validate.EditGroup; +import com.pusong.common.log.enums.BusinessType; +import com.pusong.common.excel.utils.ExcelUtil; +import com.pusong.business.domain.vo.PsSalaryConfigVo; +import com.pusong.business.domain.bo.PsSalaryConfigBo; +import com.pusong.business.service.IPsSalaryConfigService; +import com.pusong.common.mybatis.core.page.TableDataInfo; + +/** + * 提成配置 + * + * @author Lion Li + * @date 2024-08-22 + */ +@Validated +@RequiredArgsConstructor +@RestController +@RequestMapping("/business/salaryConfig") +public class PsSalaryConfigController extends BaseController { + + private final IPsSalaryConfigService psSalaryConfigService; + + /** + * 查询提成配置列表 + */ + @SaCheckPermission("business:salaryConfig:list") + @GetMapping("/list") + public TableDataInfo list(PsSalaryConfigBo bo, PageQuery pageQuery) { + return psSalaryConfigService.queryPageList(bo, pageQuery); + } + + /** + * 根据模板编码查询配置详情 + */ + @Log(title = "根据模板编码查询配置详情") + @SaCheckPermission("business:salaryConfig:info") + @GetMapping("/info") + public R info(String templateCode) { + return R.ok(psSalaryConfigService.queryByTemplateCode(templateCode)); + } + + + +// /** +// * 导出提成配置列表 +// */ +// @SaCheckPermission("business:salaryConfig:export") +// @Log(title = "提成配置", businessType = BusinessType.EXPORT) +// @PostMapping("/export") +// public void export(PsSalaryConfigBo bo, HttpServletResponse response) { +// List list = psSalaryConfigService.queryList(bo); +// ExcelUtil.exportExcel(list, "提成配置", PsSalaryConfigVo.class, response); +// } +// +// /** +// * 获取提成配置详细信息 +// * +// * @param id 主键 +// */ +// @SaCheckPermission("business:salaryConfig:query") +// @GetMapping("/{id}") +// public R getInfo(@NotNull(message = "主键不能为空") +// @PathVariable Long id) { +// return R.ok(psSalaryConfigService.queryById(id)); +// } +// +// /** +// * 新增提成配置 +// */ +// @SaCheckPermission("business:salaryConfig:add") +// @Log(title = "提成配置", businessType = BusinessType.INSERT) +// @RepeatSubmit() +// @PostMapping() +// public R add(@Validated(AddGroup.class) @RequestBody PsSalaryConfigBo bo) { +// return toAjax(psSalaryConfigService.insertByBo(bo)); +// } +// +// /** +// * 修改提成配置 +// */ +// @SaCheckPermission("business:salaryConfig:edit") +// @Log(title = "提成配置", businessType = BusinessType.UPDATE) +// @RepeatSubmit() +// @PutMapping() +// public R edit(@Validated(EditGroup.class) @RequestBody PsSalaryConfigBo bo) { +// return toAjax(psSalaryConfigService.updateByBo(bo)); +// } +// +// /** +// * 删除提成配置 +// * +// * @param ids 主键串 +// */ +// @SaCheckPermission("business:salaryConfig:remove") +// @Log(title = "提成配置", businessType = BusinessType.DELETE) +// @DeleteMapping("/{ids}") +// public R remove(@NotEmpty(message = "主键不能为空") +// @PathVariable Long[] ids) { +// return toAjax(psSalaryConfigService.deleteWithValidByIds(List.of(ids), true)); +// } +} diff --git a/pusong-modules/pusong-business/src/main/java/com/pusong/business/domain/PsSalaryConfig.java b/pusong-modules/pusong-business/src/main/java/com/pusong/business/domain/PsSalaryConfig.java new file mode 100644 index 0000000..b056143 --- /dev/null +++ b/pusong-modules/pusong-business/src/main/java/com/pusong/business/domain/PsSalaryConfig.java @@ -0,0 +1,60 @@ +package com.pusong.business.domain; + +import com.pusong.common.tenant.core.TenantEntity; +import com.baomidou.mybatisplus.annotation.*; +import lombok.Data; +import lombok.EqualsAndHashCode; +import java.math.BigDecimal; + +import java.io.Serial; + +/** + * 提成配置对象 ps_salary_config + * + * @author Lion Li + * @date 2024-08-22 + */ +@Data +@EqualsAndHashCode(callSuper = true) +@TableName("ps_salary_config") +public class PsSalaryConfig extends TenantEntity { + + @Serial + private static final long serialVersionUID = 1L; + + /** + * 主键id + */ + @TableId(value = "id") + private Long id; + + /** + * 岗位id + */ + private Long postId; + + /** + * 服务项目编码 + */ + private String serviceProject; + + /** + * 提成比例 + */ + private BigDecimal salaryRatio; + + /** + * 2逻辑删除 0 默认有效 + */ + @TableLogic + private Long delFlag; + /** + * 模板编码 + */ + private String templateCode; + /** + * 模板名称 + */ + private String templateName; + +} diff --git a/pusong-modules/pusong-business/src/main/java/com/pusong/business/domain/bo/PsSalaryConfigBo.java b/pusong-modules/pusong-business/src/main/java/com/pusong/business/domain/bo/PsSalaryConfigBo.java new file mode 100644 index 0000000..d809736 --- /dev/null +++ b/pusong-modules/pusong-business/src/main/java/com/pusong/business/domain/bo/PsSalaryConfigBo.java @@ -0,0 +1,54 @@ +package com.pusong.business.domain.bo; + +import com.pusong.business.domain.PsSalaryConfig; +import com.pusong.common.core.validate.AddGroup; +import com.pusong.common.core.validate.EditGroup; +import com.pusong.common.mybatis.core.domain.BaseEntity; +import com.pusong.common.translation.annotation.Translation; +import com.pusong.common.translation.constant.TransConstant; +import io.github.linpeilie.annotations.AutoMapper; +import lombok.Data; +import lombok.EqualsAndHashCode; +import jakarta.validation.constraints.*; +import java.math.BigDecimal; + +/** + * 提成配置业务对象 ps_salary_config + * + * @author Lion Li + * @date 2024-08-22 + */ +@Data +@EqualsAndHashCode +@AutoMapper(target = PsSalaryConfig.class) +public class PsSalaryConfigBo { + + /** + * 模板编码 + */ + @NotNull(message = "模板编码不能为空", groups = { EditGroup.class }) + private String templateCode; + /** + * 岗位id + */ + @NotNull(message = "岗位id不能为空", groups = { AddGroup.class, EditGroup.class }) + private Long postId; + + /** + * 服务项目编码 + */ + @NotBlank(message = "服务项目编码不能为空", groups = { AddGroup.class, EditGroup.class }) + private String serviceProject; + + /** + * 提成比例 + */ + @NotNull(message = "提成比例不能为空", groups = { AddGroup.class, EditGroup.class }) + private BigDecimal salaryRatio; + + /** + * 模板名称 + */ + private String templateName; + +} diff --git a/pusong-modules/pusong-business/src/main/java/com/pusong/business/domain/vo/PsSalaryConfigInfoVo.java b/pusong-modules/pusong-business/src/main/java/com/pusong/business/domain/vo/PsSalaryConfigInfoVo.java new file mode 100644 index 0000000..0599934 --- /dev/null +++ b/pusong-modules/pusong-business/src/main/java/com/pusong/business/domain/vo/PsSalaryConfigInfoVo.java @@ -0,0 +1,61 @@ +package com.pusong.business.domain.vo; + +import com.alibaba.excel.annotation.ExcelIgnoreUnannotated; +import com.fasterxml.jackson.annotation.JsonFormat; +import com.pusong.business.domain.PsSalaryConfig; +import com.pusong.common.translation.annotation.Translation; +import com.pusong.common.translation.constant.TransConstant; +import io.github.linpeilie.annotations.AutoMapper; +import lombok.Data; + +import java.io.Serial; +import java.io.Serializable; +import java.math.BigDecimal; +import java.util.Date; +import java.util.List; +import java.util.Map; + + +/** + * 提成配置视图对象 ps_salary_config + * + * @author Lion Li + * @date 2024-08-22 + */ +@Data +@ExcelIgnoreUnannotated +@AutoMapper(target = PsSalaryConfig.class) +public class PsSalaryConfigInfoVo implements Serializable { + + @Serial + private static final long serialVersionUID = 1L; + + + /** + * 岗位id(多个用逗号分割) + */ + private String postId; + /** + * 岗位名称(多个用逗号分割) + */ + @Translation(type = TransConstant.POST_ID_TO_NAME,mapper = "postId") + private String postName; + + /** + * 服务类型id(多个用逗号分割) + */ + private String serviceTypeId; + /** + * 模板编码 + */ + private String templateCode; + /** + * 模板名称 + */ + private String templateName; + + /** + * 服务类型Map + */ + private Map> serviceTypeMap; +} diff --git a/pusong-modules/pusong-business/src/main/java/com/pusong/business/domain/vo/PsSalaryConfigVo.java b/pusong-modules/pusong-business/src/main/java/com/pusong/business/domain/vo/PsSalaryConfigVo.java new file mode 100644 index 0000000..9206349 --- /dev/null +++ b/pusong-modules/pusong-business/src/main/java/com/pusong/business/domain/vo/PsSalaryConfigVo.java @@ -0,0 +1,72 @@ +package com.pusong.business.domain.vo; + +import java.math.BigDecimal; + +import com.fasterxml.jackson.annotation.JsonFormat; +import com.pusong.business.domain.PsSalaryConfig; +import com.alibaba.excel.annotation.ExcelIgnoreUnannotated; +import com.alibaba.excel.annotation.ExcelProperty; +import com.pusong.common.excel.annotation.ExcelDictFormat; +import com.pusong.common.excel.convert.ExcelDictConvert; +import com.pusong.common.translation.annotation.Translation; +import com.pusong.common.translation.constant.TransConstant; +import io.github.linpeilie.annotations.AutoMapper; +import lombok.Data; + +import java.io.Serial; +import java.io.Serializable; +import java.util.Date; + + + +/** + * 提成配置视图对象 ps_salary_config + * + * @author Lion Li + * @date 2024-08-22 + */ +@Data +@ExcelIgnoreUnannotated +@AutoMapper(target = PsSalaryConfig.class) +public class PsSalaryConfigVo implements Serializable { + + @Serial + private static final long serialVersionUID = 1L; + + + /** + * 岗位id + */ + @Translation(type = TransConstant.POST_ID_TO_NAME) + private Long postId; + + /** + * 服务项目编码 + */ + @Translation(type = TransConstant.DICT_TYPE_TO_LABEL,other = "service_project") + private String serviceProject; + + /** + * 提成比例 + */ + private BigDecimal salaryRatio; + /** + * 模板编码 + */ + private String templateCode; + /** + * 模板名称 + */ + private String templateName; + /** + * 创建时间 + */ + @JsonFormat(pattern = "yyyy-MM-dd HH:mm") + private Date createTime ; + + /** + * 创建人 + */ + @Translation(type = TransConstant.USER_ID_TO_NICKNAME) + private Long createBy ; +} diff --git a/pusong-modules/pusong-business/src/main/java/com/pusong/business/domain/vo/TaskPlanVo.java b/pusong-modules/pusong-business/src/main/java/com/pusong/business/domain/vo/TaskPlanVo.java new file mode 100644 index 0000000..df3a343 --- /dev/null +++ b/pusong-modules/pusong-business/src/main/java/com/pusong/business/domain/vo/TaskPlanVo.java @@ -0,0 +1,51 @@ +package com.pusong.business.domain.vo; + +import com.alibaba.excel.annotation.ExcelIgnoreUnannotated; +import com.pusong.business.domain.PsContractInfo; +import com.pusong.common.translation.annotation.Translation; +import com.pusong.common.translation.constant.TransConstant; +import io.github.linpeilie.annotations.AutoMapper; +import lombok.Data; + +import java.util.Map; + +/** + * 任务进度Vo + */ +@Data +@ExcelIgnoreUnannotated +public class TaskPlanVo { + /** + * 任务状态 + */ + private String state; + + /** + * 内勤执行者 + */ + @Translation(type = TransConstant.USER_ID_TO_NICKNAME) + private Long inExector; + /** + * 外勤执行者 + */ + @Translation(type = TransConstant.USER_ID_TO_NICKNAME) + private Long outExector; + /** + * 特勤执行者 + */ + @Translation(type = TransConstant.USER_ID_TO_NICKNAME) + private Long secExector; + /** + * 内勤任务状态 + */ + private String inState; + /** + * 外勤任务状态 + */ + private String outState; + /** + * 特勤任务状态 + */ + private String secState; + +} diff --git a/pusong-modules/pusong-business/src/main/java/com/pusong/business/mapper/PsSalaryConfigMapper.java b/pusong-modules/pusong-business/src/main/java/com/pusong/business/mapper/PsSalaryConfigMapper.java new file mode 100644 index 0000000..34e6890 --- /dev/null +++ b/pusong-modules/pusong-business/src/main/java/com/pusong/business/mapper/PsSalaryConfigMapper.java @@ -0,0 +1,15 @@ +package com.pusong.business.mapper; + +import com.pusong.business.domain.PsSalaryConfig; +import com.pusong.business.domain.vo.PsSalaryConfigVo; +import com.pusong.common.mybatis.core.mapper.BaseMapperPlus; + +/** + * 提成配置Mapper接口 + * + * @author Lion Li + * @date 2024-08-22 + */ +public interface PsSalaryConfigMapper extends BaseMapperPlus { + +} diff --git a/pusong-modules/pusong-business/src/main/java/com/pusong/business/service/IPsSalaryConfigService.java b/pusong-modules/pusong-business/src/main/java/com/pusong/business/service/IPsSalaryConfigService.java new file mode 100644 index 0000000..ef9ef0e --- /dev/null +++ b/pusong-modules/pusong-business/src/main/java/com/pusong/business/service/IPsSalaryConfigService.java @@ -0,0 +1,77 @@ +package com.pusong.business.service; + +import com.pusong.business.domain.vo.PsSalaryConfigInfoVo; +import com.pusong.business.domain.vo.PsSalaryConfigVo; +import com.pusong.business.domain.bo.PsSalaryConfigBo; +import com.pusong.common.mybatis.core.page.TableDataInfo; +import com.pusong.common.mybatis.core.page.PageQuery; + +import java.util.Collection; +import java.util.List; + +/** + * 提成配置Service接口 + * + * @author Lion Li + * @date 2024-08-22 + */ +public interface IPsSalaryConfigService { + + + + /** + * 分页查询提成配置列表 + * + * @param bo 查询条件 + * @param pageQuery 分页参数 + * @return 提成配置分页列表 + */ + TableDataInfo queryPageList(PsSalaryConfigBo bo, PageQuery pageQuery); + + /** + * 查询提成配置详情 + * + * @param templateCode 模板编码 + * @return PsSalaryConfigVo + */ + PsSalaryConfigInfoVo queryByTemplateCode(String templateCode); +// /** +// * 查询提成配置 +// * +// * @param id 主键 +// * @return 提成配置 +// */ +// PsSalaryConfigVo queryById(Long id); +// /** +// * 查询符合条件的提成配置列表 +// * +// * @param bo 查询条件 +// * @return 提成配置列表 +// */ +// List queryList(PsSalaryConfigBo bo); +// +// /** +// * 新增提成配置 +// * +// * @param bo 提成配置 +// * @return 是否新增成功 +// */ +// Boolean insertByBo(PsSalaryConfigBo bo); +// +// /** +// * 修改提成配置 +// * +// * @param bo 提成配置 +// * @return 是否修改成功 +// */ +// Boolean updateByBo(PsSalaryConfigBo bo); +// +// /** +// * 校验并批量删除提成配置信息 +// * +// * @param ids 待删除的主键集合 +// * @param isValid 是否进行有效性校验 +// * @return 是否删除成功 +// */ +// Boolean deleteWithValidByIds(Collection ids, Boolean isValid); +} diff --git a/pusong-modules/pusong-business/src/main/java/com/pusong/business/service/approver/impl/PayContractApproverServiceImpl.java b/pusong-modules/pusong-business/src/main/java/com/pusong/business/service/approver/impl/PayContractApproverServiceImpl.java index 481ef61..beda8b1 100644 --- a/pusong-modules/pusong-business/src/main/java/com/pusong/business/service/approver/impl/PayContractApproverServiceImpl.java +++ b/pusong-modules/pusong-business/src/main/java/com/pusong/business/service/approver/impl/PayContractApproverServiceImpl.java @@ -58,6 +58,7 @@ public class PayContractApproverServiceImpl extends ApproverAbstractServiceImpl List list = payService.queryListByContractCode(info.getContractCode(), PayBuinessStatusEnum.PAY.getCode(), PayStatusEnum.SUCCESS); //如果没有过回款记录初始化任务主表,并修改合同状态 + log.info("查询回款记录数量{}任务状态{}", list.size(),info.getContractStatus()); if(CollectionUtils.isEmpty(list) && StringUtils.equals(ContractStatusEnum.CREATE.getCode(),info.getContractStatus())){ log.info("合同未回款过,初始化任务主表"); PsTaskMain psTaskMain = new PsTaskMain(); diff --git a/pusong-modules/pusong-business/src/main/java/com/pusong/business/service/impl/PsSalaryConfigServiceImpl.java b/pusong-modules/pusong-business/src/main/java/com/pusong/business/service/impl/PsSalaryConfigServiceImpl.java new file mode 100644 index 0000000..3b1a5bf --- /dev/null +++ b/pusong-modules/pusong-business/src/main/java/com/pusong/business/service/impl/PsSalaryConfigServiceImpl.java @@ -0,0 +1,157 @@ +package com.pusong.business.service.impl; + +import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; +import com.baomidou.mybatisplus.core.toolkit.CollectionUtils; +import com.pusong.business.domain.vo.PsSalaryConfigInfoVo; +import com.pusong.common.core.utils.MapstructUtils; +import com.pusong.common.mybatis.core.page.TableDataInfo; +import com.pusong.common.mybatis.core.page.PageQuery; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; +import com.baomidou.mybatisplus.core.toolkit.Wrappers; +import lombok.RequiredArgsConstructor; +import org.apache.commons.lang3.StringUtils; +import org.springframework.stereotype.Service; +import com.pusong.business.domain.bo.PsSalaryConfigBo; +import com.pusong.business.domain.vo.PsSalaryConfigVo; +import com.pusong.business.domain.PsSalaryConfig; +import com.pusong.business.mapper.PsSalaryConfigMapper; +import com.pusong.business.service.IPsSalaryConfigService; + +import java.util.HashMap; +import java.util.List; +import java.util.Map; +import java.util.Collection; + +/** + * 提成配置Service业务层处理 + * + * @author Lion Li + * @date 2024-08-22 + */ +@RequiredArgsConstructor +@Service +public class PsSalaryConfigServiceImpl implements IPsSalaryConfigService { + + private final PsSalaryConfigMapper baseMapper; + + + + /** + * 分页查询提成配置列表 + * + * @param bo 查询条件 + * @param pageQuery 分页参数 + * @return 提成配置分页列表 + */ + @Override + public TableDataInfo queryPageList(PsSalaryConfigBo bo, PageQuery pageQuery) { + QueryWrapper lqw = buildQueryWrapper(bo); + Page result = baseMapper.selectVoPage(pageQuery.build(), lqw); + if (CollectionUtils.isEmpty(result.getRecords())) {return TableDataInfo.build(result);} + return TableDataInfo.build(result); + } + private QueryWrapper buildQueryWrapper(PsSalaryConfigBo bo) { + QueryWrapper lqw = Wrappers.query(); + lqw.select("template_code","max(template_name) template_name","GROUP_CONCAT(DISTINCT service_project SEPARATOR ',') service_project" + ,"GROUP_CONCAT(DISTINCT post_id SEPARATOR ',') post_id","max(create_by) create_by","max(create_time) create_time"); + lqw.like(StringUtils.isNotBlank(bo.getTemplateName()),"template_name", bo.getTemplateName()); + lqw.eq(StringUtils.isNotBlank(bo.getTemplateCode()),"template_code", bo.getTemplateCode()); + lqw.groupBy(bo.getTemplateCode()); + return lqw; + } + /** + * 查询提成配置详情 + * + * @param templateCode 模板编码 + * @return PsSalaryConfigVo + */ + public PsSalaryConfigInfoVo queryByTemplateCode(String templateCode){ + List list = baseMapper.selectList(Wrappers.lambdaQuery().eq(PsSalaryConfig::getTemplateCode, templateCode).eq(PsSalaryConfig::getDelFlag, 0)); + PsSalaryConfigInfoVo vo = new PsSalaryConfigInfoVo(); + Map> map = new HashMap<>(); + list.forEach(item->{ +// if(vo.setServiceTypeId()); + +// item.getServiceProject() + +// vo.setPostId(); + }); + vo.setTemplateCode(templateCode); + vo.setTemplateName(list.get(0).getTemplateName()); + + return vo; + } +// /** +// * 查询提成配置 +// * +// * @param id 主键 +// * @return 提成配置 +// */ +// @Override +// public PsSalaryConfigVo queryById(Long id){ +// return baseMapper.selectVoById(id); +// } +// /** +// * 查询符合条件的提成配置列表 +// * +// * @param bo 查询条件 +// * @return 提成配置列表 +// */ +// @Override +// public List queryList(PsSalaryConfigBo bo) { +// QueryWrapper lqw = buildQueryWrapper(bo); +// return baseMapper.selectVoList(lqw); +// } +// +// +// +// /** +// * 新增提成配置 +// * +// * @param bo 提成配置 +// * @return 是否新增成功 +// */ +// @Override +// public Boolean insertByBo(PsSalaryConfigBo bo) { +// PsSalaryConfig add = MapstructUtils.convert(bo, PsSalaryConfig.class); +// validEntityBeforeSave(add); +// boolean flag = baseMapper.insert(add) > 0; +// return flag; +// } +// +// /** +// * 修改提成配置 +// * +// * @param bo 提成配置 +// * @return 是否修改成功 +// */ +// @Override +// public Boolean updateByBo(PsSalaryConfigBo bo) { +// PsSalaryConfig update = MapstructUtils.convert(bo, PsSalaryConfig.class); +// validEntityBeforeSave(update); +// return baseMapper.updateById(update) > 0; +// } +// +// /** +// * 保存前的数据校验 +// */ +// private void validEntityBeforeSave(PsSalaryConfig entity){ +// //TODO 做一些数据校验,如唯一约束 +// } +// +// /** +// * 校验并批量删除提成配置信息 +// * +// * @param ids 待删除的主键集合 +// * @param isValid 是否进行有效性校验 +// * @return 是否删除成功 +// */ +// @Override +// public Boolean deleteWithValidByIds(Collection ids, Boolean isValid) { +// if(isValid){ +// //TODO 做一些业务上的校验,判断是否需要校验 +// } +// return baseMapper.deleteBatchIds(ids) > 0; +// } +} diff --git a/pusong-modules/pusong-business/src/main/resources/mapper/business/PsSalaryConfigMapper.xml b/pusong-modules/pusong-business/src/main/resources/mapper/business/PsSalaryConfigMapper.xml new file mode 100644 index 0000000..9044133 --- /dev/null +++ b/pusong-modules/pusong-business/src/main/resources/mapper/business/PsSalaryConfigMapper.xml @@ -0,0 +1,7 @@ + + + + + diff --git a/pusong-modules/pusong-system/src/main/java/com/pusong/system/service/impl/SysPostServiceImpl.java b/pusong-modules/pusong-system/src/main/java/com/pusong/system/service/impl/SysPostServiceImpl.java index dcabf2f..b5687db 100644 --- a/pusong-modules/pusong-system/src/main/java/com/pusong/system/service/impl/SysPostServiceImpl.java +++ b/pusong-modules/pusong-system/src/main/java/com/pusong/system/service/impl/SysPostServiceImpl.java @@ -1,10 +1,14 @@ package com.pusong.system.service.impl; import cn.hutool.core.collection.CollUtil; +import cn.hutool.core.convert.Convert; import cn.hutool.core.util.ObjectUtil; import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import com.pusong.common.core.service.PostService; +import com.pusong.common.core.utils.SpringUtils; +import com.pusong.system.domain.vo.SysDeptVo; import lombok.RequiredArgsConstructor; import com.pusong.common.core.constant.UserConstants; import com.pusong.common.core.exception.ServiceException; @@ -25,6 +29,7 @@ import com.pusong.system.mapper.SysUserPostMapper; import com.pusong.system.service.ISysPostService; import org.springframework.stereotype.Service; +import java.util.ArrayList; import java.util.Arrays; import java.util.List; import java.util.stream.Collectors; @@ -36,7 +41,7 @@ import java.util.stream.Collectors; */ @RequiredArgsConstructor @Service -public class SysPostServiceImpl implements ISysPostService { +public class SysPostServiceImpl implements ISysPostService, PostService { private final SysPostMapper baseMapper; private final SysDeptMapper deptMapper; @@ -228,4 +233,22 @@ public class SysPostServiceImpl implements ISysPostService { SysPost post = MapstructUtils.convert(bo, SysPost.class); return baseMapper.updateById(post); } + + /** + * 通过岗位ID查询岗位名称 + * + * @param postIds 岗位ID串逗号分隔 + * @return 岗位名称串逗号分隔 + */ + @Override + public String selectPostNameByIds(String postIds) { + List list = new ArrayList<>(); + for (Long id : StringUtils.splitTo(postIds, Convert::toLong)) { + SysPostVo vo = SpringUtils.getAopProxy(this).selectPostById(id); + if (ObjectUtil.isNotNull(vo)) { + list.add(vo.getPostName()); + } + } + return String.join(StringUtils.SEPARATOR, list); + } }