ariesy 增加权限控制筛选

release
yefei 2 years ago
parent 0cecd31d98
commit ddc74d3f52
  1. 39
      dxhy-base/src/main/java/com/dxhy/base/controller/BaseInvoiceController.java
  2. 111
      dxhy-base/src/main/java/com/dxhy/base/dao/SysDeptDao.java
  3. 109
      dxhy-base/src/main/java/com/dxhy/base/entity/SysDeptEntity.java
  4. 2
      dxhy-base/src/main/java/com/dxhy/base/service/invoicecheck/BaseInvoiceManualCheckService.java
  5. 44
      dxhy-base/src/main/java/com/dxhy/base/service/invoicecheck/BaseInvoiceManualCheckServiceImpl.java
  6. 97
      dxhy-base/src/main/resources/mapper/SysDeptDao.xml

@ -581,24 +581,6 @@ public class BaseInvoiceController extends AbstractController {
// rates = convertRates(taxRate,rates);
pramsMap.put("taxRate",taxRate);
}
List<String> gfshList = new ArrayList<>();
if (!"99".equals(gfsh) && StringUtils.isNotBlank(gfsh)) {
gfshList.add(gfsh);
log.info("手工认证有税号");
} else {
gfshList = UserInfoUtil.getGfshAll(getUserInfo().getOrg());
log.info("手工认证无税号{}",UserInfoUtil.getGfshAll(getUserInfo().getOrg()));
}
pramsMap.put("gfsh", gfshList);
boolean flag = checkList(gfshList);
log.info("gfshList.size(){}",gfshList.size());
if (flag){
pramsMap.put("sign","88");
log.info("登陆账号无税号");
}
//所属组织
// List<String> companyCodeList = new ArrayList<>();
@ -608,8 +590,10 @@ public class BaseInvoiceController extends AbstractController {
// companyCodeList = getUserInfo().getCompanyCodes();
// log.info("获取到的组织信息{}",companyCodeList);
// }
List<String> companyCodes = getUserInfo().getCompanyCodes();
if (StringHelper.isNotBlank(companyCode) && "99".equals(companyCode)){
pramsMap.put("companyCodes",getUserInfo().getCompanyCodes());
pramsMap.put("companyCodes",companyCodes);
log.info("组织机构====>{}",pramsMap.get("companyCodes"));
}
if (StringUtils.isNotBlank(companyCode)){
@ -617,6 +601,18 @@ public class BaseInvoiceController extends AbstractController {
}
List<String> gfshList = new ArrayList<>();
if (!"99".equals(gfsh) && StringUtils.isNotBlank(gfsh)) {
gfshList.add(gfsh);
log.info("手工认证有税号");
} else {
gfshList = getGfshList(gfshList,companyCodes);
log.info("手工认证无税号{}",gfshList);
}
pramsMap.put("gfsh", gfshList);
if (!StringUtils.isBlank(invoiceType)) {
if (!"99".equals(invoiceType)) {
@ -709,6 +705,11 @@ public class BaseInvoiceController extends AbstractController {
}
private List<String> getGfshList(List<String> gfshList, List<String> companyCodes) {
gfshList = baseInvoiceManualCheckService.getGfshList(gfshList,companyCodes);
return gfshList;
}
private List<String> convertRates(String taxRate,List<String> rates) {
switch (taxRate) {
case "0":

@ -0,0 +1,111 @@
package com.dxhy.base.dao;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.dxhy.base.entity.SysDeptEntity;
import org.apache.ibatis.annotations.Mapper;
import org.apache.ibatis.annotations.Param;
import java.util.List;
/**
* 部门管理
*
* @author jiaohongyang
*/
@Mapper
public interface SysDeptDao extends BaseMapper<SysDeptEntity> {
/**
* 根据集团编码查询税号
*
* @author 陈刚扬
* @date 2020/12/4
* @param company
* @param orgType
* @return java.util.List<com.dxhy.admin.sys.entity.SysDeptEntity>
*/
List<SysDeptEntity> selectDeptByCompany(@Param("company") String company, @Param("orgType") String orgType);
/**
* 根据集团编码查询部门信息
*
* @param company
* 集团编码
* @return 部门信息
*/
List<SysDeptEntity> queryList(@Param("company") String company);
/**
* 根据集团编码查询用户关联部门信息
*
* @param company
* 集团编码
* @return 部门信息
*/
List<SysDeptEntity> queryListUser(@Param("company") String company);
/**
* 根据集团编码查询上级部门信息
*
* @param company
* 集团编码
* @return 部门信息
*/
List<SysDeptEntity> queryListParent(@Param("company") String company);
/**
* 查询子部门ID列表
*
* @param parentId
* 上级部门ID
* @return 部门信息
*/
List<Long> queryDetpIdList(@Param("parentId") Long parentId);
/**
* 根据上级ID查询部门信息
*
* @param parentId
* 集团编码
* @return 部门信息
*/
List<SysDeptEntity> queryDeptParentId(@Param("parentId") Long parentId);
/**
* 获取部门信息
*
* @return 部门信息
*/
List<SysDeptEntity> queryDeptList();
/**
* 根据集团编码修改部分信息
*
* @param company
* 集团编码
* @param isCollext
* 是否采集
* @param aceKey
* key
* @param aceId
* id
* @param dbName
* 数据库
* @param qsStatus
* 签收状态
*/
void updateDeptCompany(@Param("company") String company, @Param("isCollext") String isCollext,
@Param("aceKey") String aceKey, @Param("aceId") String aceId, @Param("dbName") String dbName,
@Param("qsStatus") String qsStatus);
List<String> getOrgCodeList(Long userId);
/**
* 查询id与税号对应list
*
* @return 部门信息
*/
List<SysDeptEntity> queryTaxnoList();
List<SysDeptEntity> queryParentIdList();
}

@ -0,0 +1,109 @@
package com.dxhy.base.entity;
import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import lombok.Data;
import java.io.Serializable;
import java.util.Date;
import java.util.List;
/**
* 部门管理
*
* @author jiaohongyang
*/
@Data
@TableName("sys_dept")
public class SysDeptEntity implements Serializable {
private static final long serialVersionUID = 1L;
/**
* 部门ID
*/
@TableId
private String deptId;
/**
* 上级部门ID一级部门为0
*/
private String parentId;
/**
* 部门名称
*/
private String name;
/**
* 上级部门名称
*/
@TableField(exist = false)
private String parentName;
private Integer orderNum;
private String taxno;
private String taxname;
private String linkman;
private String phone;
private String address;
private String bank;
private String account;
private String company;
private String orgType;
private String deptType;
private String upgradeStatus;
/**
* 是否查验 0-- 不查验 1---查验
*/
private String checkStatus;
/**
* 是否采集状态 0 -- 不采集 1--采集
*/
private String cjStatus;
/**
* 是否签收认证 0 -- 不签收认证 1 -- 签收认证
*/
private String qsStatus;
/**
* 所选数据库名称
*/
private String dbName;
/**
* 兼容大企业平台添加
*/
private String aceKey;
/**
* 兼容大企业平台添加
*/
private String aceId;
/**
* 是否采集全票面 0-- 不采集全票面 1--采集全票面
*/
private String isCollext;
/**
* 机构编码
*/
private String orgCode;
/**
* 地区编码
*/
private String areaCode;
/**
* 是否需要确认密码
*/
private String isPassword;
/**
* 确认密码
*/
private String password;
private Date updateTime;
private Date createTime;
private String autoRz;
private String productType;
@TableField(exist = false)
private List<SysDeptEntity> children;
}

@ -63,4 +63,6 @@ public interface BaseInvoiceManualCheckService extends MpBaseService<BaseTDxReco
String inTellingCheck(Map<String,Object> pramsMap);
List<String> getGfshList(List<String> gfshList,List<String> companyCode);
}

@ -9,12 +9,12 @@ import java.util.stream.Collectors;
import javax.annotation.Resource;
import com.dxhy.base.dao.SysDeptDao;
import com.dxhy.base.entity.SysDeptEntity;
import com.dxhy.common.constant.DictConstant;
import com.dxhy.common.utils.DateUtils;
import lombok.extern.slf4j.Slf4j;
import org.apache.commons.lang3.ObjectUtils;
import org.apache.commons.lang3.StringUtils;
import org.jetbrains.annotations.NotNull;
import org.springframework.stereotype.Service;
import com.alibaba.fastjson.JSONObject;
@ -28,8 +28,6 @@ import com.dxhy.base.model.BaseBeforegxRespVO;
import com.dxhy.base.model.BaseSggxCxRespVO;
import com.dxhy.common.constant.DbConstant;
import com.dxhy.common.datasource.config.DynamicContextHolder;
import com.dxhy.common.enums.FpqsjgEnum;
import com.dxhy.common.enums.QsfsEnum;
import com.dxhy.common.service.DictdetaServcice;
import com.dxhy.common.service.TabulateRedisService;
import com.dxhy.common.service.impl.MpBaseServiceImpl;
@ -37,7 +35,6 @@ import com.dxhy.common.util.AmountFormatUtil;
import com.dxhy.common.util.MathUtil;
import com.dxhy.common.util.StringHelper;
import com.dxhy.common.vo.Business;
import com.dxhy.common.vo.DictdetaModel;
import com.dxhy.common.vo.Tax;
import com.github.pagehelper.PageHelper;
import com.github.pagehelper.PageInfo;
@ -59,6 +56,8 @@ public class BaseInvoiceManualCheckServiceImpl extends MpBaseServiceImpl<BaseTDx
@Resource
private BaseTDxRecordInvoiceDao baseTDxRecordInvoiceDao;
@Resource
private SysDeptDao sysDeptDao;
@Resource
private DictdetaServcice dictdetaServcice;
@Resource
private TabulateRedisService tabulateRedisService;
@ -577,6 +576,41 @@ public class BaseInvoiceManualCheckServiceImpl extends MpBaseServiceImpl<BaseTDx
return super.responseResult(json);
}
@Override
public List<String> getGfshList(List<String> gfshList, List<String> companyCodes) {
DynamicContextHolder.push(DbConstant.BASICS_READ);
List<SysDeptEntity> taxnoList = sysDeptDao.queryTaxnoList();
List<SysDeptEntity> parentIdList = sysDeptDao.queryParentIdList();
Map<String, String> taxnoMap = taxnoList.stream().collect(Collectors.toMap(SysDeptEntity::getDeptId, SysDeptEntity::getTaxno));
Map<String, String> parentIdMap = parentIdList.stream().collect(Collectors.toMap(SysDeptEntity::getDeptId, SysDeptEntity::getParentId));
String gfsh = "";
for(String companyCode : companyCodes){
QueryWrapper<SysDeptEntity> wrapper = new QueryWrapper<>();
wrapper.eq("org_code",companyCode);
SysDeptEntity sysDeptEntity = sysDeptDao.selectOne(wrapper);
String dId = sysDeptEntity.getDeptId();
gfsh = getGfsh(dId,taxnoMap,parentIdMap);
}
log.info("购方税号为:{}",gfsh);
gfshList.add(gfsh);
return gfshList;
}
private String getGfsh(String deptId,Map<String, String> taxnoMap,Map<String, String> parentIdMap) {
String taxno = taxnoMap.get(deptId);
if(StringUtils.isEmpty(taxno)){
deptId = parentIdMap.get(deptId);
getGfsh(deptId,taxnoMap,parentIdMap);
}
return taxno;
}
public BaseSggxCxRespVO getBaseSggxCxRespVO(BaseTDxRecordInvoice baseTDxRecordInvoice, int count, List<String> taxnoList, List<Business> businessList) {
BaseSggxCxRespVO vo = new BaseSggxCxRespVO();
SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd");

@ -0,0 +1,97 @@
<?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.dxhy.base.dao.SysDeptDao">
<select id="queryList" resultType="com.dxhy.base.entity.SysDeptEntity">
select t1.*,(select t2.name from sys_dept t2 where t2.dept_id=t1.parent_id)parentName from sys_dept t1
where (t1.org_type != '8' and t1.org_type != '9')
<if test="company != null and company != '' and company != 'null'">
and t1.company = #{company}
</if>
</select>
<select id="queryListUser" resultType="com.dxhy.base.entity.SysDeptEntity">
select t1.*,(select t2.name from sys_dept t2 where t2.dept_id=t1.parent_id)parentName from sys_dept t1 where
and t1.org_type != '7' and t1.org_type != '8' and t1.org_type != '9' and t1.org_type != '3'
<if test="company != null and company != '' and company != 'null'">
and t1.company = #{company}
</if>
</select>
<select id="queryListParent" resultType="com.dxhy.base.entity.SysDeptEntity">
select t1.*,(select t2.name from sys_dept t2 where t2.dept_id=t1.parent_id)parentName from sys_dept t1 where
(t1.dept_type = '0' or t1.dept_type = '1')
<if test="company != null and company != '' and company != 'null'">
and t1.company = #{company}
</if>
</select>
<select id="queryDetpIdList" resultType="long">
select dept_id
from sys_dept
where parent_id = #{parentId}
</select>
<select id="queryDeptParentId" resultType="com.dxhy.base.entity.SysDeptEntity">
select *
from sys_dept
where parent_id = #{parentId}
</select>
<select id="queryDeptList" resultType="com.dxhy.base.entity.SysDeptEntity">
select *
from sys_dept
where cj_status = '1'
and org_type = '5'
</select>
<update id="updateDeptCompany">
update
sys_dept
set qs_status = #{qsStatus},
db_name = #{dbName},
ace_key = #{aceKey},
ace_id = #{aceId},
is_collext = #{isCollext}
where company = #{company}
and org_type != '1'
</update>
<select id="selectDeptByCompany" resultType="com.dxhy.base.entity.SysDeptEntity" databaseId="mysql">
select * from sys_dept
where company = #{company}
<if test="orgType!=null and orgType !=''">
and org_type = #{orgType}
</if>
order by org_code
</select>
<!-- group by taxno-->
<select id="selectDeptByCompany" resultType="com.dxhy.base.entity.SysDeptEntity" databaseId="oracle">
select * from sys_dept a
where
a.company=#{company}
<if test="orgType!=null and orgType !=''">
and a.org_type = #{orgType}
</if>
<if test='orgType!="1"'>
and a.dept_id = (select max(dept_id) from sys_dept b where a.taxno=b.taxno )
</if>
order by a.org_code
</select>
<select id="getOrgCodeList" parameterType="long" resultType="string">
select d.org_code
from sys_user_org o left join sys_dept d
on o.dept_id = d.dept_id
where o.userid = #{userId}
</select>
<select id="queryTaxnoList" resultType="com.dxhy.base.entity.SysDeptEntity">
select dept_id,taxno,name from sys_dept where taxno is not null and taxno != '';
</select>
<select id="queryParentIdList" resultType="com.dxhy.base.entity.SysDeptEntity">
select dept_id,parent_id,name from sys_dept;
</select>
</mapper>
Loading…
Cancel
Save