|
@@ -1,29 +1,29 @@
|
|
|
package com.fjhx.account.service.account.impl;
|
|
|
|
|
|
+import cn.hutool.core.bean.BeanUtil;
|
|
|
import cn.hutool.core.util.ObjectUtil;
|
|
|
-import com.baomidou.dynamic.datasource.annotation.DS;
|
|
|
import com.baomidou.mybatisplus.core.toolkit.Wrappers;
|
|
|
+import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
|
|
|
+import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
|
|
|
+import com.fjhx.account.entity.account.dto.AccountDeptRunningWaterDetailDto;
|
|
|
+import com.fjhx.account.entity.account.dto.AccountDeptRunningWaterDetailSelectDto;
|
|
|
import com.fjhx.account.entity.account.po.AccountDeptRunningWater;
|
|
|
import com.fjhx.account.entity.account.po.AccountDeptRunningWaterDetail;
|
|
|
import com.fjhx.account.entity.account.po.AccountRunningWater;
|
|
|
+import com.fjhx.account.entity.account.vo.AccountDeptRunningWaterDetailVo;
|
|
|
import com.fjhx.account.entity.account.vo.AccountRunningWaterVo;
|
|
|
import com.fjhx.account.mapper.account.AccountDeptRunningWaterDetailMapper;
|
|
|
import com.fjhx.account.service.account.AccountDeptRunningWaterDetailService;
|
|
|
-import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
|
|
|
-import com.fjhx.common.constant.SourceConstant;
|
|
|
import com.fjhx.account.service.account.AccountDeptRunningWaterService;
|
|
|
import com.fjhx.account.service.account.AccountRunningWaterService;
|
|
|
+import com.ruoyi.common.core.domain.BaseIdPo;
|
|
|
+import com.ruoyi.common.utils.wrapper.IWrapper;
|
|
|
import org.springframework.beans.factory.annotation.Autowired;
|
|
|
import org.springframework.stereotype.Service;
|
|
|
-import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
|
|
|
-import com.fjhx.account.entity.account.vo.AccountDeptRunningWaterDetailVo;
|
|
|
-import com.fjhx.account.entity.account.dto.AccountDeptRunningWaterDetailSelectDto;
|
|
|
-import com.ruoyi.common.utils.wrapper.IWrapper;
|
|
|
-import com.fjhx.account.entity.account.dto.AccountDeptRunningWaterDetailDto;
|
|
|
-import cn.hutool.core.bean.BeanUtil;
|
|
|
import org.springframework.transaction.annotation.Transactional;
|
|
|
|
|
|
import java.util.List;
|
|
|
+import java.util.Objects;
|
|
|
import java.util.stream.Collectors;
|
|
|
|
|
|
|
|
@@ -142,42 +142,35 @@ public class AccountDeptRunningWaterDetailServiceImpl extends ServiceImpl<Accoun
|
|
|
this.removeById(id);
|
|
|
}
|
|
|
|
|
|
- //分拆功能 添加或者修改资金流水分拆部门表的数据
|
|
|
- private void saveOrEditAccountDeptRunningWaterDetail(AccountRunningWaterVo accountRunningWaterVo,
|
|
|
- AccountDeptRunningWater accountDeptRunningWater,
|
|
|
- List<AccountDeptRunningWaterDetail> deptRunningWaterDetailList
|
|
|
- ){
|
|
|
- //如果存在部门-资金流水关联表的ID则修改
|
|
|
- if (ObjectUtil.isNotEmpty(accountRunningWaterVo.getAccountDeptRunningWaterId())){
|
|
|
- accountDeptRunningWater.setId(accountRunningWaterVo.getAccountDeptRunningWaterId());
|
|
|
- accountDeptRunningWater.setType("20");
|
|
|
- accountDeptRunningWaterService.updateById(accountDeptRunningWater);
|
|
|
-
|
|
|
- //删除分拆部门表的数据
|
|
|
- //获取到有参数中有分拆部门详情表的ID
|
|
|
- List<Long> ids = deptRunningWaterDetailList.stream().map(deptRunningWaterDetail ->
|
|
|
- deptRunningWaterDetail.getId()).collect(Collectors.toList());
|
|
|
+ // 分拆功能 添加或者修改资金流水分拆部门表的数据
|
|
|
+ private void saveOrEditAccountDeptRunningWaterDetail(
|
|
|
+ AccountRunningWaterVo accountRunningWaterVo,
|
|
|
+ AccountDeptRunningWater accountDeptRunningWater,
|
|
|
+ List<AccountDeptRunningWaterDetail> deptRunningWaterDetailList) {
|
|
|
|
|
|
- //删除数据库中不包含参数中有分拆部门详情表的ID的数据
|
|
|
- this.remove(Wrappers.<AccountDeptRunningWaterDetail>lambdaQuery()
|
|
|
- .notIn(AccountDeptRunningWaterDetail::getId,ids).eq(AccountDeptRunningWaterDetail::getDeptRunningWaterId,
|
|
|
- accountRunningWaterVo.getAccountDeptRunningWaterId()));
|
|
|
+ Long accountDeptRunningWaterId = accountRunningWaterVo.getAccountDeptRunningWaterId();
|
|
|
|
|
|
- }else {
|
|
|
+ // 如果存在部门-资金流水关联表的ID则修改
|
|
|
+ if (ObjectUtil.isNotEmpty(accountDeptRunningWaterId)) {
|
|
|
+ accountDeptRunningWater.setId(accountDeptRunningWaterId);
|
|
|
+ accountDeptRunningWater.setType("20");
|
|
|
+ accountDeptRunningWaterService.updateById(accountDeptRunningWater);
|
|
|
+ } else {
|
|
|
accountDeptRunningWater.setRunningWaterId(accountRunningWaterVo.getId());
|
|
|
accountDeptRunningWater.setType("20");
|
|
|
accountDeptRunningWaterService.save(accountDeptRunningWater);
|
|
|
}
|
|
|
- //获取分拆部门详情中ID为null的数据
|
|
|
- deptRunningWaterDetailList = deptRunningWaterDetailList.stream()
|
|
|
- .filter(deptRunningWaterDetail->deptRunningWaterDetail.getId()==null)
|
|
|
- .collect(Collectors.toList());
|
|
|
|
|
|
- //添加资金流水分拆部门表中ID为null的数据
|
|
|
- deptRunningWaterDetailList.forEach(deptRunningWaterDetail->deptRunningWaterDetail
|
|
|
- .setDeptRunningWaterId(accountRunningWaterVo.getAccountDeptRunningWaterId()));
|
|
|
+ // 获取到有参数中有分拆部门详情表的ID
|
|
|
+ List<Long> ids = deptRunningWaterDetailList.stream().map(BaseIdPo::getId).filter(Objects::nonNull).collect(Collectors.toList());
|
|
|
+
|
|
|
+ // 删除数据库中不包含参数中有分拆部门详情表的ID的数据
|
|
|
+ this.remove(q -> q
|
|
|
+ .eq(AccountDeptRunningWaterDetail::getDeptRunningWaterId, accountDeptRunningWaterId)
|
|
|
+ .notIn(AccountDeptRunningWaterDetail::getId, ids));
|
|
|
|
|
|
- this.saveBatch(deptRunningWaterDetailList);
|
|
|
+ deptRunningWaterDetailList.forEach(deptRunningWaterDetail -> deptRunningWaterDetail.setDeptRunningWaterId(accountDeptRunningWaterId));
|
|
|
+ this.saveOrUpdateBatch(deptRunningWaterDetailList);
|
|
|
}
|
|
|
|
|
|
}
|