commit
This commit is contained in:
parent
09a4124c76
commit
27cbaf2144
@ -8,6 +8,7 @@ import java.lang.management.ManagementFactory;
|
|||||||
import java.text.ParseException;
|
import java.text.ParseException;
|
||||||
import java.text.SimpleDateFormat;
|
import java.text.SimpleDateFormat;
|
||||||
import java.time.*;
|
import java.time.*;
|
||||||
|
import java.time.format.DateTimeFormatter;
|
||||||
import java.util.ArrayList;
|
import java.util.ArrayList;
|
||||||
import java.util.Date;
|
import java.util.Date;
|
||||||
import java.util.List;
|
import java.util.List;
|
||||||
@ -184,4 +185,16 @@ public class DateUtils extends org.apache.commons.lang3.time.DateUtils {
|
|||||||
ZonedDateTime zdt = localDateTime.atZone(ZoneId.systemDefault());
|
ZonedDateTime zdt = localDateTime.atZone(ZoneId.systemDefault());
|
||||||
return Date.from(zdt.toInstant());
|
return Date.from(zdt.toInstant());
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public static String toString(LocalDate date,String from){
|
||||||
|
// 创建一个DateTimeFormatter实例来定义日期格式
|
||||||
|
DateTimeFormatter formatter = DateTimeFormatter.ofPattern(from);
|
||||||
|
|
||||||
|
// 使用formatter转换LocalDate到字符串
|
||||||
|
return date.format(formatter);
|
||||||
|
}
|
||||||
|
|
||||||
|
public static String toString(LocalDate date){
|
||||||
|
return toString(date,"yyyy-MM-dd");
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
@ -4,14 +4,15 @@ import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
|
|||||||
import com.baomidou.mybatisplus.core.toolkit.CollectionUtils;
|
import com.baomidou.mybatisplus.core.toolkit.CollectionUtils;
|
||||||
import com.baomidou.mybatisplus.core.toolkit.Wrappers;
|
import com.baomidou.mybatisplus.core.toolkit.Wrappers;
|
||||||
import com.pusong.business.domain.PsContractInfo;
|
import com.pusong.business.domain.PsContractInfo;
|
||||||
|
import com.pusong.business.domain.PsSalary;
|
||||||
import com.pusong.business.domain.PsSalaryConfig;
|
import com.pusong.business.domain.PsSalaryConfig;
|
||||||
import com.pusong.business.domain.vo.PsContractBusinessDetailVo;
|
import com.pusong.business.domain.vo.PsContractBusinessDetailVo;
|
||||||
import com.pusong.business.domain.vo.PsContractBusinessVo;
|
import com.pusong.business.domain.vo.PsContractBusinessVo;
|
||||||
import com.pusong.business.enums.ContractStatusEnum;
|
import com.pusong.business.enums.ContractStatusEnum;
|
||||||
import com.pusong.business.mapper.PsContractInfoMapper;
|
import com.pusong.business.mapper.PsContractInfoMapper;
|
||||||
import com.pusong.business.mapper.PsSalaryConfigMapper;
|
import com.pusong.business.mapper.PsSalaryConfigMapper;
|
||||||
|
import com.pusong.business.mapper.PsSalaryMapper;
|
||||||
import com.pusong.business.service.IPsContractBusinessService;
|
import com.pusong.business.service.IPsContractBusinessService;
|
||||||
import com.pusong.business.service.impl.PsTaskServiceImpl;
|
|
||||||
import com.pusong.common.core.utils.DateUtils;
|
import com.pusong.common.core.utils.DateUtils;
|
||||||
import com.pusong.system.domain.SysUser;
|
import com.pusong.system.domain.SysUser;
|
||||||
import com.pusong.system.domain.SysUserPost;
|
import com.pusong.system.domain.SysUserPost;
|
||||||
@ -26,13 +27,10 @@ import org.springframework.stereotype.Component;
|
|||||||
|
|
||||||
import java.math.BigDecimal;
|
import java.math.BigDecimal;
|
||||||
import java.time.LocalDate;
|
import java.time.LocalDate;
|
||||||
import java.time.LocalDateTime;
|
|
||||||
import java.time.temporal.TemporalAdjusters;
|
import java.time.temporal.TemporalAdjusters;
|
||||||
import java.util.ArrayList;
|
import java.util.ArrayList;
|
||||||
import java.util.List;
|
import java.util.List;
|
||||||
import java.util.Map;
|
import java.util.Map;
|
||||||
import java.util.Set;
|
|
||||||
import java.util.function.Function;
|
|
||||||
import java.util.stream.Collectors;
|
import java.util.stream.Collectors;
|
||||||
|
|
||||||
|
|
||||||
@ -49,11 +47,12 @@ public class CalSalaryBatch {
|
|||||||
private SysUserPostMapper sysUserPostMapper;
|
private SysUserPostMapper sysUserPostMapper;
|
||||||
@Resource
|
@Resource
|
||||||
private PsSalaryConfigMapper psSalaryConfigMapper;
|
private PsSalaryConfigMapper psSalaryConfigMapper;
|
||||||
|
private PsSalaryMapper psSalaryMapper;
|
||||||
/**
|
/**
|
||||||
* 每月1日凌晨1点执行
|
* 每月1日凌晨1点执行
|
||||||
*/
|
*/
|
||||||
@Scheduled(cron = "0 0 1 1 * ?")
|
@Scheduled(cron = "0 0 1 1 * ?")
|
||||||
public void excute(){
|
public void execute(){
|
||||||
log.info("员工提成批处理开始");
|
log.info("员工提成批处理开始");
|
||||||
LocalDate now = LocalDate.now();
|
LocalDate now = LocalDate.now();
|
||||||
LocalDate lastDayOfLastMonth = now.with(TemporalAdjusters.firstDayOfMonth());//这个月第一天0分0秒
|
LocalDate lastDayOfLastMonth = now.with(TemporalAdjusters.firstDayOfMonth());//这个月第一天0分0秒
|
||||||
@ -95,7 +94,13 @@ public class CalSalaryBatch {
|
|||||||
BigDecimal salary = calSalary(busin, configMap.get(post.getPostId()));
|
BigDecimal salary = calSalary(busin, configMap.get(post.getPostId()));
|
||||||
log.info("进行计算提成计算{}",salary);
|
log.info("进行计算提成计算{}",salary);
|
||||||
log.info("进行存表");
|
log.info("进行存表");
|
||||||
|
PsSalary psSalary = new PsSalary();
|
||||||
|
psSalary.setSalaryMoney(salary);
|
||||||
|
psSalary.setSalaryMonth(DateUtils.toString(firstDayOfLastMonth,"yyyy-MM"));
|
||||||
|
psSalary.setSalaryDate(DateUtils.toDate(firstDayOfLastMonth));
|
||||||
|
psSalary.setPostId(post.getPostId());
|
||||||
|
psSalary.setUserId(userId);
|
||||||
|
// psSalaryMapper.insert(psSalary);
|
||||||
}
|
}
|
||||||
|
|
||||||
log.info("员工提成批处理结束");
|
log.info("员工提成批处理结束");
|
||||||
|
@ -37,7 +37,7 @@ public class PsSalaryController extends BaseController {
|
|||||||
private final IPsSalaryService psSalaryService;
|
private final IPsSalaryService psSalaryService;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 查询员工提成提成列表
|
* 提成列表查询
|
||||||
*/
|
*/
|
||||||
@SaCheckPermission("business:salary:list")
|
@SaCheckPermission("business:salary:list")
|
||||||
@GetMapping("/list")
|
@GetMapping("/list")
|
||||||
@ -45,61 +45,61 @@ public class PsSalaryController extends BaseController {
|
|||||||
return psSalaryService.queryPageList(bo, pageQuery);
|
return psSalaryService.queryPageList(bo, pageQuery);
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
// /**
|
||||||
* 导出员工提成提成列表
|
// * 导出员工提成提成列表
|
||||||
*/
|
// */
|
||||||
@SaCheckPermission("business:salary:export")
|
// @SaCheckPermission("business:salary:export")
|
||||||
@Log(title = "员工提成提成", businessType = BusinessType.EXPORT)
|
// @Log(title = "员工提成提成", businessType = BusinessType.EXPORT)
|
||||||
@PostMapping("/export")
|
// @PostMapping("/export")
|
||||||
public void export(PsSalaryBo bo, HttpServletResponse response) {
|
// public void export(PsSalaryBo bo, HttpServletResponse response) {
|
||||||
List<PsSalaryVo> list = psSalaryService.queryList(bo);
|
// List<PsSalaryVo> list = psSalaryService.queryList(bo);
|
||||||
ExcelUtil.exportExcel(list, "员工提成提成", PsSalaryVo.class, response);
|
// ExcelUtil.exportExcel(list, "员工提成提成", PsSalaryVo.class, response);
|
||||||
}
|
// }
|
||||||
|
//
|
||||||
/**
|
// /**
|
||||||
* 获取员工提成提成详细信息
|
// * 获取员工提成提成详细信息
|
||||||
*
|
// *
|
||||||
* @param id 主键
|
// * @param id 主键
|
||||||
*/
|
// */
|
||||||
@SaCheckPermission("business:salary:query")
|
// @SaCheckPermission("business:salary:query")
|
||||||
@GetMapping("/{id}")
|
// @GetMapping("/{id}")
|
||||||
public R<PsSalaryVo> getInfo(@NotNull(message = "主键不能为空")
|
// public R<PsSalaryVo> getInfo(@NotNull(message = "主键不能为空")
|
||||||
@PathVariable Long id) {
|
// @PathVariable Long id) {
|
||||||
return R.ok(psSalaryService.queryById(id));
|
// return R.ok(psSalaryService.queryById(id));
|
||||||
}
|
// }
|
||||||
|
//
|
||||||
/**
|
// /**
|
||||||
* 新增员工提成提成
|
// * 新增员工提成提成
|
||||||
*/
|
// */
|
||||||
@SaCheckPermission("business:salary:add")
|
// @SaCheckPermission("business:salary:add")
|
||||||
@Log(title = "员工提成提成", businessType = BusinessType.INSERT)
|
// @Log(title = "员工提成提成", businessType = BusinessType.INSERT)
|
||||||
@RepeatSubmit()
|
// @RepeatSubmit()
|
||||||
@PostMapping()
|
// @PostMapping()
|
||||||
public R<Void> add(@Validated(AddGroup.class) @RequestBody PsSalaryBo bo) {
|
// public R<Void> add(@Validated(AddGroup.class) @RequestBody PsSalaryBo bo) {
|
||||||
return toAjax(psSalaryService.insertByBo(bo));
|
// return toAjax(psSalaryService.insertByBo(bo));
|
||||||
}
|
// }
|
||||||
|
//
|
||||||
/**
|
// /**
|
||||||
* 修改员工提成提成
|
// * 修改员工提成提成
|
||||||
*/
|
// */
|
||||||
@SaCheckPermission("business:salary:edit")
|
// @SaCheckPermission("business:salary:edit")
|
||||||
@Log(title = "员工提成提成", businessType = BusinessType.UPDATE)
|
// @Log(title = "员工提成提成", businessType = BusinessType.UPDATE)
|
||||||
@RepeatSubmit()
|
// @RepeatSubmit()
|
||||||
@PutMapping()
|
// @PutMapping()
|
||||||
public R<Void> edit(@Validated(EditGroup.class) @RequestBody PsSalaryBo bo) {
|
// public R<Void> edit(@Validated(EditGroup.class) @RequestBody PsSalaryBo bo) {
|
||||||
return toAjax(psSalaryService.updateByBo(bo));
|
// return toAjax(psSalaryService.updateByBo(bo));
|
||||||
}
|
// }
|
||||||
|
//
|
||||||
/**
|
// /**
|
||||||
* 删除员工提成提成
|
// * 删除员工提成提成
|
||||||
*
|
// *
|
||||||
* @param ids 主键串
|
// * @param ids 主键串
|
||||||
*/
|
// */
|
||||||
@SaCheckPermission("business:salary:remove")
|
// @SaCheckPermission("business:salary:remove")
|
||||||
@Log(title = "员工提成提成", businessType = BusinessType.DELETE)
|
// @Log(title = "员工提成提成", businessType = BusinessType.DELETE)
|
||||||
@DeleteMapping("/{ids}")
|
// @DeleteMapping("/{ids}")
|
||||||
public R<Void> remove(@NotEmpty(message = "主键不能为空")
|
// public R<Void> remove(@NotEmpty(message = "主键不能为空")
|
||||||
@PathVariable Long[] ids) {
|
// @PathVariable Long[] ids) {
|
||||||
return toAjax(psSalaryService.deleteWithValidByIds(List.of(ids), true));
|
// return toAjax(psSalaryService.deleteWithValidByIds(List.of(ids), true));
|
||||||
}
|
// }
|
||||||
}
|
}
|
||||||
|
@ -7,6 +7,7 @@ import lombok.EqualsAndHashCode;
|
|||||||
import java.math.BigDecimal;
|
import java.math.BigDecimal;
|
||||||
|
|
||||||
import java.io.Serial;
|
import java.io.Serial;
|
||||||
|
import java.util.Date;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 员工提成提成对象 ps_salary
|
* 员工提成提成对象 ps_salary
|
||||||
@ -36,13 +37,47 @@ public class PsSalary extends TenantEntity {
|
|||||||
/**
|
/**
|
||||||
* 员工提成金额
|
* 员工提成金额
|
||||||
*/
|
*/
|
||||||
private BigDecimal serviceProject;
|
private BigDecimal salaryMoney;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 提成月份
|
* 提成月份
|
||||||
*/
|
*/
|
||||||
private String salaryRatio;
|
private String salaryMonth;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 提成日期
|
||||||
|
*/
|
||||||
|
private Date salaryDate;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 岗位di
|
||||||
|
*/
|
||||||
|
private Long postId;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 合同数量
|
||||||
|
*/
|
||||||
|
private Integer contractNum;
|
||||||
|
/**
|
||||||
|
* 已完成数量
|
||||||
|
*/
|
||||||
|
private Integer finistContractNum;
|
||||||
|
/**
|
||||||
|
* 未完成数量
|
||||||
|
*/
|
||||||
|
private Integer unfinistContractNum;
|
||||||
|
/**
|
||||||
|
* 合同总金额
|
||||||
|
*/
|
||||||
|
private BigDecimal contractMoney;
|
||||||
|
/**
|
||||||
|
* 已完成金额
|
||||||
|
*/
|
||||||
|
private BigDecimal finistContractMoney;
|
||||||
|
/**
|
||||||
|
* 未完成金额
|
||||||
|
*/
|
||||||
|
private BigDecimal unfinistContractMoney;
|
||||||
/**
|
/**
|
||||||
* 2逻辑删除 0 默认有效
|
* 2逻辑删除 0 默认有效
|
||||||
*/
|
*/
|
||||||
|
@ -1,5 +1,6 @@
|
|||||||
package com.pusong.business.domain.bo;
|
package com.pusong.business.domain.bo;
|
||||||
|
|
||||||
|
import com.fasterxml.jackson.annotation.JsonFormat;
|
||||||
import com.pusong.business.domain.PsSalary;
|
import com.pusong.business.domain.PsSalary;
|
||||||
import com.pusong.common.core.validate.AddGroup;
|
import com.pusong.common.core.validate.AddGroup;
|
||||||
import com.pusong.common.core.validate.EditGroup;
|
import com.pusong.common.core.validate.EditGroup;
|
||||||
@ -9,6 +10,7 @@ import lombok.Data;
|
|||||||
import lombok.EqualsAndHashCode;
|
import lombok.EqualsAndHashCode;
|
||||||
import jakarta.validation.constraints.*;
|
import jakarta.validation.constraints.*;
|
||||||
import java.math.BigDecimal;
|
import java.math.BigDecimal;
|
||||||
|
import java.util.Date;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 员工提成提成业务对象 ps_salary
|
* 员工提成提成业务对象 ps_salary
|
||||||
@ -22,28 +24,24 @@ import java.math.BigDecimal;
|
|||||||
public class PsSalaryBo extends BaseEntity {
|
public class PsSalaryBo extends BaseEntity {
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 主键id
|
* 姓名
|
||||||
*/
|
*/
|
||||||
@NotNull(message = "主键id不能为空", groups = { EditGroup.class })
|
private String name;
|
||||||
private Long id;
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 员工id
|
* 开始时间
|
||||||
*/
|
*/
|
||||||
@NotNull(message = "员工id不能为空", groups = { AddGroup.class, EditGroup.class })
|
@JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
|
||||||
private Long userId;
|
private Date startDate;
|
||||||
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 员工提成金额
|
* 结束时间
|
||||||
*/
|
*/
|
||||||
@NotNull(message = "员工提成金额不能为空", groups = { AddGroup.class, EditGroup.class })
|
@JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
|
||||||
private BigDecimal serviceProject;
|
private Date endDate;
|
||||||
|
|
||||||
/**
|
|
||||||
* 提成月份
|
|
||||||
*/
|
|
||||||
@NotBlank(message = "提成月份不能为空", groups = { AddGroup.class, EditGroup.class })
|
|
||||||
private String salaryRatio;
|
|
||||||
|
|
||||||
|
|
||||||
}
|
}
|
||||||
|
@ -32,26 +32,22 @@ public class PsSalaryVo implements Serializable {
|
|||||||
/**
|
/**
|
||||||
* 主键id
|
* 主键id
|
||||||
*/
|
*/
|
||||||
@ExcelProperty(value = "主键id")
|
|
||||||
private Long id;
|
private Long id;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 员工id
|
* 员工id
|
||||||
*/
|
*/
|
||||||
@ExcelProperty(value = "员工id")
|
|
||||||
private Long userId;
|
private Long userId;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 员工提成金额
|
* 员工提成金额
|
||||||
*/
|
*/
|
||||||
@ExcelProperty(value = "员工提成金额")
|
private BigDecimal salaryMoney;
|
||||||
private BigDecimal serviceProject;
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 提成月份
|
* 提成日期
|
||||||
*/
|
*/
|
||||||
@ExcelProperty(value = "提成月份")
|
private String salaryDate;
|
||||||
private String salaryRatio;
|
|
||||||
|
|
||||||
|
|
||||||
}
|
}
|
||||||
|
@ -1,8 +1,17 @@
|
|||||||
package com.pusong.business.mapper;
|
package com.pusong.business.mapper;
|
||||||
|
|
||||||
|
import com.baomidou.mybatisplus.core.conditions.Wrapper;
|
||||||
|
import com.baomidou.mybatisplus.core.toolkit.Constants;
|
||||||
|
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
|
||||||
|
import com.pusong.business.domain.PsContractInfo;
|
||||||
import com.pusong.business.domain.PsSalary;
|
import com.pusong.business.domain.PsSalary;
|
||||||
|
import com.pusong.business.domain.PsTaskMain;
|
||||||
import com.pusong.business.domain.vo.PsSalaryVo;
|
import com.pusong.business.domain.vo.PsSalaryVo;
|
||||||
|
import com.pusong.business.domain.vo.PsTaskMainVo;
|
||||||
|
import com.pusong.common.mybatis.annotation.DataColumn;
|
||||||
|
import com.pusong.common.mybatis.annotation.DataPermission;
|
||||||
import com.pusong.common.mybatis.core.mapper.BaseMapperPlus;
|
import com.pusong.common.mybatis.core.mapper.BaseMapperPlus;
|
||||||
|
import org.apache.ibatis.annotations.Param;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 员工提成提成Mapper接口
|
* 员工提成提成Mapper接口
|
||||||
@ -12,4 +21,10 @@ import com.pusong.common.mybatis.core.mapper.BaseMapperPlus;
|
|||||||
*/
|
*/
|
||||||
public interface PsSalaryMapper extends BaseMapperPlus<PsSalary, PsSalaryVo> {
|
public interface PsSalaryMapper extends BaseMapperPlus<PsSalary, PsSalaryVo> {
|
||||||
|
|
||||||
|
@DataPermission({
|
||||||
|
@DataColumn(key = "deptName", value = "use.create_dept"),
|
||||||
|
@DataColumn(key = "userName", value = "use.create_by")
|
||||||
|
})
|
||||||
|
Page<PsSalaryVo> selectSalaryList(@Param("page") Page<PsSalary> page, @Param(Constants.WRAPPER) Wrapper<PsSalary> queryWrapper);
|
||||||
|
|
||||||
}
|
}
|
||||||
|
@ -24,11 +24,11 @@ public interface PsTaskMainMapper extends BaseMapper<PsTaskMain> {
|
|||||||
@DataColumn(key = "deptName", value = "main.create_dept"),
|
@DataColumn(key = "deptName", value = "main.create_dept"),
|
||||||
@DataColumn(key = "userName", value = "main.create_by")
|
@DataColumn(key = "userName", value = "main.create_by")
|
||||||
})
|
})
|
||||||
Page<PsTaskMainVo> queryTaskPageList(@Param("page") Page<PsContractInfo> page, @Param(Constants.WRAPPER) Wrapper<PsTaskMain> queryWrapper);
|
Page<PsTaskMainVo> queryTaskPageList(@Param("page") Page<PsTaskMain> page, @Param(Constants.WRAPPER) Wrapper<PsTaskMain> queryWrapper);
|
||||||
|
|
||||||
@DataPermission({
|
@DataPermission({
|
||||||
@DataColumn(key = "deptName", value = "appo.create_dept"),
|
@DataColumn(key = "deptName", value = "appo.create_dept"),
|
||||||
@DataColumn(key = "userName", value = "appo.executor")
|
@DataColumn(key = "userName", value = "appo.executor")
|
||||||
})
|
})
|
||||||
Page<PsTaskMainVo> queryChildTaskPageList(@Param("page") Page<PsContractInfo> page, @Param(Constants.WRAPPER) Wrapper<PsTaskMain> queryWrapper);
|
Page<PsTaskMainVo> queryChildTaskPageList(@Param("page") Page<PsTaskMain> page, @Param(Constants.WRAPPER) Wrapper<PsTaskMain> queryWrapper);
|
||||||
}
|
}
|
||||||
|
@ -16,13 +16,7 @@ import java.util.List;
|
|||||||
*/
|
*/
|
||||||
public interface IPsSalaryService {
|
public interface IPsSalaryService {
|
||||||
|
|
||||||
/**
|
|
||||||
* 查询员工提成提成
|
|
||||||
*
|
|
||||||
* @param id 主键
|
|
||||||
* @return 员工提成提成
|
|
||||||
*/
|
|
||||||
PsSalaryVo queryById(Long id);
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 分页查询员工提成提成列表
|
* 分页查询员工提成提成列表
|
||||||
@ -33,36 +27,43 @@ public interface IPsSalaryService {
|
|||||||
*/
|
*/
|
||||||
TableDataInfo<PsSalaryVo> queryPageList(PsSalaryBo bo, PageQuery pageQuery);
|
TableDataInfo<PsSalaryVo> queryPageList(PsSalaryBo bo, PageQuery pageQuery);
|
||||||
|
|
||||||
/**
|
// /**
|
||||||
* 查询符合条件的员工提成提成列表
|
// * 查询员工提成提成
|
||||||
*
|
// *
|
||||||
* @param bo 查询条件
|
// * @param id 主键
|
||||||
* @return 员工提成提成列表
|
// * @return 员工提成提成
|
||||||
*/
|
// */
|
||||||
List<PsSalaryVo> queryList(PsSalaryBo bo);
|
// PsSalaryVo queryById(Long id);
|
||||||
|
// /**
|
||||||
/**
|
// * 查询符合条件的员工提成提成列表
|
||||||
* 新增员工提成提成
|
// *
|
||||||
*
|
// * @param bo 查询条件
|
||||||
* @param bo 员工提成提成
|
// * @return 员工提成提成列表
|
||||||
* @return 是否新增成功
|
// */
|
||||||
*/
|
// List<PsSalaryVo> queryList(PsSalaryBo bo);
|
||||||
Boolean insertByBo(PsSalaryBo bo);
|
//
|
||||||
|
// /**
|
||||||
/**
|
// * 新增员工提成提成
|
||||||
* 修改员工提成提成
|
// *
|
||||||
*
|
// * @param bo 员工提成提成
|
||||||
* @param bo 员工提成提成
|
// * @return 是否新增成功
|
||||||
* @return 是否修改成功
|
// */
|
||||||
*/
|
// Boolean insertByBo(PsSalaryBo bo);
|
||||||
Boolean updateByBo(PsSalaryBo bo);
|
//
|
||||||
|
// /**
|
||||||
/**
|
// * 修改员工提成提成
|
||||||
* 校验并批量删除员工提成提成信息
|
// *
|
||||||
*
|
// * @param bo 员工提成提成
|
||||||
* @param ids 待删除的主键集合
|
// * @return 是否修改成功
|
||||||
* @param isValid 是否进行有效性校验
|
// */
|
||||||
* @return 是否删除成功
|
// Boolean updateByBo(PsSalaryBo bo);
|
||||||
*/
|
//
|
||||||
Boolean deleteWithValidByIds(Collection<Long> ids, Boolean isValid);
|
// /**
|
||||||
|
// * 校验并批量删除员工提成提成信息
|
||||||
|
// *
|
||||||
|
// * @param ids 待删除的主键集合
|
||||||
|
// * @param isValid 是否进行有效性校验
|
||||||
|
// * @return 是否删除成功
|
||||||
|
// */
|
||||||
|
// Boolean deleteWithValidByIds(Collection<Long> ids, Boolean isValid);
|
||||||
}
|
}
|
||||||
|
@ -31,17 +31,6 @@ public class PsSalaryServiceImpl implements IPsSalaryService {
|
|||||||
|
|
||||||
private final PsSalaryMapper baseMapper;
|
private final PsSalaryMapper baseMapper;
|
||||||
|
|
||||||
/**
|
|
||||||
* 查询员工提成提成
|
|
||||||
*
|
|
||||||
* @param id 主键
|
|
||||||
* @return 员工提成提成
|
|
||||||
*/
|
|
||||||
@Override
|
|
||||||
public PsSalaryVo queryById(Long id){
|
|
||||||
return baseMapper.selectVoById(id);
|
|
||||||
}
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 分页查询员工提成提成列表
|
* 分页查询员工提成提成列表
|
||||||
*
|
*
|
||||||
@ -52,80 +41,101 @@ public class PsSalaryServiceImpl implements IPsSalaryService {
|
|||||||
@Override
|
@Override
|
||||||
public TableDataInfo<PsSalaryVo> queryPageList(PsSalaryBo bo, PageQuery pageQuery) {
|
public TableDataInfo<PsSalaryVo> queryPageList(PsSalaryBo bo, PageQuery pageQuery) {
|
||||||
LambdaQueryWrapper<PsSalary> lqw = buildQueryWrapper(bo);
|
LambdaQueryWrapper<PsSalary> lqw = buildQueryWrapper(bo);
|
||||||
Page<PsSalaryVo> result = baseMapper.selectVoPage(pageQuery.build(), lqw);
|
Page<PsSalaryVo> result = baseMapper.selectSalaryList(pageQuery.build(), lqw);
|
||||||
return TableDataInfo.build(result);
|
return TableDataInfo.build(result);
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
|
||||||
* 查询符合条件的员工提成提成列表
|
|
||||||
*
|
|
||||||
* @param bo 查询条件
|
|
||||||
* @return 员工提成提成列表
|
|
||||||
*/
|
|
||||||
@Override
|
|
||||||
public List<PsSalaryVo> queryList(PsSalaryBo bo) {
|
|
||||||
LambdaQueryWrapper<PsSalary> lqw = buildQueryWrapper(bo);
|
|
||||||
return baseMapper.selectVoList(lqw);
|
|
||||||
}
|
|
||||||
|
|
||||||
private LambdaQueryWrapper<PsSalary> buildQueryWrapper(PsSalaryBo bo) {
|
private LambdaQueryWrapper<PsSalary> buildQueryWrapper(PsSalaryBo bo) {
|
||||||
Map<String, Object> params = bo.getParams();
|
Map<String, Object> params = bo.getParams();
|
||||||
LambdaQueryWrapper<PsSalary> lqw = Wrappers.lambdaQuery();
|
LambdaQueryWrapper<PsSalary> lqw = Wrappers.lambdaQuery();
|
||||||
lqw.eq(bo.getUserId() != null, PsSalary::getUserId, bo.getUserId());
|
// lqw.eq(bo.getUserId() != null, PsSalary::getUserId, bo.getUserId());
|
||||||
lqw.eq(bo.getServiceProject() != null, PsSalary::getServiceProject, bo.getServiceProject());
|
// lqw.eq(bo.getServiceProject() != null, PsSalary::getServiceProject, bo.getServiceProject());
|
||||||
lqw.eq(StringUtils.isNotBlank(bo.getSalaryRatio()), PsSalary::getSalaryRatio, bo.getSalaryRatio());
|
// lqw.eq(StringUtils.isNotBlank(bo.getSalaryRatio()), PsSalary::getSalaryRatio, bo.getSalaryRatio());
|
||||||
return lqw;
|
return lqw;
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
|
||||||
* 新增员工提成提成
|
|
||||||
*
|
|
||||||
* @param bo 员工提成提成
|
|
||||||
* @return 是否新增成功
|
|
||||||
*/
|
|
||||||
@Override
|
|
||||||
public Boolean insertByBo(PsSalaryBo bo) {
|
|
||||||
PsSalary add = MapstructUtils.convert(bo, PsSalary.class);
|
|
||||||
validEntityBeforeSave(add);
|
|
||||||
boolean flag = baseMapper.insert(add) > 0;
|
|
||||||
if (flag) {
|
|
||||||
bo.setId(add.getId());
|
|
||||||
}
|
|
||||||
return flag;
|
|
||||||
}
|
|
||||||
|
|
||||||
/**
|
|
||||||
* 修改员工提成提成
|
|
||||||
*
|
|
||||||
* @param bo 员工提成提成
|
|
||||||
* @return 是否修改成功
|
|
||||||
*/
|
|
||||||
@Override
|
|
||||||
public Boolean updateByBo(PsSalaryBo bo) {
|
|
||||||
PsSalary update = MapstructUtils.convert(bo, PsSalary.class);
|
|
||||||
validEntityBeforeSave(update);
|
|
||||||
return baseMapper.updateById(update) > 0;
|
|
||||||
}
|
|
||||||
|
|
||||||
/**
|
// /**
|
||||||
* 保存前的数据校验
|
// * 查询员工提成提成
|
||||||
*/
|
// *
|
||||||
private void validEntityBeforeSave(PsSalary entity){
|
// * @param id 主键
|
||||||
//TODO 做一些数据校验,如唯一约束
|
// * @return 员工提成提成
|
||||||
}
|
// */
|
||||||
|
// @Override
|
||||||
/**
|
// public PsSalaryVo queryById(Long id){
|
||||||
* 校验并批量删除员工提成提成信息
|
// return baseMapper.selectVoById(id);
|
||||||
*
|
// }
|
||||||
* @param ids 待删除的主键集合
|
//
|
||||||
* @param isValid 是否进行有效性校验
|
// /**
|
||||||
* @return 是否删除成功
|
// * 查询符合条件的员工提成提成列表
|
||||||
*/
|
// *
|
||||||
@Override
|
// * @param bo 查询条件
|
||||||
public Boolean deleteWithValidByIds(Collection<Long> ids, Boolean isValid) {
|
// * @return 员工提成提成列表
|
||||||
if(isValid){
|
// */
|
||||||
//TODO 做一些业务上的校验,判断是否需要校验
|
// @Override
|
||||||
}
|
// public List<PsSalaryVo> queryList(PsSalaryBo bo) {
|
||||||
return baseMapper.deleteBatchIds(ids) > 0;
|
// LambdaQueryWrapper<PsSalary> lqw = buildQueryWrapper(bo);
|
||||||
}
|
// return baseMapper.selectVoList(lqw);
|
||||||
|
// }
|
||||||
|
//
|
||||||
|
// private LambdaQueryWrapper<PsSalary> buildQueryWrapper(PsSalaryBo bo) {
|
||||||
|
// Map<String, Object> params = bo.getParams();
|
||||||
|
// LambdaQueryWrapper<PsSalary> lqw = Wrappers.lambdaQuery();
|
||||||
|
// lqw.eq(bo.getUserId() != null, PsSalary::getUserId, bo.getUserId());
|
||||||
|
// lqw.eq(bo.getServiceProject() != null, PsSalary::getServiceProject, bo.getServiceProject());
|
||||||
|
// lqw.eq(StringUtils.isNotBlank(bo.getSalaryRatio()), PsSalary::getSalaryRatio, bo.getSalaryRatio());
|
||||||
|
// return lqw;
|
||||||
|
// }
|
||||||
|
//
|
||||||
|
// /**
|
||||||
|
// * 新增员工提成提成
|
||||||
|
// *
|
||||||
|
// * @param bo 员工提成提成
|
||||||
|
// * @return 是否新增成功
|
||||||
|
// */
|
||||||
|
// @Override
|
||||||
|
// public Boolean insertByBo(PsSalaryBo bo) {
|
||||||
|
// PsSalary add = MapstructUtils.convert(bo, PsSalary.class);
|
||||||
|
// validEntityBeforeSave(add);
|
||||||
|
// boolean flag = baseMapper.insert(add) > 0;
|
||||||
|
// if (flag) {
|
||||||
|
// bo.setId(add.getId());
|
||||||
|
// }
|
||||||
|
// return flag;
|
||||||
|
// }
|
||||||
|
//
|
||||||
|
// /**
|
||||||
|
// * 修改员工提成提成
|
||||||
|
// *
|
||||||
|
// * @param bo 员工提成提成
|
||||||
|
// * @return 是否修改成功
|
||||||
|
// */
|
||||||
|
// @Override
|
||||||
|
// public Boolean updateByBo(PsSalaryBo bo) {
|
||||||
|
// PsSalary update = MapstructUtils.convert(bo, PsSalary.class);
|
||||||
|
// validEntityBeforeSave(update);
|
||||||
|
// return baseMapper.updateById(update) > 0;
|
||||||
|
// }
|
||||||
|
//
|
||||||
|
// /**
|
||||||
|
// * 保存前的数据校验
|
||||||
|
// */
|
||||||
|
// private void validEntityBeforeSave(PsSalary entity){
|
||||||
|
// //TODO 做一些数据校验,如唯一约束
|
||||||
|
// }
|
||||||
|
//
|
||||||
|
// /**
|
||||||
|
// * 校验并批量删除员工提成提成信息
|
||||||
|
// *
|
||||||
|
// * @param ids 待删除的主键集合
|
||||||
|
// * @param isValid 是否进行有效性校验
|
||||||
|
// * @return 是否删除成功
|
||||||
|
// */
|
||||||
|
// @Override
|
||||||
|
// public Boolean deleteWithValidByIds(Collection<Long> ids, Boolean isValid) {
|
||||||
|
// if(isValid){
|
||||||
|
// //TODO 做一些业务上的校验,判断是否需要校验
|
||||||
|
// }
|
||||||
|
// return baseMapper.deleteBatchIds(ids) > 0;
|
||||||
|
// }
|
||||||
}
|
}
|
||||||
|
@ -4,4 +4,19 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
|
|||||||
"http://mybatis.org/dtd/mybatis-3-mapper.dtd">
|
"http://mybatis.org/dtd/mybatis-3-mapper.dtd">
|
||||||
<mapper namespace="com.pusong.business.mapper.PsSalaryMapper">
|
<mapper namespace="com.pusong.business.mapper.PsSalaryMapper">
|
||||||
|
|
||||||
|
|
||||||
|
<select id="selectSalaryList" resultMap="com.pusong.business.domain.vo.PsSalaryVo">
|
||||||
|
select
|
||||||
|
ps.user_id,
|
||||||
|
ps.salary_money ,
|
||||||
|
su.nick_name,
|
||||||
|
sp.post_name,
|
||||||
|
(select count(*) from ps_contract_info info where info.custom_manager = ps.user_id and info.contract_status != '10' and info.is_cancel != '03') all_contract,
|
||||||
|
(select count(*) from ps_contract_info inf where inf.custom_manager = ps.user_id and inf.contract_status == '50' and inf.is_cancel != '03') finish_contract,
|
||||||
|
(select count(*) from ps_contract_info pci where pci.custom_manager = ps.user_id and pci.contract_status not in ('10','50') and pci.is_cancel != '03') unfinish_contract
|
||||||
|
from ps_salary ps
|
||||||
|
left join sys_user su on su.user_id = ps.user_id
|
||||||
|
left join sys_post sp on ps.post_id = sp.post_id
|
||||||
|
${ew.getCustomSqlSegment}
|
||||||
|
</select>
|
||||||
</mapper>
|
</mapper>
|
||||||
|
@ -21,6 +21,7 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
|
|||||||
main.start_date,
|
main.start_date,
|
||||||
main.task_status,
|
main.task_status,
|
||||||
main.contract_code,
|
main.contract_code,
|
||||||
|
main.invoice,
|
||||||
con.is_proxy con_is_proxy,
|
con.is_proxy con_is_proxy,
|
||||||
con.custom_scene con_custom_scene,
|
con.custom_scene con_custom_scene,
|
||||||
con.custom_manager con_custom_manager,
|
con.custom_manager con_custom_manager,
|
||||||
|
Loading…
Reference in New Issue
Block a user