Parcourir la source

2024年11月1日17:13:12

纪新园 il y a 1 an
Parent
commit
3cd95c092e
17 fichiers modifiés avec 493 ajouts et 10 suppressions
  1. 13 0
      blade-service-api/blade-dict-api/src/main/java/org/springblade/system/feign/IDictBizClient.java
  2. 5 0
      blade-service-api/blade-dict-api/src/main/java/org/springblade/system/feign/IDictBizClientFallback.java
  3. 20 0
      blade-service-api/blade-los-api/src/main/java/org/springblade/los/business/aea/entity/AeaBills.java
  4. 41 0
      blade-service-api/blade-los-api/src/main/java/org/springblade/los/business/amends/entity/Amends.java
  5. 17 0
      blade-service-api/blade-los-api/src/main/java/org/springblade/los/business/sea/entity/Bills.java
  6. 10 0
      blade-service-api/blade-los-api/src/main/java/org/springblade/los/statisticAnalysis/BoxNumberProfitQ.java
  7. 12 0
      blade-service-api/blade-los-api/src/main/java/org/springblade/los/statisticAnalysis/FinanceProfitDtoList.java
  8. 5 0
      blade-service-api/blade-los-api/src/main/java/org/springblade/los/view/entity/BoxNumberProfit.java
  9. 49 0
      blade-service/blade-los/src/main/java/org/springblade/los/Util/BigDecimalUtils.java
  10. 17 0
      blade-service/blade-los/src/main/java/org/springblade/los/Util/MagicValues.java
  11. 22 0
      blade-service/blade-los/src/main/java/org/springblade/los/basic/reports/service/impl/ReportsServiceImpl.java
  12. 29 5
      blade-service/blade-los/src/main/java/org/springblade/los/business/aea/controller/AeaBillsController.java
  13. 29 5
      blade-service/blade-los/src/main/java/org/springblade/los/business/amends/controller/AmendsController.java
  14. 153 0
      blade-service/blade-los/src/main/java/org/springblade/los/statisticAnalysis/service/impl/StatisticAnalysisServiceImpl.java
  15. 30 0
      blade-service/blade-los/src/main/java/org/springblade/los/view/mapper/BoxNumberProfitMapper.xml
  16. 30 0
      blade-service/blade-los/src/main/java/org/springblade/los/view/mapper/FinanceProfitMapper.xml
  17. 11 0
      blade-service/blade-system/src/main/java/org/springblade/system/feign/DictBizClient.java

+ 13 - 0
blade-service-api/blade-dict-api/src/main/java/org/springblade/system/feign/IDictBizClient.java

@@ -43,6 +43,7 @@ public interface IDictBizClient {
 	String GET_LIST = API_PREFIX + "/dict-biz/get-list";
 	String GET_ID = API_PREFIX + "/dict-biz/get-id";
 	String GET_ONE_VALUE = API_PREFIX + "/dict-biz/get-one-value";
+	String GET_DICT_BIZ = API_PREFIX + "/dict-biz/dictBiz";
 	String GET_ONE_BY_VALUE = API_PREFIX + "/dict-biz/get_one_by_value";
 	/**
 	 * 获取字典实体
@@ -106,4 +107,16 @@ public interface IDictBizClient {
 						  @RequestParam("dictValue") String dictValue,
 						  @RequestParam("tenantId") String tenantId);
 
+	/**
+	 * 获取字典表某一个对应值
+	 *
+	 * @param code    字典编号
+	 * @param dictKey 字典序号
+	 * @return
+	 */
+	@GetMapping(GET_DICT_BIZ)
+	R<DictBiz> getDictBiz(@RequestParam("code") String code,
+						  @RequestParam("dictKey") String dictKey,
+						  @RequestParam("tenantId") String tenantId);
+
 }

+ 5 - 0
blade-service-api/blade-dict-api/src/main/java/org/springblade/system/feign/IDictBizClientFallback.java

@@ -58,4 +58,9 @@ public class IDictBizClientFallback implements IDictBizClient {
 	public R<String> getOneByValue(String code, String dictValue, String tenantId) {
 		return R.fail("获取数据失败");
 	}
+
+	@Override
+	public R<DictBiz> getDictBiz(String code, String dictKey, String tenantId) {
+		return R.fail("获取数据失败");
+	}
 }

+ 20 - 0
blade-service-api/blade-los-api/src/main/java/org/springblade/los/business/aea/entity/AeaBills.java

@@ -228,6 +228,16 @@ public class AeaBills implements Serializable {
 	@ApiModelProperty(value = "操作")
 	private String operatorName;
 	/**
+	 * 操作部门 Id
+	 */
+	@ApiModelProperty(value = "操作部门 Id")
+	private String operatorDept;
+	/**
+	 * 操作部门
+	 */
+	@ApiModelProperty(value = "操作部门")
+	private String operatorDeptName;
+	/**
 	 * 业务来源
 	 */
 	@ApiModelProperty(value = "业务来源")
@@ -248,6 +258,16 @@ public class AeaBills implements Serializable {
 	@ApiModelProperty(value = "来源英文")
 	private String srcEnName;
 	/**
+	 * 来源部门 Id
+	 */
+	@ApiModelProperty(value = "来源部门 Id")
+	private String srcDeptId;
+	/**
+	 * 来源部门
+	 */
+	@ApiModelProperty(value = "来源部门")
+	private String srcDeptName;
+	/**
 	 * 航空公司 id
 	 */
 	@ApiModelProperty(value = "航空公司 id")

+ 41 - 0
blade-service-api/blade-los-api/src/main/java/org/springblade/los/business/amends/entity/Amends.java

@@ -145,6 +145,16 @@ public class Amends implements Serializable {
 	@ApiModelProperty(value = "操作")
 	private String operatorName;
 	/**
+	 * 操作部门 Id
+	 */
+	@ApiModelProperty(value = "操作部门 Id")
+	private String operatorDept;
+	/**
+	 * 操作部门
+	 */
+	@ApiModelProperty(value = "操作部门")
+	private String operatorDeptName;
+	/**
 	 * 责任方
 	 */
 	@ApiModelProperty(value = "责任方")
@@ -540,5 +550,36 @@ public class Amends implements Serializable {
 	@ApiModelProperty(value = "核算部门")
 	private String accDeptName;
 
+	/**
+	 * 业务来源
+	 */
+	@ApiModelProperty(value = "业务来源")
+	private String srcType;
+	/**
+	 * 来源 id
+	 */
+	@ApiModelProperty(value = "来源 id")
+	private Long srcId;
+	/**
+	 * 来源中文
+	 */
+	@ApiModelProperty(value = "来源中文")
+	private String srcCnName;
+	/**
+	 * 来源英文
+	 */
+	@ApiModelProperty(value = "来源英文")
+	private String srcEnName;
+	/**
+	 * 来源部门 Id
+	 */
+	@ApiModelProperty(value = "来源部门 Id")
+	private String srcDeptId;
+	/**
+	 * 来源部门
+	 */
+	@ApiModelProperty(value = "来源部门")
+	private String srcDeptName;
+
 
 }

+ 17 - 0
blade-service-api/blade-los-api/src/main/java/org/springblade/los/business/sea/entity/Bills.java

@@ -1795,4 +1795,21 @@ public class Bills implements Serializable {
 	@TableField(exist = false)
 	private SeaBillsDetail detail;
 
+	/**
+	 * 件数大写+包装
+	 */
+	@TableField(exist = false)
+	private String capitalLetters;
+
+	/**
+	 * 温度
+	 */
+	@TableField(exist = false)
+	private String temperature;
+	/**
+	 * 通风度
+	 */
+	@TableField(exist = false)
+	private String ventilation;
+
 }

+ 10 - 0
blade-service-api/blade-los-api/src/main/java/org/springblade/los/statisticAnalysis/BoxNumberProfitQ.java

@@ -59,5 +59,15 @@ public class BoxNumberProfitQ {
 	 */
 	private String type;
 
+	/**
+	 * 数据角色
+	 */
+	private String selecType;
+
+	/**
+	 * 数据角色
+	 */
+	private String selecTypeId;
+
 
 }

+ 12 - 0
blade-service-api/blade-los-api/src/main/java/org/springblade/los/statisticAnalysis/FinanceProfitDtoList.java

@@ -298,4 +298,16 @@ public class FinanceProfitDtoList {
 	@ExcelIgnore
 	private String branchId;
 
+	/**
+	 * 数据角色
+	 */
+	@ExcelIgnore
+	private String selecType;
+
+	/**
+	 * 数据角色
+	 */
+	@ExcelIgnore
+	private String selecTypeId;
+
 }

+ 5 - 0
blade-service-api/blade-los-api/src/main/java/org/springblade/los/view/entity/BoxNumberProfit.java

@@ -18,6 +18,7 @@ package org.springblade.los.view.entity;
 
 import com.baomidou.mybatisplus.annotation.TableName;
 import io.swagger.annotations.ApiModel;
+import io.swagger.annotations.ApiModelProperty;
 import lombok.Data;
 
 import java.io.Serializable;
@@ -85,6 +86,10 @@ public class BoxNumberProfit implements Serializable {
 	private Integer isDeleted;
 	private Long teamId;
 	private String teamName;
+	private Long operatorId;
+	private String operatorDept;
+	private String srcDeptId;
+	private Long createUser;
 
 
 }

+ 49 - 0
blade-service/blade-los/src/main/java/org/springblade/los/Util/BigDecimalUtils.java

@@ -0,0 +1,49 @@
+package org.springblade.los.Util;
+
+import java.math.BigDecimal;
+
+/**
+ * @author :jixinyuan
+ * @date : 2024/3/29
+ */
+public class BigDecimalUtils {
+
+	/**
+	 * 数字转英文大写
+	 *
+	 * @param number 数字
+	 * @return 结果
+	 */
+	public static String convertToEnglish(BigDecimal number) {
+		long integralPart = number.longValue();
+		return convert(integralPart).trim();
+	}
+
+	private static String convert(long number) {
+		if (number == 0) return "ZERO";
+
+		StringBuilder result = new StringBuilder();
+
+		if ((number / 1000) > 0) {
+			result.append(convert(number / 1000)).append(" THOUSAND ");
+			number %= 1000;
+		}
+
+		if ((number / 100) > 0) {
+			result.append(convert(number / 100)).append(" HUNDRED ");
+			number %= 100;
+		}
+
+		if (number > 0) {
+			if (number < 20) {
+				result.append(MagicValues.units[(int) number]).append(" ");
+			} else {
+				result.append(MagicValues.tens[(int) number / 10]).append(" ");
+				if (number % 10 > 0) {
+					result.append(MagicValues.units[(int) number % 10]).append(" ");
+				}
+			}
+		}
+		return result.toString();
+	}
+}

+ 17 - 0
blade-service/blade-los/src/main/java/org/springblade/los/Util/MagicValues.java

@@ -73,6 +73,23 @@ public class MagicValues {
 	public static final String FM = "JMS";
 	public static final String DATA = "data";
 
+	public static final String[] units = {
+		"", // 0
+		"ONE", "TWO", "THREE", "FOUR", "FIVE",
+		"SIX", "SEVEN", "EIGHT", "NINE", "TEN",
+		"ELEVEN", "TWELVE", "THIRTEEN", "FOURTEEN", "FIFTEEN",
+		"SIXTEEN", "SEVENTEEN", "EIGHTEEN", "NINETEEN"
+	};
+
+	public static final String[] tens = {
+		"", // 0
+		"", // 1
+		"TWENTY", "THIRTY", "FORTY", "FIFTY",
+		"SIXTY", "SEVENTY", "EIGHTY", "NINETY"
+	};
+
+
+
 	public static final String GAUGE_OUTFIT = "gaugeOutfit";
 	public static final String HUNDRED = "100";
 

+ 22 - 0
blade-service/blade-los/src/main/java/org/springblade/los/basic/reports/service/impl/ReportsServiceImpl.java

@@ -24,6 +24,7 @@ import lombok.AllArgsConstructor;
 import org.springblade.core.secure.utils.AuthUtil;
 import org.springblade.core.tool.api.R;
 import org.springblade.core.tool.utils.BeanUtil;
+import org.springblade.los.Util.BigDecimalUtils;
 import org.springblade.los.Util.IDeptUtils;
 import org.springblade.los.Util.MagicValues;
 import org.springblade.los.basic.corps.entity.BCorps;
@@ -68,6 +69,7 @@ import org.springblade.los.finance.stl.entity.FinStlBillsItems;
 import org.springblade.los.finance.stl.service.IFinStlBillsItemsService;
 import org.springblade.los.finance.stl.service.IFinStlBillsService;
 import org.springblade.system.entity.Dept;
+import org.springblade.system.entity.DictBiz;
 import org.springblade.system.feign.IDictBizClient;
 import org.springblade.system.feign.ISysClient;
 import org.springblade.system.user.entity.User;
@@ -6535,6 +6537,10 @@ public class ReportsServiceImpl extends ServiceImpl<ReportsMapper, Reports> impl
 				if (biz.isSuccess()) {
 					bills.setSrcType(biz.getData());
 				}
+				R<DictBiz> resDictBiz = dictBizClient.getDictBiz("payment_method_los", bills.getHpaymode(), AuthUtil.getTenantId());
+				if (resDictBiz.isSuccess() && ObjectUtils.isNotNull(resDictBiz.getData())) {
+					bills.setHpaymode(resDictBiz.getData().getRemark());
+				}
 				SeaBillsDetail seaBillsDetail = seaBillsDetailService.getOne(new LambdaQueryWrapper<SeaBillsDetail>()
 					.eq(SeaBillsDetail::getTenantId, AuthUtil.getTenantId())
 					.eq(SeaBillsDetail::getPid, bills.getId()));
@@ -6590,6 +6596,7 @@ public class ReportsServiceImpl extends ServiceImpl<ReportsMapper, Reports> impl
 					bills.setMforwarderDetails(seaBillsDetail.getMforwarderDetails());
 				}
 //				bills.setFM(MagicValues.FM);
+				bills.setCapitalLetters(BigDecimalUtils.convertToEnglish(bills.getQuantity())+" "+bills.getPackingUnit());
 				bills.setVesselCnName(bills.getVesselEnName() + "/" + bills.getVoyageNo());
 				BigDecimal boxWeightSum = BigDecimal.ZERO;
 				List<ContainersReports> containersReportsList = new ArrayList<>();
@@ -6691,7 +6698,12 @@ public class ReportsServiceImpl extends ServiceImpl<ReportsMapper, Reports> impl
 					bills.setMnotify2Details(seaBillsDetail.getMnotify2Details());
 					bills.setMforwarderDetails(seaBillsDetail.getMforwarderDetails());
 				}
+				R<DictBiz> resDictBiz = dictBizClient.getDictBiz("payment_method_los", bills.getHpaymode(), AuthUtil.getTenantId());
+				if (resDictBiz.isSuccess() && ObjectUtils.isNotNull(resDictBiz.getData())) {
+					bills.setHpaymode(resDictBiz.getData().getRemark());
+				}
 //				bills.setFM(MagicValues.FM);
+				bills.setCapitalLetters(BigDecimalUtils.convertToEnglish(bills.getQuantity())+" "+bills.getPackingUnit());
 				bills.setVesselCnName(bills.getVesselEnName() + "/" + bills.getVoyageNo());
 				BigDecimal boxWeightSum = BigDecimal.ZERO;
 				List<Containers> containersList = containersService.list(new LambdaQueryWrapper<Containers>()
@@ -6788,6 +6800,16 @@ public class ReportsServiceImpl extends ServiceImpl<ReportsMapper, Reports> impl
 					bills.setMforwarderDetails(seaBillsDetail.getMforwarderDetails());
 				}
 //				bills.setFM(MagicValues.FM);
+				List<PreContainers> preContainersList = preContainersService.list(new LambdaQueryWrapper<PreContainers>()
+					.eq(PreContainers::getTenantId,AuthUtil.getTenantId())
+					.eq(PreContainers::getIsDeleted,0)
+					.eq(PreContainers::getPid,bills.getId()));
+				if (!preContainersList.isEmpty()){
+					String temperature = preContainersList.stream().map(PreContainers::getTemperature).filter(Objects::nonNull).collect(Collectors.joining(","));
+					bills.setTemperature(temperature);
+					String ventilation = preContainersList.stream().map(PreContainers::getVentilation).filter(Objects::nonNull).collect(Collectors.joining(","));
+					bills.setVentilation(ventilation);
+				}
 				bills.setVesselCnName(bills.getVesselEnName() + "/" + bills.getVoyageNo());
 				bills.setDept(dept);
 				map.put(MagicValues.DATA, bills);

+ 29 - 5
blade-service/blade-los/src/main/java/org/springblade/los/business/aea/controller/AeaBillsController.java

@@ -33,7 +33,9 @@ import org.springblade.core.secure.utils.AuthUtil;
 import org.springblade.core.tool.api.R;
 import org.springblade.core.tool.utils.Func;
 import org.springblade.los.Util.IDeptUtils;
+import org.springblade.los.business.amends.entity.Amends;
 import org.springblade.los.business.sea.entity.Bills;
+import org.springblade.system.feign.ISysClient;
 import org.springframework.web.bind.annotation.*;
 import com.baomidou.mybatisplus.core.metadata.IPage;
 import org.springblade.los.business.aea.entity.AeaBills;
@@ -59,6 +61,8 @@ public class AeaBillsController extends BladeController {
 
 	private final IDeptUtils deptUtils;
 
+	private final ISysClient sysClient;
+
 	/**
 	 * 详情
 	 */
@@ -116,11 +120,31 @@ public class AeaBillsController extends BladeController {
 			lambdaQueryWrapper.ge(AeaBills::getEta, aeaBills.getEtaList().get(0));
 			lambdaQueryWrapper.le(AeaBills::getEta, aeaBills.getEtaList().get(1));
 		}
-		if (!AuthUtil.getUserRole().contains("admin") && !AuthUtil.getUserRole().contains("财务")) {
-			lambdaQueryWrapper.apply("find_in_set(team_id,'" + AuthUtil.getPostId() + "')");
-		}
-		if (!AuthUtil.getUserRole().contains("admin")) {
-			lambdaQueryWrapper.eq(AeaBills::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.eq(AeaBills::getOperatorDept, AuthUtil.getDeptId());
+				} else if (AuthUtil.getUserRole().contains("操作员")) {
+					lambdaQueryWrapper.eq(AeaBills::getOperatorId, AuthUtil.getUserId());
+				} else if (AuthUtil.getUserRole().contains("销售经理")) {
+					lambdaQueryWrapper.eq(AeaBills::getSrcDeptId, AuthUtil.getDeptId());
+				} else if (AuthUtil.getUserRole().contains("业务员")) {
+					lambdaQueryWrapper.eq(AeaBills::getSrcId, AuthUtil.getUserId());
+				} else {
+					lambdaQueryWrapper.eq(AeaBills::getCreateUser, AuthUtil.getUserId());
+				}
+				lambdaQueryWrapper.eq(AeaBills::getBranchId, deptUtils.getDeptPid());
+			}
+		} else {
+			if (!AuthUtil.getUserRole().contains("admin") && !AuthUtil.getUserRole().contains("财务")) {
+				lambdaQueryWrapper.apply("find_in_set(team_id,'" + AuthUtil.getPostId() + "')");
+			}
+			if (!AuthUtil.getUserRole().contains("admin")) {
+				lambdaQueryWrapper.eq(AeaBills::getBranchId, deptUtils.getDeptPid());
+			}
 		}
 		lambdaQueryWrapper.and(ObjectUtils.isNotNull(aeaBills.getBookingAgentCnName()), i -> i.like(AeaBills::getBookingAgentCnName, aeaBills.getBookingAgentCnName()).or()
 			.like(AeaBills::getBookingAgentEnName, aeaBills.getBookingAgentCnName()))

+ 29 - 5
blade-service/blade-los/src/main/java/org/springblade/los/business/amends/controller/AmendsController.java

@@ -36,6 +36,8 @@ import org.springblade.los.business.aea.entity.AeaBills;
 import org.springblade.los.business.amends.entity.Amends;
 import org.springblade.los.business.amends.service.IAmendsService;
 import org.springblade.los.business.amends.vo.AmendsVO;
+import org.springblade.los.business.sea.entity.Bills;
+import org.springblade.system.feign.ISysClient;
 import org.springframework.web.bind.annotation.*;
 
 import javax.validation.Valid;
@@ -56,6 +58,8 @@ public class AmendsController extends BladeController {
 
 	private final IDeptUtils deptUtils;
 
+	private final ISysClient sysClient;
+
 	/**
 	 * 详情
 	 */
@@ -96,11 +100,31 @@ public class AmendsController extends BladeController {
 			.le(ObjectUtils.isNotNull(amends.getEtaEnd()), Amends::getEta, amends.getEtaEnd())
 			.eq(Amends::getIsDeleted, 0)
 			.orderByDesc(Amends::getCreateTime);
-		if (!AuthUtil.getUserRole().contains("admin") && !AuthUtil.getUserRole().contains("财务")) {
-			lambdaQueryWrapper.apply("find_in_set(team_id,'" + AuthUtil.getPostId() + "')");
-		}
-		if (!AuthUtil.getUserRole().contains("admin")) {
-			lambdaQueryWrapper.eq(Amends::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.eq(Amends::getOperatorDept, AuthUtil.getDeptId());
+				} else if (AuthUtil.getUserRole().contains("操作员")) {
+					lambdaQueryWrapper.eq(Amends::getOperatorId, AuthUtil.getUserId());
+				} else if (AuthUtil.getUserRole().contains("销售经理")) {
+					lambdaQueryWrapper.eq(Amends::getSrcDeptId, AuthUtil.getDeptId());
+				} else if (AuthUtil.getUserRole().contains("业务员")) {
+					lambdaQueryWrapper.eq(Amends::getSrcId, AuthUtil.getUserId());
+				} else {
+					lambdaQueryWrapper.eq(Amends::getCreateUser, AuthUtil.getUserId());
+				}
+				lambdaQueryWrapper.eq(Amends::getBranchId, deptUtils.getDeptPid());
+			}
+		} else {
+			if (!AuthUtil.getUserRole().contains("admin") && !AuthUtil.getUserRole().contains("财务")) {
+				lambdaQueryWrapper.apply("find_in_set(team_id,'" + AuthUtil.getPostId() + "')");
+			}
+			if (!AuthUtil.getUserRole().contains("admin")) {
+				lambdaQueryWrapper.eq(Amends::getBranchId, deptUtils.getDeptPid());
+			}
 		}
 		IPage<Amends> pages = amendsService.page(Condition.getPage(query), lambdaQueryWrapper);
 		return R.data(pages);

+ 153 - 0
blade-service/blade-los/src/main/java/org/springblade/los/statisticAnalysis/service/impl/StatisticAnalysisServiceImpl.java

@@ -38,6 +38,7 @@ import org.springblade.los.trade.mapper.DispatchVehiclesMapper;
 import org.springblade.los.view.entity.BoxNumberProfit;
 import org.springblade.los.view.mapper.BoxNumberProfitMapper;
 import org.springblade.los.view.mapper.FinanceProfitMapper;
+import org.springblade.system.feign.ISysClient;
 import org.springframework.stereotype.Service;
 
 import java.math.BigDecimal;
@@ -76,6 +77,8 @@ public class StatisticAnalysisServiceImpl implements IStatisticAnalysisService {
 
 	private final DispatchVehiclesMapper dispatchVehiclesMapper;
 
+	private final ISysClient sysClient;
+
 	@Override
 	public R<IPage<DecisionAnalysis>> decisionAnalysis(DecisionAnalysis decisionAnalysis, IPage<DecisionAnalysis> page) {
 		return R.data(page.setRecords(billsMapper.decisionAnalysis(decisionAnalysis, page)));
@@ -97,6 +100,31 @@ public class StatisticAnalysisServiceImpl implements IStatisticAnalysisService {
 	public R<IPage<FinanceProfitDtoList>> financeProfit(FinanceProfitDtoList financeProfit, IPage<FinanceProfitDtoList> page) {
 		financeProfit.setTenantId(AuthUtil.getTenantId());
 		financeProfit.setBranchId(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("操作经理")) {
+					financeProfit.setSelecType("1");
+					financeProfit.setSelecTypeId(AuthUtil.getDeptId());
+				} else if (AuthUtil.getUserRole().contains("操作员")) {
+					financeProfit.setSelecTypeId(AuthUtil.getUserId()+"");
+					financeProfit.setSelecType("2");
+				} else if (AuthUtil.getUserRole().contains("销售经理")) {
+					financeProfit.setSelecTypeId(AuthUtil.getDeptId());
+					financeProfit.setSelecType("3");
+				} else if (AuthUtil.getUserRole().contains("业务员")) {
+					financeProfit.setSelecTypeId(AuthUtil.getUserId()+"");
+					financeProfit.setSelecType("4");
+				} else {
+					financeProfit.setSelecTypeId(AuthUtil.getUserId()+"");
+					financeProfit.setSelecType("5");
+				}
+			}else{
+				financeProfit.setSelecType("0");
+			}
+		}
 		List<FinanceProfitDtoList> financeProfitList = new ArrayList<>();
 		BigDecimal exrateC = bCurrencyService.getCnyExrate("USD", "C", "2");
 		BigDecimal exrateD = bCurrencyService.getCnyExrate("USD", "D", "2");
@@ -774,6 +802,31 @@ public class StatisticAnalysisServiceImpl implements IStatisticAnalysisService {
 	public R financeProfitSum(FinanceProfitDtoList financeProfit) {
 		financeProfit.setTenantId(AuthUtil.getTenantId());
 		financeProfit.setBranchId(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("操作经理")) {
+					financeProfit.setSelecType("1");
+					financeProfit.setSelecTypeId(AuthUtil.getDeptId());
+				} else if (AuthUtil.getUserRole().contains("操作员")) {
+					financeProfit.setSelecTypeId(AuthUtil.getUserId()+"");
+					financeProfit.setSelecType("2");
+				} else if (AuthUtil.getUserRole().contains("销售经理")) {
+					financeProfit.setSelecTypeId(AuthUtil.getDeptId());
+					financeProfit.setSelecType("3");
+				} else if (AuthUtil.getUserRole().contains("业务员")) {
+					financeProfit.setSelecTypeId(AuthUtil.getUserId()+"");
+					financeProfit.setSelecType("4");
+				} else {
+					financeProfit.setSelecTypeId(AuthUtil.getUserId()+"");
+					financeProfit.setSelecType("5");
+				}
+			}else{
+				financeProfit.setSelecType("0");
+			}
+		}
 		List<FinanceProfitDtoList> financeProfitList = new ArrayList<>();
 		BigDecimal exrateC = bCurrencyService.getCnyExrate("USD", "C", "2");
 		BigDecimal exrateD = bCurrencyService.getCnyExrate("USD", "D", "2");
@@ -978,6 +1031,31 @@ public class StatisticAnalysisServiceImpl implements IStatisticAnalysisService {
 	public List<FinanceProfitDtoList> financeProfitExport(FinanceProfitDtoList financeProfit) {
 		financeProfit.setTenantId(AuthUtil.getTenantId());
 		financeProfit.setBranchId(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("操作经理")) {
+					financeProfit.setSelecType("1");
+					financeProfit.setSelecTypeId(AuthUtil.getDeptId());
+				} else if (AuthUtil.getUserRole().contains("操作员")) {
+					financeProfit.setSelecTypeId(AuthUtil.getUserId()+"");
+					financeProfit.setSelecType("2");
+				} else if (AuthUtil.getUserRole().contains("销售经理")) {
+					financeProfit.setSelecTypeId(AuthUtil.getDeptId());
+					financeProfit.setSelecType("3");
+				} else if (AuthUtil.getUserRole().contains("业务员")) {
+					financeProfit.setSelecTypeId(AuthUtil.getUserId()+"");
+					financeProfit.setSelecType("4");
+				} else {
+					financeProfit.setSelecTypeId(AuthUtil.getUserId()+"");
+					financeProfit.setSelecType("5");
+				}
+			}else{
+				financeProfit.setSelecType("0");
+			}
+		}
 		List<FinanceProfitDtoList> financeProfitList = new ArrayList<>();
 		BigDecimal exrateC = bCurrencyService.getCnyExrate("USD", "C", "2");
 		BigDecimal exrateD = bCurrencyService.getCnyExrate("USD", "D", "2");
@@ -1165,6 +1243,31 @@ public class StatisticAnalysisServiceImpl implements IStatisticAnalysisService {
 	public R<IPage<BoxNumberProfitExcel>> boxNumberProfitStatistics(IPage<BoxNumberProfitExcel> page, BoxNumberProfitQ boxNumberProfit) {
 		boxNumberProfit.setTenantId(AuthUtil.getTenantId());
 		boxNumberProfit.setBranchId(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("操作经理")) {
+					boxNumberProfit.setSelecType("1");
+					boxNumberProfit.setSelecTypeId(AuthUtil.getDeptId());
+				} else if (AuthUtil.getUserRole().contains("操作员")) {
+					boxNumberProfit.setSelecTypeId(AuthUtil.getUserId()+"");
+					boxNumberProfit.setSelecType("2");
+				} else if (AuthUtil.getUserRole().contains("销售经理")) {
+					boxNumberProfit.setSelecTypeId(AuthUtil.getDeptId());
+					boxNumberProfit.setSelecType("3");
+				} else if (AuthUtil.getUserRole().contains("业务员")) {
+					boxNumberProfit.setSelecTypeId(AuthUtil.getUserId()+"");
+					boxNumberProfit.setSelecType("4");
+				} else {
+					boxNumberProfit.setSelecTypeId(AuthUtil.getUserId()+"");
+					boxNumberProfit.setSelecType("5");
+				}
+			}else{
+				boxNumberProfit.setSelecType("0");
+			}
+		}
 		List<BoxNumberProfit> boxNumberProfitList = boxNumberProfitMapper.selectBoxNumberProfitPage(page, boxNumberProfit);
 		List<BoxNumberProfitExcel> boxNumberProfitExcelList = new ArrayList<>();
 		if (!boxNumberProfitList.isEmpty()) {
@@ -1213,6 +1316,31 @@ public class StatisticAnalysisServiceImpl implements IStatisticAnalysisService {
 	public R boxNumberProfitStatisticsSum(BoxNumberProfitQ boxNumberProfit) {
 		boxNumberProfit.setTenantId(AuthUtil.getTenantId());
 		boxNumberProfit.setBranchId(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("操作经理")) {
+					boxNumberProfit.setSelecType("1");
+					boxNumberProfit.setSelecTypeId(AuthUtil.getDeptId());
+				} else if (AuthUtil.getUserRole().contains("操作员")) {
+					boxNumberProfit.setSelecTypeId(AuthUtil.getUserId()+"");
+					boxNumberProfit.setSelecType("2");
+				} else if (AuthUtil.getUserRole().contains("销售经理")) {
+					boxNumberProfit.setSelecTypeId(AuthUtil.getDeptId());
+					boxNumberProfit.setSelecType("3");
+				} else if (AuthUtil.getUserRole().contains("业务员")) {
+					boxNumberProfit.setSelecTypeId(AuthUtil.getUserId()+"");
+					boxNumberProfit.setSelecType("4");
+				} else {
+					boxNumberProfit.setSelecTypeId(AuthUtil.getUserId()+"");
+					boxNumberProfit.setSelecType("5");
+				}
+			}else{
+				boxNumberProfit.setSelecType("0");
+			}
+		}
 		List<BoxNumberProfit> boxNumberProfitList = boxNumberProfitMapper.selectBoxNumberProfitList(boxNumberProfit);
 		List<BoxNumberProfitExcel> boxNumberProfitExcelList = new ArrayList<>();
 		Map<String, Object> map = new HashMap<>();
@@ -1295,6 +1423,31 @@ public class StatisticAnalysisServiceImpl implements IStatisticAnalysisService {
 	public List<BoxNumberProfitExcel> boxNumberProfitStatisticsList(BoxNumberProfitQ boxNumberProfit) {
 		boxNumberProfit.setTenantId(AuthUtil.getTenantId());
 		boxNumberProfit.setBranchId(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("操作经理")) {
+					boxNumberProfit.setSelecType("1");
+					boxNumberProfit.setSelecTypeId(AuthUtil.getDeptId());
+				} else if (AuthUtil.getUserRole().contains("操作员")) {
+					boxNumberProfit.setSelecTypeId(AuthUtil.getUserId()+"");
+					boxNumberProfit.setSelecType("2");
+				} else if (AuthUtil.getUserRole().contains("销售经理")) {
+					boxNumberProfit.setSelecTypeId(AuthUtil.getDeptId());
+					boxNumberProfit.setSelecType("3");
+				} else if (AuthUtil.getUserRole().contains("业务员")) {
+					boxNumberProfit.setSelecTypeId(AuthUtil.getUserId()+"");
+					boxNumberProfit.setSelecType("4");
+				} else {
+					boxNumberProfit.setSelecTypeId(AuthUtil.getUserId()+"");
+					boxNumberProfit.setSelecType("5");
+				}
+			}else{
+				boxNumberProfit.setSelecType("0");
+			}
+		}
 		List<BoxNumberProfit> boxNumberProfitList = boxNumberProfitMapper.selectBoxNumberProfitList(boxNumberProfit);
 		List<BoxNumberProfitExcel> boxNumberProfitExcelList = new ArrayList<>();
 		if (!boxNumberProfitList.isEmpty()) {

+ 30 - 0
blade-service/blade-los/src/main/java/org/springblade/los/view/mapper/BoxNumberProfitMapper.xml

@@ -81,6 +81,21 @@
         <if test="data.cyCnName != null and data.cyCnName != ''">
             and cy_cn_name like concat('%', #{data.cyCnName}, '%')
         </if>
+        <if test="data.selecType != null and data.selecType != '' and data.selecType == '1'">
+           and operator_dept = #{data.selecTypeId}
+        </if>
+        <if test="data.selecType != null and data.selecType != '' and data.selecType == '2'">
+            and operator_id = #{data.selecTypeId}
+        </if>
+        <if test="data.selecType != null and data.selecType != '' and data.selecType == '3'">
+            and src_dept_id = #{data.selecTypeId}
+        </if>
+        <if test="data.selecType != null and data.selecType != '' and data.selecType == '4'">
+            and get_src_id = #{data.selecTypeId}
+        </if>
+        <if test="data.selecType != null and data.selecType != '' and data.selecType == '5'">
+            and create_user = #{data.selecTypeId}
+        </if>
         <if test="data.businessType != null and data.businessType != '' and data.businessType == 'SE' or data.businessType == 'ASE'">
             <if test='data.dateStart != null and data.dateStart != null'>
                 and etd &gt;= #{data.dateStart}
@@ -136,6 +151,21 @@
         <if test="data.cyCnName != null and data.cyCnName != ''">
             and cy_cn_name like concat('%', #{data.cyCnName}, '%')
         </if>
+        <if test="data.selecType != null and data.selecType != '' and data.selecType == '1'">
+            and operator_dept = #{data.selecTypeId}
+        </if>
+        <if test="data.selecType != null and data.selecType != '' and data.selecType == '2'">
+            and operator_id = #{data.selecTypeId}
+        </if>
+        <if test="data.selecType != null and data.selecType != '' and data.selecType == '3'">
+            and src_dept_id = #{data.selecTypeId}
+        </if>
+        <if test="data.selecType != null and data.selecType != '' and data.selecType == '4'">
+            and src_id = #{data.selecTypeId}
+        </if>
+        <if test="data.selecType != null and data.selecType != '' and data.selecType == '5'">
+            and create_user = #{data.selecTypeId}
+        </if>
         <if test="data.businessType != null and data.businessType != '' and data.businessType == 'SE' or data.businessType == 'ASE'">
             <if test='data.dateStart != null and data.dateStart != null'>
                 and etd &gt;= #{data.dateStart}

+ 30 - 0
blade-service/blade-los/src/main/java/org/springblade/los/view/mapper/FinanceProfitMapper.xml

@@ -118,6 +118,21 @@
         <if test='data.srcId != null'>
             and seb.src_id = #{data.srcId}
         </if>
+        <if test="data.selecType != null and data.selecType != '' and data.selecType == '1'">
+            and seb.operator_dept = #{data.selecTypeId}
+        </if>
+        <if test="data.selecType != null and data.selecType != '' and data.selecType == '2'">
+            and seb.operator_id = #{data.selecTypeId}
+        </if>
+        <if test="data.selecType != null and data.selecType != '' and data.selecType == '3'">
+            and seb.src_dept_id = #{data.selecTypeId}
+        </if>
+        <if test="data.selecType != null and data.selecType != '' and data.selecType == '4'">
+            and seb.src_id = #{data.selecTypeId}
+        </if>
+        <if test="data.selecType != null and data.selecType != '' and data.selecType == '5'">
+            and seb.create_user = #{data.selecTypeId}
+        </if>
         <if test='data.examine != null and data.examine != "" and data.examine == "1"'>
             and seb.status = 3
         </if>
@@ -221,6 +236,21 @@
         <if test='data.srcId != null'>
             and seb.src_id = #{data.srcId}
         </if>
+        <if test="data.selecType != null and data.selecType != '' and data.selecType == '1'">
+            and seb.operator_dept = #{data.selecTypeId}
+        </if>
+        <if test="data.selecType != null and data.selecType != '' and data.selecType == '2'">
+            and seb.operator_id = #{data.selecTypeId}
+        </if>
+        <if test="data.selecType != null and data.selecType != '' and data.selecType == '3'">
+            and seb.src_dept_id = #{data.selecTypeId}
+        </if>
+        <if test="data.selecType != null and data.selecType != '' and data.selecType == '4'">
+            and seb.src_id = #{data.selecTypeId}
+        </if>
+        <if test="data.selecType != null and data.selecType != '' and data.selecType == '5'">
+            and seb.create_user = #{data.selecTypeId}
+        </if>
         <if test='data.examine != null and data.examine != "" and data.examine == "1"'>
             and seb.status = 3
         </if>

+ 11 - 0
blade-service/blade-system/src/main/java/org/springblade/system/feign/DictBizClient.java

@@ -17,6 +17,7 @@
 package org.springblade.system.feign;
 
 
+import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
 import lombok.AllArgsConstructor;
 import org.springblade.core.tenant.annotation.NonDS;
 import org.springblade.core.tool.api.R;
@@ -78,4 +79,14 @@ public class DictBizClient implements IDictBizClient {
 		return service.getOneByValue(code, dictValue, tenantId);
 	}
 
+	@Override
+	@GetMapping(GET_DICT_BIZ)
+	public R<DictBiz> getDictBiz(String code, String dictKey, String tenantId) {
+		return R.data(service.getOne(new LambdaQueryWrapper<DictBiz>()
+			.eq(DictBiz::getIsDeleted, 0)
+			.eq(DictBiz::getTenantId, tenantId)
+			.eq(DictBiz::getCode, code)
+			.eq(DictBiz::getDictKey, dictKey)));
+	}
+
 }