|
|
@@ -1,17 +1,22 @@
|
|
|
package org.dromara.backstage.cardCenter.service.impl;
|
|
|
|
|
|
+import cn.hutool.core.collection.CollectionUtil;
|
|
|
import cn.hutool.core.date.DateUtil;
|
|
|
import com.baomidou.mybatisplus.core.conditions.update.UpdateWrapper;
|
|
|
+import org.apache.dubbo.config.annotation.DubboReference;
|
|
|
import org.dromara.backstage.basics.domain.bo.PtAccountBo;
|
|
|
import org.dromara.backstage.basics.domain.vo.PtAccountVo;
|
|
|
import org.dromara.backstage.basics.mapper.PtAccountMapper;
|
|
|
import org.dromara.backstage.basics.service.IPtAccountService;
|
|
|
import org.dromara.backstage.cardCenter.domain.bo.PtSubsidyBo;
|
|
|
import org.dromara.backstage.cardCenter.domain.bo.PtSubsidyReportBo;
|
|
|
+import org.dromara.backstage.cardCenter.domain.vo.PtSubsidyFirstPageVo;
|
|
|
import org.dromara.backstage.cardCenter.domain.vo.PtSubsidyReportVo;
|
|
|
import org.dromara.backstage.payment.domain.PtUserAccount;
|
|
|
import org.dromara.backstage.payment.domain.vo.PtUserAccountVo;
|
|
|
import org.dromara.backstage.payment.mapper.PtUserAccountMapper;
|
|
|
+import org.dromara.common.core.service.DictService;
|
|
|
+import org.dromara.common.core.utils.DateUtils;
|
|
|
import org.dromara.common.core.utils.MapstructUtils;
|
|
|
import org.dromara.common.core.utils.StringUtils;
|
|
|
import org.dromara.common.mybatis.core.page.TableDataInfo;
|
|
|
@@ -20,6 +25,10 @@ import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
|
|
|
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
|
|
|
import com.baomidou.mybatisplus.core.toolkit.Wrappers;
|
|
|
import lombok.RequiredArgsConstructor;
|
|
|
+import org.dromara.common.satoken.utils.LoginHelper;
|
|
|
+import org.dromara.system.api.RemoteDictService;
|
|
|
+import org.dromara.system.api.model.LoginUser;
|
|
|
+import org.dromara.system.api.model.RoleDTO;
|
|
|
import org.springframework.stereotype.Service;
|
|
|
import org.dromara.backstage.cardCenter.domain.bo.PtSubsidyitemBo;
|
|
|
import org.dromara.backstage.cardCenter.domain.vo.PtSubsidyitemVo;
|
|
|
@@ -46,6 +55,8 @@ public class PtSubsidyitemServiceImpl implements IPtSubsidyitemService {
|
|
|
private final PtSubsidyitemMapper baseMapper;
|
|
|
private final PtUserAccountMapper userAccountMapper;
|
|
|
|
|
|
+ private final DictService dictService;
|
|
|
+
|
|
|
|
|
|
/**
|
|
|
* @param bo
|
|
|
@@ -210,4 +221,69 @@ public class PtSubsidyitemServiceImpl implements IPtSubsidyitemService {
|
|
|
|
|
|
return baseMapper.update(null, updateWrapper) > 0;
|
|
|
}
|
|
|
+
|
|
|
+ // 获取当前登录用户的角色,如果角色是管理员、补助管理员、补助发放、补助审核人员则返回数据,否则返回个人的补助列表信息
|
|
|
+ @Override
|
|
|
+ public List<PtSubsidyFirstPageVo> getPtSubsidyFirstPageVos() {
|
|
|
+ // 查询当前登录的人的角色
|
|
|
+ LoginUser loginUser = LoginHelper.getLoginUser();
|
|
|
+
|
|
|
+ List<RoleDTO> roles = loginUser.getRoles();
|
|
|
+ if (CollectionUtil.isEmpty(roles)) {
|
|
|
+ return queryPersonalSubsidyItem(loginUser);
|
|
|
+ }
|
|
|
+ // 查询字典
|
|
|
+ Map<String, String> showRole = dictService.getAllDictByDictType("dict_first_page_show_role");
|
|
|
+
|
|
|
+ boolean hasRole = false;
|
|
|
+ for (RoleDTO role : roles) {
|
|
|
+ String s = showRole.get(role.getRoleKey());
|
|
|
+ if(StringUtils.isNotBlank(s)){
|
|
|
+ hasRole = true;
|
|
|
+ break;
|
|
|
+ }
|
|
|
+ }
|
|
|
+
|
|
|
+ if(!hasRole){
|
|
|
+ return queryPersonalSubsidyItem(loginUser);
|
|
|
+ }
|
|
|
+
|
|
|
+ PtSubsidyReportBo bo = new PtSubsidyReportBo();
|
|
|
+ bo.setCountType("1"); // 统计方式 按月
|
|
|
+ PageQuery pageQuery = new PageQuery();
|
|
|
+ pageQuery.setPageNum(1);
|
|
|
+ pageQuery.setPageSize(12);
|
|
|
+
|
|
|
+ TableDataInfo<PtSubsidyReportVo> result = queryPageReportList(bo, pageQuery);
|
|
|
+
|
|
|
+ List<PtSubsidyFirstPageVo> list = result.getRows().stream().map(item -> {
|
|
|
+ PtSubsidyFirstPageVo vo = new PtSubsidyFirstPageVo();
|
|
|
+ vo.setFillDate(item.getFillDate());
|
|
|
+ vo.setFillMoney(item.getFillMoney());
|
|
|
+ vo.setCountNumber(item.getCountNumber());
|
|
|
+ vo.setFlag("count");
|
|
|
+ return vo;
|
|
|
+ }).collect(Collectors.toList());
|
|
|
+ return list;
|
|
|
+ }
|
|
|
+
|
|
|
+ // 查询个人的补助记录
|
|
|
+ private List<PtSubsidyFirstPageVo> queryPersonalSubsidyItem(LoginUser loginUser) {
|
|
|
+ List<PtSubsidyFirstPageVo> rs = new ArrayList<>();
|
|
|
+ List<PtSubsidyitemVo> ptSubsidyitemVos = baseMapper.selectItemByUserId(loginUser.getUserId(), 12);
|
|
|
+ for (PtSubsidyitemVo ptSubsidyitemVo : ptSubsidyitemVos) {
|
|
|
+ PtSubsidyFirstPageVo item = new PtSubsidyFirstPageVo();
|
|
|
+ item.setSubsidyName(ptSubsidyitemVo.getSubsidyName());
|
|
|
+ item.setFillDate(DateUtils.parseDateToStr("yyyy-MM-dd", ptSubsidyitemVo.getFillDate()));
|
|
|
+ item.setFillMoney(ptSubsidyitemVo.getFillMoney());
|
|
|
+ item.setCountNumber(1L);
|
|
|
+ item.setRealName(ptSubsidyitemVo.getRealName());
|
|
|
+ item.setDeptName(ptSubsidyitemVo.getDeptName());
|
|
|
+ item.setOperatorName(ptSubsidyitemVo.getOperatorName());
|
|
|
+ rs.add(item);
|
|
|
+ }
|
|
|
+
|
|
|
+ return rs;
|
|
|
+ }
|
|
|
+
|
|
|
}
|