Ver código fonte

薪资管理

yzc 10 meses atrás
pai
commit
5288356833
19 arquivos alterados com 618 adições e 0 exclusões
  1. 20 0
      hx-oa/src/main/java/com/fjhx/oa/controller/user/UserSalaryDetailController.java
  2. 63 0
      hx-oa/src/main/java/com/fjhx/oa/controller/user/UserSalaryManageController.java
  3. 17 0
      hx-oa/src/main/java/com/fjhx/oa/entity/user/dto/UserSalaryDetailDto.java
  4. 17 0
      hx-oa/src/main/java/com/fjhx/oa/entity/user/dto/UserSalaryDetailSelectDto.java
  5. 28 0
      hx-oa/src/main/java/com/fjhx/oa/entity/user/dto/UserSalaryManageDto.java
  6. 17 0
      hx-oa/src/main/java/com/fjhx/oa/entity/user/dto/UserSalaryManageSelectDto.java
  7. 38 0
      hx-oa/src/main/java/com/fjhx/oa/entity/user/po/UserSalaryDetail.java
  8. 65 0
      hx-oa/src/main/java/com/fjhx/oa/entity/user/po/UserSalaryManage.java
  9. 17 0
      hx-oa/src/main/java/com/fjhx/oa/entity/user/vo/UserSalaryDetailVo.java
  10. 31 0
      hx-oa/src/main/java/com/fjhx/oa/entity/user/vo/UserSalaryManageVo.java
  11. 22 0
      hx-oa/src/main/java/com/fjhx/oa/mapper/user/UserSalaryDetailMapper.java
  12. 26 0
      hx-oa/src/main/java/com/fjhx/oa/mapper/user/UserSalaryManageMapper.java
  13. 14 0
      hx-oa/src/main/java/com/fjhx/oa/service/salary/impl/SalaryStructureServiceImpl.java
  14. 21 0
      hx-oa/src/main/java/com/fjhx/oa/service/user/UserSalaryDetailService.java
  15. 46 0
      hx-oa/src/main/java/com/fjhx/oa/service/user/UserSalaryManageService.java
  16. 29 0
      hx-oa/src/main/java/com/fjhx/oa/service/user/impl/UserSalaryDetailServiceImpl.java
  17. 114 0
      hx-oa/src/main/java/com/fjhx/oa/service/user/impl/UserSalaryManageServiceImpl.java
  18. 10 0
      hx-oa/src/main/resources/mapper/user/UserSalaryDetailMapper.xml
  19. 23 0
      hx-oa/src/main/resources/mapper/user/UserSalaryManageMapper.xml

+ 20 - 0
hx-oa/src/main/java/com/fjhx/oa/controller/user/UserSalaryDetailController.java

@@ -0,0 +1,20 @@
+package com.fjhx.oa.controller.user;
+
+import org.springframework.web.bind.annotation.RequestMapping;
+import org.springframework.web.bind.annotation.RestController;
+
+
+/**
+ * <p>
+ * 员工薪资管理明细 前端控制器
+ * </p>
+ *
+ * @author
+ * @since 2024-06-11
+ */
+@RestController
+@RequestMapping("/userSalaryDetail")
+public class UserSalaryDetailController {
+
+
+}

+ 63 - 0
hx-oa/src/main/java/com/fjhx/oa/controller/user/UserSalaryManageController.java

@@ -0,0 +1,63 @@
+package com.fjhx.oa.controller.user;
+
+import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
+import com.fjhx.oa.entity.user.dto.UserSalaryManageDto;
+import com.fjhx.oa.entity.user.dto.UserSalaryManageSelectDto;
+import com.fjhx.oa.entity.user.vo.UserSalaryManageVo;
+import com.fjhx.oa.service.user.UserSalaryManageService;
+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-11
+ */
+@RestController
+@RequestMapping("/userSalaryManage")
+public class UserSalaryManageController {
+
+    @Autowired
+    private UserSalaryManageService userSalaryManageService;
+
+    /**
+     * 员工薪资管理分页
+     */
+    @PostMapping("/page")
+    public Page<UserSalaryManageVo> page(@RequestBody UserSalaryManageSelectDto dto) {
+        return userSalaryManageService.getPage(dto);
+    }
+
+    /**
+     * 员工薪资管理明细
+     */
+    @PostMapping("/detail")
+    public UserSalaryManageVo detail(@RequestBody BaseSelectDto dto) {
+        return userSalaryManageService.detail(dto.getId());
+    }
+
+    /**
+     * 员工薪资管理新增
+     */
+    @PostMapping("/addVersion")
+    public void addVersion(@RequestBody UserSalaryManageDto userSalaryManageDto) {
+        userSalaryManageService.addVersion(userSalaryManageDto);
+    }
+
+    /**
+     * 员工薪资管理删除
+     */
+    @PostMapping("/delete")
+    public void delete(@RequestBody BaseSelectDto dto) {
+        userSalaryManageService.delete(dto.getId());
+    }
+
+}

+ 17 - 0
hx-oa/src/main/java/com/fjhx/oa/entity/user/dto/UserSalaryDetailDto.java

@@ -0,0 +1,17 @@
+package com.fjhx.oa.entity.user.dto;
+
+import com.fjhx.oa.entity.user.po.UserSalaryDetail;
+import lombok.Getter;
+import lombok.Setter;
+
+/**
+ * 员工薪资管理明细新增编辑入参实体
+ *
+ * @author
+ * @since 2024-06-11
+ */
+@Getter
+@Setter
+public class UserSalaryDetailDto extends UserSalaryDetail {
+
+}

+ 17 - 0
hx-oa/src/main/java/com/fjhx/oa/entity/user/dto/UserSalaryDetailSelectDto.java

@@ -0,0 +1,17 @@
+package com.fjhx.oa.entity.user.dto;
+
+import com.ruoyi.common.core.domain.BaseSelectDto;
+import lombok.Getter;
+import lombok.Setter;
+
+/**
+ * 员工薪资管理明细列表查询入参实体
+ *
+ * @author
+ * @since 2024-06-11
+ */
+@Getter
+@Setter
+public class UserSalaryDetailSelectDto extends BaseSelectDto {
+
+}

+ 28 - 0
hx-oa/src/main/java/com/fjhx/oa/entity/user/dto/UserSalaryManageDto.java

@@ -0,0 +1,28 @@
+package com.fjhx.oa.entity.user.dto;
+
+import com.fjhx.file.entity.ObsFile;
+import com.fjhx.oa.entity.user.po.UserSalaryDetail;
+import com.fjhx.oa.entity.user.po.UserSalaryManage;
+import lombok.Getter;
+import lombok.Setter;
+
+import java.util.List;
+
+/**
+ * 员工薪资管理新增编辑入参实体
+ *
+ * @author
+ * @since 2024-06-11
+ */
+@Getter
+@Setter
+public class UserSalaryManageDto extends UserSalaryManage {
+    /**
+     * 薪资明细
+     */
+    List<UserSalaryDetail> userSalaryDetailList;
+    /**
+     * 签名文件 类型10
+     */
+    private List<ObsFile> fileList;
+}

+ 17 - 0
hx-oa/src/main/java/com/fjhx/oa/entity/user/dto/UserSalaryManageSelectDto.java

@@ -0,0 +1,17 @@
+package com.fjhx.oa.entity.user.dto;
+
+import com.ruoyi.common.core.domain.BaseSelectDto;
+import lombok.Getter;
+import lombok.Setter;
+
+/**
+ * 员工薪资管理列表查询入参实体
+ *
+ * @author
+ * @since 2024-06-11
+ */
+@Getter
+@Setter
+public class UserSalaryManageSelectDto extends BaseSelectDto {
+
+}

+ 38 - 0
hx-oa/src/main/java/com/fjhx/oa/entity/user/po/UserSalaryDetail.java

@@ -0,0 +1,38 @@
+package com.fjhx.oa.entity.user.po;
+
+import com.baomidou.mybatisplus.annotation.TableName;
+import com.ruoyi.common.core.domain.BasePo;
+import lombok.Getter;
+import lombok.Setter;
+
+import java.math.BigDecimal;
+
+/**
+ * <p>
+ * 员工薪资管理明细
+ * </p>
+ *
+ * @author
+ * @since 2024-06-11
+ */
+@Getter
+@Setter
+@TableName("user_salary_detail")
+public class UserSalaryDetail extends BasePo {
+
+    /**
+     * 用户薪资管理id
+     */
+    private Long userSalaryManageId;
+
+    /**
+     * 薪资结构id
+     */
+    private Long salaryStructureId;
+
+    /**
+     * 金额
+     */
+    private BigDecimal money;
+
+}

+ 65 - 0
hx-oa/src/main/java/com/fjhx/oa/entity/user/po/UserSalaryManage.java

@@ -0,0 +1,65 @@
+package com.fjhx.oa.entity.user.po;
+
+import com.baomidou.mybatisplus.annotation.TableName;
+import com.ruoyi.common.core.domain.BasePo;
+import lombok.Getter;
+import lombok.Setter;
+
+import java.math.BigDecimal;
+
+/**
+ * <p>
+ * 员工薪资管理
+ * </p>
+ *
+ * @author
+ * @since 2024-06-11
+ */
+@Getter
+@Setter
+@TableName("user_salary_manage")
+public class UserSalaryManage extends BasePo {
+
+    /**
+     * 员工id
+     */
+    private Long userId;
+
+    /**
+     * 10实习员工、20试用员工、30正式员工
+     */
+    private String employeeType;
+
+    /**
+     * 试用期薪资比例
+     */
+    private BigDecimal probationRatio;
+
+    /**
+     * 实习期薪资比例
+     */
+    private BigDecimal internshipRatio;
+
+    /**
+     * 合计金额
+     */
+    private BigDecimal amount;
+
+    /**
+     * 版本号
+     */
+    private Integer dataVer;
+    /**
+     * 版本组id
+     */
+    private Long groupId;
+    /**
+     * 是否是当前版本
+     */
+    private Integer currentVersion;
+    /**
+     * 上一版本id
+     */
+    private Long parentId;
+
+}

+ 17 - 0
hx-oa/src/main/java/com/fjhx/oa/entity/user/vo/UserSalaryDetailVo.java

@@ -0,0 +1,17 @@
+package com.fjhx.oa.entity.user.vo;
+
+import com.fjhx.oa.entity.user.po.UserSalaryDetail;
+import lombok.Getter;
+import lombok.Setter;
+
+/**
+ * 员工薪资管理明细列表查询返回值实体
+ *
+ * @author
+ * @since 2024-06-11
+ */
+@Getter
+@Setter
+public class UserSalaryDetailVo extends UserSalaryDetail {
+
+}

+ 31 - 0
hx-oa/src/main/java/com/fjhx/oa/entity/user/vo/UserSalaryManageVo.java

@@ -0,0 +1,31 @@
+package com.fjhx.oa.entity.user.vo;
+
+import com.fjhx.file.entity.FileInfoVo;
+import com.fjhx.oa.entity.user.po.UserSalaryDetail;
+import com.fjhx.oa.entity.user.po.UserSalaryManage;
+import lombok.Getter;
+import lombok.Setter;
+
+import java.util.List;
+
+/**
+ * 员工薪资管理列表查询返回值实体
+ *
+ * @author
+ * @since 2024-06-11
+ */
+@Getter
+@Setter
+public class UserSalaryManageVo extends UserSalaryManage {
+
+    /**
+     * 薪资明细
+     */
+    private List<UserSalaryDetail> userSalaryDetailList;
+
+    /**
+     * 附件信息
+     */
+    private List<FileInfoVo> fileList;
+
+}

+ 22 - 0
hx-oa/src/main/java/com/fjhx/oa/mapper/user/UserSalaryDetailMapper.java

@@ -0,0 +1,22 @@
+package com.fjhx.oa.mapper.user;
+
+import com.baomidou.mybatisplus.core.mapper.BaseMapper;
+import com.fjhx.oa.entity.user.po.UserSalaryDetail;
+import com.fjhx.oa.entity.user.vo.UserSalaryDetailVo;
+import com.ruoyi.common.utils.wrapper.IWrapper;
+
+import java.util.List;
+
+
+/**
+ * <p>
+ * 员工薪资管理明细 Mapper 接口
+ * </p>
+ *
+ * @author
+ * @since 2024-06-11
+ */
+public interface UserSalaryDetailMapper extends BaseMapper<UserSalaryDetail> {
+
+    List<UserSalaryDetailVo> getList(IWrapper<UserSalaryDetail> wrapper);
+}

+ 26 - 0
hx-oa/src/main/java/com/fjhx/oa/mapper/user/UserSalaryManageMapper.java

@@ -0,0 +1,26 @@
+package com.fjhx.oa.mapper.user;
+
+import com.baomidou.mybatisplus.core.mapper.BaseMapper;
+import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
+import com.fjhx.oa.entity.user.po.UserSalaryManage;
+import com.fjhx.oa.entity.user.vo.UserSalaryManageVo;
+import com.ruoyi.common.utils.wrapper.IWrapper;
+import org.apache.ibatis.annotations.Param;
+
+
+/**
+ * <p>
+ * 员工薪资管理 Mapper 接口
+ * </p>
+ *
+ * @author
+ * @since 2024-06-11
+ */
+public interface UserSalaryManageMapper extends BaseMapper<UserSalaryManage> {
+
+    /**
+     * 员工薪资管理分页
+     */
+    Page<UserSalaryManageVo> getPage(@Param("page") Page<Object> page, @Param("ew") IWrapper<UserSalaryManage> wrapper);
+
+}

+ 14 - 0
hx-oa/src/main/java/com/fjhx/oa/service/salary/impl/SalaryStructureServiceImpl.java

@@ -1,17 +1,24 @@
 package com.fjhx.oa.service.salary.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.salary.dto.SalaryStructureDto;
 import com.fjhx.oa.entity.salary.dto.SalaryStructureSelectDto;
 import com.fjhx.oa.entity.salary.po.SalaryStructure;
 import com.fjhx.oa.entity.salary.vo.SalaryStructureVo;
+import com.fjhx.oa.entity.user.vo.UserSalaryDetailVo;
 import com.fjhx.oa.mapper.salary.SalaryStructureMapper;
 import com.fjhx.oa.service.salary.SalaryStructureService;
+import com.fjhx.oa.service.user.UserSalaryDetailService;
+import com.ruoyi.common.exception.ServiceException;
 import com.ruoyi.common.utils.wrapper.IWrapper;
 import org.springframework.stereotype.Service;
 
+import javax.annotation.Resource;
+import java.util.List;
+
 
 /**
  * <p>
@@ -24,6 +31,9 @@ import org.springframework.stereotype.Service;
 @Service
 public class SalaryStructureServiceImpl extends ServiceImpl<SalaryStructureMapper, SalaryStructure> implements SalaryStructureService {
 
+    @Resource
+    private UserSalaryDetailService userSalaryDetailService;
+
     @Override
     public Page<SalaryStructureVo> getPage(SalaryStructureSelectDto dto) {
         IWrapper<SalaryStructure> wrapper = getWrapper();
@@ -51,6 +61,10 @@ public class SalaryStructureServiceImpl extends ServiceImpl<SalaryStructureMappe
 
     @Override
     public void delete(Long id) {
+        List<UserSalaryDetailVo> list = userSalaryDetailService.getList(IWrapper.getWrapper());
+        if (ObjectUtil.isNotEmpty(list)) {
+            throw new ServiceException("该薪资结构已被使用,禁止删除");
+        }
         this.removeById(id);
     }
 

+ 21 - 0
hx-oa/src/main/java/com/fjhx/oa/service/user/UserSalaryDetailService.java

@@ -0,0 +1,21 @@
+package com.fjhx.oa.service.user;
+
+import com.fjhx.oa.entity.user.po.UserSalaryDetail;
+import com.fjhx.oa.entity.user.vo.UserSalaryDetailVo;
+import com.ruoyi.common.core.service.BaseService;
+import com.ruoyi.common.utils.wrapper.IWrapper;
+
+import java.util.List;
+
+
+/**
+ * <p>
+ * 员工薪资管理明细 服务类
+ * </p>
+ *
+ * @author
+ * @since 2024-06-11
+ */
+public interface UserSalaryDetailService extends BaseService<UserSalaryDetail> {
+    List<UserSalaryDetailVo> getList(IWrapper wrapper);
+}

+ 46 - 0
hx-oa/src/main/java/com/fjhx/oa/service/user/UserSalaryManageService.java

@@ -0,0 +1,46 @@
+package com.fjhx.oa.service.user;
+
+import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
+import com.fjhx.oa.entity.user.dto.UserSalaryManageDto;
+import com.fjhx.oa.entity.user.dto.UserSalaryManageSelectDto;
+import com.fjhx.oa.entity.user.po.UserSalaryManage;
+import com.fjhx.oa.entity.user.vo.UserSalaryManageVo;
+import com.ruoyi.common.core.service.BaseService;
+
+
+/**
+ * <p>
+ * 员工薪资管理 服务类
+ * </p>
+ *
+ * @author
+ * @since 2024-06-11
+ */
+public interface UserSalaryManageService extends BaseService<UserSalaryManage> {
+
+    /**
+     * 员工薪资管理分页
+     */
+    Page<UserSalaryManageVo> getPage(UserSalaryManageSelectDto dto);
+
+    /**
+     * 员工薪资管理明细
+     */
+    UserSalaryManageVo detail(Long id);
+
+    /**
+     * 员工薪资管理新增
+     */
+    void addVersion(UserSalaryManageDto userSalaryManageDto);
+
+    /**
+     * 员工薪资管理编辑
+     */
+    void edit(UserSalaryManageDto userSalaryManageDto);
+
+    /**
+     * 员工薪资管理删除
+     */
+    void delete(Long id);
+
+}

+ 29 - 0
hx-oa/src/main/java/com/fjhx/oa/service/user/impl/UserSalaryDetailServiceImpl.java

@@ -0,0 +1,29 @@
+package com.fjhx.oa.service.user.impl;
+
+import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
+import com.fjhx.oa.entity.user.po.UserSalaryDetail;
+import com.fjhx.oa.entity.user.vo.UserSalaryDetailVo;
+import com.fjhx.oa.mapper.user.UserSalaryDetailMapper;
+import com.fjhx.oa.service.user.UserSalaryDetailService;
+import com.ruoyi.common.utils.wrapper.IWrapper;
+import org.springframework.stereotype.Service;
+
+import java.util.List;
+
+
+/**
+ * <p>
+ * 员工薪资管理明细 服务实现类
+ * </p>
+ *
+ * @author
+ * @since 2024-06-11
+ */
+@Service
+public class UserSalaryDetailServiceImpl extends ServiceImpl<UserSalaryDetailMapper, UserSalaryDetail> implements UserSalaryDetailService {
+
+    @Override
+    public List<UserSalaryDetailVo> getList(IWrapper wrapper) {
+        return baseMapper.getList(getWrapper());
+    }
+}

+ 114 - 0
hx-oa/src/main/java/com/fjhx/oa/service/user/impl/UserSalaryManageServiceImpl.java

@@ -0,0 +1,114 @@
+package com.fjhx.oa.service.user.impl;
+
+import cn.hutool.core.bean.BeanUtil;
+import cn.hutool.core.util.ObjectUtil;
+import com.baomidou.dynamic.datasource.annotation.DSTransactional;
+import com.baomidou.mybatisplus.core.toolkit.IdWorker;
+import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
+import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
+import com.fjhx.common.utils.Assert;
+import com.fjhx.file.entity.FileInfoVo;
+import com.fjhx.file.utils.ObsFileUtil;
+import com.fjhx.oa.entity.user.dto.UserSalaryManageDto;
+import com.fjhx.oa.entity.user.dto.UserSalaryManageSelectDto;
+import com.fjhx.oa.entity.user.po.UserSalaryDetail;
+import com.fjhx.oa.entity.user.po.UserSalaryManage;
+import com.fjhx.oa.entity.user.vo.UserSalaryManageVo;
+import com.fjhx.oa.mapper.user.UserSalaryManageMapper;
+import com.fjhx.oa.service.user.UserSalaryDetailService;
+import com.fjhx.oa.service.user.UserSalaryManageService;
+import com.ruoyi.common.utils.wrapper.IWrapper;
+import org.springframework.stereotype.Service;
+
+import javax.annotation.Resource;
+import java.util.ArrayList;
+import java.util.Collections;
+import java.util.List;
+import java.util.Map;
+import java.util.stream.Collectors;
+
+
+/**
+ * <p>
+ * 员工薪资管理 服务实现类
+ * </p>
+ *
+ * @author
+ * @since 2024-06-11
+ */
+@Service
+public class UserSalaryManageServiceImpl extends ServiceImpl<UserSalaryManageMapper, UserSalaryManage> implements UserSalaryManageService {
+
+    @Resource
+    private UserSalaryDetailService userSalaryDetailService;
+
+    @Override
+    public Page<UserSalaryManageVo> getPage(UserSalaryManageSelectDto dto) {
+        IWrapper<UserSalaryManage> wrapper = getWrapper();
+        wrapper.eq("usm", UserSalaryManage::getCurrentVersion, 1);
+        wrapper.orderByDesc("usm", UserSalaryManage::getId);
+        Page<UserSalaryManageVo> page = this.baseMapper.getPage(dto.getPage(), wrapper);
+        List<UserSalaryManageVo> records = page.getRecords();
+        setInfo(records);
+        return page;
+    }
+
+    @Override
+    public UserSalaryManageVo detail(Long id) {
+        UserSalaryManage UserSalaryManage = this.getById(id);
+        UserSalaryManageVo result = BeanUtil.toBean(UserSalaryManage, UserSalaryManageVo.class);
+        setInfo(Collections.singletonList(result));
+        return result;
+    }
+
+    private void setInfo(List<UserSalaryManageVo> list) {
+        if (ObjectUtil.isEmpty(list)) {
+            return;
+        }
+        List<Long> ids = list.stream().map(UserSalaryManage::getId).collect(Collectors.toList());
+        Map<Long, List<UserSalaryDetail>> usdMap = userSalaryDetailService.mapKGroup(UserSalaryDetail::getUserSalaryManageId, q -> q.in(UserSalaryDetail::getUserSalaryManageId, ids));
+        Map<Long, List<FileInfoVo>> fileMap = ObsFileUtil.getFileMap(ids, 10);
+        for (UserSalaryManageVo userSalaryManageVo : list) {
+            userSalaryManageVo.setUserSalaryDetailList(usdMap.getOrDefault(userSalaryManageVo.getId(), new ArrayList<>()));
+            userSalaryManageVo.setFileList(fileMap.getOrDefault(userSalaryManageVo.getId(), new ArrayList<>()));
+        }
+    }
+
+    @DSTransactional
+    @Override
+    public synchronized void addVersion(UserSalaryManageDto dto) {
+        Integer version = -1;
+        if (ObjectUtil.isNotEmpty(dto.getId())) {
+            UserSalaryManage oldVer = this.getById(dto.getId());
+            Assert.notEmpty(oldVer, "历史版本信息不存在!");
+            dto.setParentId(dto.getId());
+            dto.setGroupId(oldVer.getGroupId());
+            version = oldVer.getDataVer();
+            this.update(q -> q.eq(UserSalaryManage::getId, dto.getId()).set(UserSalaryManage::getCurrentVersion, 0));
+        }
+        dto.setId(IdWorker.getId());
+        dto.setGroupId(ObjectUtil.isEmpty(dto.getGroupId()) ? dto.getId() : dto.getGroupId());
+        dto.setDataVer(++version);
+        dto.setCurrentVersion(1);
+        this.save(dto);
+        ObsFileUtil.copyFileAndSave(dto.getFileList(), dto.getId(), 10);
+
+        List<UserSalaryDetail> userSalaryDetailList = dto.getUserSalaryDetailList();
+        for (UserSalaryDetail userSalaryDetail : userSalaryDetailList) {
+            userSalaryDetail.setId(null);
+            userSalaryDetail.setUserSalaryManageId(dto.getId());
+        }
+        userSalaryDetailService.saveBatch(userSalaryDetailList);
+    }
+
+    @Override
+    public void edit(UserSalaryManageDto userSalaryManageDto) {
+        this.updateById(userSalaryManageDto);
+    }
+
+    @Override
+    public void delete(Long id) {
+        this.removeById(id);
+    }
+
+}

+ 10 - 0
hx-oa/src/main/resources/mapper/user/UserSalaryDetailMapper.xml

@@ -0,0 +1,10 @@
+<?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.user.UserSalaryDetailMapper">
+    <select id="getList" resultType="com.fjhx.oa.entity.user.vo.UserSalaryDetailVo">
+        SELECT usd.*
+        FROM user_salary_detail usd
+                 JOIN user_salary_manage usm ON usd.user_salary_manage_id = usm.id
+            ${ew.customSqlSegment}
+    </select>
+</mapper>

+ 23 - 0
hx-oa/src/main/resources/mapper/user/UserSalaryManageMapper.xml

@@ -0,0 +1,23 @@
+<?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.user.UserSalaryManageMapper">
+    <select id="getPage" resultType="com.fjhx.oa.entity.user.vo.UserSalaryManageVo">
+        select usm.id,
+               usm.user_id,
+               usm.employee_type,
+               usm.probation_ratio,
+               usm.Internship_ratio,
+               usm.amount,
+               usm.data_ver,
+               usm.group_id,
+               usm.current_version,
+               usm.parent_id,
+               usm.create_user,
+               usm.create_time,
+               usm.update_user,
+               usm.update_time
+        from user_salary_manage usm
+            ${ew.customSqlSegment}
+    </select>
+
+</mapper>