Selaa lähdekoodia

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

liyuan 8 kuukautta sitten
vanhempi
commit
40331c8f84
14 muutettua tiedostoa jossa 378 lisäystä ja 206 poistoa
  1. 7 0
      blade-service-api/blade-los-api/src/main/java/org/springblade/los/business/aea/entity/AeaBills.java
  2. 7 0
      blade-service-api/blade-los-api/src/main/java/org/springblade/los/business/amends/entity/Amends.java
  3. 7 0
      blade-service-api/blade-los-api/src/main/java/org/springblade/los/business/customsDeclaration/entity/CustomsDeclaration.java
  4. 12 0
      blade-service-api/blade-los-api/src/main/java/org/springblade/los/business/sea/entity/Bills.java
  5. 15 3
      blade-service/blade-los/src/main/java/org/springblade/los/basic/reports/service/impl/ReportsServiceImpl.java
  6. 17 1
      blade-service/blade-los/src/main/java/org/springblade/los/business/aea/service/impl/AeaBillsServiceImpl.java
  7. 18 1
      blade-service/blade-los/src/main/java/org/springblade/los/business/amends/service/impl/AmendsServiceImpl.java
  8. 18 1
      blade-service/blade-los/src/main/java/org/springblade/los/business/customsDeclaration/service/impl/CustomsDeclarationServiceImpl.java
  9. 19 3
      blade-service/blade-los/src/main/java/org/springblade/los/business/sea/service/impl/BillsServiceImpl.java
  10. 74 60
      blade-service/blade-los/src/main/java/org/springblade/los/check/controller/AuditPathsActsController.java
  11. 2 1
      blade-service/blade-los/src/main/java/org/springblade/los/check/controller/AuditPathsLevelsController.java
  12. 172 131
      blade-service/blade-los/src/main/java/org/springblade/los/trade/service/impl/AgentServiceImpl.java
  13. 9 4
      blade-service/blade-sales-part/src/main/java/org/springblade/salesPart/share/service/impl/SharePutOnShelvesServiceImpl.java
  14. 1 1
      blade-service/blade-sales-part/src/main/java/org/springblade/salesPart/shoppingCart/service/impl/ShoppingCartServiceImpl.java

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

@@ -27,6 +27,7 @@ import lombok.Data;
 import org.springblade.los.business.amends.entity.Amends;
 import org.springblade.los.business.files.entity.FilesCenter;
 import org.springblade.los.business.sea.dto.ContainersReports;
+import org.springblade.los.check.entity.LosAuditPathsLevels;
 import org.springblade.los.finance.fee.dto.FeeCenterReports;
 import org.springblade.los.finance.fee.entity.FeeCenter;
 import org.springblade.los.finance.fee.entity.FinAccBills;
@@ -1382,6 +1383,12 @@ public class AeaBills implements Serializable {
 	@TableField(exist = false)
 	private String to;
 
+	/**
+	 * 审核路径
+	 */
+	@TableField(exist = false)
+	private List<LosAuditPathsLevels> auditPathsLevels;
+
 
 
 }

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

@@ -24,6 +24,7 @@ import com.fasterxml.jackson.annotation.JsonFormat;
 import io.swagger.annotations.ApiModel;
 import io.swagger.annotations.ApiModelProperty;
 import lombok.Data;
+import org.springblade.los.check.entity.LosAuditPathsLevels;
 import org.springblade.los.finance.fee.entity.FeeCenter;
 import org.springframework.format.annotation.DateTimeFormat;
 
@@ -581,5 +582,11 @@ public class Amends implements Serializable {
 	@ApiModelProperty(value = "来源部门")
 	private String srcDeptName;
 
+	/**
+	 * 审核路径
+	 */
+	@TableField(exist = false)
+	private List<LosAuditPathsLevels> auditPathsLevels;
+
 
 }

+ 7 - 0
blade-service-api/blade-los-api/src/main/java/org/springblade/los/business/customsDeclaration/entity/CustomsDeclaration.java

@@ -27,6 +27,7 @@ import lombok.Data;
 import org.springblade.los.business.amends.entity.Amends;
 import org.springblade.los.business.files.entity.FilesCenter;
 import org.springblade.los.business.sea.dto.ContainersReports;
+import org.springblade.los.check.entity.LosAuditPathsLevels;
 import org.springblade.los.finance.fee.dto.FeeCenterReports;
 import org.springblade.los.finance.fee.entity.FeeCenter;
 import org.springblade.los.finance.fee.entity.FinAccBills;
@@ -813,5 +814,11 @@ public class CustomsDeclaration implements Serializable {
 	@TableField(exist = false)
 	private String to;
 
+	/**
+	 * 审核路径
+	 */
+	@TableField(exist = false)
+	private List<LosAuditPathsLevels> auditPathsLevels;
+
 
 }

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

@@ -28,6 +28,7 @@ import org.springblade.los.business.amends.entity.Amends;
 import org.springblade.los.business.files.entity.FilesCenter;
 import org.springblade.los.business.sea.dto.ContainersReports;
 import org.springblade.los.business.sea.dto.WaitingBox;
+import org.springblade.los.check.entity.LosAuditPathsLevels;
 import org.springblade.los.finance.fee.dto.FeeCenterReports;
 import org.springblade.los.finance.fee.entity.FeeCenter;
 import org.springblade.los.finance.fee.entity.FinAccBills;
@@ -1655,6 +1656,11 @@ public class Bills implements Serializable {
 	@TableField(exist = false)
 	private String cntryString;
 	/**
+	 * 箱信息字符串
+	 */
+	@TableField(exist = false)
+	private String cntrSealNo;
+	/**
 	 * 本位币利润(CNY)
 	 */
 	@TableField(exist = false)
@@ -2032,5 +2038,11 @@ public class Bills implements Serializable {
 	@TableField(exist = false)
 	private BigDecimal amountProfitLocAmend;
 
+	/**
+	 * 审核路径
+	 */
+	@TableField(exist = false)
+	private List<LosAuditPathsLevels> auditPathsLevels;
+
 
 }

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

@@ -720,9 +720,9 @@ public class ReportsServiceImpl extends ServiceImpl<ReportsMapper, Reports> impl
 						.eq(FeeCenter::getTenantId, AuthUtil.getTenantId())
 						.eq(FeeCenter::getIsDeleted, 0)
 						.in(FeeCenter::getId, feeCenterIdList));
-					for (FeeCenter item :feeCenterList){
-						if (!"CNY".equals(item.getCurCode())){
-							item.setAmount(item.getAmount().multiply(item.getExrate()).setScale(2,RoundingMode.HALF_UP));
+					for (FeeCenter item : feeCenterList) {
+						if (!"CNY".equals(item.getCurCode())) {
+							item.setAmount(item.getAmount().multiply(item.getExrate()).setScale(2, RoundingMode.HALF_UP));
 						}
 					}
 					List<Long> idList = feeCenterList.stream().filter(e -> "SI".equals(e.getBusinessType()))
@@ -1864,6 +1864,8 @@ public class ReportsServiceImpl extends ServiceImpl<ReportsMapper, Reports> impl
 					}
 				}
 				bills.setBoxWeightSum(boxWeightSum);
+				StringBuilder text = new StringBuilder();
+				StringBuilder cntrSealNo = new StringBuilder();
 				for (Containers item : containersList) {
 					ContainersReports containersReports = new ContainersReports();
 					BeanUtil.copyProperties(item, containersReports);
@@ -1875,7 +1877,14 @@ public class ReportsServiceImpl extends ServiceImpl<ReportsMapper, Reports> impl
 						}
 					}
 					containersReportsList.add(containersReports);
+					text.append(item.getCntrNo()).append("/").append(item.getSealNo())
+						.append(item.getQuantity()).append(item.getPackingUnit()).append("/")
+						.append(item.getGrossWeight()).append(item.getPackingUnit()).append("/")
+						.append(item.getMeasurement()).append("CBM");
+					cntrSealNo.append(item.getCntrNo()).append("/").append(item.getSealNo());
 				}
+				bills.setCntryString(text.toString());
+				bills.setCntrSealNo(cntrSealNo.toString());
 				bills.setContainersReportsList(containersReportsList);
 				bills.setDept(dept);
 				map.put(MagicValues.DATA, bills);
@@ -1979,13 +1988,16 @@ public class ReportsServiceImpl extends ServiceImpl<ReportsMapper, Reports> impl
 				}
 				bills.setBoxWeightSum(boxWeightSum);
 				StringBuilder text = new StringBuilder();
+				StringBuilder cntrSealNo = new StringBuilder();
 				for (Containers item : containersList) {
 					text.append(item.getCntrNo()).append("/").append(item.getSealNo())
 						.append(item.getQuantity()).append(item.getPackingUnit()).append("/")
 						.append(item.getGrossWeight()).append(item.getPackingUnit()).append("/")
 						.append(item.getMeasurement()).append("CBM");
+					cntrSealNo.append(item.getCntrNo()).append("/").append(item.getSealNo());
 				}
 				bills.setCntryString(text.toString());
+				bills.setCntrSealNo(cntrSealNo.toString());
 				bills.setDept(dept);
 				map.put(MagicValues.DATA, bills);
 			} else {

+ 17 - 1
blade-service/blade-los/src/main/java/org/springblade/los/business/aea/service/impl/AeaBillsServiceImpl.java

@@ -906,7 +906,23 @@ public class AeaBillsServiceImpl extends ServiceImpl<AeaBillsMapper, AeaBills> i
 			auditProecessDTO.setPageStatus(bills.getPageStatus());
 			auditProecessDTO.setPageLabel(bills.getPageLabel());
 			auditProecessDTO.setOrderRemark(declare.getRemarks());
-			auditProecessDTO.setPathsLevelsList(auditPathsLevels);
+			List<LosAuditPathsLevels> pathsLevelsList = bills.getAuditPathsLevels();
+			if (!pathsLevelsList.isEmpty()) {
+				List<Long> idList = pathsLevelsList.stream().map(LosAuditPathsLevels::getId).collect(Collectors.toList());
+				List<LosAuditPathsLevels> levelsList = new ArrayList<>();
+				for (LosAuditPathsLevels item : auditPathsLevels) {
+					if (2 == item.getUserMold()) {
+						if (idList.contains(item.getId())) {
+							levelsList.add(item);
+						}
+					} else {
+						levelsList.add(item);
+					}
+				}
+				auditProecessDTO.setPathsLevelsList(levelsList);
+			} else {
+				auditProecessDTO.setPathsLevelsList(auditPathsLevels);
+			}
 			auditProecessDTO.setActId(1);
 			auditProecessDTO.setSrcBillId(declare.getId());
 			auditProecessDTO.setBillId(declare.getId());

+ 18 - 1
blade-service/blade-los/src/main/java/org/springblade/los/business/amends/service/impl/AmendsServiceImpl.java

@@ -63,6 +63,7 @@ import java.math.MathContext;
 import java.math.RoundingMode;
 import java.time.LocalDate;
 import java.time.ZoneId;
+import java.util.ArrayList;
 import java.util.Date;
 import java.util.List;
 import java.util.Objects;
@@ -278,7 +279,23 @@ public class AmendsServiceImpl extends ServiceImpl<AmendsMapper, Amends> impleme
 			auditProecessDTO.setPageStatus(amends.getPageStatus());
 			auditProecessDTO.setPageLabel(amends.getPageLabel());
 			auditProecessDTO.setOrderRemark(declare.getRemarks());
-			auditProecessDTO.setPathsLevelsList(auditPathsLevels);
+			List<LosAuditPathsLevels> pathsLevelsList = amends.getAuditPathsLevels();
+			if (!pathsLevelsList.isEmpty()) {
+				List<Long> idList = pathsLevelsList.stream().map(LosAuditPathsLevels::getId).collect(Collectors.toList());
+				List<LosAuditPathsLevels> levelsList = new ArrayList<>();
+				for (LosAuditPathsLevels item : auditPathsLevels) {
+					if (2 == item.getUserMold()) {
+						if (idList.contains(item.getId())) {
+							levelsList.add(item);
+						}
+					} else {
+						levelsList.add(item);
+					}
+				}
+				auditProecessDTO.setPathsLevelsList(levelsList);
+			} else {
+				auditProecessDTO.setPathsLevelsList(auditPathsLevels);
+			}
 			auditProecessDTO.setActId(1);
 			auditProecessDTO.setSrcBillId(declare.getId());
 			auditProecessDTO.setBillId(declare.getId());

+ 18 - 1
blade-service/blade-los/src/main/java/org/springblade/los/business/customsDeclaration/service/impl/CustomsDeclarationServiceImpl.java

@@ -63,6 +63,7 @@ import org.springframework.transaction.interceptor.TransactionAspectSupport;
 import java.math.BigDecimal;
 import java.time.LocalDate;
 import java.time.ZoneId;
+import java.util.ArrayList;
 import java.util.Date;
 import java.util.List;
 import java.util.stream.Collectors;
@@ -410,7 +411,23 @@ public class CustomsDeclarationServiceImpl extends ServiceImpl<CustomsDeclaratio
 			auditProecessDTO.setPageStatus(customsDeclaration.getPageStatus());
 			auditProecessDTO.setPageLabel(customsDeclaration.getPageLabel());
 			auditProecessDTO.setOrderRemark(declare.getRemarks());
-			auditProecessDTO.setPathsLevelsList(auditPathsLevels);
+			List<LosAuditPathsLevels> pathsLevelsList = customsDeclaration.getAuditPathsLevels();
+			if (!pathsLevelsList.isEmpty()) {
+				List<Long> idList = pathsLevelsList.stream().map(LosAuditPathsLevels::getId).collect(Collectors.toList());
+				List<LosAuditPathsLevels> levelsList = new ArrayList<>();
+				for (LosAuditPathsLevels item : auditPathsLevels) {
+					if (2 == item.getUserMold()) {
+						if (idList.contains(item.getId())) {
+							levelsList.add(item);
+						}
+					} else {
+						levelsList.add(item);
+					}
+				}
+				auditProecessDTO.setPathsLevelsList(levelsList);
+			} else {
+				auditProecessDTO.setPathsLevelsList(auditPathsLevels);
+			}
 			auditProecessDTO.setActId(1);
 			auditProecessDTO.setSrcBillId(declare.getId());
 			auditProecessDTO.setBillId(declare.getId());

+ 19 - 3
blade-service/blade-los/src/main/java/org/springblade/los/business/sea/service/impl/BillsServiceImpl.java

@@ -1354,9 +1354,9 @@ public class BillsServiceImpl extends ServiceImpl<BillsMapper, Bills> implements
 		//审批数据
 		LosAuditProecessDTO auditProecessDTO = new LosAuditProecessDTO();
 		//获取审批级次
-		List<LosAuditPathsLevels> auditPathsLevels = null;
+		List<LosAuditPathsLevels> auditPathsLevels;
 		// 判断是否有审批流,如果审批流已开启就进入审批流,否则直接走申请通过
-		LosAuditPathsActs pathsActs = null;
+		LosAuditPathsActs pathsActs;
 		//是否开启流程
 		LambdaQueryWrapper<LosAuditPathsActs> auditPathsActsLambdaQueryWrapper = new LambdaQueryWrapper<>();
 		auditPathsActsLambdaQueryWrapper
@@ -1458,7 +1458,23 @@ public class BillsServiceImpl extends ServiceImpl<BillsMapper, Bills> implements
 			auditProecessDTO.setPageStatus(bills.getPageStatus());
 			auditProecessDTO.setPageLabel(bills.getPageLabel());
 			auditProecessDTO.setOrderRemark(declare.getRemarks());
-			auditProecessDTO.setPathsLevelsList(auditPathsLevels);
+			List<LosAuditPathsLevels> pathsLevelsList = bills.getAuditPathsLevels();
+			if (!pathsLevelsList.isEmpty()) {
+				List<Long> idList = pathsLevelsList.stream().map(LosAuditPathsLevels::getId).collect(Collectors.toList());
+				List<LosAuditPathsLevels> levelsList = new ArrayList<>();
+				for (LosAuditPathsLevels item : auditPathsLevels) {
+					if (2 == item.getUserMold()) {
+						if (idList.contains(item.getId())) {
+							levelsList.add(item);
+						}
+					} else {
+						levelsList.add(item);
+					}
+				}
+				auditProecessDTO.setPathsLevelsList(levelsList);
+			} else {
+				auditProecessDTO.setPathsLevelsList(auditPathsLevels);
+			}
 			auditProecessDTO.setActId(1);
 			auditProecessDTO.setSrcBillId(declare.getId());
 			auditProecessDTO.setBillId(declare.getId());

+ 74 - 60
blade-service/blade-los/src/main/java/org/springblade/los/check/controller/AuditPathsActsController.java

@@ -65,22 +65,20 @@ public class AuditPathsActsController extends BladeController {
 	@GetMapping("/list")
 	@ApiOperationSupport(order = 2)
 	@ApiOperation(value = "列表-审批流配置明细表", notes = "传入auditPathsActs")
-	public R<IPage<LosAuditPathsActs>> list(LosAuditPathsActs auditPathsActs, Query query)
-	{
-		LambdaQueryWrapper<LosAuditPathsActs> lambdaQueryWrapper=new LambdaQueryWrapper<>();
+	public R<IPage<LosAuditPathsActs>> list(LosAuditPathsActs auditPathsActs, Query query) {
+		LambdaQueryWrapper<LosAuditPathsActs> lambdaQueryWrapper = new LambdaQueryWrapper<>();
 		lambdaQueryWrapper.eq(LosAuditPathsActs::getTenantId, AuthUtil.getTenantId());
-		lambdaQueryWrapper.like(StringUtils.isNotBlank(auditPathsActs.getActName()),LosAuditPathsActs::getActName,auditPathsActs.getActName());
+		lambdaQueryWrapper.like(StringUtils.isNotBlank(auditPathsActs.getActName()), LosAuditPathsActs::getActName, auditPathsActs.getActName());
 		if (!AuthUtil.getUserRole().contains("admin")) {
 			lambdaQueryWrapper.eq(LosAuditPathsActs::getSalesCompanyId, deptUtils.getDeptPid());//公司
 		}
 		IPage<LosAuditPathsActs> pages = auditPathsActsService.page(Condition.getPage(query), lambdaQueryWrapper);
 		List<LosAuditPathsActs> records = pages.getRecords();
-		if(CollectionUtils.isNotEmpty(records))
-		{
-			records.forEach(e->{
+		if (CollectionUtils.isNotEmpty(records)) {
+			records.forEach(e -> {
 				Long pathId = e.getPathId();
 				LosAuditPaths auditPaths = pathsService.getById(pathId);
-                e.setPathName(auditPaths.getPathName());
+				e.setPathName(auditPaths.getPathName());
 			});
 		}
 		return R.data(pages);
@@ -89,10 +87,8 @@ public class AuditPathsActsController extends BladeController {
 	@PostMapping("modify")
 	@ApiOperationSupport(order = 2)
 	@ApiOperation(value = "保存-审批流配置明细表", notes = "传入auditPathsActs")
-	public R modify(@RequestBody List<LosAuditPathsActs> auditPathsActsList)
-	{
-		if(CollectionUtils.isEmpty(auditPathsActsList))
-		{
+	public R modify(@RequestBody List<LosAuditPathsActs> auditPathsActsList) {
+		if (CollectionUtils.isEmpty(auditPathsActsList)) {
 			throw new SecurityException("传入数据为空");
 		}
 		auditPathsActsService.modify(auditPathsActsList);
@@ -102,30 +98,29 @@ public class AuditPathsActsController extends BladeController {
 	@GetMapping("listLevelsByActId")
 	@ApiOperationSupport(order = 2)
 	@ApiOperation(value = "feign接口专用,前端勿调", notes = "feign接口专用,前端勿调")
-    public List<LosAuditPathsLevels> listLevelsByActId(@ApiParam(value = "feign接口专用,前端勿调", required = true) @RequestParam int actId, @ApiParam(value = "feign接口专用,前端勿调", required = true) @RequestParam String fidStatus)
-	{
-		LosAuditPathsActs pathsActs = auditPathsActsService.getOne(new LambdaQueryWrapper<LosAuditPathsActs>().eq(LosAuditPathsActs::getActId, actId).eq(LosAuditPathsActs::getFidStatus,fidStatus).eq(LosAuditPathsActs::getTenantId,AuthUtil.getTenantId()));
+	public List<LosAuditPathsLevels> listLevelsByActId(@ApiParam(value = "feign接口专用,前端勿调", required = true) @RequestParam int actId, @ApiParam(value = "feign接口专用,前端勿调", required = true) @RequestParam String fidStatus) {
+		LosAuditPathsActs pathsActs = auditPathsActsService.getOne(new LambdaQueryWrapper<LosAuditPathsActs>().eq(LosAuditPathsActs::getActId, actId).eq(LosAuditPathsActs::getFidStatus, fidStatus).eq(LosAuditPathsActs::getTenantId, AuthUtil.getTenantId()));
 		Long pathId = pathsActs.getPathId();
-		List<LosAuditPathsLevels> levelsList = auditPathsLevelsService.list(new LambdaQueryWrapper<LosAuditPathsLevels>().eq(LosAuditPathsLevels::getTenantId,AuthUtil.getTenantId()).eq(LosAuditPathsLevels::getPathId, pathId));
+		List<LosAuditPathsLevels> levelsList = auditPathsLevelsService.list(new LambdaQueryWrapper<LosAuditPathsLevels>().eq(LosAuditPathsLevels::getTenantId, AuthUtil.getTenantId()).eq(LosAuditPathsLevels::getPathId, pathId));
 		return levelsList;
 	}
 
 	@GetMapping("getActsByActId")
 	@ApiOperationSupport(order = 2)
 	@ApiOperation(value = "feign接口专用,前端勿调", notes = "feign接口专用,前端勿调")
-	public LosAuditPathsActs getActsByActId(@ApiParam(value = "feign接口专用,前端勿调", required = true) @RequestParam int actId,@ApiParam(value = "feign接口专用,前端勿调", required = true) @RequestParam String fidStatus)
-	{
-		LambdaQueryWrapper<LosAuditPathsActs> auditPathsActsLambdaQueryWrapper=new LambdaQueryWrapper<>();
+	public LosAuditPathsActs getActsByActId(@ApiParam(value = "feign接口专用,前端勿调", required = true) @RequestParam int actId, @ApiParam(value = "feign接口专用,前端勿调", required = true) @RequestParam String fidStatus) {
+		LambdaQueryWrapper<LosAuditPathsActs> auditPathsActsLambdaQueryWrapper = new LambdaQueryWrapper<>();
 		auditPathsActsLambdaQueryWrapper
-			.eq(LosAuditPathsActs::getIsEnable,1)
-			.eq(LosAuditPathsActs::getFidStatus,fidStatus)
-			.eq(LosAuditPathsActs::getTenantId,AuthUtil.getTenantId())
-			.eq(LosAuditPathsActs::getActId,actId);
-	return 	auditPathsActsService.getOne(auditPathsActsLambdaQueryWrapper);
+			.eq(LosAuditPathsActs::getIsEnable, 1)
+			.eq(LosAuditPathsActs::getFidStatus, fidStatus)
+			.eq(LosAuditPathsActs::getTenantId, AuthUtil.getTenantId())
+			.eq(LosAuditPathsActs::getActId, actId);
+		return auditPathsActsService.getOne(auditPathsActsLambdaQueryWrapper);
 	}
 
 	/**
 	 * 根据租户获取审批流信息
+	 *
 	 * @param actId
 	 * @param fidStatus
 	 * @return
@@ -134,31 +129,50 @@ public class AuditPathsActsController extends BladeController {
 	@ApiOperationSupport(order = 5)
 	@ApiOperation(value = "feign接口专用,前端勿调", notes = "feign接口专用,前端勿调")
 	public List<LosAuditPathsLevels> listApproval(@ApiParam(value = "feign接口专用,前端勿调", required = true) @RequestParam int actId, @ApiParam(value = "feign接口专用,前端勿调", required = true) @RequestParam String fidStatus
-		, @ApiParam(value = "feign接口专用,前端勿调", required = true) @RequestParam String tenantId)
-	{
-		return auditPathsActsService.listApproval(actId,fidStatus,tenantId);
+		, @ApiParam(value = "feign接口专用,前端勿调", required = true) @RequestParam String tenantId) {
+		return auditPathsActsService.listApproval(actId, fidStatus, tenantId);
 	}
+
 	@GetMapping("/getApprovalActId")
 	@ApiOperationSupport(order = 6)
 	@ApiOperation(value = "feign接口专用,前端勿调", notes = "feign接口专用,前端勿调")
 	public LosAuditPathsActs getApprovalActId(@ApiParam(value = "feign接口专用,前端勿调", required = true) @RequestParam int actId,
-										   @ApiParam(value = "feign接口专用,前端勿调", required = true) @RequestParam String fidStatus,
-		 @ApiParam(value = "feign接口专用,前端勿调", required = true) @RequestParam String tenantId)
-	{
-		return 	auditPathsActsService.getApprovalActId(actId,fidStatus,tenantId);
+											  @ApiParam(value = "feign接口专用,前端勿调", required = true) @RequestParam String fidStatus,
+											  @ApiParam(value = "feign接口专用,前端勿调", required = true) @RequestParam String tenantId) {
+		return auditPathsActsService.getApprovalActId(actId, fidStatus, tenantId);
 	}
 
+	/**
+	 * 获取按部门审核路径
+	 * @param actId 审核编号
+	 * @param actName 审核名称
+	 * @return 结果
+	 */
+	@GetMapping("/getLosAuditPathsLevels")
+	public R getLosAuditPathsLevels(@RequestParam("actId") Long actId, @RequestParam("actName") String actName) {
+		LosAuditPathsActs auditPathsActs = auditPathsActsService.getOne(new LambdaQueryWrapper<LosAuditPathsActs>()
+			.eq(LosAuditPathsActs::getTenantId, AuthUtil.getTenantId())
+			.eq(LosAuditPathsActs::getSalesCompanyId, AuthUtil.getDeptId())
+			.eq(LosAuditPathsActs::getActId, actId)
+			.eq(LosAuditPathsActs::getActName, actName));
+		List<LosAuditPathsLevels> levelsList = auditPathsLevelsService.list(new LambdaQueryWrapper<LosAuditPathsLevels>()
+			.eq(LosAuditPathsLevels::getTenantId, AuthUtil.getTenantId())
+			.eq(LosAuditPathsLevels::getSalesCompanyId, AuthUtil.getDeptId())
+			.eq(LosAuditPathsLevels::getPathId, auditPathsActs.getPathId())
+			.eq(LosAuditPathsLevels::getAuditMoldId, 2));
+		return R.data(levelsList);
+	}
 
 
 	/**
 	 * 详情
-	@GetMapping("/detail")
-	@ApiOperationSupport(order = 1)
-	@ApiOperation(value = "详情", notes = "传入auditPathsActs")
-	public R<AuditPathsActs> detail(AuditPathsActs auditPathsActs) {
-		AuditPathsActs detail = auditPathsActsService.getOne(Condition.getQueryWrapper(auditPathsActs));
-		return R.data(detail);
-	}*/
+	 @GetMapping("/detail")
+	 @ApiOperationSupport(order = 1)
+	 @ApiOperation(value = "详情", notes = "传入auditPathsActs")
+	 public R<AuditPathsActs> detail(AuditPathsActs auditPathsActs) {
+	 AuditPathsActs detail = auditPathsActsService.getOne(Condition.getQueryWrapper(auditPathsActs));
+	 return R.data(detail);
+	 }*/
 
 	/**
 	 * 分页 审批流配置明细表
@@ -167,33 +181,33 @@ public class AuditPathsActsController extends BladeController {
 
 	/**
 	 * 自定义分页 审批流配置明细表
-	@GetMapping("/page")
-	@ApiOperationSupport(order = 3)
-	@ApiOperation(value = "分页", notes = "传入auditPathsActs")
-	public R<IPage<AuditPathsActsVO>> page(AuditPathsActsVO auditPathsActs, Query query) {
-		IPage<AuditPathsActsVO> pages = auditPathsActsService.selectAuditPathsActsPage(Condition.getPage(query), auditPathsActs);
-		return R.data(pages);
-	}
-    */
+	 @GetMapping("/page")
+	 @ApiOperationSupport(order = 3)
+	 @ApiOperation(value = "分页", notes = "传入auditPathsActs")
+	 public R<IPage<AuditPathsActsVO>> page(AuditPathsActsVO auditPathsActs, Query query) {
+	 IPage<AuditPathsActsVO> pages = auditPathsActsService.selectAuditPathsActsPage(Condition.getPage(query), auditPathsActs);
+	 return R.data(pages);
+	 }
+	 */
 	/**
 	 * 新增 审批流配置明细表
-	@PostMapping("/save")
-	@ApiOperationSupport(order = 4)
-	@ApiOperation(value = "新增", notes = "传入auditPathsActs")
-	public R save(@Valid @RequestBody AuditPathsActs auditPathsActs) {
-		return R.status(auditPathsActsService.save(auditPathsActs));
-	}*/
+	 @PostMapping("/save")
+	 @ApiOperationSupport(order = 4)
+	 @ApiOperation(value = "新增", notes = "传入auditPathsActs")
+	 public R save(@Valid @RequestBody AuditPathsActs auditPathsActs) {
+	 return R.status(auditPathsActsService.save(auditPathsActs));
+	 }*/
 
 	/**
 	 * 修改 审批流配置明细表
-	@PostMapping("/update")
-	@ApiOperationSupport(order = 5)
-	@ApiOperation(value = "修改", notes = "传入auditPathsActs")
-	public R update(@Valid @RequestBody AuditPathsActs auditPathsActs) {
-		return R.status(auditPathsActsService.updateById(auditPathsActs));
-	}
-
-	*//**
+	 @PostMapping("/update")
+	 @ApiOperationSupport(order = 5)
+	 @ApiOperation(value = "修改", notes = "传入auditPathsActs")
+	 public R update(@Valid @RequestBody AuditPathsActs auditPathsActs) {
+	 return R.status(auditPathsActsService.updateById(auditPathsActs));
+	 }
+
+	 *//**
 	 * 新增或修改 审批流配置明细表
 	 *//*
 	@PostMapping("/submit")

+ 2 - 1
blade-service/blade-los/src/main/java/org/springblade/los/check/controller/AuditPathsLevelsController.java

@@ -16,6 +16,7 @@
  */
 package org.springblade.los.check.controller;
 
+import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
 import com.baomidou.mybatisplus.core.metadata.IPage;
 import com.github.xiaoymin.knife4j.annotations.ApiOperationSupport;
 import io.swagger.annotations.Api;
@@ -34,6 +35,7 @@ import org.springblade.los.check.vo.LosAuditPathsLevelsVO;
 import org.springframework.web.bind.annotation.*;
 
 import javax.validation.Valid;
+import java.util.List;
 
 /**
  * 审批流配置明细级别表 控制器
@@ -126,5 +128,4 @@ public class AuditPathsLevelsController extends BladeController {
 		return R.status(auditPathsLevelsService.removeByIds(Func.toLongList(ids)));
 	}
 
-
 }

+ 172 - 131
blade-service/blade-los/src/main/java/org/springblade/los/trade/service/impl/AgentServiceImpl.java

@@ -2800,8 +2800,11 @@ public class AgentServiceImpl extends ServiceImpl<AgentMapper, Agent> implements
 			if (feeCenterListD.isEmpty()) {
 				throw new RuntimeException("未找到应收费用明细");
 			}
+			BigDecimal amount = new BigDecimal("0.00");
+			for (FeeCenter item : feeCenterListD){
+				amount = amount.add(item.getAmountLoc().multiply(item.getStlExrate()));
+			}
 			BigDecimal amountD = feeCenterListD.stream().map(FeeCenter::getStlTtlAmount).reduce(BigDecimal.ZERO, BigDecimal::add);
-			BigDecimal amount = feeCenterListD.stream().map(FeeCenter::getAmount).reduce(BigDecimal.ZERO, BigDecimal::add);
 			if (amount.compareTo(amountD) != 0) {
 				return R.data("实收未全部到账是否继续确认付款");
 			} else {
@@ -3482,17 +3485,21 @@ public class AgentServiceImpl extends ServiceImpl<AgentMapper, Agent> implements
 					.apply("stl_pid is not null")
 					.eq(FeeCenter::getTenantId, AuthUtil.getTenantId())
 					.eq(FeeCenter::getIsDeleted, 0));
-				if (feeCenterListC.isEmpty()) {
-					throw new RuntimeException("请先维护应付费用信息");
+				if (!feeCenterListC.isEmpty()) {
+					agentFeeReport.setRealityOtherAmount(feeCenterListC.stream().filter(e -> !"SXF,YDF,YFK,WK,SFK,DLF,ZZS,GS".contains(e.getFeeCode()))
+						.map(FeeCenter::getAmount).reduce(BigDecimal.ZERO, BigDecimal::add));
+					agentFeeReport.setRealityTariff(feeCenterListC.stream().filter(e -> "GS".equals(e.getFeeCode()))
+						.map(FeeCenter::getAmount).reduce(BigDecimal.ZERO, BigDecimal::add));
+					agentFeeReport.setRealityValueAddedTax(feeCenterListC.stream().filter(e -> "ZZS".equals(e.getFeeCode()))
+						.map(FeeCenter::getAmount).reduce(BigDecimal.ZERO, BigDecimal::add));
+					agentFeeReport.setRealityTradeAgencyAmount(feeCenterListC.stream().filter(e -> "DLF".equals(e.getFeeCode()))
+						.map(FeeCenter::getAmount).reduce(BigDecimal.ZERO, BigDecimal::add));
+				}else{
+					agentFeeReport.setRealityOtherAmount(new BigDecimal("0.00"));
+					agentFeeReport.setRealityTariff(new BigDecimal("0.00"));
+					agentFeeReport.setRealityValueAddedTax(new BigDecimal("0.00"));
+					agentFeeReport.setRealityTradeAgencyAmount(new BigDecimal("0.00"));
 				}
-				agentFeeReport.setRealityOtherAmount(feeCenterListC.stream().filter(e -> !"SXF,YDF,YFK,WK,SFK,DLF,ZZS,GS".contains(e.getFeeCode()))
-					.map(FeeCenter::getAmount).reduce(BigDecimal.ZERO, BigDecimal::add));
-				agentFeeReport.setRealityTariff(feeCenterListC.stream().filter(e -> "GS".equals(e.getFeeCode()))
-					.map(FeeCenter::getAmount).reduce(BigDecimal.ZERO, BigDecimal::add));
-				agentFeeReport.setRealityValueAddedTax(feeCenterListC.stream().filter(e -> "ZZS".equals(e.getFeeCode()))
-					.map(FeeCenter::getAmount).reduce(BigDecimal.ZERO, BigDecimal::add));
-				agentFeeReport.setRealityTradeAgencyAmount(feeCenterListC.stream().filter(e -> "DLF".equals(e.getFeeCode()))
-					.map(FeeCenter::getAmount).reduce(BigDecimal.ZERO, BigDecimal::add));
 				List<AgentRecordReport> reportList = new ArrayList<>();
 				List<FeeCenter> feeCentersSk = feeCenterList.stream().filter(e -> ObjectUtils.isNotNull(e.getFeeType()) &&
 						"1".equals(e.getFeeType()) && "SFK".equals(e.getFeeCode()))
@@ -3525,31 +3532,42 @@ public class AgentServiceImpl extends ServiceImpl<AgentMapper, Agent> implements
 						agentFeeItemsReport.setSkAmountUsd(item.getAmountLoc());
 						agentFeeItemsReport.setExchangeRate(item.getExrate());
 						agentFeeItemsReport.setAmount(item.getAmountLoc().multiply(item.getExrate()).setScale(2, RoundingMode.HALF_UP));
-						FeeCenter feeCenter = feeCenterListC.stream().filter(e -> e.getFeeCode().equals(item.getFeeCode())
-								&& ObjectUtils.isNotNull(e.getFeeType()) && "1".equals(e.getFeeType()) && "SFK".equals(e.getFeeCode()))
-							.findFirst().orElse(null);
-						if (feeCenter != null) {
-							AgentRecordReport report = new AgentRecordReport();
-							if (ObjectUtils.isNotNull(feeCenter.getStlDate())) {
-								report.setDate(dateFormat.format(feeCenter.getStlDate()));
+						if (!feeCenterListC.isEmpty()) {
+							FeeCenter feeCenter = feeCenterListC.stream().filter(e -> e.getFeeCode().equals(item.getFeeCode())
+									&& ObjectUtils.isNotNull(e.getFeeType()) && "1".equals(e.getFeeType()) && "SFK".equals(e.getFeeCode()))
+								.findFirst().orElse(null);
+							if (feeCenter != null) {
+								AgentRecordReport report = new AgentRecordReport();
+								if (ObjectUtils.isNotNull(feeCenter.getStlDate())) {
+									report.setDate(dateFormat.format(feeCenter.getStlDate()));
+								}
+								report.setExchangeRate(feeCenter.getDiscountExrate());
+								report.setDiscountAmount(item.getAmountLoc().multiply(feeCenter.getDiscountExrate()).setScale(2, RoundingMode.HALF_UP));
+								reportList.add(report);
+								agentFeeItemsReport.setRealityExchangeRate(feeCenter.getStlExrate());
+								agentFeeItemsReport.setRealityAmount(item.getAmountLoc().multiply(feeCenter.getStlExrate()).setScale(2, RoundingMode.HALF_UP));
+							} else {
+								agentFeeItemsReport.setRealityExchangeRate(null);
+								agentFeeItemsReport.setRealityAmount(null);
 							}
-							report.setExchangeRate(feeCenter.getDiscountExrate());
-							report.setDiscountAmount(item.getAmountLoc().multiply(feeCenter.getDiscountExrate()).setScale(2, RoundingMode.HALF_UP));
-							reportList.add(report);
-							agentFeeItemsReport.setRealityExchangeRate(feeCenter.getStlExrate());
-							agentFeeItemsReport.setRealityAmount(item.getAmountLoc().multiply(feeCenter.getStlExrate()).setScale(2, RoundingMode.HALF_UP));
-						} else {
+						}else{
 							agentFeeItemsReport.setRealityExchangeRate(null);
 							agentFeeItemsReport.setRealityAmount(null);
 						}
+
 						agentFeeItemsReportList.add(agentFeeItemsReport);
 					}
-					agentFeeReport.setRealityPostElectricFee(feeCenterListC.stream().filter(e -> e.getFeeCode().equals("YDF")
-							&& ObjectUtils.isNotNull(e.getFeeType()) && "1".equals(e.getFeeType()))
-						.map(FeeCenter::getAmount).filter(Objects::nonNull).reduce(BigDecimal.ZERO, BigDecimal::add));
-					agentFeeReport.setRealityServiceCharge(feeCenterListC.stream().filter(e -> e.getFeeCode().equals("SXF")
-							&& ObjectUtils.isNotNull(e.getFeeType()) && "1".equals(e.getFeeType()))
-						.map(FeeCenter::getAmount).filter(Objects::nonNull).reduce(BigDecimal.ZERO, BigDecimal::add));
+					if (!feeCenterListC.isEmpty()) {
+						agentFeeReport.setRealityPostElectricFee(feeCenterListC.stream().filter(e -> e.getFeeCode().equals("YDF")
+								&& ObjectUtils.isNotNull(e.getFeeType()) && "1".equals(e.getFeeType()))
+							.map(FeeCenter::getAmount).filter(Objects::nonNull).reduce(BigDecimal.ZERO, BigDecimal::add));
+						agentFeeReport.setRealityServiceCharge(feeCenterListC.stream().filter(e -> e.getFeeCode().equals("SXF")
+								&& ObjectUtils.isNotNull(e.getFeeType()) && "1".equals(e.getFeeType()))
+							.map(FeeCenter::getAmount).filter(Objects::nonNull).reduce(BigDecimal.ZERO, BigDecimal::add));
+					}else{
+						agentFeeReport.setRealityPostElectricFee(new BigDecimal("0.00"));
+						agentFeeReport.setRealityServiceCharge(new BigDecimal("0.00"));
+					}
 					BigDecimal realityAmount = agentFeeItemsReportList.stream().map(AgentFeeItemsReport::getRealityAmount)
 						.filter(Objects::nonNull).reduce(BigDecimal.ZERO, BigDecimal::add);
 					agentFeeReport.setRealitySumAmount(realityAmount.add(agentFeeReport.getRealityPostElectricFee()).add(agentFeeReport.getRealityServiceCharge()));
@@ -3594,46 +3612,49 @@ public class AgentServiceImpl extends ServiceImpl<AgentMapper, Agent> implements
 						agentFeeItemsReport.setWkAmountUsd(item.getAmountLoc());
 						agentFeeItemsReport.setExchangeRate(item.getExrate());
 						agentFeeItemsReport.setAmount(agentFeeItemsReport.getWkAmountUsd().multiply(item.getExrate()).setScale(2, RoundingMode.HALF_UP));
-						FeeCenter feeCenter = feeCenterListC.stream().filter(e -> e.getFeeCode().equals(item.getFeeCode())
-								&& ObjectUtils.isNotNull(e.getFeeType()) && "2".equals(e.getFeeType()) && "WK".equals(e.getFeeCode()))
-							.findFirst().orElse(null);
-						if (feeCenter != null) {
-							AgentRecordReport report = new AgentRecordReport();
-							if (ObjectUtils.isNotNull(feeCenter.getStlDate())) {
-								report.setDate(dateFormat.format(feeCenter.getStlDate()));
+						if (!feeCenterListC.isEmpty()) {
+							FeeCenter feeCenter = feeCenterListC.stream().filter(e -> e.getFeeCode().equals(item.getFeeCode())
+									&& ObjectUtils.isNotNull(e.getFeeType()) && "2".equals(e.getFeeType()) && "WK".equals(e.getFeeCode()))
+								.findFirst().orElse(null);
+							if (feeCenter != null) {
+								AgentRecordReport report = new AgentRecordReport();
+								if (ObjectUtils.isNotNull(feeCenter.getStlDate())) {
+									report.setDate(dateFormat.format(feeCenter.getStlDate()));
+								}
+								report.setExchangeRate(feeCenter.getDiscountExrate());
+								report.setDiscountAmount(item.getAmountLoc().multiply(feeCenter.getDiscountExrate()).setScale(2, RoundingMode.HALF_UP));
+								reportList.add(report);
+								agentFeeItemsReport.setRealityExchangeRate(feeCenter.getStlExrate());
+								agentFeeItemsReport.setRealityAmount(item.getAmountLoc().multiply(feeCenter.getStlExrate()).setScale(2, RoundingMode.HALF_UP));
+							} else {
+								agentFeeItemsReport.setRealityExchangeRate(null);
+								agentFeeItemsReport.setRealityAmount(null);
 							}
-							report.setExchangeRate(feeCenter.getDiscountExrate());
-							report.setDiscountAmount(item.getAmountLoc().multiply(feeCenter.getDiscountExrate()).setScale(2, RoundingMode.HALF_UP));
-							reportList.add(report);
-							agentFeeItemsReport.setRealityExchangeRate(feeCenter.getStlExrate());
-							agentFeeItemsReport.setRealityAmount(item.getAmountLoc().multiply(feeCenter.getStlExrate()).setScale(2, RoundingMode.HALF_UP));
-						} else {
+						}else{
 							agentFeeItemsReport.setRealityExchangeRate(null);
 							agentFeeItemsReport.setRealityAmount(null);
 						}
 						agentFeeItemsReportList.add(agentFeeItemsReport);
 					}
+					BigDecimal ydf = new BigDecimal("0.00");
+					BigDecimal sxf = new BigDecimal("0.00");
+					if (!feeCenterListC.isEmpty()) {
+						ydf = feeCenterListC.stream().filter(e -> e.getFeeCode().equals("YDF")
+								&& ObjectUtils.isNotNull(e.getFeeType()) && "2".equals(e.getFeeType()))
+							.map(FeeCenter::getAmount).filter(Objects::nonNull).reduce(BigDecimal.ZERO, BigDecimal::add);
+						sxf = feeCenterListC.stream().filter(e -> e.getFeeCode().equals("SXF")
+								&& ObjectUtils.isNotNull(e.getFeeType()) && "2".equals(e.getFeeType()))
+							.map(FeeCenter::getAmount).filter(Objects::nonNull).reduce(BigDecimal.ZERO, BigDecimal::add);
+					}
 					if (ObjectUtils.isNotNull(agentFeeReport.getRealityPostElectricFee())) {
-						agentFeeReport.setRealityPostElectricFee(agentFeeReport.getRealityPostElectricFee().add(
-							feeCenterListC.stream().filter(e -> e.getFeeCode().equals("YDF")
-									&& ObjectUtils.isNotNull(e.getFeeType()) && "2".equals(e.getFeeType()))
-								.map(FeeCenter::getAmount).filter(Objects::nonNull).reduce(BigDecimal.ZERO, BigDecimal::add)
-						));
+						agentFeeReport.setRealityPostElectricFee(agentFeeReport.getRealityPostElectricFee().add(ydf));
 					} else {
-						agentFeeReport.setRealityPostElectricFee(feeCenterListC.stream().filter(e -> e.getFeeCode().equals("YDF")
-								&& ObjectUtils.isNotNull(e.getFeeType()) && "2".equals(e.getFeeType()))
-							.map(FeeCenter::getAmount).filter(Objects::nonNull).reduce(BigDecimal.ZERO, BigDecimal::add));
+						agentFeeReport.setRealityPostElectricFee(ydf);
 					}
 					if (ObjectUtils.isNotNull(agentFeeReport.getRealityServiceCharge())) {
-						agentFeeReport.setRealityServiceCharge(agentFeeReport.getRealityServiceCharge().add(
-							feeCenterListC.stream().filter(e -> e.getFeeCode().equals("SXF")
-									&& ObjectUtils.isNotNull(e.getFeeType()) && "2".equals(e.getFeeType()))
-								.map(FeeCenter::getAmount).filter(Objects::nonNull).reduce(BigDecimal.ZERO, BigDecimal::add)
-						));
+						agentFeeReport.setRealityServiceCharge(agentFeeReport.getRealityServiceCharge().add(sxf));
 					} else {
-						agentFeeReport.setRealityServiceCharge(feeCenterListC.stream().filter(e -> e.getFeeCode().equals("SXF")
-								&& ObjectUtils.isNotNull(e.getFeeType()) && "2".equals(e.getFeeType()))
-							.map(FeeCenter::getAmount).filter(Objects::nonNull).reduce(BigDecimal.ZERO, BigDecimal::add));
+						agentFeeReport.setRealityServiceCharge(sxf);
 					}
 					if (ObjectUtils.isNotNull(agentFeeReport.getRealitySumAmount())) {
 						BigDecimal realityAmount = agentFeeItemsReportList.stream().map(AgentFeeItemsReport::getRealityAmount)
@@ -3682,8 +3703,11 @@ public class AgentServiceImpl extends ServiceImpl<AgentMapper, Agent> implements
 				agentFeeReport.setDate(dateFormat.format(agent.getBusinessDate()));
 				agentFeeReport.setPaymentMethod(agent.getAdvanceRatio());
 				agentFeeReport.setReportPostElectricFee(agentFeeReport.getRealityPostElectricFee());
-				BigDecimal discountAmount = reportList.stream().map(AgentRecordReport::getDiscountAmount)
-					.filter(Objects::nonNull).reduce(BigDecimal.ZERO, BigDecimal::add);
+				BigDecimal discountAmount = new BigDecimal("0.00");
+				if (!reportList.isEmpty()){
+					discountAmount = reportList.stream().map(AgentRecordReport::getDiscountAmount)
+						.filter(Objects::nonNull).reduce(BigDecimal.ZERO, BigDecimal::add);
+				}
 				String serviceCharge = sysClient.getParamServiceByDept("service.charge", AuthUtil.getTenantId(), AuthUtil.getDeptId());
 				if (ObjectUtils.isNotNull(serviceCharge)) {
 					BigDecimal serviceChargeAmount = new BigDecimal("1").divide(new BigDecimal(serviceCharge), serviceCharge.length(), RoundingMode.HALF_UP);
@@ -3772,32 +3796,36 @@ public class AgentServiceImpl extends ServiceImpl<AgentMapper, Agent> implements
 					.apply("stl_pid is not null")
 					.eq(FeeCenter::getTenantId, AuthUtil.getTenantId())
 					.eq(FeeCenter::getIsDeleted, 0));
-				if (feeCenterListC.isEmpty()) {
-					throw new RuntimeException("请先维护首款费用信息");
-				}
 				boolean status = false;
-				List<Long> stlPidC = feeCenterListC.stream().map(FeeCenter::getStlPid).filter(Objects::nonNull).collect(Collectors.toList());
-				if (!stlPidC.isEmpty()) {
-					List<Agent> agentList = baseMapper.selectList(new LambdaQueryWrapper<Agent>()
-						.eq(Agent::getTenantId, AuthUtil.getTenantId())
-						.eq(Agent::getIsDeleted, 0)
-						.eq(Agent::getBusinessType, "MYDL-STL")
-						.eq(Agent::getDc, "C")
-						.in(Agent::getId, stlPidC));
-					for (Agent item : agentList) {
-						if ("已确认".equals(item.getOrderStatus())) {
-							status = true;
+				if (!feeCenterListC.isEmpty()) {
+					List<Long> stlPidC = feeCenterListC.stream().map(FeeCenter::getStlPid).filter(Objects::nonNull).collect(Collectors.toList());
+					if (!stlPidC.isEmpty()) {
+						List<Agent> agentList = baseMapper.selectList(new LambdaQueryWrapper<Agent>()
+							.eq(Agent::getTenantId, AuthUtil.getTenantId())
+							.eq(Agent::getIsDeleted, 0)
+							.eq(Agent::getBusinessType, "MYDL-STL")
+							.eq(Agent::getDc, "C")
+							.in(Agent::getId, stlPidC));
+						for (Agent item : agentList) {
+							if ("已确认".equals(item.getOrderStatus())) {
+								status = true;
+							}
 						}
 					}
+					agentFeeReport.setRealityOtherAmount(feeCenterListC.stream().filter(e -> !"SXF,YDF,YFK,WK,SFK,DLF,ZZS,GS".contains(e.getFeeCode()))
+						.map(FeeCenter::getAmount).reduce(BigDecimal.ZERO, BigDecimal::add));
+					agentFeeReport.setRealityTariff(feeCenterListC.stream().filter(e -> "GS".equals(e.getFeeCode()))
+						.map(FeeCenter::getAmount).reduce(BigDecimal.ZERO, BigDecimal::add));
+					agentFeeReport.setRealityValueAddedTax(feeCenterListC.stream().filter(e -> "ZZS".equals(e.getFeeCode()))
+						.map(FeeCenter::getAmount).reduce(BigDecimal.ZERO, BigDecimal::add));
+					agentFeeReport.setRealityTradeAgencyAmount(feeCenterListC.stream().filter(e -> "DLF".equals(e.getFeeCode()))
+						.map(FeeCenter::getAmount).reduce(BigDecimal.ZERO, BigDecimal::add));
+				}else{
+					agentFeeReport.setRealityOtherAmount(new BigDecimal("0.00"));
+					agentFeeReport.setRealityTariff(new BigDecimal("0.00"));
+					agentFeeReport.setRealityValueAddedTax(new BigDecimal("0.00"));
+					agentFeeReport.setRealityTradeAgencyAmount(new BigDecimal("0.00"));
 				}
-				agentFeeReport.setRealityOtherAmount(feeCenterListC.stream().filter(e -> !"SXF,YDF,YFK,WK,SFK,DLF,ZZS,GS".contains(e.getFeeCode()))
-					.map(FeeCenter::getAmount).reduce(BigDecimal.ZERO, BigDecimal::add));
-				agentFeeReport.setRealityTariff(feeCenterListC.stream().filter(e -> "GS".equals(e.getFeeCode()))
-					.map(FeeCenter::getAmount).reduce(BigDecimal.ZERO, BigDecimal::add));
-				agentFeeReport.setRealityValueAddedTax(feeCenterListC.stream().filter(e -> "ZZS".equals(e.getFeeCode()))
-					.map(FeeCenter::getAmount).reduce(BigDecimal.ZERO, BigDecimal::add));
-				agentFeeReport.setRealityTradeAgencyAmount(feeCenterListC.stream().filter(e -> "DLF".equals(e.getFeeCode()))
-					.map(FeeCenter::getAmount).reduce(BigDecimal.ZERO, BigDecimal::add));
 				List<AgentRecordReport> reportList = new ArrayList<>();
 				List<FeeCenter> feeCentersSk = feeCenterList.stream().filter(e -> ObjectUtils.isNotNull(e.getFeeType()) &&
 						"1".equals(e.getFeeType()) && "SFK".equals(e.getFeeCode()))
@@ -3830,31 +3858,41 @@ public class AgentServiceImpl extends ServiceImpl<AgentMapper, Agent> implements
 						agentFeeItemsReport.setSkAmountUsd(item.getAmountLoc());
 						agentFeeItemsReport.setExchangeRate(item.getExrate());
 						agentFeeItemsReport.setAmount(item.getAmountLoc().multiply(item.getExrate()).setScale(2, RoundingMode.HALF_UP));
-						FeeCenter feeCenter = feeCenterListC.stream().filter(e -> e.getFeeCode().equals(item.getFeeCode())
-								&& ObjectUtils.isNotNull(e.getFeeType()) && "1".equals(e.getFeeType()) && "SFK".equals(e.getFeeCode()))
-							.findFirst().orElse(null);
-						if (feeCenter != null) {
-							AgentRecordReport report = new AgentRecordReport();
-							if (ObjectUtils.isNotNull(feeCenter.getStlDate())) {
-								report.setDate(dateFormat.format(feeCenter.getStlDate()));
+						if (!feeCenterListC.isEmpty()) {
+							FeeCenter feeCenter = feeCenterListC.stream().filter(e -> e.getFeeCode().equals(item.getFeeCode())
+									&& ObjectUtils.isNotNull(e.getFeeType()) && "1".equals(e.getFeeType()) && "SFK".equals(e.getFeeCode()))
+								.findFirst().orElse(null);
+							if (feeCenter != null) {
+								AgentRecordReport report = new AgentRecordReport();
+								if (ObjectUtils.isNotNull(feeCenter.getStlDate())) {
+									report.setDate(dateFormat.format(feeCenter.getStlDate()));
+								}
+								report.setExchangeRate(feeCenter.getDiscountExrate());
+								report.setDiscountAmount(item.getAmountLoc().multiply(feeCenter.getDiscountExrate()).setScale(2, RoundingMode.HALF_UP));
+								reportList.add(report);
+								agentFeeItemsReport.setRealityExchangeRate(feeCenter.getStlExrate());
+								agentFeeItemsReport.setRealityAmount(item.getAmountLoc().multiply(feeCenter.getStlExrate()).setScale(2, RoundingMode.HALF_UP));
+							} else {
+								agentFeeItemsReport.setRealityExchangeRate(null);
+								agentFeeItemsReport.setRealityAmount(null);
 							}
-							report.setExchangeRate(feeCenter.getDiscountExrate());
-							report.setDiscountAmount(item.getAmountLoc().multiply(feeCenter.getDiscountExrate()).setScale(2, RoundingMode.HALF_UP));
-							reportList.add(report);
-							agentFeeItemsReport.setRealityExchangeRate(feeCenter.getStlExrate());
-							agentFeeItemsReport.setRealityAmount(item.getAmountLoc().multiply(feeCenter.getStlExrate()).setScale(2, RoundingMode.HALF_UP));
-						} else {
+						}else{
 							agentFeeItemsReport.setRealityExchangeRate(null);
 							agentFeeItemsReport.setRealityAmount(null);
 						}
 						agentFeeItemsReportList.add(agentFeeItemsReport);
 					}
-					agentFeeReport.setRealityPostElectricFee(feeCenterListC.stream().filter(e -> e.getFeeCode().equals("YDF")
-							&& ObjectUtils.isNotNull(e.getFeeType()) && "1".equals(e.getFeeType()))
-						.map(FeeCenter::getAmount).filter(Objects::nonNull).reduce(BigDecimal.ZERO, BigDecimal::add));
-					agentFeeReport.setRealityServiceCharge(feeCenterListC.stream().filter(e -> e.getFeeCode().equals("SXF")
-							&& ObjectUtils.isNotNull(e.getFeeType()) && "1".equals(e.getFeeType()))
-						.map(FeeCenter::getAmount).filter(Objects::nonNull).reduce(BigDecimal.ZERO, BigDecimal::add));
+					if (!feeCenterListC.isEmpty()) {
+						agentFeeReport.setRealityPostElectricFee(feeCenterListC.stream().filter(e -> e.getFeeCode().equals("YDF")
+								&& ObjectUtils.isNotNull(e.getFeeType()) && "1".equals(e.getFeeType()))
+							.map(FeeCenter::getAmount).filter(Objects::nonNull).reduce(BigDecimal.ZERO, BigDecimal::add));
+						agentFeeReport.setRealityServiceCharge(feeCenterListC.stream().filter(e -> e.getFeeCode().equals("SXF")
+								&& ObjectUtils.isNotNull(e.getFeeType()) && "1".equals(e.getFeeType()))
+							.map(FeeCenter::getAmount).filter(Objects::nonNull).reduce(BigDecimal.ZERO, BigDecimal::add));
+					}else{
+						agentFeeReport.setRealityPostElectricFee(new BigDecimal("0.00"));
+						agentFeeReport.setRealityServiceCharge(new BigDecimal("0.00"));
+					}
 					BigDecimal realityAmount = agentFeeItemsReportList.stream().map(AgentFeeItemsReport::getRealityAmount)
 						.filter(Objects::nonNull).reduce(BigDecimal.ZERO, BigDecimal::add);
 					agentFeeReport.setRealitySumAmount(realityAmount.add(agentFeeReport.getRealityPostElectricFee()).add(agentFeeReport.getRealityServiceCharge()));
@@ -3899,46 +3937,49 @@ public class AgentServiceImpl extends ServiceImpl<AgentMapper, Agent> implements
 						agentFeeItemsReport.setWkAmountUsd(item.getAmountLoc());
 						agentFeeItemsReport.setExchangeRate(item.getExrate());
 						agentFeeItemsReport.setAmount(agentFeeItemsReport.getWkAmountUsd().multiply(item.getExrate()).setScale(2, RoundingMode.HALF_UP));
-						FeeCenter feeCenter = feeCenterListC.stream().filter(e -> e.getFeeCode().equals(item.getFeeCode())
-								&& ObjectUtils.isNotNull(e.getFeeType()) && "2".equals(e.getFeeType()) && "WK".equals(e.getFeeCode()))
-							.findFirst().orElse(null);
-						if (feeCenter != null) {
-							AgentRecordReport report = new AgentRecordReport();
-							if (ObjectUtils.isNotNull(feeCenter.getStlDate())) {
-								report.setDate(dateFormat.format(feeCenter.getStlDate()));
+						if (!feeCenterListC.isEmpty()) {
+							FeeCenter feeCenter = feeCenterListC.stream().filter(e -> e.getFeeCode().equals(item.getFeeCode())
+									&& ObjectUtils.isNotNull(e.getFeeType()) && "2".equals(e.getFeeType()) && "WK".equals(e.getFeeCode()))
+								.findFirst().orElse(null);
+							if (feeCenter != null) {
+								AgentRecordReport report = new AgentRecordReport();
+								if (ObjectUtils.isNotNull(feeCenter.getStlDate())) {
+									report.setDate(dateFormat.format(feeCenter.getStlDate()));
+								}
+								report.setExchangeRate(feeCenter.getDiscountExrate());
+								report.setDiscountAmount(item.getAmountLoc().multiply(feeCenter.getDiscountExrate()).setScale(2, RoundingMode.HALF_UP));
+								reportList.add(report);
+								agentFeeItemsReport.setRealityExchangeRate(feeCenter.getStlExrate());
+								agentFeeItemsReport.setRealityAmount(item.getAmountLoc().multiply(feeCenter.getStlExrate()).setScale(2, RoundingMode.HALF_UP));
+							} else {
+								agentFeeItemsReport.setRealityExchangeRate(null);
+								agentFeeItemsReport.setRealityAmount(null);
 							}
-							report.setExchangeRate(feeCenter.getDiscountExrate());
-							report.setDiscountAmount(item.getAmountLoc().multiply(feeCenter.getDiscountExrate()).setScale(2, RoundingMode.HALF_UP));
-							reportList.add(report);
-							agentFeeItemsReport.setRealityExchangeRate(feeCenter.getStlExrate());
-							agentFeeItemsReport.setRealityAmount(item.getAmountLoc().multiply(feeCenter.getStlExrate()).setScale(2, RoundingMode.HALF_UP));
-						} else {
+						}else{
 							agentFeeItemsReport.setRealityExchangeRate(null);
 							agentFeeItemsReport.setRealityAmount(null);
 						}
 						agentFeeItemsReportList.add(agentFeeItemsReport);
 					}
+					BigDecimal ydf = new BigDecimal("0.00");
+					BigDecimal sxf = new BigDecimal("0.00");
+					if (!feeCenterListC.isEmpty()) {
+						ydf = feeCenterListC.stream().filter(e -> e.getFeeCode().equals("YDF")
+								&& ObjectUtils.isNotNull(e.getFeeType()) && "2".equals(e.getFeeType()))
+							.map(FeeCenter::getAmount).filter(Objects::nonNull).reduce(BigDecimal.ZERO, BigDecimal::add);
+						sxf = feeCenterListC.stream().filter(e -> e.getFeeCode().equals("SXF")
+								&& ObjectUtils.isNotNull(e.getFeeType()) && "2".equals(e.getFeeType()))
+							.map(FeeCenter::getAmount).filter(Objects::nonNull).reduce(BigDecimal.ZERO, BigDecimal::add);
+					}
 					if (ObjectUtils.isNotNull(agentFeeReport.getRealityPostElectricFee())) {
-						agentFeeReport.setRealityPostElectricFee(agentFeeReport.getRealityPostElectricFee().add(
-							feeCenterListC.stream().filter(e -> e.getFeeCode().equals("YDF")
-									&& ObjectUtils.isNotNull(e.getFeeType()) && "2".equals(e.getFeeType()))
-								.map(FeeCenter::getAmount).filter(Objects::nonNull).reduce(BigDecimal.ZERO, BigDecimal::add)
-						));
+						agentFeeReport.setRealityPostElectricFee(agentFeeReport.getRealityPostElectricFee().add(ydf));
 					} else {
-						agentFeeReport.setRealityPostElectricFee(feeCenterListC.stream().filter(e -> e.getFeeCode().equals("YDF")
-								&& ObjectUtils.isNotNull(e.getFeeType()) && "2".equals(e.getFeeType()))
-							.map(FeeCenter::getAmount).filter(Objects::nonNull).reduce(BigDecimal.ZERO, BigDecimal::add));
+						agentFeeReport.setRealityPostElectricFee(ydf);
 					}
 					if (ObjectUtils.isNotNull(agentFeeReport.getRealityServiceCharge())) {
-						agentFeeReport.setRealityServiceCharge(agentFeeReport.getRealityServiceCharge().add(
-							feeCenterListC.stream().filter(e -> e.getFeeCode().equals("SXF")
-									&& ObjectUtils.isNotNull(e.getFeeType()) && "2".equals(e.getFeeType()))
-								.map(FeeCenter::getAmount).filter(Objects::nonNull).reduce(BigDecimal.ZERO, BigDecimal::add)
-						));
+						agentFeeReport.setRealityServiceCharge(agentFeeReport.getRealityServiceCharge().add(sxf));
 					} else {
-						agentFeeReport.setRealityServiceCharge(feeCenterListC.stream().filter(e -> e.getFeeCode().equals("SXF")
-								&& ObjectUtils.isNotNull(e.getFeeType()) && "2".equals(e.getFeeType()))
-							.map(FeeCenter::getAmount).filter(Objects::nonNull).reduce(BigDecimal.ZERO, BigDecimal::add));
+						agentFeeReport.setRealityServiceCharge(sxf);
 					}
 					if (ObjectUtils.isNotNull(agentFeeReport.getRealitySumAmount())) {
 						BigDecimal realityAmount = agentFeeItemsReportList.stream().map(AgentFeeItemsReport::getRealityAmount)

+ 9 - 4
blade-service/blade-sales-part/src/main/java/org/springblade/salesPart/share/service/impl/SharePutOnShelvesServiceImpl.java

@@ -887,8 +887,13 @@ public class SharePutOnShelvesServiceImpl extends ServiceImpl<SharePutOnShelvesM
 			brandDescSave.setCreateTime(new Date());
 			brandDescSave.setEnableOrNot(1);
 			brandDescSave.setCname(item.getBrandName());
-			brandDescSave.setSalesCompanyId(Long.parseLong(item.getSrcSalesCompanyId()));
-			brandDescSave.setSalesCompanyName(item.getSrcSalesCompanyName());
+			if (dept == null) {
+				brandDescSave.setSalesCompanyId(Long.parseLong(AuthUtil.getDeptId()));
+				brandDescSave.setSalesCompanyName("");
+			} else {
+				brandDescSave.setSalesCompanyId(dept.getId());
+				brandDescSave.setSalesCompanyName(dept.getDeptName());
+			}
 			brandDescSave.setType("PP");
 			brandDescSave.setSort(1);
 			brandDescSave.setWhetherIntegral("0");
@@ -946,10 +951,10 @@ public class SharePutOnShelvesServiceImpl extends ServiceImpl<SharePutOnShelvesM
 			goodsDesc.setSpecificationAndModel(item.getSpecificationAndModel());
 			goodsDesc.setBrandItem(item.getBrandItem());
 			goodsDesc.setEnableOrNot(1);
-			if (dept != null){
+			if (dept != null) {
 				goodsDesc.setSalesCompanyId(dept.getId());
 				goodsDesc.setSalesCompanyName(dept.getDeptName());
-			}else{
+			} else {
 				throw new RuntimeException("未找到所属公司");
 			}
 			goodsDesc.setWhetherIntegral("0");

+ 1 - 1
blade-service/blade-sales-part/src/main/java/org/springblade/salesPart/shoppingCart/service/impl/ShoppingCartServiceImpl.java

@@ -1526,7 +1526,7 @@ public class ShoppingCartServiceImpl extends ServiceImpl<ShoppingCartMapper, PjS
 			orderShare.setRecAddress(address);
 			orderShare.setContacts(corpsAttn.getCname());
 			orderShare.setPhone(corpsAttn.getTel());
-			orderShare.setBsType(OrderTypeEnum.SALES.getType());
+			orderShare.setBsType("GX");
 			orderShare.setBusinessSource("额度支付");
 			orderShare.setReceivableType("网络支付");
 			orderShare.setBillType(1);