|
@@ -0,0 +1,150 @@
|
|
|
+package com.fjhx.account.service.account.impl;
|
|
|
+
|
|
|
+import cn.hutool.core.util.ObjectUtil;
|
|
|
+import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
|
|
|
+import com.baomidou.mybatisplus.core.toolkit.Wrappers;
|
|
|
+import com.fjhx.account.entity.account.po.AccountRequestFunds;
|
|
|
+import com.fjhx.account.entity.account.po.AccountRequestFundsDetail;
|
|
|
+import com.fjhx.account.mapper.account.AccountRequestFundsMapper;
|
|
|
+import com.fjhx.account.service.account.AccountRequestFundsDetailService;
|
|
|
+import com.fjhx.account.service.account.AccountRequestFundsService;
|
|
|
+import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
|
|
|
+import com.fjhx.common.entity.corporation.po.Corporation;
|
|
|
+import com.fjhx.common.service.corporation.CorporationService;
|
|
|
+import com.fjhx.file.utils.ObsFileUtil;
|
|
|
+import com.obs.services.internal.ServiceException;
|
|
|
+import com.ruoyi.common.core.domain.BasePo;
|
|
|
+import com.ruoyi.common.core.domain.entity.SysDept;
|
|
|
+import com.ruoyi.common.core.domain.entity.SysUser;
|
|
|
+import com.ruoyi.system.service.ISysDeptService;
|
|
|
+import com.ruoyi.system.service.ISysUserService;
|
|
|
+import com.ruoyi.system.utils.UserUtil;
|
|
|
+import org.abego.treelayout.internal.util.java.util.ListUtil;
|
|
|
+import org.apache.catalina.valves.Constants;
|
|
|
+import org.apache.commons.collections4.ListUtils;
|
|
|
+import org.checkerframework.checker.units.qual.A;
|
|
|
+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.AccountRequestFundsVo;
|
|
|
+import com.fjhx.account.entity.account.dto.AccountRequestFundsSelectDto;
|
|
|
+import com.ruoyi.common.utils.wrapper.IWrapper;
|
|
|
+import com.fjhx.account.entity.account.dto.AccountRequestFundsDto;
|
|
|
+import cn.hutool.core.bean.BeanUtil;
|
|
|
+
|
|
|
+import javax.swing.plaf.ListUI;
|
|
|
+import java.rmi.ServerException;
|
|
|
+import java.util.List;
|
|
|
+import java.util.Map;
|
|
|
+import java.util.stream.Collectors;
|
|
|
+
|
|
|
+
|
|
|
+/**
|
|
|
+ * <p>
|
|
|
+ * 请款表 服务实现类
|
|
|
+ * </p>
|
|
|
+ *
|
|
|
+ * @author
|
|
|
+ * @since 2023-04-10
|
|
|
+ */
|
|
|
+@Service
|
|
|
+public class AccountRequestFundsServiceImpl extends ServiceImpl<AccountRequestFundsMapper, AccountRequestFunds> implements AccountRequestFundsService {
|
|
|
+ @Autowired
|
|
|
+ private CorporationService corporationService;
|
|
|
+
|
|
|
+ @Autowired
|
|
|
+ private ISysDeptService sysDeptService;
|
|
|
+
|
|
|
+ @Autowired
|
|
|
+ private AccountRequestFundsDetailService accountRequestFundsDetailService;
|
|
|
+
|
|
|
+ @Autowired
|
|
|
+ private ISysUserService sysUserService;
|
|
|
+
|
|
|
+ /**
|
|
|
+ * 查询请款列表
|
|
|
+ * @param dto
|
|
|
+ * @return
|
|
|
+ */
|
|
|
+ @Override
|
|
|
+ public Page<AccountRequestFundsVo> getPage(AccountRequestFundsSelectDto dto) {
|
|
|
+ QueryWrapper<Object> wrapper = Wrappers.query();
|
|
|
+ wrapper.eq(ObjectUtil.isNotEmpty(dto.getType()),"arf.type",dto.getType());
|
|
|
+ wrapper.eq(ObjectUtil.isNotEmpty(dto.getStatus()),"arf.status",dto.getStatus());
|
|
|
+ Page<AccountRequestFundsVo> page = this.baseMapper.getPage(dto.getPage(), wrapper);
|
|
|
+ //查询公司名称信息
|
|
|
+ List<Corporation> corporationList = corporationService.list();
|
|
|
+ Map<Long, List<Corporation>> corporationMap = corporationList.stream().collect(Collectors.groupingBy(Corporation::getId));
|
|
|
+
|
|
|
+ //查询部门信息
|
|
|
+ List<SysDept> sysDeptList = sysDeptService.list();
|
|
|
+ Map<Long, List<SysDept>> sysDeptMap = sysDeptList.stream().collect(Collectors.groupingBy(SysDept::getDeptId));
|
|
|
+
|
|
|
+
|
|
|
+ //赋值部门名称、归属公司名称
|
|
|
+ List<AccountRequestFundsVo> records = page.getRecords();
|
|
|
+ for (AccountRequestFundsVo record : records) {
|
|
|
+ List<SysDept> sysDepts = sysDeptMap.get(record.getDepartmentId());
|
|
|
+ if (ObjectUtil.isNotEmpty(sysDepts)){
|
|
|
+ record.setDeptName(sysDepts.get(0).getDeptName());
|
|
|
+ }
|
|
|
+ List<Corporation> corporations = corporationMap.get(record.getCorporationId());
|
|
|
+ if (ObjectUtil.isNotEmpty(corporations)){
|
|
|
+ record.setCorporationName(corporations.get(0).getName());
|
|
|
+ }
|
|
|
+
|
|
|
+ }
|
|
|
+
|
|
|
+ // 赋值用户名称
|
|
|
+ UserUtil.assignmentNickName(records, BasePo::getCreateUser,AccountRequestFundsVo::setUserName);
|
|
|
+
|
|
|
+ return page;
|
|
|
+ }
|
|
|
+
|
|
|
+ /**
|
|
|
+ * 查询请款详情
|
|
|
+ * @param id
|
|
|
+ * @return
|
|
|
+ */
|
|
|
+ @Override
|
|
|
+ public AccountRequestFundsVo detail(Long id){
|
|
|
+ AccountRequestFunds accountRequestFunds = this.getById(id);
|
|
|
+ AccountRequestFundsVo accountRequestFundsVo = BeanUtil.toBean(accountRequestFunds, AccountRequestFundsVo.class);
|
|
|
+ //查询归属公司的名称
|
|
|
+ Corporation corporation = corporationService.getById(accountRequestFundsVo.getCorporationId());
|
|
|
+ if (ObjectUtil.isNotEmpty(corporation)){
|
|
|
+ throw new ServiceException("没有找到归属公司信息");
|
|
|
+ }
|
|
|
+ accountRequestFundsVo.setCorporationName(corporation.getName());
|
|
|
+
|
|
|
+ //查询部门名称信息
|
|
|
+ SysDept sysDept = sysDeptService.getById(accountRequestFundsVo.getDepartmentId());
|
|
|
+ if (ObjectUtil.isNotEmpty(sysDept)){
|
|
|
+ throw new ServiceException("没有找到归属部门信息");
|
|
|
+ }
|
|
|
+ accountRequestFundsVo.setDeptName(sysDept.getDeptName());
|
|
|
+
|
|
|
+ //获取到请款明细信息
|
|
|
+ List<AccountRequestFundsDetail> accountRequestFundsDetailList = accountRequestFundsDetailService
|
|
|
+ .list(Wrappers.<AccountRequestFundsDetail>lambdaQuery()
|
|
|
+ .eq(AccountRequestFundsDetail::getAccountRequestFundsId, accountRequestFunds.getId()));
|
|
|
+ accountRequestFundsVo.setAccountRequestFundsDetailList(accountRequestFundsDetailList);
|
|
|
+ return accountRequestFundsVo;
|
|
|
+ }
|
|
|
+
|
|
|
+ @Override
|
|
|
+ public void add(AccountRequestFundsDto accountRequestFundsDto) {
|
|
|
+ this.save(accountRequestFundsDto);
|
|
|
+ }
|
|
|
+
|
|
|
+ @Override
|
|
|
+ public void edit(AccountRequestFundsDto accountRequestFundsDto) {
|
|
|
+ this.updateById(accountRequestFundsDto);
|
|
|
+ }
|
|
|
+
|
|
|
+ @Override
|
|
|
+ public void delete(Long id) {
|
|
|
+ this.removeById(id);
|
|
|
+ }
|
|
|
+
|
|
|
+}
|