Browse Source

调薪申请

yzc 10 months ago
parent
commit
ac9b609275
19 changed files with 747 additions and 0 deletions
  1. 46 0
      hx-oa/src/main/java/com/fjhx/oa/controller/adjust/AdjustSalaryApplyController.java
  2. 20 0
      hx-oa/src/main/java/com/fjhx/oa/controller/adjust/AdjustSalaryDetailController.java
  3. 29 0
      hx-oa/src/main/java/com/fjhx/oa/entity/adjust/dto/AdjustSalaryApplyDto.java
  4. 17 0
      hx-oa/src/main/java/com/fjhx/oa/entity/adjust/dto/AdjustSalaryApplySelectDto.java
  5. 17 0
      hx-oa/src/main/java/com/fjhx/oa/entity/adjust/dto/AdjustSalaryDetailDto.java
  6. 17 0
      hx-oa/src/main/java/com/fjhx/oa/entity/adjust/dto/AdjustSalaryDetailSelectDto.java
  7. 152 0
      hx-oa/src/main/java/com/fjhx/oa/entity/adjust/po/AdjustSalaryApply.java
  8. 43 0
      hx-oa/src/main/java/com/fjhx/oa/entity/adjust/po/AdjustSalaryDetail.java
  9. 23 0
      hx-oa/src/main/java/com/fjhx/oa/entity/adjust/vo/AdjustSalaryApplyVo.java
  10. 19 0
      hx-oa/src/main/java/com/fjhx/oa/entity/adjust/vo/AdjustSalaryDetailVo.java
  11. 98 0
      hx-oa/src/main/java/com/fjhx/oa/flow/AdjustSalaryApplyFlow.java
  12. 26 0
      hx-oa/src/main/java/com/fjhx/oa/mapper/adjust/AdjustSalaryApplyMapper.java
  13. 17 0
      hx-oa/src/main/java/com/fjhx/oa/mapper/adjust/AdjustSalaryDetailMapper.java
  14. 30 0
      hx-oa/src/main/java/com/fjhx/oa/service/adjust/AdjustSalaryApplyService.java
  15. 24 0
      hx-oa/src/main/java/com/fjhx/oa/service/adjust/AdjustSalaryDetailService.java
  16. 87 0
      hx-oa/src/main/java/com/fjhx/oa/service/adjust/impl/AdjustSalaryApplyServiceImpl.java
  17. 39 0
      hx-oa/src/main/java/com/fjhx/oa/service/adjust/impl/AdjustSalaryDetailServiceImpl.java
  18. 39 0
      hx-oa/src/main/resources/mapper/adjust/AdjustSalaryApplyMapper.xml
  19. 4 0
      hx-oa/src/main/resources/mapper/adjust/AdjustSalaryDetailMapper.xml

+ 46 - 0
hx-oa/src/main/java/com/fjhx/oa/controller/adjust/AdjustSalaryApplyController.java

@@ -0,0 +1,46 @@
+package com.fjhx.oa.controller.adjust;
+
+import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
+import com.fjhx.oa.entity.adjust.dto.AdjustSalaryApplySelectDto;
+import com.fjhx.oa.entity.adjust.vo.AdjustSalaryApplyVo;
+import com.fjhx.oa.service.adjust.AdjustSalaryApplyService;
+import com.ruoyi.common.core.domain.BaseSelectDto;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.web.bind.annotation.PostMapping;
+import org.springframework.web.bind.annotation.RequestBody;
+import org.springframework.web.bind.annotation.RequestMapping;
+import org.springframework.web.bind.annotation.RestController;
+
+
+/**
+ * <p>
+ * 调薪申请 前端控制器
+ * </p>
+ *
+ * @author
+ * @since 2024-06-20
+ */
+@RestController
+@RequestMapping("/adjustSalaryApply")
+public class AdjustSalaryApplyController {
+
+    @Autowired
+    private AdjustSalaryApplyService adjustSalaryApplyService;
+
+    /**
+     * 调薪申请分页
+     */
+    @PostMapping("/page")
+    public Page<AdjustSalaryApplyVo> page(@RequestBody AdjustSalaryApplySelectDto dto) {
+        return adjustSalaryApplyService.getPage(dto);
+    }
+
+    /**
+     * 调薪申请明细
+     */
+    @PostMapping("/detail")
+    public AdjustSalaryApplyVo detail(@RequestBody BaseSelectDto dto) {
+        return adjustSalaryApplyService.detail(dto.getId());
+    }
+
+}

+ 20 - 0
hx-oa/src/main/java/com/fjhx/oa/controller/adjust/AdjustSalaryDetailController.java

@@ -0,0 +1,20 @@
+package com.fjhx.oa.controller.adjust;
+
+import org.springframework.web.bind.annotation.RequestMapping;
+import org.springframework.web.bind.annotation.RestController;
+
+
+/**
+ * <p>
+ * 调薪明细 前端控制器
+ * </p>
+ *
+ * @author
+ * @since 2024-06-20
+ */
+@RestController
+@RequestMapping("/adjustSalaryDetail")
+public class AdjustSalaryDetailController {
+
+
+}

+ 29 - 0
hx-oa/src/main/java/com/fjhx/oa/entity/adjust/dto/AdjustSalaryApplyDto.java

@@ -0,0 +1,29 @@
+package com.fjhx.oa.entity.adjust.dto;
+
+import com.fjhx.file.entity.ObsFile;
+import com.fjhx.oa.entity.adjust.po.AdjustSalaryApply;
+import com.fjhx.oa.entity.adjust.po.AdjustSalaryDetail;
+import lombok.Getter;
+import lombok.Setter;
+
+import java.util.List;
+
+/**
+ * 调薪申请新增编辑入参实体
+ *
+ * @author
+ * @since 2024-06-20
+ */
+@Getter
+@Setter
+public class AdjustSalaryApplyDto extends AdjustSalaryApply {
+    /**
+     * 薪资明细
+     */
+    List<AdjustSalaryDetail> userSalaryDetailList;
+    /**
+     * 签名文件 类型10
+     */
+    private List<ObsFile> fileList;
+
+}

+ 17 - 0
hx-oa/src/main/java/com/fjhx/oa/entity/adjust/dto/AdjustSalaryApplySelectDto.java

@@ -0,0 +1,17 @@
+package com.fjhx.oa.entity.adjust.dto;
+
+import com.ruoyi.common.core.domain.BaseSelectDto;
+import lombok.Getter;
+import lombok.Setter;
+
+/**
+ * 调薪申请列表查询入参实体
+ *
+ * @author
+ * @since 2024-06-20
+ */
+@Getter
+@Setter
+public class AdjustSalaryApplySelectDto extends BaseSelectDto {
+
+}

+ 17 - 0
hx-oa/src/main/java/com/fjhx/oa/entity/adjust/dto/AdjustSalaryDetailDto.java

@@ -0,0 +1,17 @@
+package com.fjhx.oa.entity.adjust.dto;
+
+import com.fjhx.oa.entity.adjust.po.AdjustSalaryDetail;
+import lombok.Getter;
+import lombok.Setter;
+
+/**
+ * 调薪明细新增编辑入参实体
+ *
+ * @author
+ * @since 2024-06-20
+ */
+@Getter
+@Setter
+public class AdjustSalaryDetailDto extends AdjustSalaryDetail {
+
+}

+ 17 - 0
hx-oa/src/main/java/com/fjhx/oa/entity/adjust/dto/AdjustSalaryDetailSelectDto.java

@@ -0,0 +1,17 @@
+package com.fjhx.oa.entity.adjust.dto;
+
+import com.ruoyi.common.core.domain.BaseSelectDto;
+import lombok.Getter;
+import lombok.Setter;
+
+/**
+ * 调薪明细列表查询入参实体
+ *
+ * @author
+ * @since 2024-06-20
+ */
+@Getter
+@Setter
+public class AdjustSalaryDetailSelectDto extends BaseSelectDto {
+
+}

+ 152 - 0
hx-oa/src/main/java/com/fjhx/oa/entity/adjust/po/AdjustSalaryApply.java

@@ -0,0 +1,152 @@
+package com.fjhx.oa.entity.adjust.po;
+
+import com.alibaba.fastjson.annotation.JSONField;
+import com.baomidou.mybatisplus.annotation.TableName;
+import com.fasterxml.jackson.annotation.JsonFormat;
+import com.ruoyi.common.core.domain.BasePo;
+import lombok.Getter;
+import lombok.Setter;
+
+import java.math.BigDecimal;
+import java.util.Date;
+
+/**
+ * <p>
+ * 调薪申请
+ * </p>
+ *
+ * @author
+ * @since 2024-06-20
+ */
+@Getter
+@Setter
+@TableName("adjust_salary_apply")
+public class AdjustSalaryApply extends BasePo {
+
+    /**
+     * 用户id
+     */
+    private Long userId;
+
+    /**
+     * 调薪日期
+     */
+    @JsonFormat(timezone = "GMT+8", pattern = "yyyy-MM-dd")
+    private Date adjustDate;
+
+    /**
+     * 调薪说明
+     */
+    private String adjustRemark;
+
+    private Long flowId;
+
+    private Integer status;
+
+    /**
+     * 10实习员工、20试用员工、30正式员工
+     */
+    private String employeeType;
+
+    /**
+     * 试用期薪资比例
+     */
+    private BigDecimal probationRatio;
+
+    /**
+     * 实习期薪资比例
+     */
+    private BigDecimal internshipRatio;
+
+    /**
+     * 计件薪资
+     */
+    private String perfAmount;
+
+    /**
+     * 薪资合计
+     */
+    private BigDecimal amount;
+
+    /**
+     * 学历
+     */
+    private String education;
+
+    /**
+     * 岗位
+     */
+    private String post;
+
+    /**
+     * 试用期
+     */
+    private Integer probationPeriod;
+
+    /**
+     * 入职日期
+     */
+    @JsonFormat(timezone = "GMT+8", pattern = "yyyy-MM-dd")
+    private Date entryDate;
+
+    /**
+     * 生效日期
+     */
+    @JsonFormat(timezone = "GMT+8", pattern = "yyyy-MM-dd")
+    private Date effectiveDate;
+
+    /**
+     * 转正日期
+     */
+    @JsonFormat(timezone = "GMT+8", pattern = "yyyy-MM-dd")
+    private Date fullTimeDate;
+
+    /**
+     * 月休
+     */
+    private Integer monthRest;
+
+    /**
+     * 日工作时长
+     */
+    private Integer dailyHours;
+
+    /**
+     * 上午开始工作时间
+     */
+    @JsonFormat(timezone = "GMT+8", pattern = "HH:mm")
+    @JSONField(format = "HH:mm")
+    private Date morningBeginTime;
+
+    /**
+     * 上午结束工作时间
+     */
+    @JsonFormat(timezone = "GMT+8", pattern = "HH:mm")
+    @JSONField(format = "HH:mm")
+    private Date morningEndTime;
+
+    /**
+     * 下午开始工作时间
+     */
+    @JsonFormat(timezone = "GMT+8", pattern = "HH:mm")
+    @JSONField(format = "HH:mm")
+    private Date afternoonBeginTime;
+
+    /**
+     * 下午结束工作时间
+     */
+    @JsonFormat(timezone = "GMT+8", pattern = "HH:mm")
+    @JSONField(format = "HH:mm")
+    private Date afternoonEndTime;
+
+    /**
+     * 薪资结算方式 10考勤结算 20业绩/计件结算
+     */
+    private String settleMethod;
+
+    /**
+     * 薪资说明
+     */
+    private String salaryRemark;
+
+}

+ 43 - 0
hx-oa/src/main/java/com/fjhx/oa/entity/adjust/po/AdjustSalaryDetail.java

@@ -0,0 +1,43 @@
+package com.fjhx.oa.entity.adjust.po;
+
+import com.baomidou.mybatisplus.annotation.TableName;
+import com.ruoyi.common.core.domain.BaseIdPo;
+import lombok.Getter;
+import lombok.Setter;
+
+import java.math.BigDecimal;
+
+/**
+ * <p>
+ * 调薪明细
+ * </p>
+ *
+ * @author
+ * @since 2024-06-20
+ */
+@Getter
+@Setter
+@TableName("adjust_salary_detail")
+public class AdjustSalaryDetail extends BaseIdPo {
+
+    /**
+     * 薪资id
+     */
+    private Long adjustSalaryId;
+
+    /**
+     * 薪资结算方式 10考勤结算 20业绩/计件结算
+     */
+    private Integer type;
+
+    /**
+     * 薪资结构id
+     */
+    private Long salaryStructureId;
+
+    /**
+     * 金额
+     */
+    private BigDecimal money;
+
+}

+ 23 - 0
hx-oa/src/main/java/com/fjhx/oa/entity/adjust/vo/AdjustSalaryApplyVo.java

@@ -0,0 +1,23 @@
+package com.fjhx.oa.entity.adjust.vo;
+
+import com.fjhx.oa.entity.adjust.po.AdjustSalaryApply;
+import lombok.Getter;
+import lombok.Setter;
+
+import java.util.List;
+
+/**
+ * 调薪申请列表查询返回值实体
+ *
+ * @author
+ * @since 2024-06-20
+ */
+@Getter
+@Setter
+public class AdjustSalaryApplyVo extends AdjustSalaryApply {
+
+    private String userName;
+
+    private List<AdjustSalaryDetailVo> userSalaryDetailList;
+
+}

+ 19 - 0
hx-oa/src/main/java/com/fjhx/oa/entity/adjust/vo/AdjustSalaryDetailVo.java

@@ -0,0 +1,19 @@
+package com.fjhx.oa.entity.adjust.vo;
+
+import com.fjhx.oa.entity.adjust.po.AdjustSalaryDetail;
+import lombok.Getter;
+import lombok.Setter;
+
+/**
+ * 调薪明细列表查询返回值实体
+ *
+ * @author
+ * @since 2024-06-20
+ */
+@Getter
+@Setter
+public class AdjustSalaryDetailVo extends AdjustSalaryDetail {
+
+    private String salaryStructureName;
+
+}

+ 98 - 0
hx-oa/src/main/java/com/fjhx/oa/flow/AdjustSalaryApplyFlow.java

@@ -0,0 +1,98 @@
+package com.fjhx.oa.flow;
+
+import cn.hutool.core.bean.BeanUtil;
+import com.alibaba.fastjson.JSONObject;
+import com.fjhx.common.enums.FlowStatusEnum1;
+import com.fjhx.file.entity.FileInfoVo;
+import com.fjhx.file.entity.ObsFile;
+import com.fjhx.file.utils.ObsFileUtil;
+import com.fjhx.flow.core.FlowDelegate;
+import com.fjhx.flow.enums.FlowStatusEnum;
+import com.fjhx.oa.entity.adjust.dto.AdjustSalaryApplyDto;
+import com.fjhx.oa.entity.adjust.po.AdjustSalaryApply;
+import com.fjhx.oa.entity.adjust.po.AdjustSalaryDetail;
+import com.fjhx.oa.entity.user.dto.UserSalaryManageDto;
+import com.fjhx.oa.entity.user.po.UserSalaryDetail;
+import com.fjhx.oa.service.adjust.AdjustSalaryApplyService;
+import com.fjhx.oa.service.adjust.AdjustSalaryDetailService;
+import com.fjhx.oa.service.user.UserSalaryManageService;
+import com.ruoyi.common.utils.SecurityUtils;
+import org.springframework.stereotype.Component;
+
+import javax.annotation.Resource;
+import java.util.Collections;
+import java.util.List;
+import java.util.Map;
+
+@Component
+public class AdjustSalaryApplyFlow extends FlowDelegate {
+
+    @Resource
+    private AdjustSalaryApplyService adjustSalaryApplyService;
+    @Resource
+    private AdjustSalaryDetailService adjustSalaryDetailService;
+    @Resource
+    private UserSalaryManageService userSalaryManageService;
+
+    @Override
+    public String getFlowKey() {
+        return "adjust_salary_apply_flow";
+    }
+
+    @Override
+    public Long start(Long flowId, JSONObject submitData) {
+        AdjustSalaryApplyDto dto = submitData.toJavaObject(AdjustSalaryApplyDto.class);
+        dto.setFlowId(flowId);
+        dto.setStatus(FlowStatusEnum1.UNDER_REVIEW.getKey());
+        dto.setUserId(SecurityUtils.getUserId());
+
+        //回填用户名
+        String nickName = SecurityUtils.getLoginUser().getUser().getNickName();
+        submitData.put("userName", nickName);
+
+        adjustSalaryApplyService.saveOrUpdate(dto);
+        ObsFileUtil.copyFileAndSave(dto.getFileList(), dto.getId(), 10);
+
+        //保存明细
+        List<AdjustSalaryDetail> userSalaryDetailList = dto.getUserSalaryDetailList();
+        userSalaryDetailList.forEach(item -> item.setAdjustSalaryId(dto.getId()));
+        adjustSalaryDetailService.editLinked(userSalaryDetailList, AdjustSalaryDetail::getAdjustSalaryId, dto.getId());
+        return dto.getId();
+    }
+
+    @Override
+    public void reject(Long flowId, Long businessId, FlowStatusEnum flowStatus) {
+        adjustSalaryApplyService.update(q -> q
+                .eq(AdjustSalaryApply::getId, businessId)
+                .set(AdjustSalaryApply::getStatus, FlowStatusEnum1.REJECT.getKey())
+        );
+    }
+
+    @Override
+    public void cancellation(Long flowId, Long businessId, FlowStatusEnum flowStatus) {
+        adjustSalaryApplyService.update(q -> q
+                .eq(AdjustSalaryApply::getId, businessId)
+                .set(AdjustSalaryApply::getStatus, FlowStatusEnum1.CANCELLATION.getKey())
+        );
+    }
+
+    @Override
+    public void end(Long flowId, Long businessId, JSONObject submitData) {
+        adjustSalaryApplyService.update(q -> q
+                .eq(AdjustSalaryApply::getId, businessId)
+                .set(AdjustSalaryApply::getStatus, FlowStatusEnum1.PASS.getKey())
+        );
+        //获取数据
+        AdjustSalaryApply byId = adjustSalaryApplyService.getById(businessId);
+        Map<Long, List<FileInfoVo>> fileMap = ObsFileUtil.getFileMap(Collections.singletonList(businessId), 10);
+        List<AdjustSalaryDetail> list = adjustSalaryDetailService.list(q -> q.eq(AdjustSalaryDetail::getAdjustSalaryId, businessId));
+
+        //更新用户薪资
+        UserSalaryManageDto userSalaryManageDto = BeanUtil.copyProperties(byId, UserSalaryManageDto.class);
+        userSalaryManageDto.setFileList(BeanUtil.copyToList(fileMap.get(businessId), ObsFile.class));
+        userSalaryManageDto.setUserSalaryDetailList(BeanUtil.copyToList(list, UserSalaryDetail.class));
+        userSalaryManageDto.getUserSalaryDetailList().forEach(item -> item.setId(null));
+
+        userSalaryManageService.edit(userSalaryManageDto);
+    }
+}

+ 26 - 0
hx-oa/src/main/java/com/fjhx/oa/mapper/adjust/AdjustSalaryApplyMapper.java

@@ -0,0 +1,26 @@
+package com.fjhx.oa.mapper.adjust;
+
+import com.baomidou.mybatisplus.core.mapper.BaseMapper;
+import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
+import com.fjhx.oa.entity.adjust.po.AdjustSalaryApply;
+import com.fjhx.oa.entity.adjust.vo.AdjustSalaryApplyVo;
+import com.ruoyi.common.utils.wrapper.IWrapper;
+import org.apache.ibatis.annotations.Param;
+
+
+/**
+ * <p>
+ * 调薪申请 Mapper 接口
+ * </p>
+ *
+ * @author
+ * @since 2024-06-20
+ */
+public interface AdjustSalaryApplyMapper extends BaseMapper<AdjustSalaryApply> {
+
+    /**
+     * 调薪申请分页
+     */
+    Page<AdjustSalaryApplyVo> getPage(@Param("page") Page<Object> page, @Param("ew") IWrapper<AdjustSalaryApply> wrapper);
+
+}

+ 17 - 0
hx-oa/src/main/java/com/fjhx/oa/mapper/adjust/AdjustSalaryDetailMapper.java

@@ -0,0 +1,17 @@
+package com.fjhx.oa.mapper.adjust;
+
+import com.baomidou.mybatisplus.core.mapper.BaseMapper;
+import com.fjhx.oa.entity.adjust.po.AdjustSalaryDetail;
+
+
+/**
+ * <p>
+ * 调薪明细 Mapper 接口
+ * </p>
+ *
+ * @author
+ * @since 2024-06-20
+ */
+public interface AdjustSalaryDetailMapper extends BaseMapper<AdjustSalaryDetail> {
+
+}

+ 30 - 0
hx-oa/src/main/java/com/fjhx/oa/service/adjust/AdjustSalaryApplyService.java

@@ -0,0 +1,30 @@
+package com.fjhx.oa.service.adjust;
+
+import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
+import com.fjhx.oa.entity.adjust.dto.AdjustSalaryApplySelectDto;
+import com.fjhx.oa.entity.adjust.po.AdjustSalaryApply;
+import com.fjhx.oa.entity.adjust.vo.AdjustSalaryApplyVo;
+import com.ruoyi.common.core.service.BaseService;
+
+
+/**
+ * <p>
+ * 调薪申请 服务类
+ * </p>
+ *
+ * @author
+ * @since 2024-06-20
+ */
+public interface AdjustSalaryApplyService extends BaseService<AdjustSalaryApply> {
+
+    /**
+     * 调薪申请分页
+     */
+    Page<AdjustSalaryApplyVo> getPage(AdjustSalaryApplySelectDto dto);
+
+    /**
+     * 调薪申请明细
+     */
+    AdjustSalaryApplyVo detail(Long id);
+
+}

+ 24 - 0
hx-oa/src/main/java/com/fjhx/oa/service/adjust/AdjustSalaryDetailService.java

@@ -0,0 +1,24 @@
+package com.fjhx.oa.service.adjust;
+
+import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
+import com.fjhx.oa.entity.adjust.po.AdjustSalaryDetail;
+import com.fjhx.oa.entity.adjust.vo.AdjustSalaryDetailVo;
+import com.ruoyi.common.core.service.BaseService;
+
+import java.util.List;
+import java.util.function.Consumer;
+
+
+/**
+ * <p>
+ * 调薪明细 服务类
+ * </p>
+ *
+ * @author
+ * @since 2024-06-20
+ */
+public interface AdjustSalaryDetailService extends BaseService<AdjustSalaryDetail> {
+
+    List<AdjustSalaryDetailVo> getList(Consumer<LambdaQueryWrapper<AdjustSalaryDetail>> consumer);
+
+}

+ 87 - 0
hx-oa/src/main/java/com/fjhx/oa/service/adjust/impl/AdjustSalaryApplyServiceImpl.java

@@ -0,0 +1,87 @@
+package com.fjhx.oa.service.adjust.impl;
+
+import cn.hutool.core.bean.BeanUtil;
+import cn.hutool.core.util.ObjectUtil;
+import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
+import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
+import com.fjhx.oa.entity.adjust.dto.AdjustSalaryApplySelectDto;
+import com.fjhx.oa.entity.adjust.po.AdjustSalaryApply;
+import com.fjhx.oa.entity.adjust.po.AdjustSalaryDetail;
+import com.fjhx.oa.entity.adjust.vo.AdjustSalaryApplyVo;
+import com.fjhx.oa.entity.adjust.vo.AdjustSalaryDetailVo;
+import com.fjhx.oa.mapper.adjust.AdjustSalaryApplyMapper;
+import com.fjhx.oa.service.adjust.AdjustSalaryApplyService;
+import com.fjhx.oa.service.adjust.AdjustSalaryDetailService;
+import com.ruoyi.common.utils.SecurityUtils;
+import com.ruoyi.common.utils.wrapper.IWrapper;
+import com.ruoyi.common.utils.wrapper.SqlField;
+import com.ruoyi.system.utils.UserUtil;
+import org.springframework.stereotype.Service;
+
+import javax.annotation.Resource;
+import java.util.Collections;
+import java.util.List;
+import java.util.Map;
+import java.util.stream.Collectors;
+
+
+/**
+ * <p>
+ * 调薪申请 服务实现类
+ * </p>
+ *
+ * @author
+ * @since 2024-06-20
+ */
+@Service
+public class AdjustSalaryApplyServiceImpl extends ServiceImpl<AdjustSalaryApplyMapper, AdjustSalaryApply> implements AdjustSalaryApplyService {
+
+    @Resource
+    private AdjustSalaryDetailService adjustSalaryDetailService;
+
+    @Override
+    public Page<AdjustSalaryApplyVo> getPage(AdjustSalaryApplySelectDto dto) {
+        IWrapper<AdjustSalaryApply> wrapper = getWrapper();
+
+        wrapper.keyword(dto.getKeyword(), new SqlField("su.nick_name"));
+
+
+        //权限过滤 自己看自己,财务看全部
+        List<String> userRoleKeys = UserUtil.getUserRoleKeys(SecurityUtils.getUserId());
+        if (!userRoleKeys.contains("cfo")) {
+            wrapper.eq("asa", AdjustSalaryApply::getUserId, SecurityUtils.getUserId());
+        }
+
+        wrapper.orderByDesc("asa", AdjustSalaryApply::getId);
+        Page<AdjustSalaryApplyVo> page = this.baseMapper.getPage(dto.getPage(), wrapper);
+        List<AdjustSalaryApplyVo> records = page.getRecords();
+
+        setInfo(records);
+        return page;
+    }
+
+    @Override
+    public AdjustSalaryApplyVo detail(Long id) {
+        AdjustSalaryApply AdjustSalaryApply = this.getById(id);
+        AdjustSalaryApplyVo result = BeanUtil.toBean(AdjustSalaryApply, AdjustSalaryApplyVo.class);
+
+        setInfo(Collections.singletonList(result));
+        return result;
+    }
+
+    private void setInfo(List<AdjustSalaryApplyVo> records) {
+        if (ObjectUtil.isEmpty(records)) {
+            return;
+        }
+        List<Long> ids = records.stream().map(AdjustSalaryApply::getId).collect(Collectors.toList());
+
+        Map<Long, List<AdjustSalaryDetailVo>> collect = adjustSalaryDetailService.getList(q -> q.in(AdjustSalaryDetail::getAdjustSalaryId, ids))
+                .stream().collect(Collectors.groupingBy(AdjustSalaryDetail::getAdjustSalaryId));
+        for (AdjustSalaryApplyVo record : records) {
+            List<AdjustSalaryDetailVo> adjustSalaryDetailVos = collect.get(record.getId());
+            record.setUserSalaryDetailList(adjustSalaryDetailVos);
+        }
+        UserUtil.assignmentNickName(records, AdjustSalaryApply::getUserId, AdjustSalaryApplyVo::setUserName);
+    }
+
+}

+ 39 - 0
hx-oa/src/main/java/com/fjhx/oa/service/adjust/impl/AdjustSalaryDetailServiceImpl.java

@@ -0,0 +1,39 @@
+package com.fjhx.oa.service.adjust.impl;
+
+import cn.hutool.core.bean.BeanUtil;
+import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
+import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
+import com.fjhx.oa.entity.adjust.po.AdjustSalaryDetail;
+import com.fjhx.oa.entity.adjust.vo.AdjustSalaryDetailVo;
+import com.fjhx.oa.mapper.adjust.AdjustSalaryDetailMapper;
+import com.fjhx.oa.service.adjust.AdjustSalaryDetailService;
+import com.fjhx.oa.service.salary.SalaryStructureService;
+import org.springframework.stereotype.Service;
+
+import javax.annotation.Resource;
+import java.util.List;
+import java.util.function.Consumer;
+
+
+/**
+ * <p>
+ * 调薪明细 服务实现类
+ * </p>
+ *
+ * @author
+ * @since 2024-06-20
+ */
+@Service
+public class AdjustSalaryDetailServiceImpl extends ServiceImpl<AdjustSalaryDetailMapper, AdjustSalaryDetail> implements AdjustSalaryDetailService {
+    @Resource
+    private SalaryStructureService salaryStructureService;
+
+    @Override
+    public List<AdjustSalaryDetailVo> getList(Consumer<LambdaQueryWrapper<AdjustSalaryDetail>> consumer) {
+        List<AdjustSalaryDetailVo> list = BeanUtil.copyToList(this.list(consumer), AdjustSalaryDetailVo.class);
+        salaryStructureService.attributeAssign(list, AdjustSalaryDetailVo::getAdjustSalaryId, (item, salaryStructure) -> {
+            item.setSalaryStructureName(salaryStructure.getName());
+        });
+        return list;
+    }
+}

+ 39 - 0
hx-oa/src/main/resources/mapper/adjust/AdjustSalaryApplyMapper.xml

@@ -0,0 +1,39 @@
+<?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.fjhx.oa.mapper.adjust.AdjustSalaryApplyMapper">
+       <select id="getPage" resultType="com.fjhx.oa.entity.adjust.vo.AdjustSalaryApplyVo">
+              select asa.id,
+                     asa.user_id,
+                     asa.adjust_date,
+                     asa.adjust_remark,
+                     asa.flow_id,
+                     asa.status,
+                     asa.create_user,
+                     asa.create_time,
+                     asa.update_user,
+                     asa.update_time,
+                     asa.employee_type,
+                     asa.probation_ratio,
+                     asa.internship_ratio,
+                     asa.perf_amount,
+                     asa.amount,
+                     asa.education,
+                     asa.post,
+                     asa.probation_period,
+                     asa.entry_date,
+                     asa.effective_date,
+                     asa.full_time_date,
+                     asa.month_rest,
+                     asa.daily_hours,
+                     asa.morning_begin_time,
+                     asa.morning_end_time,
+                     asa.afternoon_begin_time,
+                     asa.afternoon_end_time,
+                     asa.settle_method,
+                     asa.salary_remark
+              from adjust_salary_apply asa
+                          LEFT JOIN sys_user su ON su.user_id = asa.user_id
+                     ${ew.customSqlSegment}
+       </select>
+
+</mapper>

+ 4 - 0
hx-oa/src/main/resources/mapper/adjust/AdjustSalaryDetailMapper.xml

@@ -0,0 +1,4 @@
+<?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.fjhx.oa.mapper.adjust.AdjustSalaryDetailMapper">
+</mapper>