Parcourir la source

feat: 企业管理/客户数据管理

lixuesong il y a 1 an
Parent
commit
a4f3fc88e4

+ 18 - 1
hnqz-upms/hnqz-upms-api/src/main/java/com/qunzhixinxi/hnqz/admin/api/entity/SysDept.java

@@ -79,7 +79,11 @@ public class SysDept extends Model<SysDept> {
 	@TableLogic
 	private String delFlag;
 
-
+	/**
+	 * 是否启用名称
+	 */
+	@TableField(exist = false)
+	private String delFlagName;
 
 	/**
 	 *
@@ -89,6 +93,13 @@ public class SysDept extends Model<SysDept> {
 	 * 级别
 	 */
 	private Integer level;
+
+	/**
+	 * 级别名称(企业类型)
+	 */
+	@TableField(exist = false)
+	private String levelName;
+
 	/**
 	 * 药企名称
 	 */
@@ -164,4 +175,10 @@ public class SysDept extends Model<SysDept> {
 	@TableField(exist = false)
 	private String csmNames;
 
+	/**
+	 * 上级企业名称
+	 */
+	@TableField(exist = false)
+	private String superDeptName;
+
 }

+ 41 - 17
hnqz-upms/hnqz-upms-biz/src/main/java/com/qunzhixinxi/hnqz/admin/controller/SysDeptController.java

@@ -15,7 +15,9 @@ import com.qunzhixinxi.hnqz.admin.entity.WmDaDrugEnt;
 import com.qunzhixinxi.hnqz.admin.entity.WmDeptRegulations;
 import com.qunzhixinxi.hnqz.admin.enums.DelEnum;
 import com.qunzhixinxi.hnqz.admin.enums.DeptLevelEnum;
+import com.qunzhixinxi.hnqz.admin.enums.EnableEnum;
 import com.qunzhixinxi.hnqz.admin.mapper.SysDeptCsmMapper;
+import com.qunzhixinxi.hnqz.admin.mapper.SysDeptRelationMapper;
 import com.qunzhixinxi.hnqz.admin.mapper.SysUserMapper;
 import com.qunzhixinxi.hnqz.admin.service.SysDeptRelationService;
 import com.qunzhixinxi.hnqz.admin.service.SysDeptService;
@@ -40,6 +42,7 @@ import java.util.ArrayList;
 import java.util.HashMap;
 import java.util.List;
 import java.util.Map;
+import java.util.Objects;
 import java.util.Set;
 import java.util.stream.Collectors;
 
@@ -70,6 +73,8 @@ public class SysDeptController {
 
 	private final SysUserMapper sysUserMapper;
 
+	private final SysDeptRelationMapper sysDeptRelationMapper;
+
 	/**
 	 * 获取登录用户企业的有效期
 	 *
@@ -539,6 +544,23 @@ public class SysDeptController {
 				List<SysUser> users = sysUserMapper.selectBatchIds(userIds);
 				record.setCsmNames(users.stream().map(SysUser::getRealname).collect(Collectors.joining(";")));
 			}
+			// 是否启用
+			if (StrUtil.isNotBlank(record.getDelFlag())) {
+				record.setDelFlagName(Objects.requireNonNull(EnableEnum.getByVal(record.getDelFlag())).getDesc());
+			}
+			// 企业类型
+			if (record.getLevel() != null) {
+				record.setLevelName(Objects.requireNonNull(DeptLevelEnum.getEnumByVal(record.getLevel())).getName());
+			}
+			// 上级企业
+			List<SysDeptRelation> deptRelations = sysDeptRelationMapper.selectList(Wrappers.<SysDeptRelation>lambdaQuery()
+					.eq(SysDeptRelation::getDescendant, record.getDeptId())
+					.notIn(SysDeptRelation::getAncestor, record.getDeptId(), 1));
+			if (CollUtil.isNotEmpty(deptRelations)) {
+				Set<Integer> superDeptIds = deptRelations.stream().map(SysDeptRelation::getAncestor).collect(Collectors.toSet());
+				List<SysDept> depts = sysDeptService.listByIds(superDeptIds);
+				record.setSuperDeptName(depts.stream().map(SysDept::getName).collect(Collectors.joining(",")));
+			}
 		});
 
 		return R.ok(page);
@@ -554,25 +576,27 @@ public class SysDeptController {
 	@PostMapping("/assign-cms-to-dept")
 	public R<?> assignCmsToDept(@RequestBody Map<String, Object> params) {
 		List<Integer> cmsUserIds = (List<Integer>) params.get("userIds");
-		Integer deptId = (Integer) params.get("deptId");
-		if (CollUtil.isEmpty(cmsUserIds) || deptId == null) {
-			return R.failed("userIds和deptId必填");
+		List<Integer> deptIds = (List<Integer>) params.get("deptIds");
+		if (CollUtil.isEmpty(cmsUserIds) || CollUtil.isEmpty(deptIds)) {
+			return R.failed("userIds和deptIds必填");
 		}
 
-		cmsUserIds.forEach(userId -> {
-			Integer count = sysDeptCsmMapper.selectCount(Wrappers.<SysDeptCsm>lambdaQuery()
-					.eq(SysDeptCsm::getDeptId, deptId)
-					.eq(SysDeptCsm::getUserId, userId));
-			if (count <= 0) {
-				SysUser user = sysUserMapper.selectById(userId);
-				SysDeptCsm insert = new SysDeptCsm();
-				insert.setDeptId(deptId);
-				insert.setUserId(userId);
-				insert.setCsmName(user.getRealname());
-				insert.setQrCodeId(" ");
-				insert.setCorpId(" ");
-				sysDeptCsmMapper.insert(insert);
-			}
+		deptIds.forEach(deptId -> {
+			cmsUserIds.forEach(userId -> {
+				Integer count = sysDeptCsmMapper.selectCount(Wrappers.<SysDeptCsm>lambdaQuery()
+						.eq(SysDeptCsm::getDeptId, deptId)
+						.eq(SysDeptCsm::getUserId, userId));
+				if (count <= 0) {
+					SysUser user = sysUserMapper.selectById(userId);
+					SysDeptCsm insert = new SysDeptCsm();
+					insert.setDeptId(deptId);
+					insert.setUserId(userId);
+					insert.setCsmName(user.getRealname());
+					insert.setQrCodeId(" ");
+					insert.setCorpId(" ");
+					sysDeptCsmMapper.insert(insert);
+				}
+			});
 		});
 
 		return R.ok(Boolean.TRUE);

+ 225 - 93
hnqz-upms/hnqz-upms-biz/src/main/java/com/qunzhixinxi/hnqz/admin/controller/WmScorePackageController.java

@@ -1385,17 +1385,27 @@ public class WmScorePackageController {
 	}
 
 	/**
-	 * 分页查询积分管理信息 二期   业务平台
+	 * BC-企业承接任务
+	 *
+	 * @param current          当前页
+	 * @param size             每页大小
+	 * @param deptId           部门ID
+	 * @param scorePackageName 积分包名称
+	 * @param acceptSug        接包对象
+	 * @param allocationDate   分配日期
+	 * @param endLabelDate     结束标签日期
+	 * @return {@link R}<{@link ?}> 结果
 	 */
-	@GetMapping("/selectWmScorePackageLists")
-	public R<?> selectWmScorePackageList(@RequestParam(value = "current") Integer current,
+	@GetMapping("/selectWmScorePackageListsForBC")
+	public R<?> selectWmScorePackageListForBC(@RequestParam(value = "current") Integer current,
 										 @RequestParam(value = "size") Integer size,
+										 @RequestParam(value = "deptId") Integer deptId,
 										 @RequestParam(value = "scorePackageName", required = false) String scorePackageName,
 										 @RequestParam(value = "acceptSug", required = false) String acceptSug,
 										 @RequestParam(value = "allocationDate", required = false) LocalDate allocationDate,
 										 @RequestParam(value = "endLabelDate", required = false) LocalDate endLabelDate) {
 
-		Page<WmScorePackage> pageAnswer = wmScorePackageService.selectWmScorePackageLists(new Page<>(current, size),
+		Page<WmScorePackage> pageAnswer = wmScorePackageService.selectWmScorePackageLists(new Page<>(current, size), deptId,
 				scorePackageName, acceptSug, allocationDate, endLabelDate);
 
 		//根据积分包id查询计算完成积分值 已付积分值
@@ -1442,6 +1452,21 @@ public class WmScorePackageController {
 		return R.ok(pageAnswer);
 	}
 
+	/**
+	 * 分页查询积分管理信息 二期   业务平台
+	 */
+	@GetMapping("/selectWmScorePackageLists")
+	public R<?> selectWmScorePackageList(@RequestParam(value = "current") Integer current,
+										 @RequestParam(value = "size") Integer size,
+										 @RequestParam(value = "scorePackageName", required = false) String scorePackageName,
+										 @RequestParam(value = "acceptSug", required = false) String acceptSug,
+										 @RequestParam(value = "allocationDate", required = false) LocalDate allocationDate,
+										 @RequestParam(value = "endLabelDate", required = false) LocalDate endLabelDate) {
+		Integer deptId = SecurityUtils.getUser().getDeptId();
+
+		return this.selectWmScorePackageListForBC(current, size, deptId, scorePackageName, acceptSug, allocationDate, endLabelDate);
+	}
+
 	/**
 	 * 获取关联积分包名称 二期  业务平台
 	 *
@@ -2519,9 +2544,11 @@ public class WmScorePackageController {
 	 *
 	 * @param acceptUser 接单对象,模糊查询
 	 */
-	@GetMapping("/getScorePackagePage")
-	public R<?> getScorePackagePage(@RequestParam(value = "current") Integer current,
+	@GetMapping("/getScorePackagePageForBC")
+	public R<?> getScorePackagePageForBC(@RequestParam(value = "current") Integer current,
 									@RequestParam(value = "size") Integer size,
+									@RequestParam(value = "deptId") Integer deptId,
+								 	Integer userId,
 									@RequestParam(value = "packageType1") Integer packageType1,
 									@RequestParam(value = "packageType2") Integer packageType2,
 									@RequestParam(value = "scorePackageName", required = false) String scorePackageName,
@@ -2535,8 +2562,6 @@ public class WmScorePackageController {
 									@RequestParam(value = "packageUserScope", required = false) String packageUserScope
 	) {
 
-		Integer sendDeptId = SecurityUtils.getUser().getDeptId();
-		Integer userId = SecurityUtils.getUser().getId();
 
 		LocalDateTime start = null;
 		LocalDateTime end = null;
@@ -2552,7 +2577,7 @@ public class WmScorePackageController {
 				.eq("p.package_type1", packageType1)
 				.eq("p.package_type2", packageType2)
 				.eq(scorePackageStatus != null, "p.score_package_status", scorePackageStatus)
-				.eq("p.send_package_dept_id", sendDeptId)
+				.eq("p.send_package_dept_id", deptId)
 				.between(start != null && end != null, "p.create_time", start, end);
 
 		if (StrUtil.isNotBlank(scorePackageName)) {
@@ -2571,32 +2596,32 @@ public class WmScorePackageController {
 			queryWrapper.eq("p.package_user_scope", packageUserScope);
 		}
 
-		boolean onePersonScorePackageFlag = PackageTypeEnum.TYPE1_SCOTE_PACKAGE.val().equals(String.valueOf(packageType1))
-				&& PackageTypeEnum.TYPE2_TASK_PACKAGE.val().equals(String.valueOf(packageType2));
-		boolean multiPersonScorePackageFlag = PackageTypeEnum.TYPE1_SCORE_AND_TASK_PACKAGE.val().equals(String.valueOf(packageType1))
-				&& PackageTypeEnum.TYPE2_SETTLE_PACKAGE.val().equals(String.valueOf(packageType2));
-		if (onePersonScorePackageFlag || multiPersonScorePackageFlag) {
-			// 如果是个人承接-按积分值/多人承接-按积分值,判断当前用户是否配置了团队负责人
-			List<WmTeam> teamList = wmTeamService.list(Wrappers.<WmTeam>lambdaQuery()
-					.eq(WmTeam::getDeptId, sendDeptId)
-					.eq(WmTeam::getEnableFlag, EnableEnum.ENABLE.val())
-					.eq(WmTeam::getDelFlag, DelEnum.NOT_DEL.val())
-					.apply("FIND_IN_SET({0}, leader)", String.valueOf(userId)));
-			if (CollectionUtil.isNotEmpty(teamList)) {
-				// 如果配置了,则只查询所在团队下发的积分包
-				List<String> teamIdList = teamList.stream().map(wmTeam -> String.valueOf(wmTeam.getId())).collect(Collectors.toList());
-				queryWrapper.in("p.package_user_scope", teamIdList);
+		if (userId != null) {
+			boolean onePersonScorePackageFlag = PackageTypeEnum.TYPE1_SCOTE_PACKAGE.val().equals(String.valueOf(packageType1))
+					&& PackageTypeEnum.TYPE2_TASK_PACKAGE.val().equals(String.valueOf(packageType2));
+			boolean multiPersonScorePackageFlag = PackageTypeEnum.TYPE1_SCORE_AND_TASK_PACKAGE.val().equals(String.valueOf(packageType1))
+					&& PackageTypeEnum.TYPE2_SETTLE_PACKAGE.val().equals(String.valueOf(packageType2));
+			if (onePersonScorePackageFlag || multiPersonScorePackageFlag) {
+				// 如果是个人承接-按积分值/多人承接-按积分值,判断当前用户是否配置了团队负责人
+				List<WmTeam> teamList = wmTeamService.list(Wrappers.<WmTeam>lambdaQuery()
+						.eq(WmTeam::getDeptId, deptId)
+						.eq(WmTeam::getEnableFlag, EnableEnum.ENABLE.val())
+						.eq(WmTeam::getDelFlag, DelEnum.NOT_DEL.val())
+						.apply("FIND_IN_SET({0}, leader)", String.valueOf(userId)));
+				if (CollectionUtil.isNotEmpty(teamList)) {
+					// 如果配置了,则只查询所在团队下发的积分包
+					List<String> teamIdList = teamList.stream().map(wmTeam -> String.valueOf(wmTeam.getId())).collect(Collectors.toList());
+					queryWrapper.in("p.package_user_scope", teamIdList);
+				}
 			}
 		}
 
-		long startMillis = System.currentTimeMillis();
 		Page<WmScorePackage> wmScorePackagePage = wmScorePackageMapper.listScorePackage(new Page<>(current, size),
 				queryWrapper.orderByDesc("p.create_time"), acceptUser, relationScoreId, toApproval);
 
 		List<WmScorePackage> pageRecords = wmScorePackagePage.getRecords();
 
 		if (CollUtil.isNotEmpty(pageRecords)) {
-			long buildStartMillis = System.currentTimeMillis();
 
 			Set<String> packageIds = pageRecords.stream().map(WmScorePackage::getId).collect(Collectors.toSet());
 
@@ -2659,26 +2684,53 @@ public class WmScorePackageController {
 	}
 
 	/**
-	 * 积分包列表-其他(用于MAH结算:药企查询下级提交的)
+	 * 分配积分列表查询--派工平台
 	 *
 	 * @param acceptUser 接单对象,模糊查询
 	 */
-	@GetMapping("/getScorePackagePageForMah")
-	public R getScorePackagePageForMah(@RequestParam(value = "current") Integer current,
-								 @RequestParam(value = "size") Integer size,
-								 @RequestParam(value = "packageType1") Integer packageType1,
-								 @RequestParam(value = "packageType2") Integer packageType2,
-								 @RequestParam(value = "scorePackageName", required = false) String scorePackageName,
-								 @RequestParam(value = "scorePackageStatus", required = false) Integer scorePackageStatus,
-								 @RequestParam(value = "typeid", required = false) String typeId,
-								 @RequestParam(value = "monthStart", required = false) String monthStart,
-								 @RequestParam(value = "monthEnd", required = false) String monthEnd,
-								 @RequestParam(value = "acceptUser", required = false) String acceptUser,
-								 @RequestParam(value = "relationScoreId", required = false) String relationScoreId,
-								 @RequestParam(value = "toApproval", required = false) Boolean toApproval
+	@GetMapping("/getScorePackagePage")
+	public R<?> getScorePackagePage(@RequestParam(value = "current") Integer current,
+									@RequestParam(value = "size") Integer size,
+									@RequestParam(value = "packageType1") Integer packageType1,
+									@RequestParam(value = "packageType2") Integer packageType2,
+									@RequestParam(value = "scorePackageName", required = false) String scorePackageName,
+									@RequestParam(value = "scorePackageStatus", required = false) Integer scorePackageStatus,
+									@RequestParam(value = "typeid", required = false) String typeId,
+									@RequestParam(value = "monthStart", required = false) String monthStart,
+									@RequestParam(value = "monthEnd", required = false) String monthEnd,
+									@RequestParam(value = "acceptUser", required = false) String acceptUser,
+									@RequestParam(value = "relationScoreId", required = false) String relationScoreId,
+									@RequestParam(value = "toApproval", required = false) Boolean toApproval,
+									@RequestParam(value = "packageUserScope", required = false) String packageUserScope
 	) {
 
 		Integer sendDeptId = SecurityUtils.getUser().getDeptId();
+		Integer userId = SecurityUtils.getUser().getId();
+
+		return this.getScorePackagePageForBC(current, size, sendDeptId, userId, packageType1, packageType2, scorePackageName, scorePackageStatus,
+				typeId, monthStart, monthEnd, acceptUser, relationScoreId, toApproval, packageUserScope);
+	}
+
+	/**
+	 * 积分包列表-其他(用于MAH结算:药企查询下级提交的) 用于BC
+	 *
+	 * @param acceptUser 接单对象,模糊查询
+	 */
+	@GetMapping("/getScorePackagePageForMahForBC")
+	public R getScorePackagePageForMahForBC(@RequestParam(value = "current") Integer current,
+									   @RequestParam(value = "size") Integer size,
+									   @RequestParam(value = "deptId") Integer deptId,
+									   @RequestParam(value = "packageType1") Integer packageType1,
+									   @RequestParam(value = "packageType2") Integer packageType2,
+									   @RequestParam(value = "scorePackageName", required = false) String scorePackageName,
+									   @RequestParam(value = "scorePackageStatus", required = false) Integer scorePackageStatus,
+									   @RequestParam(value = "typeid", required = false) String typeId,
+									   @RequestParam(value = "monthStart", required = false) String monthStart,
+									   @RequestParam(value = "monthEnd", required = false) String monthEnd,
+									   @RequestParam(value = "acceptUser", required = false) String acceptUser,
+									   @RequestParam(value = "relationScoreId", required = false) String relationScoreId,
+									   @RequestParam(value = "toApproval", required = false) Boolean toApproval
+	) {
 
 		LocalDateTime start = null;
 		LocalDateTime end = null;
@@ -2694,7 +2746,7 @@ public class WmScorePackageController {
 				.eq("p.package_type1", packageType1)
 				.eq("p.package_type2", packageType2)
 				.eq(scorePackageStatus != null, "p.score_package_status", scorePackageStatus)
-				.eq("p.mah_settle_dept_id", sendDeptId)
+				.eq("p.mah_settle_dept_id", deptId)
 				.in("p.mah_settle_step", UpmsType.MahSettleStep.BUSINESS.getType(), UpmsType.MahSettleStep.FINANCE.getType())
 				.between(start != null && end != null, "p.create_time", start, end);
 
@@ -2709,14 +2761,12 @@ public class WmScorePackageController {
 			queryWrapper.in("p.typeid", split);
 		}
 
-		long startMillis = System.currentTimeMillis();
 		Page<WmScorePackage> wmScorePackagePage = wmScorePackageMapper.listScorePackage(new Page<>(current, size),
 				queryWrapper.orderByDesc("p.settlement_date"), acceptUser, relationScoreId, toApproval);
 
 		List<WmScorePackage> pageRecords = wmScorePackagePage.getRecords();
 
 		if (CollUtil.isNotEmpty(pageRecords)) {
-			long buildStartMillis = System.currentTimeMillis();
 			Set<String> packageIds = pageRecords.stream().map(WmScorePackage::getId).collect(Collectors.toSet());
 
 			// 任务统计
@@ -2775,35 +2825,60 @@ public class WmScorePackageController {
 		}
 
 		// 个人承接-其他 标记已读提醒
-		wmBizReminderService.markRead(UpmsType.BizReminderType.ASSIGN_POINTS_OTHER_REMINDER, sendDeptId);
+		wmBizReminderService.markRead(UpmsType.BizReminderType.ASSIGN_POINTS_OTHER_REMINDER, deptId);
 
 		return R.ok(wmScorePackagePage);
 	}
 
 	/**
-	 * 个人承接积分值导出
+	 * 积分包列表-其他(用于MAH结算:药企查询下级提交的)
 	 *
 	 * @param acceptUser 接单对象,模糊查询
 	 */
-	@ResponseExcel(name = "exportPackageSettle", sheet = "个人承接积分值导出")
-	@SysLog("个人承接积分值导出")
-	@GetMapping("/export-score-package")
-	public List<WmScorePackageExcelModel> exportScorePackage(
-															 @RequestParam(value = "packageType1") Integer packageType1,
-															 @RequestParam(value = "packageType2") Integer packageType2,
-															 @RequestParam(value = "scorePackageName", required = false) String scorePackageName,
-															 @RequestParam(value = "scorePackageStatus", required = false) Integer scorePackageStatus,
-															 @RequestParam(value = "typeid", required = false) String typeId,
-															 @RequestParam(value = "monthStart", required = false) String monthStart,
-															 @RequestParam(value = "monthEnd", required = false) String monthEnd,
-															 @RequestParam(value = "acceptUser", required = false) String acceptUser,
-															 @RequestParam(value = "relationScoreId", required = false) String relationScoreId,
-															 @RequestParam(value = "toApproval", required = false) Boolean toApproval,
-															 @RequestParam(value = "packageUserScope", required = false) String packageUserScope
+	@GetMapping("/getScorePackagePageForMah")
+	public R getScorePackagePageForMah(@RequestParam(value = "current") Integer current,
+								 @RequestParam(value = "size") Integer size,
+								 @RequestParam(value = "packageType1") Integer packageType1,
+								 @RequestParam(value = "packageType2") Integer packageType2,
+								 @RequestParam(value = "scorePackageName", required = false) String scorePackageName,
+								 @RequestParam(value = "scorePackageStatus", required = false) Integer scorePackageStatus,
+								 @RequestParam(value = "typeid", required = false) String typeId,
+								 @RequestParam(value = "monthStart", required = false) String monthStart,
+								 @RequestParam(value = "monthEnd", required = false) String monthEnd,
+								 @RequestParam(value = "acceptUser", required = false) String acceptUser,
+								 @RequestParam(value = "relationScoreId", required = false) String relationScoreId,
+								 @RequestParam(value = "toApproval", required = false) Boolean toApproval
 	) {
 
 		Integer sendDeptId = SecurityUtils.getUser().getDeptId();
-		Integer userId = SecurityUtils.getUser().getId();
+
+		return this.getScorePackagePageForMahForBC(current, size, sendDeptId, packageType1, packageType2, scorePackageName,
+				scorePackageStatus, typeId, monthStart, monthEnd, acceptUser, relationScoreId, toApproval);
+	}
+
+	/**
+	 * 个人承接积分值导出
+	 *
+	 * @param acceptUser 接单对象,模糊查询
+	 */
+	@ResponseExcel(name = "exportPackageSettle", sheet = "个人承接积分值导出")
+	@SysLog("个人承接积分值导出-用于BC")
+	@GetMapping("/export-score-package-for-bc")
+	public List<WmScorePackageExcelModel> exportScorePackageForBC(
+			@RequestParam(value = "packageType1") Integer packageType1,
+			@RequestParam(value = "packageType2") Integer packageType2,
+			@RequestParam(value = "deptId") Integer deptId,
+			Integer userId,
+			@RequestParam(value = "scorePackageName", required = false) String scorePackageName,
+			@RequestParam(value = "scorePackageStatus", required = false) Integer scorePackageStatus,
+			@RequestParam(value = "typeid", required = false) String typeId,
+			@RequestParam(value = "monthStart", required = false) String monthStart,
+			@RequestParam(value = "monthEnd", required = false) String monthEnd,
+			@RequestParam(value = "acceptUser", required = false) String acceptUser,
+			@RequestParam(value = "relationScoreId", required = false) String relationScoreId,
+			@RequestParam(value = "toApproval", required = false) Boolean toApproval,
+			@RequestParam(value = "packageUserScope", required = false) String packageUserScope
+	) {
 
 		LocalDateTime start = null;
 		LocalDateTime end = null;
@@ -2819,7 +2894,7 @@ public class WmScorePackageController {
 				.eq("p.package_type1", packageType1)
 				.eq("p.package_type2", packageType2)
 				.eq(scorePackageStatus != null, "p.score_package_status", scorePackageStatus)
-				.eq("p.send_package_dept_id", sendDeptId)
+				.eq("p.send_package_dept_id", deptId)
 				.between(start != null && end != null, "p.create_time", start, end);
 
 		if (StrUtil.isNotBlank(scorePackageName)) {
@@ -2838,21 +2913,23 @@ public class WmScorePackageController {
 			queryWrapper.eq("p.package_user_scope", packageUserScope);
 		}
 
-		boolean onePersonScorePackageFlag = PackageTypeEnum.TYPE1_SCOTE_PACKAGE.val().equals(String.valueOf(packageType1))
-				&& PackageTypeEnum.TYPE2_TASK_PACKAGE.val().equals(String.valueOf(packageType2));
-		boolean multiPersonScorePackageFlag = PackageTypeEnum.TYPE1_SCORE_AND_TASK_PACKAGE.val().equals(String.valueOf(packageType1))
-				&& PackageTypeEnum.TYPE2_SETTLE_PACKAGE.val().equals(String.valueOf(packageType2));
-		if (onePersonScorePackageFlag || multiPersonScorePackageFlag) {
-			// 如果是个人承接-按积分值/多人承接-按积分值,判断当前用户是否配置了团队负责人
-			List<WmTeam> teamList = wmTeamService.list(Wrappers.<WmTeam>lambdaQuery()
-					.eq(WmTeam::getDeptId, sendDeptId)
-					.eq(WmTeam::getEnableFlag, EnableEnum.ENABLE.val())
-					.eq(WmTeam::getDelFlag, DelEnum.NOT_DEL.val())
-					.apply("FIND_IN_SET({0}, leader)", String.valueOf(userId)));
-			if (CollectionUtil.isNotEmpty(teamList)) {
-				// 如果配置了,则只查询所在团队下发的积分包
-				List<String> teamIdList = teamList.stream().map(wmTeam -> String.valueOf(wmTeam.getId())).collect(Collectors.toList());
-				queryWrapper.in("p.package_user_scope", teamIdList);
+		if (userId != null) {
+			boolean onePersonScorePackageFlag = PackageTypeEnum.TYPE1_SCOTE_PACKAGE.val().equals(String.valueOf(packageType1))
+					&& PackageTypeEnum.TYPE2_TASK_PACKAGE.val().equals(String.valueOf(packageType2));
+			boolean multiPersonScorePackageFlag = PackageTypeEnum.TYPE1_SCORE_AND_TASK_PACKAGE.val().equals(String.valueOf(packageType1))
+					&& PackageTypeEnum.TYPE2_SETTLE_PACKAGE.val().equals(String.valueOf(packageType2));
+			if (onePersonScorePackageFlag || multiPersonScorePackageFlag) {
+				// 如果是个人承接-按积分值/多人承接-按积分值,判断当前用户是否配置了团队负责人
+				List<WmTeam> teamList = wmTeamService.list(Wrappers.<WmTeam>lambdaQuery()
+						.eq(WmTeam::getDeptId, deptId)
+						.eq(WmTeam::getEnableFlag, EnableEnum.ENABLE.val())
+						.eq(WmTeam::getDelFlag, DelEnum.NOT_DEL.val())
+						.apply("FIND_IN_SET({0}, leader)", String.valueOf(userId)));
+				if (CollectionUtil.isNotEmpty(teamList)) {
+					// 如果配置了,则只查询所在团队下发的积分包
+					List<String> teamIdList = teamList.stream().map(wmTeam -> String.valueOf(wmTeam.getId())).collect(Collectors.toList());
+					queryWrapper.in("p.package_user_scope", teamIdList);
+				}
 			}
 		}
 
@@ -2956,27 +3033,55 @@ public class WmScorePackageController {
 	}
 
 	/**
-	 * 个人承接积分值-其他导出
+	 * 个人承接积分值导出
 	 *
 	 * @param acceptUser 接单对象,模糊查询
 	 */
-	@ResponseExcel(name = "exportPackageSettle", sheet = "个人承接积分值-其他导出")
-	@SysLog("个人承接积分值-其他导出")
-	@GetMapping("/export-score-package-mah")
-	public List<WmScorePackageExcelModel> exportPackageSettleForMah(
-									   @RequestParam(value = "packageType1") Integer packageType1,
-									   @RequestParam(value = "packageType2") Integer packageType2,
-									   @RequestParam(value = "scorePackageName", required = false) String scorePackageName,
-									   @RequestParam(value = "scorePackageStatus", required = false) Integer scorePackageStatus,
-									   @RequestParam(value = "typeid", required = false) String typeId,
-									   @RequestParam(value = "monthStart", required = false) String monthStart,
-									   @RequestParam(value = "monthEnd", required = false) String monthEnd,
-									   @RequestParam(value = "acceptUser", required = false) String acceptUser,
-									   @RequestParam(value = "relationScoreId", required = false) String relationScoreId,
-									   @RequestParam(value = "toApproval", required = false) Boolean toApproval
+	@ResponseExcel(name = "exportPackageSettle", sheet = "个人承接积分值导出")
+	@SysLog("个人承接积分值导出")
+	@GetMapping("/export-score-package")
+	public List<WmScorePackageExcelModel> exportScorePackage(
+															 @RequestParam(value = "packageType1") Integer packageType1,
+															 @RequestParam(value = "packageType2") Integer packageType2,
+															 @RequestParam(value = "scorePackageName", required = false) String scorePackageName,
+															 @RequestParam(value = "scorePackageStatus", required = false) Integer scorePackageStatus,
+															 @RequestParam(value = "typeid", required = false) String typeId,
+															 @RequestParam(value = "monthStart", required = false) String monthStart,
+															 @RequestParam(value = "monthEnd", required = false) String monthEnd,
+															 @RequestParam(value = "acceptUser", required = false) String acceptUser,
+															 @RequestParam(value = "relationScoreId", required = false) String relationScoreId,
+															 @RequestParam(value = "toApproval", required = false) Boolean toApproval,
+															 @RequestParam(value = "packageUserScope", required = false) String packageUserScope
 	) {
 
 		Integer sendDeptId = SecurityUtils.getUser().getDeptId();
+		Integer userId = SecurityUtils.getUser().getId();
+
+		return this.exportScorePackageForBC(packageType1, packageType2, sendDeptId, userId, scorePackageName,
+				scorePackageStatus, typeId, monthStart, monthEnd, acceptUser, relationScoreId, toApproval, packageUserScope);
+	}
+
+	/**
+	 * 个人承接积分值-其他导出-用于BC
+	 *
+	 * @param acceptUser 接单对象,模糊查询
+	 */
+	@ResponseExcel(name = "exportPackageSettle", sheet = "个人承接积分值-其他导出")
+	@SysLog("个人承接积分值-其他导出-用于BC")
+	@GetMapping("/export-score-package-mah-for-bc")
+	public List<WmScorePackageExcelModel> exportPackageSettleForMahForBC(
+			@RequestParam(value = "packageType1") Integer packageType1,
+			@RequestParam(value = "packageType2") Integer packageType2,
+			@RequestParam(value = "deptId") Integer deptId,
+			@RequestParam(value = "scorePackageName", required = false) String scorePackageName,
+			@RequestParam(value = "scorePackageStatus", required = false) Integer scorePackageStatus,
+			@RequestParam(value = "typeid", required = false) String typeId,
+			@RequestParam(value = "monthStart", required = false) String monthStart,
+			@RequestParam(value = "monthEnd", required = false) String monthEnd,
+			@RequestParam(value = "acceptUser", required = false) String acceptUser,
+			@RequestParam(value = "relationScoreId", required = false) String relationScoreId,
+			@RequestParam(value = "toApproval", required = false) Boolean toApproval
+	) {
 
 		LocalDateTime start = null;
 		LocalDateTime end = null;
@@ -2992,7 +3097,7 @@ public class WmScorePackageController {
 				.eq("p.package_type1", packageType1)
 				.eq("p.package_type2", packageType2)
 				.eq(scorePackageStatus != null, "p.score_package_status", scorePackageStatus)
-				.eq("p.mah_settle_dept_id", sendDeptId)
+				.eq("p.mah_settle_dept_id", deptId)
 				.in("p.mah_settle_step", UpmsType.MahSettleStep.BUSINESS.getType(), UpmsType.MahSettleStep.FINANCE.getType())
 				.between(start != null && end != null, "p.create_time", start, end);
 
@@ -3107,6 +3212,33 @@ public class WmScorePackageController {
 		return excelModelList;
 	}
 
+	/**
+	 * 个人承接积分值-其他导出
+	 *
+	 * @param acceptUser 接单对象,模糊查询
+	 */
+	@ResponseExcel(name = "exportPackageSettle", sheet = "个人承接积分值-其他导出")
+	@SysLog("个人承接积分值-其他导出")
+	@GetMapping("/export-score-package-mah")
+	public List<WmScorePackageExcelModel> exportPackageSettleForMah(
+									   @RequestParam(value = "packageType1") Integer packageType1,
+									   @RequestParam(value = "packageType2") Integer packageType2,
+									   @RequestParam(value = "scorePackageName", required = false) String scorePackageName,
+									   @RequestParam(value = "scorePackageStatus", required = false) Integer scorePackageStatus,
+									   @RequestParam(value = "typeid", required = false) String typeId,
+									   @RequestParam(value = "monthStart", required = false) String monthStart,
+									   @RequestParam(value = "monthEnd", required = false) String monthEnd,
+									   @RequestParam(value = "acceptUser", required = false) String acceptUser,
+									   @RequestParam(value = "relationScoreId", required = false) String relationScoreId,
+									   @RequestParam(value = "toApproval", required = false) Boolean toApproval
+	) {
+
+		Integer sendDeptId = SecurityUtils.getUser().getDeptId();
+
+		return this.exportPackageSettleForMahForBC(packageType1, packageType2, sendDeptId, scorePackageName, scorePackageStatus,
+				typeId, monthStart, monthEnd, acceptUser, relationScoreId, toApproval);
+	}
+
 	/**
 	 * 积分包列表(结算包管理列表、无团队限制)
 	 *

+ 24 - 5
hnqz-upms/hnqz-upms-biz/src/main/java/com/qunzhixinxi/hnqz/admin/enums/EnableEnum.java

@@ -1,29 +1,48 @@
 package com.qunzhixinxi.hnqz.admin.enums;
 
+import lombok.AllArgsConstructor;
+import lombok.Getter;
+
 /**
  * 是否有效(是否禁用)状态枚举
  *
  * @author lixuesong
  * @date 2021年05月27日 11:06
  */
+@Getter
+@AllArgsConstructor
 public enum  EnableEnum {
 
 	/**
 	 * 有效(没有禁用)
 	 */
-	ENABLE("0"),
+	ENABLE("0", "启用"),
 	/**
 	 * 无效(禁用)
 	 */
-	DISABLE("1");
+	DISABLE("1", "停用");
 
 	private String val;
 
-	EnableEnum(String val) {
-		this.val = val;
-	}
+	private String desc;
 
 	public String val() {
 		return val;
 	}
+
+
+	/**
+	 * 获取 Val
+	 *
+	 * @param val 值
+	 * @return {@link EnableEnum}
+	 */
+	public static EnableEnum getByVal(String val) {
+		for (EnableEnum d : EnableEnum.values()) {
+			if (d.val.equals(val)) {
+				return d;
+			}
+		}
+		return null;
+	}
 }

+ 1 - 1
hnqz-upms/hnqz-upms-biz/src/main/java/com/qunzhixinxi/hnqz/admin/service/WmScorePackageService.java

@@ -170,7 +170,7 @@ public interface WmScorePackageService extends IService<WmScorePackage> {
 	 */
 	IPage<WmDaDrugEntDrugtable> listDrugsByPackageId(Page page, Integer packageId, String drugName);
 
-	Page<WmScorePackage> selectWmScorePackageLists(Page<WmScorePackage> page, String scorePackageName, String acceptSug,
+	Page<WmScorePackage> selectWmScorePackageLists(Page<WmScorePackage> page, Integer deptId, String scorePackageName, String acceptSug,
 												   LocalDate allocationDate, LocalDate endLabelDate);
 
 	Future<WmScorePackage> finishRate(WmScorePackage wmScorePackage);

+ 2 - 2
hnqz-upms/hnqz-upms-biz/src/main/java/com/qunzhixinxi/hnqz/admin/service/impl/WmScorePackageServiceImpl.java

@@ -1996,9 +1996,9 @@ public class WmScorePackageServiceImpl extends ServiceImpl<WmScorePackageMapper,
 	}
 
 	@Override
-	public Page<WmScorePackage> selectWmScorePackageLists(Page<WmScorePackage> page, String scorePackageName, String acceptSug, LocalDate allocationDate, LocalDate endLabelDate) {
+	public Page<WmScorePackage> selectWmScorePackageLists(Page<WmScorePackage> page, Integer deptId, String scorePackageName,
+														  String acceptSug, LocalDate allocationDate, LocalDate endLabelDate) {
 
-		Integer deptId = SecurityUtils.getUser().getDeptId();
 		return wmScorePackageMapper.newSelectWmScorePackageLists(page, String.valueOf(deptId),
 				scorePackageName, acceptSug, allocationDate, endLabelDate);
 	}