commit
This commit is contained in:
parent
cd87abc8b5
commit
279dc1a373
@ -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);
|
||||
|
||||
}
|
@ -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
|
||||
|
@ -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<String> {
|
||||
|
||||
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;
|
||||
}
|
||||
}
|
@ -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<PsSalaryConfigVo> list(PsSalaryConfigBo bo, PageQuery pageQuery) {
|
||||
return psSalaryConfigService.queryPageList(bo, pageQuery);
|
||||
}
|
||||
|
||||
/**
|
||||
* 根据模板编码查询配置详情
|
||||
*/
|
||||
@Log(title = "根据模板编码查询配置详情")
|
||||
@SaCheckPermission("business:salaryConfig:info")
|
||||
@GetMapping("/info")
|
||||
public R<PsSalaryConfigInfoVo> 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<PsSalaryConfigVo> list = psSalaryConfigService.queryList(bo);
|
||||
// ExcelUtil.exportExcel(list, "提成配置", PsSalaryConfigVo.class, response);
|
||||
// }
|
||||
//
|
||||
// /**
|
||||
// * 获取提成配置详细信息
|
||||
// *
|
||||
// * @param id 主键
|
||||
// */
|
||||
// @SaCheckPermission("business:salaryConfig:query")
|
||||
// @GetMapping("/{id}")
|
||||
// public R<PsSalaryConfigVo> 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<Void> 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<Void> 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<Void> remove(@NotEmpty(message = "主键不能为空")
|
||||
// @PathVariable Long[] ids) {
|
||||
// return toAjax(psSalaryConfigService.deleteWithValidByIds(List.of(ids), true));
|
||||
// }
|
||||
}
|
@ -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;
|
||||
|
||||
}
|
@ -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;
|
||||
|
||||
}
|
@ -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<String,Map<String,Object>> serviceTypeMap;
|
||||
}
|
@ -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 ;
|
||||
}
|
@ -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;
|
||||
|
||||
}
|
@ -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<PsSalaryConfig, PsSalaryConfigVo> {
|
||||
|
||||
}
|
@ -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<PsSalaryConfigVo> queryPageList(PsSalaryConfigBo bo, PageQuery pageQuery);
|
||||
|
||||
/**
|
||||
* 查询提成配置详情
|
||||
*
|
||||
* @param templateCode 模板编码
|
||||
* @return PsSalaryConfigVo
|
||||
*/
|
||||
PsSalaryConfigInfoVo queryByTemplateCode(String templateCode);
|
||||
// /**
|
||||
// * 查询提成配置
|
||||
// *
|
||||
// * @param id 主键
|
||||
// * @return 提成配置
|
||||
// */
|
||||
// PsSalaryConfigVo queryById(Long id);
|
||||
// /**
|
||||
// * 查询符合条件的提成配置列表
|
||||
// *
|
||||
// * @param bo 查询条件
|
||||
// * @return 提成配置列表
|
||||
// */
|
||||
// List<PsSalaryConfigVo> 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<Long> ids, Boolean isValid);
|
||||
}
|
@ -58,6 +58,7 @@ public class PayContractApproverServiceImpl extends ApproverAbstractServiceImpl
|
||||
|
||||
List<PsContractPayVo> 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();
|
||||
|
@ -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<PsSalaryConfigVo> queryPageList(PsSalaryConfigBo bo, PageQuery pageQuery) {
|
||||
QueryWrapper<PsSalaryConfig> lqw = buildQueryWrapper(bo);
|
||||
Page<PsSalaryConfigVo> result = baseMapper.selectVoPage(pageQuery.build(), lqw);
|
||||
if (CollectionUtils.isEmpty(result.getRecords())) {return TableDataInfo.build(result);}
|
||||
return TableDataInfo.build(result);
|
||||
}
|
||||
private QueryWrapper<PsSalaryConfig> buildQueryWrapper(PsSalaryConfigBo bo) {
|
||||
QueryWrapper<PsSalaryConfig> 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<PsSalaryConfig> list = baseMapper.selectList(Wrappers.<PsSalaryConfig>lambdaQuery().eq(PsSalaryConfig::getTemplateCode, templateCode).eq(PsSalaryConfig::getDelFlag, 0));
|
||||
PsSalaryConfigInfoVo vo = new PsSalaryConfigInfoVo();
|
||||
Map<String,Map<String,String>> 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<PsSalaryConfigVo> queryList(PsSalaryConfigBo bo) {
|
||||
// QueryWrapper<PsSalaryConfig> 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<Long> ids, Boolean isValid) {
|
||||
// if(isValid){
|
||||
// //TODO 做一些业务上的校验,判断是否需要校验
|
||||
// }
|
||||
// return baseMapper.deleteBatchIds(ids) > 0;
|
||||
// }
|
||||
}
|
@ -0,0 +1,7 @@
|
||||
<?xml version="1.0" encoding="UTF-8" ?>
|
||||
<!DOCTYPE mapper
|
||||
PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
|
||||
"http://mybatis.org/dtd/mybatis-3-mapper.dtd">
|
||||
<mapper namespace="com.pusong.business.mapper.PsSalaryConfigMapper">
|
||||
|
||||
</mapper>
|
@ -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<String> 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);
|
||||
}
|
||||
}
|
||||
|
Loading…
Reference in New Issue
Block a user