Explorar el Código

Merge remote-tracking branch 'origin/dev' into dev

liyuan hace 7 meses
padre
commit
c619d1929e

+ 5 - 0
blade-service-api/blade-los-api/src/main/java/org/springblade/los/trade/report/AgentFeeReport.java

@@ -159,5 +159,10 @@ public class AgentFeeReport implements Serializable {
 	 */
 	private BigDecimal realityTariff;
 
+	/**
+	 * 剩余
+	 */
+	private BigDecimal blcAmount;
+
 
 }

+ 57 - 20
blade-service/blade-los/src/main/java/org/springblade/los/business/sea/controller/BillsController.java

@@ -162,13 +162,17 @@ public class BillsController extends BladeController {
 				&& !AuthUtil.getUserRole().contains("副总") && !AuthUtil.getUserRole().contains("财务")
 				&& !AuthUtil.getUserRole().contains("经理")) {
 				if (AuthUtil.getUserRole().contains("操作经理")) {
-					lambdaQueryWrapper.eq(Bills::getOperatorDept, AuthUtil.getDeptId());
+					lambdaQueryWrapper.and(i-> i.eq(Bills::getOperatorDept, AuthUtil.getDeptId()).or()
+						.eq(Bills::getCreateUser, AuthUtil.getUserId()));
 				} else if (AuthUtil.getUserRole().contains("操作员")) {
-					lambdaQueryWrapper.eq(Bills::getOperatorId, AuthUtil.getUserId());
+					lambdaQueryWrapper.and(i-> i.eq(Bills::getOperatorId, AuthUtil.getUserId()).or()
+						.eq(Bills::getCreateUser, AuthUtil.getUserId()));
 				} else if (AuthUtil.getUserRole().contains("销售经理")) {
-					lambdaQueryWrapper.eq(Bills::getSrcDeptId, AuthUtil.getDeptId());
+					lambdaQueryWrapper.and(i-> i.eq(Bills::getSrcDeptId, AuthUtil.getDeptId()).or()
+						.eq(Bills::getCreateUser, AuthUtil.getUserId()));
 				} else if (AuthUtil.getUserRole().contains("业务员")) {
-					lambdaQueryWrapper.eq(Bills::getSrcId, AuthUtil.getUserId());
+					lambdaQueryWrapper.and(i-> i.eq(Bills::getSrcId, AuthUtil.getUserId()).or()
+						.eq(Bills::getCreateUser, AuthUtil.getUserId()));
 				} else {
 					lambdaQueryWrapper.eq(Bills::getCreateUser, AuthUtil.getUserId());
 				}
@@ -289,13 +293,17 @@ public class BillsController extends BladeController {
 				&& !AuthUtil.getUserRole().contains("副总") && !AuthUtil.getUserRole().contains("财务")
 				&& !AuthUtil.getUserRole().contains("经理")) {
 				if (AuthUtil.getUserRole().contains("操作经理")) {
-					lambdaQueryWrapper.like(Bills::getOperatorDept, AuthUtil.getDeptId());
+					lambdaQueryWrapper.and(i-> i.eq(Bills::getOperatorDept, AuthUtil.getDeptId()).or()
+						.eq(Bills::getCreateUser, AuthUtil.getUserId()));
 				} else if (AuthUtil.getUserRole().contains("操作员")) {
-					lambdaQueryWrapper.like(Bills::getOperatorId, AuthUtil.getUserId());
+					lambdaQueryWrapper.and(i-> i.eq(Bills::getOperatorId, AuthUtil.getUserId()).or()
+						.eq(Bills::getCreateUser, AuthUtil.getUserId()));
 				} else if (AuthUtil.getUserRole().contains("销售经理")) {
-					lambdaQueryWrapper.like(Bills::getSrcDeptId, AuthUtil.getDeptId());
+					lambdaQueryWrapper.and(i-> i.eq(Bills::getSrcDeptId, AuthUtil.getDeptId()).or()
+						.eq(Bills::getCreateUser, AuthUtil.getUserId()));
 				} else if (AuthUtil.getUserRole().contains("业务员")) {
-					lambdaQueryWrapper.like(Bills::getSrcId, AuthUtil.getUserId());
+					lambdaQueryWrapper.and(i-> i.eq(Bills::getSrcId, AuthUtil.getUserId()).or()
+						.eq(Bills::getCreateUser, AuthUtil.getUserId()));
 				} else {
 					lambdaQueryWrapper.eq(Bills::getCreateUser, AuthUtil.getUserId());
 				}
@@ -637,6 +645,9 @@ public class BillsController extends BladeController {
 				.like(Bills::getLineEnName, bills.getLineCnName()))
 			.and(ObjectUtils.isNotNull(bills.getCyCnName()), i -> i.like(Bills::getCyCode, bills.getCyCnName()).or()
 				.like(Bills::getCyCnName, bills.getCyCnName()).or().like(Bills::getCyEnName, bills.getCyCnName()))
+			.eq(ObjectUtils.isNotNull(bills.getSrcType()), Bills::getSrcType, bills.getSrcType())
+			.and(ObjectUtils.isNotNull(bills.getSrcCnName()), i -> i.like(Bills::getSrcCnName, bills.getSrcCnName()).or()
+				.like(Bills::getSrcEnName, bills.getSrcCnName()))
 			.apply(ObjectUtils.isNotNull(bills.getCreateDeptName()), "find_in_set('" + bills.getCreateDeptName() + "',create_dept_name)");
 		if (ObjectUtils.isNotNull(bills.getEtdList()) && !bills.getEtdList().isEmpty()) {
 			lambdaQueryWrapper.ge(Bills::getEtd, bills.getEtdList().get(0));
@@ -646,18 +657,44 @@ public class BillsController extends BladeController {
 			lambdaQueryWrapper.ge(Bills::getEta, bills.getEtaList().get(0));
 			lambdaQueryWrapper.le(Bills::getEta, bills.getEtaList().get(1));
 		}
-		if (AuthUtil.getUserRole().contains("业务员")) {
-			lambdaQueryWrapper.eq(Bills::getSrcId, AuthUtil.getUserId());
-		} else {
-			lambdaQueryWrapper.eq(ObjectUtils.isNotNull(bills.getSrcType()), Bills::getSrcType, bills.getSrcType())
-				.and(ObjectUtils.isNotNull(bills.getSrcCnName()), i -> i.like(Bills::getSrcCnName, bills.getSrcCnName()).or()
-					.like(Bills::getSrcEnName, bills.getSrcCnName()));
-		}
-		if (!AuthUtil.getUserRole().contains("admin") && !AuthUtil.getUserRole().contains("财务")) {
-			lambdaQueryWrapper.apply("find_in_set(team_id,'" + AuthUtil.getPostId() + "')");
-		}
-		if (!AuthUtil.getUserRole().contains("admin")) {
-			lambdaQueryWrapper.eq(Bills::getBranchId, deptUtils.getDeptPid());
+		String jurisdiction = sysClient.getParamService("data.jurisdiction");
+		if ("1".equals(jurisdiction)) {
+			if (!AuthUtil.getUserRole().contains("admin") && !AuthUtil.getUserRole().contains("老板")
+				&& !AuthUtil.getUserRole().contains("副总") && !AuthUtil.getUserRole().contains("财务")
+				&& !AuthUtil.getUserRole().contains("经理")) {
+				if (AuthUtil.getUserRole().contains("操作经理")) {
+					lambdaQueryWrapper.and(i-> i.eq(Bills::getOperatorDept, AuthUtil.getDeptId()).or()
+						.eq(Bills::getCreateUser, AuthUtil.getUserId()));
+				} else if (AuthUtil.getUserRole().contains("操作员")) {
+					lambdaQueryWrapper.and(i-> i.eq(Bills::getOperatorId, AuthUtil.getUserId()).or()
+						.eq(Bills::getCreateUser, AuthUtil.getUserId()));
+				} else if (AuthUtil.getUserRole().contains("销售经理")) {
+					lambdaQueryWrapper.and(i-> i.eq(Bills::getSrcDeptId, AuthUtil.getDeptId()).or()
+						.eq(Bills::getCreateUser, AuthUtil.getUserId()));
+				} else if (AuthUtil.getUserRole().contains("业务员")) {
+					lambdaQueryWrapper.and(i-> i.eq(Bills::getSrcId, AuthUtil.getUserId()).or()
+						.eq(Bills::getCreateUser, AuthUtil.getUserId()));
+				} else {
+					lambdaQueryWrapper.eq(Bills::getCreateUser, AuthUtil.getUserId());
+				}
+				lambdaQueryWrapper.eq(Bills::getBranchId, deptUtils.getDeptPid());
+			}
+		}else if ("2".equals(jurisdiction)) {
+			//动态权限不做任何处理
+		}  else {
+			if (AuthUtil.getUserRole().contains("业务员")) {
+				lambdaQueryWrapper.eq(Bills::getSrcId, AuthUtil.getUserId());
+			} else {
+				lambdaQueryWrapper.eq(ObjectUtils.isNotNull(bills.getSrcType()), Bills::getSrcType, bills.getSrcType())
+					.and(ObjectUtils.isNotNull(bills.getSrcCnName()), i -> i.like(Bills::getSrcCnName, bills.getSrcCnName()).or()
+						.like(Bills::getSrcEnName, bills.getSrcCnName()));
+			}
+			if (!AuthUtil.getUserRole().contains("admin") && !AuthUtil.getUserRole().contains("财务")) {
+				lambdaQueryWrapper.apply("find_in_set(team_id,'" + AuthUtil.getPostId() + "')");
+			}
+			if (!AuthUtil.getUserRole().contains("admin")) {
+				lambdaQueryWrapper.eq(Bills::getBranchId, deptUtils.getDeptPid());
+			}
 		}
 		lambdaQueryWrapper.and(ObjectUtils.isNotNull(bills.getBookingAgentCnName()), i -> i.like(Bills::getBookingAgentCnName, bills.getBookingAgentCnName()).or()
 				.like(Bills::getBookingAgentEnName, bills.getBookingAgentCnName()))

+ 4 - 0
blade-service/blade-los/src/main/java/org/springblade/los/trade/service/impl/AgentServiceImpl.java

@@ -3835,6 +3835,8 @@ public class AgentServiceImpl extends ServiceImpl<AgentMapper, Agent> implements
 					agentFeeReport.setReportSumAmount(new BigDecimal("0.00"));
 					agentFeeReport.setRealitySumAmount(new BigDecimal("0.00"));
 				}
+				agentFeeReport.setBlcAmount(agentFeeReport.getSumAmount().subtract(agentFeeReport.getRemainingAmount())
+					.add(agentFeeReport.getBeforeRepairAmount()));
 				agentFeeReport.setDept(dept);
 				agentFeeReport.setReportList(reportList);
 				List<AgentFeeItemsReport> agentFeeItemsReports = new ArrayList<>();
@@ -4178,6 +4180,8 @@ public class AgentServiceImpl extends ServiceImpl<AgentMapper, Agent> implements
 					agentFeeReport.setReportSumAmount(new BigDecimal("0.00"));
 					agentFeeReport.setRealitySumAmount(new BigDecimal("0.00"));
 				}
+				agentFeeReport.setBlcAmount(agentFeeReport.getSumAmount().subtract(agentFeeReport.getRemainingAmount())
+					.add(agentFeeReport.getBeforeRepairAmount()));
 				agentFeeReport.setDept(dept);
 				agentFeeReport.setReportList(reportList);
 				List<AgentFeeItemsReport> agentFeeItemsReports = new ArrayList<>();