| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178 |
- package com.xjrsoft.module.personnel.service.impl;
- import cn.dev33.satoken.stp.StpUtil;
- import com.alibaba.fastjson.JSON;
- import com.alibaba.fastjson.JSONObject;
- import com.baomidou.mybatisplus.core.toolkit.Wrappers;
- import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
- import com.github.yulichang.base.MPJBaseServiceImpl;
- import com.xjrsoft.module.organization.entity.User;
- import com.xjrsoft.module.organization.service.IUserService;
- import com.xjrsoft.module.personnel.dto.BasePersonnelLabourCapitalMonthPageDto;
- import com.xjrsoft.module.personnel.dto.BasePersonnelLabourCapitalYearPageDto;
- import com.xjrsoft.module.personnel.entity.BasePersonnelLabourCapital;
- import com.xjrsoft.module.personnel.entity.BasePersonnelLabourCapitalData;
- import com.xjrsoft.module.personnel.entity.BasePersonnelLabourCapitalTitle;
- import com.xjrsoft.module.personnel.mapper.BasePersonnelLabourCapitalDataMapper;
- import com.xjrsoft.module.personnel.mapper.BasePersonnelLabourCapitalMapper;
- import com.xjrsoft.module.personnel.mapper.BasePersonnelLabourCapitalTitleMapper;
- import com.xjrsoft.module.personnel.service.IBasePersonnelLabourCapitalService;
- import com.xjrsoft.module.personnel.vo.BasePersonnelLabourCapitalMonthPageVo;
- import com.xjrsoft.module.personnel.vo.BasePersonnelLabourCapitalYearPageVo;
- import lombok.AllArgsConstructor;
- import org.springframework.stereotype.Service;
- import org.springframework.transaction.annotation.Transactional;
- import java.util.HashMap;
- import java.util.List;
- import java.util.Map;
- import java.util.Objects;
- import java.util.stream.Collectors;
- /**
- * @title: 工资发放
- * @Author dzx
- * @Date: 2023-11-08
- * @Version 1.0
- */
- @Service
- @AllArgsConstructor
- public class BasePersonnelLabourCapitalServiceImpl extends MPJBaseServiceImpl<BasePersonnelLabourCapitalMapper, BasePersonnelLabourCapital> implements IBasePersonnelLabourCapitalService {
- private final BasePersonnelLabourCapitalMapper labourCapitalMapper;
- private final BasePersonnelLabourCapitalDataMapper capitalDataMapper;
- private final BasePersonnelLabourCapitalTitleMapper capitalTitleMapper;
- private final IUserService userService;
- @Override
- public Page<BasePersonnelLabourCapitalMonthPageVo> getMonthPage(Page<BasePersonnelLabourCapitalMonthPageDto> page, BasePersonnelLabourCapitalMonthPageDto dto) {
- long userId = StpUtil.getLoginIdAsLong();
- User user = userService.getById(userId);
- dto.setJobNumber(user.getUserName());
- Page<BasePersonnelLabourCapitalMonthPageVo> resultPage = labourCapitalMapper.getMonthPage(page, dto);
- for (BasePersonnelLabourCapitalMonthPageVo record : resultPage.getRecords()) {
- JSONObject extendJsonObj = JSON.parseObject(record.getPendingJson());
- Map<String, Object> newDict = new HashMap<>();
- for (String key : extendJsonObj.keySet()) {
- String bpName = getBpName(key);
- if (bpName != null) {
- newDict.put(bpName, extendJsonObj.getString(key));
- }
- }
- record.setDict(newDict);
- }
- return resultPage;
- }
- @Override
- public Page<BasePersonnelLabourCapitalYearPageVo> getYearPage(Page<BasePersonnelLabourCapitalYearPageDto> page, BasePersonnelLabourCapitalYearPageDto dto) {
- long userId = StpUtil.getLoginIdAsLong();
- User user = userService.getById(userId);
- dto.setJobNumber(user.getUserName());
- return labourCapitalMapper.getYearPage(page, dto);
- }
- private String getBpName(String columnNumber) {
- List<BasePersonnelLabourCapitalTitle> bpTitles = capitalTitleMapper.selectList(Wrappers.<BasePersonnelLabourCapitalTitle>lambdaQuery().eq(BasePersonnelLabourCapitalTitle::getColumnNumber, columnNumber));
- if (bpTitles != null && !bpTitles.isEmpty()) {
- return bpTitles.get(0).getName();
- } else {
- return null;
- }
- }
- @Override
- @Transactional(rollbackFor = Exception.class)
- public Boolean add(BasePersonnelLabourCapital basePersonnelLabourCapital) {
- labourCapitalMapper.insert(basePersonnelLabourCapital);
- for (BasePersonnelLabourCapitalData basePersonnelLabourCapitalData : basePersonnelLabourCapital.getBasePersonnelLabourCapitalDataList()) {
- basePersonnelLabourCapitalData.setLabourCapitalId(basePersonnelLabourCapital.getId());
- capitalDataMapper.insert(basePersonnelLabourCapitalData);
- }
- for (BasePersonnelLabourCapitalTitle basePersonnelLabourCapitalTitle : basePersonnelLabourCapital.getBasePersonnelLabourCapitalTitleList()) {
- basePersonnelLabourCapitalTitle.setLabourCapitalId(basePersonnelLabourCapital.getId());
- capitalTitleMapper.insert(basePersonnelLabourCapitalTitle);
- }
- return true;
- }
- @Override
- @Transactional(rollbackFor = Exception.class)
- public Boolean update(BasePersonnelLabourCapital basePersonnelLabourCapital) {
- labourCapitalMapper.updateById(basePersonnelLabourCapital);
- //********************************* BasePersonnelLabourCapitalData 增删改 开始 *******************************************/
- {
- // 查出所有子级的id
- List<BasePersonnelLabourCapitalData> basePersonnelLabourCapitalDataList = capitalDataMapper.selectList(Wrappers.lambdaQuery(BasePersonnelLabourCapitalData.class).eq(BasePersonnelLabourCapitalData::getLabourCapitalId, basePersonnelLabourCapital.getId()).select(BasePersonnelLabourCapitalData::getId));
- List<Long> basePersonnelLabourCapitalDataIds = basePersonnelLabourCapitalDataList.stream().map(BasePersonnelLabourCapitalData::getId).collect(Collectors.toList());
- //原有子表单 没有被删除的主键
- List<Long> basePersonnelLabourCapitalDataOldIds = basePersonnelLabourCapital.getBasePersonnelLabourCapitalDataList().stream().map(BasePersonnelLabourCapitalData::getId).filter(Objects::nonNull).collect(Collectors.toList());
- //找到需要删除的id
- List<Long> basePersonnelLabourCapitalDataRemoveIds = basePersonnelLabourCapitalDataIds.stream().filter(item -> !basePersonnelLabourCapitalDataOldIds.contains(item)).collect(Collectors.toList());
- for (BasePersonnelLabourCapitalData basePersonnelLabourCapitalData : basePersonnelLabourCapital.getBasePersonnelLabourCapitalDataList()) {
- //如果不等于空则修改
- if (basePersonnelLabourCapitalData.getId() != null) {
- capitalDataMapper.updateById(basePersonnelLabourCapitalData);
- }
- //如果等于空 则新增
- else {
- //已经不存在的id 删除
- basePersonnelLabourCapitalData.setLabourCapitalId(basePersonnelLabourCapital.getId());
- capitalDataMapper.insert(basePersonnelLabourCapitalData);
- }
- }
- //已经不存在的id 删除
- if(basePersonnelLabourCapitalDataRemoveIds.size() > 0){
- capitalDataMapper.deleteBatchIds(basePersonnelLabourCapitalDataRemoveIds);
- }
- }
- //********************************* BasePersonnelLabourCapitalData 增删改 结束 *******************************************/
- //********************************* BasePersonnelLabourCapitalTitle 增删改 开始 *******************************************/
- {
- // 查出所有子级的id
- List<BasePersonnelLabourCapitalTitle> basePersonnelLabourCapitalTitleList = capitalTitleMapper.selectList(Wrappers.lambdaQuery(BasePersonnelLabourCapitalTitle.class).eq(BasePersonnelLabourCapitalTitle::getLabourCapitalId, basePersonnelLabourCapital.getId()).select(BasePersonnelLabourCapitalTitle::getId));
- List<Long> basePersonnelLabourCapitalTitleIds = basePersonnelLabourCapitalTitleList.stream().map(BasePersonnelLabourCapitalTitle::getId).collect(Collectors.toList());
- //原有子表单 没有被删除的主键
- List<Long> basePersonnelLabourCapitalTitleOldIds = basePersonnelLabourCapital.getBasePersonnelLabourCapitalTitleList().stream().map(BasePersonnelLabourCapitalTitle::getId).filter(Objects::nonNull).collect(Collectors.toList());
- //找到需要删除的id
- List<Long> basePersonnelLabourCapitalTitleRemoveIds = basePersonnelLabourCapitalTitleIds.stream().filter(item -> !basePersonnelLabourCapitalTitleOldIds.contains(item)).collect(Collectors.toList());
- for (BasePersonnelLabourCapitalTitle basePersonnelLabourCapitalTitle : basePersonnelLabourCapital.getBasePersonnelLabourCapitalTitleList()) {
- //如果不等于空则修改
- if (basePersonnelLabourCapitalTitle.getId() != null) {
- capitalTitleMapper.updateById(basePersonnelLabourCapitalTitle);
- }
- //如果等于空 则新增
- else {
- //已经不存在的id 删除
- basePersonnelLabourCapitalTitle.setLabourCapitalId(basePersonnelLabourCapital.getId());
- capitalTitleMapper.insert(basePersonnelLabourCapitalTitle);
- }
- }
- //已经不存在的id 删除
- if(basePersonnelLabourCapitalTitleRemoveIds.size() > 0){
- capitalTitleMapper.deleteBatchIds(basePersonnelLabourCapitalTitleRemoveIds);
- }
- }
- //********************************* BasePersonnelLabourCapitalTitle 增删改 结束 *******************************************/
- return true;
- }
- @Override
- @Transactional(rollbackFor = Exception.class)
- public Boolean delete(List<Long> ids) {
- labourCapitalMapper.deleteBatchIds(ids);
- capitalDataMapper.delete(Wrappers.lambdaQuery(BasePersonnelLabourCapitalData.class).in(BasePersonnelLabourCapitalData::getLabourCapitalId, ids));
- capitalTitleMapper.delete(Wrappers.lambdaQuery(BasePersonnelLabourCapitalTitle.class).in(BasePersonnelLabourCapitalTitle::getLabourCapitalId, ids));
- return true;
- }
- }
|