Эх сурвалжийг харах

feat: 结算单下载-权限限制

lixuesong 1 жил өмнө
parent
commit
02122961c7

+ 12 - 1
hnqz-upms/hnqz-upms-biz/src/main/java/com/qunzhixinxi/hnqz/admin/controller/WmPayOffController.java

@@ -4,6 +4,7 @@ import cn.hutool.core.collection.CollUtil;
 import cn.hutool.core.collection.CollectionUtil;
 import cn.hutool.core.date.DatePattern;
 import cn.hutool.core.date.DateUtil;
+import cn.hutool.core.util.ArrayUtil;
 import cn.hutool.core.util.StrUtil;
 import com.baomidou.mybatisplus.core.toolkit.Wrappers;
 import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
@@ -11,6 +12,7 @@ import com.deepoove.poi.XWPFTemplate;
 import com.deepoove.poi.config.Configure;
 import com.deepoove.poi.policy.HackLoopTableRenderPolicy;
 import com.pig4cloud.plugin.excel.annotation.ResponseExcel;
+import com.qunzhixinxi.hnqz.admin.api.entity.SysDept;
 import com.qunzhixinxi.hnqz.admin.api.entity.SysDictItem;
 import com.qunzhixinxi.hnqz.admin.entity.SysDeptSub;
 import com.qunzhixinxi.hnqz.admin.entity.WmScorePackage;
@@ -19,11 +21,13 @@ import com.qunzhixinxi.hnqz.admin.entity.input.WmScorePackageSettleInput;
 import com.qunzhixinxi.hnqz.admin.entity.input.WmScorePackageSettleOutput;
 import com.qunzhixinxi.hnqz.admin.entity.model.excel.SettlementProofModel;
 import com.qunzhixinxi.hnqz.admin.entity.model.excel.WmScorePackageSettleExcelModel;
+import com.qunzhixinxi.hnqz.admin.enums.DeptPermissionEnum;
 import com.qunzhixinxi.hnqz.admin.enums.PackageFinishStatusEnum;
 import com.qunzhixinxi.hnqz.admin.enums.PackageTypeEnum;
 import com.qunzhixinxi.hnqz.admin.enums.SettleStatusEnum;
 import com.qunzhixinxi.hnqz.admin.enums.SubjectLocation;
 import com.qunzhixinxi.hnqz.admin.enums.SubjectTypeEnum;
+import com.qunzhixinxi.hnqz.admin.service.SysDeptService;
 import com.qunzhixinxi.hnqz.admin.service.SysDeptSubService;
 import com.qunzhixinxi.hnqz.admin.service.SysDictItemService;
 import com.qunzhixinxi.hnqz.admin.service.WmPayOffService;
@@ -85,6 +89,7 @@ public class WmPayOffController {
 	private final WmScorePackageService wmScorePackageService;
 	private final WmScorePackageSettleNoteService wmScorePackageSettleNoteService;
 	private final SysDeptSubService sysDeptSubService;
+	private final SysDeptService sysDeptService;
 	private final RedisTemplate<String, Object> redisTemplate;
 	private final SysDictItemService dictItemService;
 
@@ -406,6 +411,12 @@ public class WmPayOffController {
 	public void exportSettlementProof(@RequestParam("packageIds") List<String> packageIds, HttpServletResponse response) {
 		log.info("导出结算单参数packageIds={}", packageIds);
 
+		Integer deptId = SecurityUtils.getUser().getDeptId();
+		SysDept dept = sysDeptService.getById(deptId);
+		if (!ArrayUtil.contains(dept.getDeptPermissions(), DeptPermissionEnum.SETTLEMENT_PROOF.val())) {
+			throw new RuntimeException("没有权限");
+		}
+
 		// 查询积分包
 		List<WmScorePackage> scorePackageList = wmScorePackageService.listByIds(packageIds);
 		// 查询结算信息
@@ -426,7 +437,7 @@ public class WmPayOffController {
 
 		// 查询企业对应渠道的收款单位信息
 		SysDeptSub queryDeptSub = sysDeptSubService.getOne(Wrappers.<SysDeptSub>lambdaQuery()
-				.eq(SysDeptSub::getDeptId, SecurityUtils.getUser().getDeptId())
+				.eq(SysDeptSub::getDeptId, deptId)
 				.eq(SysDeptSub::getSubjectLocation, subjectLocation)
 				.eq(SysDeptSub::getEnableFlag, SubjectTypeEnum.ENABLE_FLAG_TRUE.getCode()));
 		if (queryDeptSub == null) {

+ 3 - 1
hnqz-upms/hnqz-upms-biz/src/main/java/com/qunzhixinxi/hnqz/admin/enums/DeptPermissionEnum.java

@@ -11,7 +11,9 @@ public enum DeptPermissionEnum {
 	/**
 	 * 部门权限类型:0:导出
 	 */
-	DEPT_EXPORT("0");
+	DEPT_EXPORT("0"),
+	SMS("1"),
+	SETTLEMENT_PROOF("2");
 
 	/**
 	 * 权限类型