fixbug:41803

This commit is contained in:
zhangqinlin
2021-11-01 17:43:05 +08:00
parent 9f2f28c268
commit 3eaa21bd7a
9 changed files with 216 additions and 51 deletions
@@ -329,7 +329,7 @@ public interface ISysBaseAPI extends CommonAPI {
* @param departId 部门id
* @return JSONObject
*/
List<String> getAllDepartIds(String departId,String orgCode,List<String> idList);
List<String> getAllDepartIds(String departId ,List<String> idList);
/**
* 发送短信验证码
*/
@@ -21,9 +21,9 @@ import java.util.List;
*/
public interface PayMailContractMapper extends BaseMapper<PayMailContract> {
IPage<PayMailContracrList> pageContract(Page<PayMailContracrList> page, @Param("payMailBillList") PayMailContracrList payMailContracrList);
IPage<PayMailContracrList> pageContract(Page<PayMailContracrList> page, @Param("payMailContracrList") PayMailContracrList payMailContracrList);
List<PayMailContracrList> pageContract(@Param("payMailBillList") PayMailContracrList payMailContracrList);
List<PayMailContracrList> pageContract(@Param("payMailContracrList") PayMailContracrList payMailContracrList);
List<PayMailContracrList> pageContractExcel(@Param(Constants.WRAPPER) QueryWrapper<PayMailContracrList> queryWrapper);
@@ -493,7 +493,7 @@
SELECT
tmps.id,
tmp.project_name AS projectName,
"" as principalName,
tmp.director_name as principalName,
tmps.company_name AS chargeCompanyTemporaryName,
tmps.amount_receivable as allMoney,
tmps.paid_amount as comeAllMoney,
@@ -503,9 +503,11 @@
FROM tb_member_project tmp left join tb_member_project_subitem tmps on(tmp.id=tmps.project_id)
left JOIN sys_user su on(tmps.liaison_man_id=su.id) left join sys_depart sd on(su.org_code=sd.org_code)
<where>
<!--标协项目没有负责人所以除最高权限都查不到 -->
<if test="idList != null and idList != ''">
tmps.id=99999999999999999999999
tmp.director_id in
<foreach item="item" open="(" separator="," close=")" collection="idList">
#{item}
</foreach>
</if>
<if test="allProjectStatisticsSearch.projectName != null and allProjectStatisticsSearch.projectName != ''">
AND tmp.project_name LIKE
@@ -516,7 +518,7 @@
concat('%',concat(#{allProjectStatisticsSearch.payStatue},'%'))
</if>
<if test="allProjectStatisticsSearch.principalNameId != null and allProjectStatisticsSearch.principalNameId != ''">
AND tmp.id=999999999999999999999
AND tmp.director_id=#{allProjectStatisticsSearch.principalNameId}
</if>
<if test="allProjectStatisticsSearch.departCode != null and allProjectStatisticsSearch.departCode != ''">
AND su.org_code =#{allProjectStatisticsSearch.departCode}
@@ -854,9 +856,11 @@
left JOIN sys_user su on(tmps.liaison_man_id=su.id) left join sys_depart sd on(su.org_code=sd.org_code)
<where>
<if test="ids!= null and ids != ''"> tmps.id in <foreach collection="ids" item="item" close=")" open="(" separator=",">#{item}</foreach> </if>
<!--标协项目没有负责人所以除最高权限都查不到 -->
<if test="idList != null and idList != ''">
tmps.id=99999999999999999999999
tmp.director_id in
<foreach item="item" open="(" separator="," close=")" collection="idList">
#{item}
</foreach>
</if>
<if test="allProjectStatisticsSearch.projectName != null and allProjectStatisticsSearch.projectName != ''">
AND tmp.project_name LIKE
@@ -867,7 +871,7 @@
concat('%',concat(#{allProjectStatisticsSearch.payStatue},'%'))
</if>
<if test="allProjectStatisticsSearch.principalNameId != null and allProjectStatisticsSearch.principalNameId != ''">
AND tmp.id=999999999999999999999
AND tmp.director_id in=#{allProjectStatisticsSearch.principalNameId}
</if>
<if test="allProjectStatisticsSearch.departCode != null and allProjectStatisticsSearch.departCode != ''">
AND su.org_code =#{allProjectStatisticsSearch.departCode}
@@ -1183,7 +1187,43 @@
<if test="principalPeopleSearch.principalId != null and principalPeopleSearch.principalId != ''">
AND pm.director_id=#{principalPeopleSearch.principalId}
</if>
</where> group by pm.director_id) pp
</where> group by pm.director_id
union all
SELECT
tmp.director_id as principalId,
tmp.director_name as principalName,
sum(tmps.allMoney) as allMoney,
sum(tmps.comeAllMoney) as comeAllMoney,
tmp.create_time as createTime,
max(tmps.payment_date) as payment_date
FROM tb_member_project tmp right join (
select id,project_id,SUM(amount_receivable) AS
allMoney,SUM(paid_amount) AS comeAllMoney,max(tmps2.payment_date) as payment_date
from
(select tmps1.id,tmps1.project_id,amount_receivable,paid_amount,max(ppr.payment_date) as payment_date from tb_member_project_subitem tmps1
inner join pay_payment_record ppr on(tmps1.id=ppr.project_id)
<if test="principalPeopleSearch.year !='' and principalPeopleSearch.year != null">
WHERE ppr.payment_date like concat('%',#{principalPeopleSearch.year},'%')
</if>
GROUP BY tmps1.id) tmps2 group by tmps2.project_id) tmps on(tmp.id=tmps.project_id)
left JOIN sys_user su on(tmp.director_id=su.id) left join sys_depart sd on(su.org_code=sd.org_code)
<where>
<if test="idList != null and idList != ''">
tmp.director_id in
<foreach item="item" open="(" separator="," close=")" collection="idList">
#{item}
</foreach>
</if>
<if test="principalPeopleSearch.departCode != null and principalPeopleSearch.departCode != ''">
AND su.org_code =#{principalPeopleSearch.departCode}
</if>
<if test="principalPeopleSearch.principalId != null and principalPeopleSearch.principalId != ''">
AND tmp.director_id=#{principalPeopleSearch.principalId}
</if>
</where> group by tmp.director_id
) pp
group by pp.principalId order by pp.createTime) ppp
<where>
@@ -1203,9 +1243,8 @@
</choose>
</where>
order by ppp.payment_date desc
</select>
<!--首页个人前十-->
<select id="queryPageListForPrincipalFirstPage" resultType="com.jero.statistics.entity.PrincipalPeopleList">
select principalId, principalName,allMoney,comeAllMoney,createTime,
CONCAT(CAST(ROUND((comeAllMoney/allMoney)*100,2) AS CHAR),'%') AS finishRate from
@@ -1282,8 +1321,25 @@
GROUP BY pm1s.id) pms1 group by pms1.meeting_id) pms on(pm.id=pms.meeting_id)
left JOIN sys_user su on(pm.director_id=su.id) left join sys_depart sd on(su.org_code=sd.org_code)
group by pm.director_id) pp
group by pm.director_id
union all
SELECT
tmp.director_id as principalId,
tmp.director_name as principalName,
sum(tmps.allMoney) as allMoney,
sum(tmps.comeAllMoney) as comeAllMoney,
tmp.create_time as createTime,
max(tmps.payment_date) as payment_date
FROM tb_member_project tmp right join (
select id,project_id,SUM(amount_receivable) AS
allMoney,SUM(paid_amount) AS comeAllMoney,max(tmps2.payment_date) as payment_date
from
(select tmps1.id,tmps1.project_id,amount_receivable,paid_amount,max(ppr.payment_date) as payment_date from tb_member_project_subitem tmps1
inner join pay_payment_record ppr on(tmps1.id=ppr.project_id)
GROUP BY tmps1.id) tmps2 group by tmps2.project_id) tmps on(tmp.id=tmps.project_id)
left JOIN sys_user su on(tmp.director_id=su.id) left join sys_depart sd on(su.org_code=sd.org_code)
group by tmp.director_id
) pp
group by pp.principalId order by pp.createTime) ppp order by ppp.comeAllMoney desc limit 10
</select>
<!-- 个人来款详情-->
@@ -1435,7 +1491,45 @@
</if>
</otherwise>
</choose>
</where>) pp
</where>
union ALL
SELECT
tmps.create_time as createTime,
tmps.id,
tmp.project_name as projectName,
tmp.director_id as principalId,
tmps.amount_receivable AS allMoney,
tmps.paid_amount AS comeAllMoney,
tmps.charge_use as chargeUse
FROM tb_member_project tmp inner join tb_member_project_subitem tmps on(tmp.id=tmps.project_id)
<where>
tmp.director_id = #{principalPeopleDetailSearch.principalNameId}
<if test="principalPeopleDetailSearch.projectName != null and principalPeopleDetailSearch.projectName != ''">
AND tmp.project_name LIKE
concat('%',concat(#{principalPeopleDetailSearch.projectName},'%'))
</if>
<if test="principalPeopleDetailSearch.chargeUse != null and principalPeopleDetailSearch.chargeUse != ''">
AND tmps.charge_use=#{principalPeopleDetailSearch.chargeUse}
</if>
<if test="principalPeopleDetailSearch.inAccountStatue != null and principalPeopleDetailSearch.inAccountStatue != ''">
AND tmps.in_account=#{principalPeopleDetailSearch.inAccountStatue}
</if>
<choose>
<when test="principalPeopleDetailSearch.allMoney != null and principalPeopleDetailSearch.allMoney != '' and principalPeopleDetailSearch.allMoneyTwo != null and principalPeopleDetailSearch.allMoneyTwo != ''">
AND tmps.amount_receivable >= #{principalPeopleDetailSearch.allMoney} and tmps.amount_receivable <![CDATA[<]]>=
#{principalPeopleDetailSearch.allMoneyTwo}
</when>
<otherwise>
<if test="principalPeopleDetailSearch.allMoney != null and principalPeopleDetailSearch.allMoney != ''">
AND tmps.amount_receivable >= #{principalPeopleDetailSearch.allMoney}
</if>
<if test="principalPeopleDetailSearch.allMoneyTwo != null and principalPeopleDetailSearch.allMoneyTwo != ''">
AND tmps.amount_receivable <![CDATA[<]]>= #{principalPeopleDetailSearch.allMoneyTwo}
</if>
</otherwise>
</choose>
</where>
) pp
inner join
<!-- 判断来款项目的来款年份-->
(select pwgs.id as id,max(ppr.payment_date) as payment_date
@@ -1471,7 +1565,16 @@
WHERE ppr.payment_date like
concat('%',#{principalPeopleDetailSearch.year},'%')
</if>
group by pms.id) pprr on(pp.id=pprr.id)
group by pms.id
union all
SELECT
tmps.id as id ,max(ppr.payment_date) as payment_date from tb_member_project_subitem tmps inner join pay_payment_record ppr on (tmps.id=ppr.project_id)
<if test="principalPeopleDetailSearch.year !='' and principalPeopleDetailSearch.year !=null">
WHERE ppr.payment_date like
concat('%',#{principalPeopleDetailSearch.year},'%')
</if>
group by tmps.id
) pprr on(pp.id=pprr.id)
order by pprr.payment_date desc
</select>
<!-- 个人来款详情导出ids-->
@@ -1809,7 +1912,10 @@
left join tb_member_project tmp on(tmp.id=tpms.project_id)
<where>
<if test="idList != null and idList != ''">
tpms.company_id =9999999999999999999999999999999999999999
tmp.director_id in
<foreach item="item" open="(" separator="," close=")" collection="idList">
#{item}
</foreach>
</if>
</where>
@@ -1925,9 +2031,7 @@
inner join pay_payment_record ppr on(tmp1s.id=ppr.project_id)
group by tmp1s.id) tpms
left join tb_member_project tmp on(tmp.id=tpms.project_id)
group by tpms.company_id) ppp
) pp
group by pp.chargeCompanyTemporaryId order by pp.createTime) ppp
order by ppp.comeAllMoney desc limit 10
@@ -2106,14 +2210,21 @@
</where>
union all
SELECT
tmps.create_time as createTime,
tmps.id AS projectId,
tmp.project_name AS projectName,
tmps.amount_receivable as allMoney,
tmps.paid_amount as comeAllMoney,
tmps.charge_use as chargeUse,
tmps.create_time as createTime
tmps.charge_use as chargeUse
FROM tb_member_project tmp left join tb_member_project_subitem tmps on(tmp.id=tmps.project_id)
<where>
tmps.company_id = #{CompanyComeMoneyDetailSearch.chargeCompanyId}
<if test="idList != null and idList != ''">
and tmp.director_id in
<foreach item="item" open="(" separator="," close=")" collection="idList">
#{item}
</foreach>
</if>
<if test="CompanyComeMoneyDetailSearch.projectName != null and CompanyComeMoneyDetailSearch.projectName != ''">
AND tmp.project_name LIKE
concat('%',concat(#{CompanyComeMoneyDetailSearch.projectName},'%'))
@@ -96,9 +96,9 @@ public interface IPayWorkingGroupService extends IService<PayWorkingGroup> {
* @Exception
*/
void setPayWorkingGroup(PayWorkingGroup payWorkingGroup);
/**
* 全所查询
*/
/**
* 全所查询
*/
IPage<AllProjectStatistics> queryPageList(Page<AllProjectStatistics> page , AllProjectStatisticsSearch allProjectStatisticsSearch, List<String> idList );
/**
* 全所查询导出
@@ -89,7 +89,11 @@ public class AllProjectStatisticsController {
idList = null;
//部门负责人
} else if (roleCodes.contains(constant.BMFZR)||roleCodes.contains(constant.SLD)) {
List<String> allDepartIds = sysBaseAPI.getAllDepartIds(sysUser.getDepartIds(),sysUser.getOrgCode(),idList);
//获取本部门及其所有下部部门所有成员(不包含最开始的部门下级成员)
List<String> allDepartIds = sysBaseAPI.getAllDepartIds(sysUser.getDepartIds(),idList);
//获取本部门成员
idList.addAll((userMapper.selectList(new QueryWrapper<SysUser>().eq("status", 1).eq("del_flag", 0).eq("org_code", sysUser.getOrgCode()))).stream().map(SysUser::getId).collect(Collectors.toList()));
idList.addAll(allDepartIds);//项目负责人
} else if (roleCodes.contains(constant.XMFZR)) {
String userId = sysUser.getId();
@@ -142,7 +146,7 @@ public class AllProjectStatisticsController {
* @param pageSize 条数
*/
@RequiresPermissions("projectPaymentStatistics:search")
@ApiOperation(value = "企业项目统计-分页列表查询", notes = "企业项目统计-详情分页列表查询")
@ApiOperation(value = "项目来款统计-分页列表查询", notes = "项目来款统计-详情分页列表查询")
@GetMapping(value = "/listProject")
public Result<?> listProject(AllProjectStatisticsSearch allProjectStatisticsSearch,
@RequestParam(name = "pageNo", defaultValue = "1") Integer pageNo,
@@ -161,7 +165,11 @@ public class AllProjectStatisticsController {
idList = null;
//部门负责人
} else if (roleCodes.contains(constant.BMFZR)||roleCodes.contains(constant.SLD)) {
List<String> allDepartIds = sysBaseAPI.getAllDepartIds(sysUser.getDepartIds(),sysUser.getOrgCode(),idList);
//获取本部门及其所有下部部门所有成员(不包含最开始的部门下级成员)
List<String> allDepartIds = sysBaseAPI.getAllDepartIds(sysUser.getDepartIds(),idList);
//获取本部门成员
idList.addAll((userMapper.selectList(new QueryWrapper<SysUser>().eq("status", 1).eq("del_flag", 0).eq("org_code", sysUser.getOrgCode()))).stream().map(SysUser::getId).collect(Collectors.toList()));
idList.addAll(allDepartIds);//项目负责人
} else if (roleCodes.contains(constant.XMFZR)) {
String userId = sysUser.getId();
@@ -230,7 +238,11 @@ public class AllProjectStatisticsController {
idList = null;
//部门负责人
} else if (roleCodes.contains(constant.BMFZR)||roleCodes.contains(constant.SLD)) {
List<String> allDepartIds = sysBaseAPI.getAllDepartIds(sysUser.getDepartIds(),sysUser.getOrgCode(),idList);
//获取本部门及其所有下部部门所有成员(不包含最开始的部门下级成员)
List<String> allDepartIds = sysBaseAPI.getAllDepartIds(sysUser.getDepartIds(),idList);
//获取本部门成员
idList.addAll((userMapper.selectList(new QueryWrapper<SysUser>().eq("status", 1).eq("del_flag", 0).eq("org_code", sysUser.getOrgCode()))).stream().map(SysUser::getId).collect(Collectors.toList()));
idList.addAll(allDepartIds);//项目负责人
} else if (roleCodes.contains(constant.XMFZR)) {
String userId = sysUser.getId();
@@ -270,8 +282,11 @@ public class AllProjectStatisticsController {
idList = null;
//部门负责人
} else if (roleCodes.contains(constant.BMFZR)||roleCodes.contains(constant.SLD)) {
String departIds = sysUser.getDepartIds();
List<String> allDepartIds = sysBaseAPI.getAllDepartIds(sysUser.getDepartIds(),sysUser.getOrgCode(),idList);
//获取本部门及其所有下部部门所有成员(不包含最开始的部门下级成员)
List<String> allDepartIds = sysBaseAPI.getAllDepartIds(sysUser.getDepartIds(),idList);
//获取本部门成员
idList.addAll((userMapper.selectList(new QueryWrapper<SysUser>().eq("status", 1).eq("del_flag", 0).eq("org_code", sysUser.getOrgCode()))).stream().map(SysUser::getId).collect(Collectors.toList()));
idList.addAll(allDepartIds);//项目负责人
} else if (roleCodes.contains(constant.XMFZR)) {
String userId = sysUser.getId();
@@ -304,9 +319,9 @@ public class AllProjectStatisticsController {
*
*/
@RequiresPermissions("projectPaymentStatistics:export")
@AutoLog(value = "企业项目统计-导出统计")
@AutoLog(value = "项目来款统计-导出统计")
@GetMapping(value = "/statistics/excelProject")
@ApiOperation(value = "企业项目统计-导出统计", notes = "企业项目统计-导出统计")
@ApiOperation(value = "项目来款统计-导出统计", notes = "项目来款统计-导出统计")
public ModelAndView excelProject( AllProjectStatisticsSearch allProjectStatisticsSearch) {
allProjectStatisticsSearch.setProjectName(oConvertUtils.replaceAllPercent(allProjectStatisticsSearch.getProjectName()));
allProjectStatisticsSearch.setChargeCompanyTemporaryName(oConvertUtils.replaceAllPercent(allProjectStatisticsSearch.getChargeCompanyTemporaryName()));
@@ -322,14 +337,18 @@ public class AllProjectStatisticsController {
idList = null;
//部门负责人
} else if (roleCodes.contains(constant.BMFZR)||roleCodes.contains(constant.SLD)) {
List<String> allDepartIds = sysBaseAPI.getAllDepartIds(sysUser.getDepartIds(),sysUser.getOrgCode(),idList);
//获取本部门及其所有下部部门所有成员(不包含最开始的部门下级成员)
List<String> allDepartIds = sysBaseAPI.getAllDepartIds(sysUser.getDepartIds(),idList);
//获取本部门成员
idList.addAll((userMapper.selectList(new QueryWrapper<SysUser>().eq("status", 1).eq("del_flag", 0).eq("org_code", sysUser.getOrgCode()))).stream().map(SysUser::getId).collect(Collectors.toList()));
idList.addAll(allDepartIds);
} else if (roleCodes.contains(constant.XMFZR)) {
String userId = sysUser.getId();
idList.add(userId);
} else {
ArrayList<AllProjectStatistics> objects = new ArrayList<>();
return AmountUtil.exportListXls(objects, AllProjectStatistics.class, "企业来款统计");
return AmountUtil.exportListXls(objects, AllProjectStatistics.class, "项目来款统计");
}
List<AllProjectStatistics> pageList = payWorkingGroupService.queryPageListExcel(allProjectStatisticsSearch, idList);
@@ -340,7 +359,7 @@ public class AllProjectStatisticsController {
s.setChargeUse_text(payment_charge_use);
}
}
return AmountUtil.exportListXls(pageList, AllProjectStatistics.class, "企业来款统计");
return AmountUtil.exportListXls(pageList, AllProjectStatistics.class, "项目来款统计");
}
@@ -76,7 +76,11 @@ public class CompanyComeMoneyStatisticsController {
idList = null;
//部门负责人
} else if (roleCodes.contains(constant.BMFZR)||roleCodes.contains(constant.SLD)) {
List<String> allDepartIds = sysBaseAPI.getAllDepartIds(sysUser.getDepartIds(),sysUser.getOrgCode(),idList);
//获取本部门及其所有下部部门所有成员(不包含最开始的部门下级成员)
List<String> allDepartIds = sysBaseAPI.getAllDepartIds(sysUser.getDepartIds(),idList);
//获取本部门成员
idList.addAll((userMapper.selectList(new QueryWrapper<SysUser>().eq("status", 1).eq("del_flag", 0).eq("org_code", sysUser.getOrgCode()))).stream().map(SysUser::getId).collect(Collectors.toList()));
idList.addAll(allDepartIds);
//项目负责人
} else if (roleCodes.contains(constant.XMFZR)) {
@@ -140,7 +144,11 @@ public class CompanyComeMoneyStatisticsController {
idList = null;
//部门负责人
} else if (roleCodes.contains(constant.BMFZR)||roleCodes.contains(constant.SLD)) {
List<String> allDepartIds = sysBaseAPI.getAllDepartIds(sysUser.getDepartIds(),sysUser.getOrgCode(),idList);
//获取本部门及其所有下部部门所有成员(不包含最开始的部门下级成员)
List<String> allDepartIds = sysBaseAPI.getAllDepartIds(sysUser.getDepartIds(),idList);
//获取本部门成员
idList.addAll((userMapper.selectList(new QueryWrapper<SysUser>().eq("status", 1).eq("del_flag", 0).eq("org_code", sysUser.getOrgCode()))).stream().map(SysUser::getId).collect(Collectors.toList()));
idList.addAll(allDepartIds);
//项目负责人
} else if (roleCodes.contains(constant.XMFZR)) {
@@ -203,7 +211,11 @@ public class CompanyComeMoneyStatisticsController {
idList = null;
//部门负责人
} else if (roleCodes.contains(constant.BMFZR)||roleCodes.contains(constant.SLD)) {
List<String> allDepartIds = sysBaseAPI.getAllDepartIds(sysUser.getDepartIds(),sysUser.getOrgCode(),idList);
//获取本部门及其所有下部部门所有成员(不包含最开始的部门下级成员)
List<String> allDepartIds = sysBaseAPI.getAllDepartIds(sysUser.getDepartIds(),idList);
//获取本部门成员
idList.addAll((userMapper.selectList(new QueryWrapper<SysUser>().eq("status", 1).eq("del_flag", 0).eq("org_code", sysUser.getOrgCode()))).stream().map(SysUser::getId).collect(Collectors.toList()));
idList.addAll(allDepartIds);//项目负责人
} else if (roleCodes.contains(constant.XMFZR)) {
String userId = sysUser.getId();
@@ -238,7 +250,11 @@ public class CompanyComeMoneyStatisticsController {
idList = null;
//部门负责人
} else if (roleCodes.contains(constant.BMFZR)||roleCodes.contains(constant.SLD)) {
List<String> allDepartIds = sysBaseAPI.getAllDepartIds(sysUser.getDepartIds(),sysUser.getOrgCode(),idList);
//获取本部门及其所有下部部门所有成员(不包含最开始的部门下级成员)
List<String> allDepartIds = sysBaseAPI.getAllDepartIds(sysUser.getDepartIds(),idList);
//获取本部门成员
idList.addAll((userMapper.selectList(new QueryWrapper<SysUser>().eq("status", 1).eq("del_flag", 0).eq("org_code", sysUser.getOrgCode()))).stream().map(SysUser::getId).collect(Collectors.toList()));
idList.addAll(allDepartIds);//项目负责人
} else if (roleCodes.contains(constant.XMFZR)) {
String userId = sysUser.getId();
@@ -52,6 +52,8 @@ import java.util.stream.Collectors;
@RequestMapping("/project/payWorkingGroupStatistics")
@Slf4j
public class PayWorkingGroupStatisticsController {
@Resource
private SysUserMapper userMapper;
@Autowired
private ISysBaseAPI sysBaseAPI;
@Autowired
@@ -87,7 +89,10 @@ public class PayWorkingGroupStatisticsController {
idList = null;
//部门负责人
} else if (roleCodes.contains(constant.BMFZR)||roleCodes.contains(constant.SLD)) {
List<String> allDepartIds = sysBaseAPI.getAllDepartIds(sysUser.getDepartIds(),sysUser.getOrgCode(),idList);
List<String> allDepartIds = sysBaseAPI.getAllDepartIds(sysUser.getDepartIds(),idList);
//获取本部门成员
idList.addAll((userMapper.selectList(new QueryWrapper<SysUser>().eq("status", 1).eq("del_flag", 0).eq("org_code", sysUser.getOrgCode()))).stream().map(SysUser::getId).collect(Collectors.toList()));
idList.addAll(allDepartIds);//项目负责人
} else if (roleCodes.contains(constant.XMFZR)) {
String userId = sysUser.getId();
@@ -153,7 +158,11 @@ public class PayWorkingGroupStatisticsController {
idList = null;
//部门负责人
} else if (roleCodes.contains(constant.BMFZR)||roleCodes.contains(constant.SLD)) {
List<String> allDepartIds = sysBaseAPI.getAllDepartIds(sysUser.getDepartIds(),sysUser.getOrgCode(),idList);
//获取本部门及其所有下部部门所有成员(不包含最开始的部门下级成员)
List<String> allDepartIds = sysBaseAPI.getAllDepartIds(sysUser.getDepartIds(),idList);
//获取本部门成员
idList.addAll((userMapper.selectList(new QueryWrapper<SysUser>().eq("status", 1).eq("del_flag", 0).eq("org_code", sysUser.getOrgCode()))).stream().map(SysUser::getId).collect(Collectors.toList()));
idList.addAll(allDepartIds);//项目负责人
} else if (roleCodes.contains(constant.XMFZR)) {
String userId = sysUser.getId();
@@ -191,7 +200,11 @@ public class PayWorkingGroupStatisticsController {
idList = null;
//部门负责人
} else if (roleCodes.contains(constant.BMFZR)||roleCodes.contains(constant.SLD)) {
List<String> allDepartIds = sysBaseAPI.getAllDepartIds(sysUser.getDepartIds(),sysUser.getOrgCode(),idList);
//获取本部门及其所有下部部门所有成员(不包含最开始的部门下级成员)
List<String> allDepartIds = sysBaseAPI.getAllDepartIds(sysUser.getDepartIds(),idList);
//获取本部门成员
idList.addAll((userMapper.selectList(new QueryWrapper<SysUser>().eq("status", 1).eq("del_flag", 0).eq("org_code", sysUser.getOrgCode()))).stream().map(SysUser::getId).collect(Collectors.toList()));
idList.addAll(allDepartIds);//项目负责人
} else if (roleCodes.contains(constant.XMFZR)) {
String userId = sysUser.getId();
@@ -80,7 +80,11 @@ public class PrincipalPeopleStatisticsController {
idList = null;
//部门负责人
} else if (roleCodes.contains(constant.BMFZR)||roleCodes.contains(constant.SLD)) {
List<String> allDepartIds = sysBaseAPI.getAllDepartIds(sysUser.getDepartIds(),sysUser.getOrgCode(),idList);
//获取本部门及其所有下部部门所有成员(不包含最开始的部门下级成员)
List<String> allDepartIds = sysBaseAPI.getAllDepartIds(sysUser.getDepartIds(),idList);
//获取本部门成员
idList.addAll((userMapper.selectList(new QueryWrapper<SysUser>().eq("status", 1).eq("del_flag", 0).eq("org_code", sysUser.getOrgCode()))).stream().map(SysUser::getId).collect(Collectors.toList()));
idList.addAll(allDepartIds);
//项目负责人
} else if (roleCodes.contains(constant.XMFZR)) {
@@ -193,7 +197,11 @@ public class PrincipalPeopleStatisticsController {
idList = null;
//部门负责人
} else if (roleCodes.contains(constant.BMFZR)||roleCodes.contains(constant.SLD)) {
List<String> allDepartIds = sysBaseAPI.getAllDepartIds(sysUser.getDepartIds(),sysUser.getOrgCode(),idList);
//获取本部门及其所有下部部门所有成员(不包含最开始的部门下级成员)
List<String> allDepartIds = sysBaseAPI.getAllDepartIds(sysUser.getDepartIds(),idList);
//获取本部门成员
idList.addAll((userMapper.selectList(new QueryWrapper<SysUser>().eq("status", 1).eq("del_flag", 0).eq("org_code", sysUser.getOrgCode()))).stream().map(SysUser::getId).collect(Collectors.toList()));
idList.addAll(allDepartIds);
//项目负责人
} else if (roleCodes.contains(constant.XMFZR)) {
@@ -1067,17 +1067,15 @@ public class SysBaseApiImpl implements ISysBaseAPI {
}
@Override
public List<String> getAllDepartIds(String departId,String orgcode,List<String> idList) {
//获取子部门全部成员(不包含本部门),会有重复id被加入ids
//获取本部门下全部子部门的全部成员(不包含本部门)
public List<String> getAllDepartIds(String departId,List<String> idList) {
List<SysDepartTreeModel> sysDepartTreeModels =listSonDepartsByDepId(departId);
if(!(sysDepartTreeModels.size()==0)) {
for (SysDepartTreeModel s : sysDepartTreeModels) {
idList.addAll((userMapper.selectList(new QueryWrapper<SysUser>().eq("status", 1).eq("del_flag", 0).eq("org_code", s.getOrgCode()))).stream().map(SysUser::getId).collect(Collectors.toList()));
getAllDepartIds(s.getId(),s.getOrgCode(),idList);
getAllDepartIds(s.getId(),idList);
}
//获取本部门成员
idList.addAll((userMapper.selectList(new QueryWrapper<SysUser>().eq("status", 1).eq("del_flag", 0).eq("org_code", orgcode))).stream().map(SysUser::getId).collect(Collectors.toList()));
return idList;
}
return idList;