ソースを参照

2023年3月18日17:36:20

纪新园 2 年 前
コミット
cc2274e241

+ 2 - 2
blade-service/blade-client/src/main/java/org/springblade/client/serial/service/impl/SerialServiceImpl.java

@@ -57,7 +57,7 @@ public class SerialServiceImpl extends ServiceImpl<SerialMapper, Serial> impleme
 		if (tradeType.equals("CK")){
 			yyyyMM = DateFormatUtils.format(date, "yy");
 		}else if (tradeType.equals("YPJ")){
-			yyyyMM = DateFormatUtils.format(date, "yyyyMMdd");
+			yyyyMM = DateFormatUtils.format(date, "yyyyMMddHHmmss");
 		}else {
 			yyyyMM = DateFormatUtils.format(date, "yyyyMM");
 		}
@@ -87,7 +87,7 @@ public class SerialServiceImpl extends ServiceImpl<SerialMapper, Serial> impleme
 				baseMapper.insert(billNoSerial);
 			}
 		}else if (tradeType.equals("YPJ")){
-			yyyyMM = DateFormatUtils.format(date, "yyyyMMdd");
+			yyyyMM = DateFormatUtils.format(date, "yyyyMMddHHmmss");
 			if (serial != null) {
 				serial.setSerial(serial.getSerial() + 1);
 				baseMapper.updateById(serial);

+ 15 - 9
blade-service/blade-pay/src/main/java/org/springblade/pay/tonglianPayment/controller/TongLianPaymentController.java

@@ -198,18 +198,24 @@ public class TongLianPaymentController extends BladeController {
 												balanceQuantity = balanceQuantity.add(surplusRouteQuantity);
 												System.out.println("第三步新库存" + surplusRouteQuantity);
 												if(new BigDecimal("0.00").compareTo(balanceQuantity) <= 0 ){
-													balanceAmount = balanceAmount.add(orderItems.getStorageInQuantity().multiply(orderItems.getPartsCost(), MathContext.DECIMAL32));
-													if (new BigDecimal("0.00").equals(balanceAmount) && new BigDecimal("0.00").equals(balanceQuantity)){
-														stockPrice = stockPrice.add(balanceAmount);
-													}else{
+													balanceAmount = balanceAmount.add(orderItems.getStorageInQuantity().multiply(orderItems.getPurchaseCost(), MathContext.DECIMAL32));
+													System.out.println("第三步新库存金额-01" + balanceAmount);
+													if (!new BigDecimal("0.00").equals(balanceAmount) && !new BigDecimal("0.00").equals(balanceQuantity)){
 														stockPrice = stockPrice.add(balanceAmount.divide(orderItems.getStorageInQuantity(), MathContext.DECIMAL32).setScale(2, RoundingMode.HALF_UP));
+														System.out.println("第三步新库存价-01" + stockPrice + "数量:"+orderItems.getStorageInQuantity());
+													}else{
+														stockPrice = stockPrice.add(balanceAmount);
+														System.out.println("第三步新库存价-02" + stockPrice);
 													}
 												}else{
-													balanceAmount = balanceAmount.add(balanceQuantity.multiply(orderItems.getPrice(), MathContext.DECIMAL32));
-													if (new BigDecimal("0.00").equals(balanceAmount) && new BigDecimal("0.00").equals(balanceQuantity)){
-														stockPrice = stockPrice.add(balanceAmount);
-													}else{
+													balanceAmount = balanceAmount.add(balanceQuantity.multiply(orderItems.getPurchaseCost(), MathContext.DECIMAL32));
+													System.out.println("第三步新库存金额-02" + balanceAmount);
+													if (!new BigDecimal("0.00").equals(balanceAmount) && !new BigDecimal("0.00").equals(balanceQuantity)){
 														stockPrice = stockPrice.add(balanceAmount.divide(balanceQuantity, MathContext.DECIMAL32).setScale(2, RoundingMode.HALF_UP));
+														System.out.println("第三步新库存价-01" + stockPrice+ "数量:"+balanceQuantity);
+													}else{
+														stockPrice = stockPrice.add(balanceAmount);
+														System.out.println("第三步新库存价-02" + stockPrice);
 													}
 												}
 												System.out.println("第三步新库存价" + stockPrice);
@@ -332,7 +338,7 @@ public class TongLianPaymentController extends BladeController {
 							applyDTO.setTenantId(order.getTenantId());
 							BigDecimal receivedAmount = selectOrder.getPaymentAmountTl();
 							receivedAmount = receivedAmount.add(selectOrder.getSettlmentAmount());
-							amount = amount.subtract(receivedAmount);
+							amount = selectOrder.getDebitAmount().subtract(receivedAmount);
 							selectOrder.setSettlmentAmount(receivedAmount);
 							selectOrder.setBalanceAmount(amount);
 							orderDescClient.updateOrderYCP(selectOrder);

+ 5 - 1
blade-service/blade-purchase-sales/src/main/java/org/springblade/purchase/sales/partsapp/AppPartsController.java

@@ -356,17 +356,20 @@ public class AppPartsController extends BladeController {
 		}
 		lambdaQueryWrapper.eq(Order::getBillType, OrderTypeEnum.SALES.getType());
 		lambdaQueryWrapper.eq(Order::getTradeType, OrderTypeEnum.PARTS.getType());
-		lambdaQueryWrapper.eq(Order::getConfirmStatus, 1);
+//		lambdaQueryWrapper.eq(Order::getConfirmStatus, 1);
 		List<Order> orderList = orderService.list(lambdaQueryWrapper);
 
 		BigDecimal total;
+		BigDecimal sum;
 		BigDecimal month;
 		BigDecimal lastMonth;
 		BigDecimal flowAmount;
+		sum = orderList.stream().map(Order::getDebitAmount).filter(Objects::nonNull).reduce(BigDecimal.ZERO, BigDecimal::add);
 		total = orderList.stream().map(Order::getBalanceAmount).filter(Objects::nonNull).reduce(BigDecimal.ZERO, BigDecimal::add);
 		order.setTenantId(AuthUtil.getTenantId());
 		order.setTime("1");
 		month = orderService.selectStorageAmount(order);
+		sum = month;
 		order.setTime("2");
 		lastMonth = orderService.selectStorageAmount(order);
 		flowAmount = month.subtract(lastMonth);
@@ -388,6 +391,7 @@ public class AppPartsController extends BladeController {
 		Map<String, Object> map = new HashMap<>();
 		map.put("total", total);
 		map.put("month", month);
+		map.put("sum", sum);
 		map.put("flowAmount", flowAmount);
 		return R.data(map);
 	}

+ 59 - 132
blade-service/blade-purchase-sales/src/main/java/org/springblade/purchase/sales/service/impl/OrderServiceImpl.java

@@ -27,6 +27,9 @@ import com.baomidou.mybatisplus.core.toolkit.StringUtils;
 import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
 import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
 import com.trade.purchase.order.enums.OrderTypeEnum;
+import io.seata.core.exception.TransactionException;
+import io.seata.core.model.GlobalStatus;
+import io.seata.core.model.TransactionManager;
 import io.seata.spring.annotation.GlobalTransactional;
 import lombok.AllArgsConstructor;
 import lombok.extern.slf4j.Slf4j;
@@ -5963,32 +5966,17 @@ public class OrderServiceImpl extends ServiceImpl<OrderMapper, Order> implements
 	@GlobalTransactional(rollbackFor = Exception.class, timeoutMills = 12000000)
 	public R savePlaceOrderMall(Order order) {
 		// 校验单号重复-新增
-		if (order.getId() == null && StringUtils.isNotBlank(order.getOrderNo())) {
+		if (order.getId() == null && StringUtils.isNotBlank(order.getSysNo())) {
 			LambdaQueryWrapper<Order> orderLambdaQueryWrapper = new LambdaQueryWrapper<>();
 			orderLambdaQueryWrapper
-				.eq(Order::getOrderNo, order.getOrderNo())
+				.eq(Order::getSysNo, order.getSysNo())
 				.eq(Order::getTradeType, order.getTradeType())
 				.eq(Order::getBillType, order.getBillType())
 				.eq(Order::getTenantId, AuthUtil.getTenantId())
 				.eq(Order::getIsDeleted, 0);
 			Integer count = baseMapper.selectCount(orderLambdaQueryWrapper);
 			if (count != null && count > 0) {
-				throw new SecurityException("合同号:" + order.getOrderNo() + "已存在,禁止重复添加");
-			}
-		}
-		// 校验单号重复-编辑
-		else {
-			LambdaQueryWrapper<Order> orderLambdaQueryWrapper = new LambdaQueryWrapper<>();
-			orderLambdaQueryWrapper
-				.ne(Order::getId, order.getId())
-				.eq(Order::getOrderNo, order.getOrderNo())
-				.eq(Order::getTradeType, order.getTradeType())
-				.eq(Order::getBillType, order.getBillType())
-				.eq(Order::getTenantId, AuthUtil.getTenantId())
-				.eq(Order::getIsDeleted, 0);
-			Integer count = baseMapper.selectCount(orderLambdaQueryWrapper);
-			if (count != null && count > 0) {
-				throw new SecurityException("合同号:" + order.getOrderNo() + "已存在,禁止重复添加");
+				throw new SecurityException("合同号:" + order.getSysNo() + "已存在,禁止重复添加");
 			}
 		}
 		Date date = new Date();
@@ -6002,15 +5990,10 @@ public class OrderServiceImpl extends ServiceImpl<OrderMapper, Order> implements
 				return R.fail(500, "生成系统编号失败");
 			}
 			order.setSysNo((String) billNo.getData());
-			R clientBillNo = serialClient.getBillNo(order.getBillType(), order.getTradeType(), order.getBillType());
-			if (!clientBillNo.isSuccess()) {
-				TransactionAspectSupport.currentTransactionStatus().setRollbackOnly();
-				return R.fail(500, "生成订单编号失败");
-			}
-			order.setOrderNo((String) clientBillNo.getData());
+			order.setOrderNo((String) billNo.getData());
 			// 进口的orgOrderNo 存的是采购订单号  出口国内存的是本身的订单号码
 			if (!order.getBillType().equals(OrderTypeEnum.IMPORT.getType())) {
-				order.setOrgOrderNo((String) clientBillNo.getData());
+				order.setOrgOrderNo((String) billNo.getData());
 			}
 
 			order.setTenantId(SecureUtil.getTenantId());
@@ -6026,27 +6009,6 @@ public class OrderServiceImpl extends ServiceImpl<OrderMapper, Order> implements
 			}
 			baseMapper.insert(order);
 		} else {
-			LambdaQueryWrapper<Order> orderLambdaQueryWrapper = new LambdaQueryWrapper<>();
-			orderLambdaQueryWrapper
-				.eq(Order::getId, order.getId())
-				.eq(Order::getCorpId, order.getCorpId())
-				.eq(Order::getTradeType, order.getTradeType())
-				.eq(Order::getBillType, order.getBillType())
-				.eq(Order::getTenantId, AuthUtil.getTenantId())
-				.eq(Order::getIsDeleted, 0);
-			Integer count = baseMapper.selectCount(orderLambdaQueryWrapper);
-			if (count <= 0) {
-				R clientBillNo = serialClient.getBillNo(order.getBillType(), order.getTradeType(), order.getBillType());
-				if (!clientBillNo.isSuccess()) {
-					TransactionAspectSupport.currentTransactionStatus().setRollbackOnly();
-					return R.fail(500, "生成订单编号失败");
-				}
-				order.setOrderNo((String) clientBillNo.getData());
-				// 进口的orgOrderNo 存的是采购订单号  出口国内存的是本身的订单号码
-				if (!order.getBillType().equals(OrderTypeEnum.IMPORT.getType())) {
-					order.setOrgOrderNo((String) clientBillNo.getData());
-				}
-			}
 			order.setTenantId(SecureUtil.getTenantId());
 			order.setUpdateTime(date);
 			order.setUpdateUser(SecureUtil.getUserId());
@@ -6225,36 +6187,64 @@ public class OrderServiceImpl extends ServiceImpl<OrderMapper, Order> implements
 	}
 
 	@Override
-	@Transactional(rollbackFor = Exception.class)
-	@GlobalTransactional(rollbackFor = Exception.class, timeoutMills = 12000000)
 	public R quickBillingMall(Order order) {
-		// 校验单号重复-新增
-		if (order.getId() == null && StringUtils.isNotBlank(order.getOrderNo())) {
-			LambdaQueryWrapper<Order> orderLambdaQueryWrapper = new LambdaQueryWrapper<>();
-			orderLambdaQueryWrapper
-				.eq(Order::getOrderNo, order.getOrderNo())
-				.eq(Order::getTradeType, order.getTradeType())
-				.eq(Order::getBillType, order.getBillType())
-				.eq(Order::getTenantId, AuthUtil.getTenantId())
-				.eq(Order::getIsDeleted, 0);
-			Integer count = baseMapper.selectCount(orderLambdaQueryWrapper);
-			if (count != null && count > 0) {
-				throw new SecurityException("合同号:" + order.getOrderNo() + "已存在,禁止重复添加");
+
+		Order details = vocationalWork(order);
+		if (ObjectUtils.isNull(details) || details.getId() == null){
+			throw new RuntimeException("下单失败");
+		}
+
+		CorpsDesc corpsDesc = corpsDescClient.getCorpId(details.getCorpId());
+		if (ObjectUtils.isNull(corpsDesc)) {
+			throw new RuntimeException("未找到客户信息");
+		}
+		if (ObjectUtils.isNotNull(corpsDesc.getAdminProfiles())) {
+			String[] arrs = corpsDesc.getAdminProfiles().split(",");
+			for (String arr : arrs) {
+				//信息
+				Message sendMessage = new Message();
+				sendMessage.setParameter(String.valueOf(details.getId()));
+				sendMessage.setUserName(AuthUtil.getUserName());
+				sendMessage.setUserId(AuthUtil.getUserId());
+				sendMessage.setToUserId(Long.parseLong(arr));
+				sendMessage.setMessageType(1);
+				sendMessage.setTenantId(AuthUtil.getTenantId());
+				sendMessage.setCreateUser(AuthUtil.getUserId());
+				sendMessage.setCreateTime(new Date());
+				sendMessage.setUrl(details.getUrl());
+				sendMessage.setPageLabel(details.getPageLabel());
+				sendMessage.setPageStatus(details.getPageStatus());
+				sendMessage.setMessageBody("您的单号:" + details.getSysNo() + "下单成功!");
+				R save = messageClient.save(sendMessage);
+				if (!save.isSuccess()) {
+					throw new SecurityException("发送消息失败");
+				}
 			}
 		}
-		// 校验单号重复-编辑
-		else {
+		//通联支付下单处理
+		R r = this.payPrepay(order);
+		if (!r.isSuccess() || r.getCode() != 200) {
+			throw new RuntimeException("支付失败!原因:" + r.getData());
+		} else {
+			return r;
+		}
+	}
+
+	@Transactional(rollbackFor = Exception.class)
+	@GlobalTransactional(rollbackFor = Exception.class, timeoutMills = 12000000)
+	public Order vocationalWork(Order order){
+// 校验单号重复-新增
+		if (order.getId() == null && StringUtils.isNotBlank(order.getSysNo())) {
 			LambdaQueryWrapper<Order> orderLambdaQueryWrapper = new LambdaQueryWrapper<>();
 			orderLambdaQueryWrapper
-				.ne(Order::getId, order.getId())
-				.eq(Order::getOrderNo, order.getOrderNo())
+				.eq(Order::getSysNo, order.getSysNo())
 				.eq(Order::getTradeType, order.getTradeType())
 				.eq(Order::getBillType, order.getBillType())
 				.eq(Order::getTenantId, AuthUtil.getTenantId())
 				.eq(Order::getIsDeleted, 0);
 			Integer count = baseMapper.selectCount(orderLambdaQueryWrapper);
 			if (count != null && count > 0) {
-				throw new SecurityException("合同号:" + order.getOrderNo() + "已存在,禁止重复添加");
+				throw new SecurityException("合同号:" + order.getSysNo() + "已存在,禁止重复添加");
 			}
 		}
 		order.setOrderSource("2");
@@ -6291,18 +6281,13 @@ public class OrderServiceImpl extends ServiceImpl<OrderMapper, Order> implements
 		R billNo = serialClient.getBillNo(order.getBillType(), order.getTradeType(), order.getBillType());
 		if (billNo.getCode() != 200) {
 			TransactionAspectSupport.currentTransactionStatus().setRollbackOnly();
-			return R.fail(500, "生成系统编号失败");
+			throw new RuntimeException("生成系统编号失败");
 		}
 		order.setSysNo((String) billNo.getData());
-		R clientBillNo = serialClient.getBillNo(order.getBillType(), order.getTradeType(), order.getBillType());
-		if (!clientBillNo.isSuccess()) {
-			TransactionAspectSupport.currentTransactionStatus().setRollbackOnly();
-			return R.fail(500, "生成订单编号失败");
-		}
-		order.setOrderNo((String) clientBillNo.getData());
+		order.setOrderNo((String) billNo.getData());
 		// 进口的orgOrderNo 存的是采购订单号  出口国内存的是本身的订单号码
 		if (!order.getBillType().equals(OrderTypeEnum.IMPORT.getType())) {
-			order.setOrgOrderNo((String) clientBillNo.getData());
+			order.setOrgOrderNo((String) billNo.getData());
 		}
 
 		order.setTenantId(SecureUtil.getTenantId());
@@ -6392,48 +6377,8 @@ public class OrderServiceImpl extends ServiceImpl<OrderMapper, Order> implements
 		order.setDebitAmount(order.getOrderAmount());
 		order.setBalanceAmount(order.getOrderAmount());
 		order.setPurchaseAmount(order.getOrderAmount());
-//		order.setSettlmentAmount(order.getOrderAmount().subtract(order.getOrderAmount()));
 		baseMapper.updateById(order);
-
-		// 保存订单文件信息
-		if (CollectionUtils.isNotEmpty(order.getOrderFilesList())) {
-			List<OrderFiles> orderFilesList = orderFilesService.saveOrderFileMessage(order.getOrderFilesList(), date, order.getId());
-			order.setOrderFilesList(orderFilesList);
-		}
-		CorpsDesc corpsDesc = corpsDescClient.getCorpId(order.getCorpId());
-		if (ObjectUtils.isNull(corpsDesc)) {
-			throw new RuntimeException("未找到客户信息");
-		}
-		if (ObjectUtils.isNotNull(corpsDesc.getAdminProfiles())) {
-			String[] arrs = corpsDesc.getAdminProfiles().split(",");
-			for (String arr : arrs) {
-				//信息
-				Message sendMessage = new Message();
-				sendMessage.setParameter(String.valueOf(order.getId()));
-				sendMessage.setUserName(AuthUtil.getUserName());
-				sendMessage.setUserId(AuthUtil.getUserId());
-				sendMessage.setToUserId(Long.parseLong(arr));
-				sendMessage.setMessageType(1);
-				sendMessage.setTenantId(AuthUtil.getTenantId());
-				sendMessage.setCreateUser(AuthUtil.getUserId());
-				sendMessage.setCreateTime(new Date());
-				sendMessage.setUrl(order.getUrl());
-				sendMessage.setPageLabel(order.getPageLabel());
-				sendMessage.setPageStatus(order.getPageStatus());
-				sendMessage.setMessageBody("您的单号:" + order.getSysNo() + "下单成功!");
-				R save = messageClient.save(sendMessage);
-				if (!save.isSuccess()) {
-					throw new SecurityException("发送消息失败");
-				}
-			}
-		}
-		//通联支付下单处理
-		R r = this.payPrepay(order);
-		if (!r.isSuccess() || r.getCode() != 200) {
-			throw new RuntimeException("支付失败!原因:" + r.getData());
-		} else {
-			return r;
-		}
+		return order;
 	}
 
 	@Override
@@ -7004,24 +6949,6 @@ public class OrderServiceImpl extends ServiceImpl<OrderMapper, Order> implements
 			if (ObjectUtils.isNotNull(order.getCurrentAmount())) {
 				applyDTO.setSettlementAmount(order.getSettlmentAmount().add(order.getCurrentAmount()));
 			}
-			/*if (ObjectUtils.isNotNull(order.getSettlementList()) && order.getSettlementList().size() > 0) {
-				applyDTO.setId(order.getSrcAccId());
-				BigDecimal receivedAmount = order.getCurrentAmount();
-				receivedAmount = receivedAmount.add(order.getSettlmentAmount());
-				amount = amount.subtract(receivedAmount);
-				Order order1 = new Order();
-				order1.setId(order.getId());
-				order1.setSettlmentAmount(receivedAmount);
-				order1.setBalanceAmount(amount);
-				if (new BigDecimal("0.00").equals(amount)) {
-					order1.setStatus(3);
-					order1.setActualPaymentStatus(2);
-				} else {
-					order1.setStatus(0);
-					order1.setActualPaymentStatus(1);
-				}
-				baseMapper.updateById(order1);
-			}*/
 			//生成账单
 			R paymentApply = financeClient.paymentApplyParts(applyDTO);
 			if (!paymentApply.isSuccess()) {

+ 54 - 27
blade-service/blade-purchase-sales/src/main/java/org/springblade/purchase/sales/wing/accessories/WebpageController.java

@@ -38,7 +38,8 @@ import java.util.List;
 public class WebpageController {
 
 	private final IOrderService orderService;
-	private final ICorpsDescClient corpsDescClient;//获取客户信息
+	//获取客户信息
+	private final ICorpsDescClient corpsDescClient;
 	/**
 	 * 库区信息
 	 */
@@ -52,69 +53,95 @@ public class WebpageController {
 	@ApiOperation(value = "分页", notes = "传入order")
 	public R<IPage<Order>> page(OrderVO order, Query query) {
 		LambdaQueryWrapper<Order> lambdaQueryWrapper = new LambdaQueryWrapper<>();
-		lambdaQueryWrapper.eq(Order::getTenantId, SecureUtil.getTenantId());//租户id
-		lambdaQueryWrapper.eq(Order::getIsDeleted, 0);//订单是否有效
-		lambdaQueryWrapper.like(Func.isNotEmpty(order.getOrderNo()), Order::getOrderNo, order.getOrderNo());//订单号
-		lambdaQueryWrapper.eq(Func.isNotEmpty(order.getCorpTel()), Order::getCorpTel, order.getCorpTel());//手机号
-		lambdaQueryWrapper.eq(Func.isNotEmpty(order.getStorageId()), Order::getStorageId, order.getStorageId());//仓库id
+		//租户id
+		lambdaQueryWrapper.eq(Order::getTenantId, SecureUtil.getTenantId());
+		//订单是否有效
+		lambdaQueryWrapper.eq(Order::getIsDeleted, 0);
+		//订单号
+		lambdaQueryWrapper.like(Func.isNotEmpty(order.getOrderNo()), Order::getOrderNo, order.getOrderNo());
+		//手机号
+		lambdaQueryWrapper.eq(Func.isNotEmpty(order.getCorpTel()), Order::getCorpTel, order.getCorpTel());
+		//仓库id
+		lambdaQueryWrapper.eq(Func.isNotEmpty(order.getStorageId()), Order::getStorageId, order.getStorageId());
 		if ("线上".equals(order.getOrderSource())) {
 			if (ObjectUtils.isNotNull(order.getStatus()) && 1 == order.getStatus()) {
-				lambdaQueryWrapper.eq(Func.isNotEmpty(order.getActualPaymentStatus()), Order::getActualPaymentStatus, order.getStatus());//微信实际支付状态
+				//微信实际支付状态
+				lambdaQueryWrapper.eq(Func.isNotEmpty(order.getActualPaymentStatus()), Order::getActualPaymentStatus, order.getStatus());
 				lambdaQueryWrapper.apply("find_in_set(bill_type,'XS')");
 			} else if (ObjectUtils.isNotNull(order.getStatus()) && 2 == order.getStatus()) {
-				lambdaQueryWrapper.eq(Func.isNotEmpty(order.getActualPaymentStatus()), Order::getActualPaymentStatus, order.getStatus());//微信实际支付状态
+				//微信实际支付状态
+				lambdaQueryWrapper.eq(Func.isNotEmpty(order.getActualPaymentStatus()), Order::getActualPaymentStatus, order.getStatus());
 				lambdaQueryWrapper.apply("find_in_set(bill_type,'XS')");
-				lambdaQueryWrapper.eq(Order::getStatus, 3);//微信实际支付状态
+				//微信实际支付状态
+				lambdaQueryWrapper.eq(Order::getStatus, 3);
 			} else if (ObjectUtils.isNotNull(order.getStatus()) && 13 == order.getStatus()) {
 				lambdaQueryWrapper.in(Order::getStatus, 7, 8, 9, 10, 11, 12);
 				lambdaQueryWrapper.apply("find_in_set(bill_type,'XS')");
 			} else {
 				lambdaQueryWrapper.apply(Func.isNotEmpty(order.getBillType()), "find_in_set(bill_type,'" + order.getBillType() + "')");
-				lambdaQueryWrapper.eq(Func.isNotEmpty(order.getStatus()), Order::getStatus, order.getStatus());//订单状态
+				//订单状态
+				lambdaQueryWrapper.eq(Func.isNotEmpty(order.getStatus()), Order::getStatus, order.getStatus());
 			}
 			CorpsAttn corpsAttn = corpsAttnClient.getUser(AuthUtil.getUserId());
 			if (ObjectUtils.isNotNull(corpsAttn)) {
 				CorpsDesc corpsDesc = corpsDescClient.getCorpId(corpsAttn.getPid());
 				if (ObjectUtils.isNotNull(corpsDesc)) {
-					lambdaQueryWrapper.eq(Order::getCorpId, corpsDesc.getId());//客户id
+					//客户id
+					lambdaQueryWrapper.eq(Order::getCorpId, corpsDesc.getId());
 				} else {
-					lambdaQueryWrapper.eq(Order::getCorpId, 0);//客户id
+					//客户id
+					lambdaQueryWrapper.eq(Order::getCorpId, 0);
 				}
 			} else {
-				lambdaQueryWrapper.eq(Order::getCorpId, 0);//客户id
+				//客户id
+				lambdaQueryWrapper.eq(Order::getCorpId, 0);
 			}
 		} else {
 			if (ObjectUtils.isNotNull(order.getStatus()) && (1 == order.getStatus() || 2 == order.getStatus())) {
-				lambdaQueryWrapper.eq(Func.isNotEmpty(order.getActualPaymentStatus()), Order::getActualPaymentStatus, order.getStatus());//微信实际支付状态
+				//微信实际支付状态
+				lambdaQueryWrapper.eq(Func.isNotEmpty(order.getActualPaymentStatus()), Order::getActualPaymentStatus, order.getStatus());
 				lambdaQueryWrapper.apply("find_in_set(bill_type,'XS')");
+				lambdaQueryWrapper.apply("status < 7");
 			} else if (ObjectUtils.isNotNull(order.getStatus()) && (8 == order.getStatus() || 9 == order.getStatus() || 10 == order.getStatus() || 11 == order.getStatus())) {
 				lambdaQueryWrapper.in(Order::getStatus, order.getStatus());
 				lambdaQueryWrapper.apply("find_in_set(bill_type,'XSTH')");
 			} else {
 				lambdaQueryWrapper.apply(Func.isNotEmpty(order.getBillType()), "find_in_set(bill_type,'" + order.getBillType() + "')");
-				lambdaQueryWrapper.eq(Func.isNotEmpty(order.getStatus()), Order::getStatus, order.getStatus());//订单状态
+				//订单状态
+				lambdaQueryWrapper.eq(Func.isNotEmpty(order.getStatus()), Order::getStatus, order.getStatus());
 			}
 			if (ObjectUtils.isNotNull(order.getCorpsName())) {
 				String corpsName = order.getCorpsName().replaceAll(" ", "");
 				List<Long> ids = corpsDescClient.listCorpIdByName(corpsName);
 				if (ObjectUtils.isNotNull(ids) && ids.size() > 0) {
-					lambdaQueryWrapper.in(Order::getCorpId, ids);//客户id
+					//客户id
+					lambdaQueryWrapper.in(Order::getCorpId, ids);
 				}/* else {
 					lambdaQueryWrapper.isNull(Order::getCorpId);
 				}*/
 			} else {
-				lambdaQueryWrapper.like(Func.isNotEmpty(order.getCorpId()), Order::getCorpId, order.getCorpId());//客户id
+				//客户id
+				lambdaQueryWrapper.like(Func.isNotEmpty(order.getCorpId()), Order::getCorpId, order.getCorpId());
 			}
 		}
-		lambdaQueryWrapper.eq(ObjectUtils.isNotNull(order.getSalesName()), Order::getSalesName, order.getSalesName());//业务员
-		lambdaQueryWrapper.ge(Func.isNotEmpty(order.getContractStartDate()), Order::getBusinesDate, order.getContractStartDate());//合同日期开始
-		lambdaQueryWrapper.le(Func.isNotEmpty(order.getContractEndDate()), Order::getBusinesDate, order.getContractEndDate());//合同日期结束
-		lambdaQueryWrapper.like(Func.isNotEmpty(order.getSrcOrderNo()), Order::getSrcOrderNo, order.getSrcOrderNo());//订单来源
-		lambdaQueryWrapper.like(Func.isNotEmpty(order.getArrivalAddress()), Order::getArrivalAddress, order.getArrivalAddress());//到货地址
-		lambdaQueryWrapper.like(Func.isNotEmpty(order.getSysNo()), Order::getSysNo, order.getSysNo());//系统编号
-		lambdaQueryWrapper.eq(Func.isNotEmpty(order.getCreateUser()), Order::getCreateUser, order.getCreateUser());//制单人
-		lambdaQueryWrapper.ge(Func.isNotEmpty(order.getOrderStartDate()), Order::getBusinesDate, order.getOrderStartDate());//订单日期开始
-		lambdaQueryWrapper.le(Func.isNotEmpty(order.getOrderEndDate()), Order::getBusinesDate, order.getOrderEndDate());//订单日期结束
+		//业务员
+		lambdaQueryWrapper.eq(ObjectUtils.isNotNull(order.getSalesName()), Order::getSalesName, order.getSalesName());
+		//合同日期开始
+		lambdaQueryWrapper.ge(Func.isNotEmpty(order.getContractStartDate()), Order::getBusinesDate, order.getContractStartDate());
+		//合同日期结束
+		lambdaQueryWrapper.le(Func.isNotEmpty(order.getContractEndDate()), Order::getBusinesDate, order.getContractEndDate());
+		//订单来源
+		lambdaQueryWrapper.like(Func.isNotEmpty(order.getSrcOrderNo()), Order::getSrcOrderNo, order.getSrcOrderNo());
+		//到货地址
+		lambdaQueryWrapper.like(Func.isNotEmpty(order.getArrivalAddress()), Order::getArrivalAddress, order.getArrivalAddress());
+		//系统编号
+		lambdaQueryWrapper.like(Func.isNotEmpty(order.getSysNo()), Order::getSysNo, order.getSysNo());
+		//制单人
+		lambdaQueryWrapper.eq(Func.isNotEmpty(order.getCreateUser()), Order::getCreateUser, order.getCreateUser());
+		//订单日期开始
+		lambdaQueryWrapper.ge(Func.isNotEmpty(order.getOrderStartDate()), Order::getBusinesDate, order.getOrderStartDate());
+		//订单日期结束
+		lambdaQueryWrapper.le(Func.isNotEmpty(order.getOrderEndDate()), Order::getBusinesDate, order.getOrderEndDate());
 		lambdaQueryWrapper.eq(Func.isNotEmpty(order.getTradeType()), Order::getTradeType, order.getTradeType());
 		if ("1".equals(order.getModular())) {
 			lambdaQueryWrapper.apply("balance_amount > 0");
@@ -183,7 +210,7 @@ public class WebpageController {
 	 */
 	@GetMapping("/statusStatisticsApi")
 	@ApiOperation(value = "状态统计接口", notes = "无")
-	public R revenueExpenditure(@RequestParam(value = "type",required = false) String type) {
+	public R revenueExpenditure(@RequestParam(value = "type", required = false) String type) {
 		return R.data(orderService.statusStatisticsApi(type));
 	}
 

+ 9 - 3
blade-service/trade-finance/src/main/java/org/springblade/finance/service/impl/SettlementServiceImpl.java

@@ -2694,10 +2694,17 @@ public class SettlementServiceImpl extends ServiceImpl<SettlementMapper, Settlem
 						items.setCorpId(acc.getCorpId());
 						items.setQuantity(acc.getQuantity());
 						items.setUnit(acc.getUnit());
-						items.setPrice(dto.getReceivedAmount());
+						if (new BigDecimal("0.00").equals(dto.getReceivedAmount()) || ObjectUtils.isNull(dto.getReceivedAmount())) {
+							items.setPrice(settlement.getAmount());
+							items.setAmount(settlement.getAmount());
+							items.setThisAmount(settlement.getAmount());
+						} else {
+							items.setPrice(dto.getReceivedAmount());
+							items.setAmount(dto.getReceivedAmount());
+							items.setThisAmount(dto.getReceivedAmount());
+						}
 						items.setSrcOrderno(acc.getSrcSysno());
 						items.setSrcBillNo(acc.getSrcBillNo());
-						items.setAmount(dto.getReceivedAmount());
 						items.setCurrency(acc.getCurrency());
 						items.setExchangeRate(acc.getExchangeRate());
 						items.setTaxRate(acc.getTaxRate());
@@ -2707,7 +2714,6 @@ public class SettlementServiceImpl extends ServiceImpl<SettlementMapper, Settlem
 						items.setSrcType(acc.getSrcType());
 						items.setCostType(acc.getCostType());
 						items.setBillNo(acc.getSrcBillNo());
-						items.setThisAmount(dto.getReceivedAmount());
 						items.setTradeType(acc.getTradeType());
 						items.setAccId(id);
 						items.setPid(model.getId());