Browse Source

2023年8月2日17:31:10

纪新园 2 years ago
parent
commit
bd9392647c
17 changed files with 246 additions and 96 deletions
  1. 5 0
      blade-service-api/blade-client-api/src/main/java/org/springblade/client/entity/GoodsDesc.java
  2. 18 0
      blade-service-api/blade-deliver-goods-api/src/main/java/org/springblade/deliver/goods/entity/Delivery.java
  3. 12 0
      blade-service-api/blade-purchase-sales-api/src/main/java/org/springblade/purchase/sales/entity/Order.java
  4. 4 0
      blade-service-api/blade-purchase-sales-api/src/main/java/org/springblade/purchase/sales/feign/IOrderDescClient.java
  5. 6 0
      blade-service-api/trade-finance-api/src/main/java/org/springblade/finance/vojo/Items.java
  6. 11 7
      blade-service/blade-client/src/main/java/org/springblade/client/corps/controller/CorpsDescPartsController.java
  7. 35 0
      blade-service/blade-client/src/main/java/org/springblade/client/goods/controller/GoodsDescPartsController.java
  8. 22 0
      blade-service/blade-deliver-goods/src/main/java/org/springblade/deliver/goods/controller/DeliveryController.java
  9. 2 0
      blade-service/blade-deliver-goods/src/main/java/org/springblade/deliver/goods/service/IDeliveryService.java
  10. 2 2
      blade-service/blade-deliver-goods/src/main/java/org/springblade/deliver/goods/service/impl/DeliveryItemsServiceImpl.java
  11. 36 4
      blade-service/blade-deliver-goods/src/main/java/org/springblade/deliver/goods/service/impl/DeliveryServiceImpl.java
  12. 5 0
      blade-service/blade-purchase-sales/src/main/java/org/springblade/purchase/sales/feign/OrderDescClient.java
  13. 44 38
      blade-service/blade-purchase-sales/src/main/java/org/springblade/purchase/sales/partsapp/AppPartsController.java
  14. 19 42
      blade-service/blade-purchase-sales/src/main/java/org/springblade/purchase/sales/service/impl/OrderServiceImpl.java
  15. 1 1
      blade-service/blade-stock/src/main/java/org/springblade/stock/mapper/StockGoodsMapper.xml
  16. 0 1
      blade-service/trade-finance/src/main/java/org/springblade/finance/controller/ProfitStatisticsController.java
  17. 24 1
      blade-service/trade-finance/src/main/java/org/springblade/finance/service/impl/SettlementServiceImpl.java

+ 5 - 0
blade-service-api/blade-client-api/src/main/java/org/springblade/client/entity/GoodsDesc.java

@@ -392,5 +392,10 @@ public class GoodsDesc implements Serializable {
 	 */
 	@ApiModelProperty("业务员积分")
 	private BigDecimal salesmanIntegral;
+	/**
+	 * 销售金额
+	 */
+	@TableField(exist = false)
+	private BigDecimal salesPrice;
 
 }

+ 18 - 0
blade-service-api/blade-deliver-goods-api/src/main/java/org/springblade/deliver/goods/entity/Delivery.java

@@ -707,4 +707,22 @@ public class Delivery implements Serializable {
 	@TableField(exist = false)
 	private String generate;
 
+	/**
+	 * 车号1
+	 */
+	@ApiModelProperty(value = "车号1")
+	private String wagonNumberOne;
+
+	/**
+	 * 车号2
+	 */
+	@ApiModelProperty(value = "车号2")
+	private String wagonNumberTwo;
+
+	/**
+	 * 车号状态
+	 */
+	@ApiModelProperty(value = "车号状态")
+	private String wagonNumberStatus;
+
 }

+ 12 - 0
blade-service-api/blade-purchase-sales-api/src/main/java/org/springblade/purchase/sales/entity/Order.java

@@ -1426,6 +1426,18 @@ public class Order implements Serializable {
 	@ApiModelProperty(value = "是否为积分单据")
 	private String whetherIntegral;
 
+	/**
+	 * 车号1
+	 */
+	@ApiModelProperty(value = "车号1")
+	private String wagonNumberOne;
+
+	/**
+	 * 车号2
+	 */
+	@ApiModelProperty(value = "车号2")
+	private String wagonNumberTwo;
+
 	public String get$buyerId() {
 		return $buyerId;
 	}

+ 4 - 0
blade-service-api/blade-purchase-sales-api/src/main/java/org/springblade/purchase/sales/feign/IOrderDescClient.java

@@ -43,6 +43,7 @@ public interface IOrderDescClient {
 	String GET_BY_ORDER_QUANTITY = API_PREFIX + "/getByOrderQuantity";
 	String SAVE = API_PREFIX + "/save";
 	String ORDER_INVENTORY_LIST = API_PREFIX + "/orderInventoryList";
+	String PASS_CHECK = API_PREFIX + "/passCheck";
 
 	/**
 	 * 修改采购订单状态
@@ -145,4 +146,7 @@ public interface IOrderDescClient {
 									  @RequestParam("itemId") Long itemId,
 									  @RequestParam("corpId") Long corpId,
 									  @RequestParam("storageId") Long storageId);
+
+	@GetMapping(PASS_CHECK)
+	void passCheck(@RequestParam("id") Long id);
 }

+ 6 - 0
blade-service-api/trade-finance-api/src/main/java/org/springblade/finance/vojo/Items.java

@@ -392,4 +392,10 @@ public class Items implements Serializable {
 	@TableField("Check_Amount")
 	private BigDecimal checkAmount;
 
+	/**
+	 * 会员结算余额
+	 */
+	@ApiModelProperty(value = "会员结算余额")
+	private BigDecimal memberBalance;
+
 }

+ 11 - 7
blade-service/blade-client/src/main/java/org/springblade/client/corps/controller/CorpsDescPartsController.java

@@ -475,16 +475,20 @@ public class CorpsDescPartsController extends BladeController {
 	 * 获取用户信息
 	 */
 	@GetMapping("/getCorpDesc")
-	public R<CorpsDesc> getCorpDesc() {
+	public R<CorpsDesc> getCorpDesc(@RequestParam(value = "id", required = false) Long id) {
 		CorpsDesc corpsDesc = new CorpsDesc();
-		if (AuthUtil.getUserRole().equals("客户")) {
-			CorpsAttn corpsAttn = corpsAttnClient.getUser(AuthUtil.getUserId());
-			if (ObjectUtils.isNull(corpsAttn)) {
-				throw new RuntimeException("未查到用户信息");
-			} else {
-				corpsDesc = corpsDescService.getCorpId(corpsAttn.getPid());
+		if (id == null) {
+			if (AuthUtil.getUserRole().equals("客户")) {
+				CorpsAttn corpsAttn = corpsAttnClient.getUser(AuthUtil.getUserId());
+				if (ObjectUtils.isNull(corpsAttn)) {
+					throw new RuntimeException("未查到用户信息");
+				} else {
+					corpsDesc = corpsDescService.getCorpId(corpsAttn.getPid());
 
+				}
 			}
+		} else {
+			corpsDesc = corpsDescService.getById(id);
 		}
 		return R.data(corpsDesc);
 	}

+ 35 - 0
blade-service/blade-client/src/main/java/org/springblade/client/goods/controller/GoodsDescPartsController.java

@@ -24,7 +24,9 @@ import io.swagger.annotations.Api;
 import io.swagger.annotations.ApiOperation;
 import io.swagger.annotations.ApiParam;
 import lombok.AllArgsConstructor;
+import org.springblade.client.corps.service.ICorpsDescService;
 import org.springblade.client.dto.GoodsDescDto;
+import org.springblade.client.entity.CorpsDesc;
 import org.springblade.client.entity.GoodsDesc;
 import org.springblade.client.entity.GoodsFiles;
 import org.springblade.client.entity.GoodsType;
@@ -68,6 +70,7 @@ import java.util.stream.Collectors;
 public class GoodsDescPartsController extends BladeController {
 
 	private final IGoodsDescService goodsDescService;
+	private final ICorpsDescService corpsDescService;
 
 	private final IRedisClient redisClient;//redis缓存处理
 	private final IStockGoodsClient stockGoodsClient;//库存
@@ -247,4 +250,36 @@ public class GoodsDescPartsController extends BladeController {
 		return goodsDescService.importDescPartsInfo(excelList, false);
 	}
 
+	/**
+	 * 通过客户获取商品单价
+	 */
+	@GetMapping("/obtainPrice")
+	public R<GoodsDesc> obtainPrice(@RequestParam("corpId") Long corpId, @RequestParam("goodsId") Long goodsId) {
+		String shoppingMall = "";
+		GoodsDesc goodsDesc = new GoodsDesc();
+		CorpsDesc corpsDesc = corpsDescService.getById(corpId);
+		if (ObjectUtils.isNotNull(corpsDesc)) {
+			shoppingMall = corpsDesc.getShoppingMall();
+			goodsDesc = goodsDescService.getById(goodsId);
+			if (ObjectUtils.isNotNull(goodsDesc)) {
+				if ("零售价".equals(shoppingMall) || "游客".equals(shoppingMall)) {
+					goodsDesc.setSalesPrice(goodsDesc.getStandardPrice());
+				} else if ("售价1".equals(shoppingMall)) {
+					goodsDesc.setSalesPrice(goodsDesc.getWholesalePrice());
+				} else if ("售价2".equals(shoppingMall)) {
+					goodsDesc.setSalesPrice(goodsDesc.getRepairDepotPrice());
+				} else if ("售价3".equals(shoppingMall)) {
+					goodsDesc.setSalesPrice(goodsDesc.getStorePrice());
+				} else if ("售价4".equals(shoppingMall)) {
+					goodsDesc.setSalesPrice(goodsDesc.getPrice());
+				} else if ("特价".equals(shoppingMall)) {
+					goodsDesc.setSalesPrice(goodsDesc.getSpecialOffer());
+				} else {
+					goodsDesc.setSalesPrice(goodsDesc.getSpecialOffer());
+				}
+			}
+		}
+		return R.data(goodsDesc);
+	}
+
 }

+ 22 - 0
blade-service/blade-deliver-goods/src/main/java/org/springblade/deliver/goods/controller/DeliveryController.java

@@ -470,6 +470,28 @@ public class DeliveryController extends BladeController {
 	}
 
 	/**
+	 * 同步车号
+	 */
+	@PostMapping("/submitWagonNumber")
+	@RepeatSubmit
+	public R submitWagonNumber(@Valid @RequestBody Delivery delivery) {
+		delivery.setBillType(OrderTypeEnum.SHIP.getType());
+		delivery.setTradeType(OrderTypeEnum.DOMESTIC.getType());
+		return deliveryService.submitWagonNumber(delivery);
+	}
+
+	/**
+	 * 撤销车号
+	 */
+	@PostMapping("/revokeWagonNumber")
+	@RepeatSubmit
+	public R revokeWagonNumber(@Valid @RequestBody Delivery delivery) {
+		delivery.setBillType(OrderTypeEnum.SHIP.getType());
+		delivery.setTradeType(OrderTypeEnum.DOMESTIC.getType());
+		return deliveryService.submitWagonNumber(delivery);
+	}
+
+	/**
 	 * 将Object转换成List类型
 	 *
 	 * @param obj   Object对象

+ 2 - 0
blade-service/blade-deliver-goods/src/main/java/org/springblade/deliver/goods/service/IDeliveryService.java

@@ -105,4 +105,6 @@ public interface IDeliveryService extends IService<Delivery> {
 	List<StockInventory> selectStockInventoryList(String oldStockId,String newStockId, String goodsId);
 
 	R voucher(Delivery delivery);
+
+    R submitWagonNumber(Delivery delivery);
 }

+ 2 - 2
blade-service/blade-deliver-goods/src/main/java/org/springblade/deliver/goods/service/impl/DeliveryItemsServiceImpl.java

@@ -668,8 +668,8 @@ public class DeliveryItemsServiceImpl extends ServiceImpl<DeliveryItemsMapper, D
 		} else {
 			if ("CG".equals(deliveryItems.getBillType())) {
 				if ("681169".equals(AuthUtil.getTenantId())) {
-					stockGoods.setBalanceQuantity(stockGoods.getBalanceQuantity().subtract(deliveryItems.getArrivalQuantity()));//结余数量
-					stockGoods.setSurplusRouteQuantity(stockGoods.getBalanceQuantity().subtract(stockGoods.getLockingQuantity()));//可用数量
+					stockGoods.setBalanceQuantity(stockGoods.getBalanceQuantity().subtract(deliveryItems.getActualQuantity()));//结余数量
+					stockGoods.setSurplusRouteQuantity(stockGoods.getSurplusRouteQuantity().add(deliveryItems.getPurchaseQuantity().subtract(deliveryItems.getActualQuantity())));//可用数量
 
 				} else {
 					//入库数量

+ 36 - 4
blade-service/blade-deliver-goods/src/main/java/org/springblade/deliver/goods/service/impl/DeliveryServiceImpl.java

@@ -84,7 +84,7 @@ import java.text.SimpleDateFormat;
 import java.time.LocalDateTime;
 import java.time.format.DateTimeFormatter;
 import java.util.*;
-import java.util.concurrent.*;
+import java.util.concurrent.TimeUnit;
 import java.util.stream.Collectors;
 
 /**
@@ -960,13 +960,13 @@ public class DeliveryServiceImpl extends ServiceImpl<DeliveryMapper, Delivery> i
 					throw new SecurityException("贸易类型未指定");
 				}
 				StockGoods stock = model;
-				if ("681169".equals(AuthUtil.getTenantId())){
+				if ("681169".equals(AuthUtil.getTenantId())) {
 					stockGoodsLog.setBalanceQuantityOld(stock.getBalanceQuantity());
 					stockGoodsLog.setSurplusRouteQuantityOld(stock.getSurplusRouteQuantity());
 					stockGoodsLog.setLockingQuantityOld(stock.getLockingQuantity());
 					stockGoodsLog.setStockId(stock.getId());
 					stockGoodsLog.setOrderQuantity(e.getActualQuantity());
-				}else{
+				} else {
 					stockGoodsLog.setBalanceQuantityOld(e.getActualQuantity());
 					stockGoodsLog.setSurplusRouteQuantityOld(e.getActualQuantity());
 					stockGoodsLog.setLockingQuantityOld(e.getActualQuantity());
@@ -1202,7 +1202,7 @@ public class DeliveryServiceImpl extends ServiceImpl<DeliveryMapper, Delivery> i
 		String finalCorpNumber = corpNumber;
 		String finalWareHouse = wareHouse;
 		String finalAcoount = acoount;
-		if ("681169".equals(AuthUtil.getTenantId())){
+		if ("681169".equals(AuthUtil.getTenantId())) {
 			try {
 				String accountName = select.getBelongCompany();
 				if (ObjectUtils.isNull(accountName)) {
@@ -1213,6 +1213,7 @@ public class DeliveryServiceImpl extends ServiceImpl<DeliveryMapper, Delivery> i
 				if (jdTenant != null) {
 					//测试账套-工厂发货生成凭证
 					try {
+						System.out.println("生成凭证数据:" + finalBrand + " / " + accountName + " / " + finalCorpName + " / " + finalCorpNumber + " / " + finalWareHouse + " / " + finalAcoount + " / " + orderNo);
 						Delivery details = this.testTakeGoodsSaveVoucher(finalBrand, select, accountName, finalCorpName, finalCorpNumber, finalWareHouse, finalAcoount, orderNo);
 						if (ObjectUtils.isNotNull(details)) {
 							delivery.setVoucherStatus("1");
@@ -1895,6 +1896,7 @@ public class DeliveryServiceImpl extends ServiceImpl<DeliveryMapper, Delivery> i
 				if (jdTenant != null) {
 					try {
 						//测试账套-工厂发货生成凭证
+						System.out.println("生成凭证数据:" + brand + " / " + accountName + " / " + corpName + " / " + corpNumber + " / " + wareHouse + " / " + acoount + " / " + orderNo);
 						Delivery delivery1 = this.testTakeGoodsSaveVoucher(brand, select, accountName, corpName, corpNumber, wareHouse, acoount, orderNo);
 						if (ObjectUtils.isNotNull(delivery1)) {
 							delivery1.setVoucherStatus("1");
@@ -1932,6 +1934,36 @@ public class DeliveryServiceImpl extends ServiceImpl<DeliveryMapper, Delivery> i
 		return R.data("操作成功");
 	}
 
+	@Override
+	public R submitWagonNumber(Delivery delivery) {
+		//防重校验
+		Long deliveryId = delivery.getId();
+		Delivery select = baseMapper.selectById(deliveryId);
+		if (select == null) {
+			throw new SecurityException("未查到相关数据,操作失败");
+		}
+
+		if ("681169".equals(AuthUtil.getTenantId())) {
+			delivery.setWagonNumberStatus("0");
+			delivery.setWagonNumberOne(" ");
+			delivery.setWagonNumberTwo(" ");
+			baseMapper.updateById(delivery);
+			Order temp = new Order();
+			temp.setId(select.getSrcId());//销售主表id
+			temp.setWagonNumberOne(" ");
+			temp.setWagonNumberTwo(" ");
+			orderDescClient.updateOrder(temp);
+
+			Order orderTemp = new Order();
+			orderTemp.setId(select.getOrgId());//采购主表id
+			orderTemp.setWagonNumberOne(" ");
+			orderTemp.setWagonNumberTwo(" ");
+			orderDescClient.updateOrder(orderTemp);
+
+		}
+		return R.data(select);
+	}
+
 
 	public void createProfit(Order order, BigDecimal createProfit) {
 		//检查是否使用返利,如果使用返利

+ 5 - 0
blade-service/blade-purchase-sales/src/main/java/org/springblade/purchase/sales/feign/OrderDescClient.java

@@ -473,5 +473,10 @@ public class OrderDescClient implements IOrderDescClient {
 		return iOrderService.orderInventoryList(billType, itemId, corpId, storageId);
 	}
 
+	@Override
+	public void passCheck(Long id) {
+		iOrderService.passCheck(id);
+	}
+
 
 }

+ 44 - 38
blade-service/blade-purchase-sales/src/main/java/org/springblade/purchase/sales/partsapp/AppPartsController.java

@@ -708,33 +708,36 @@ public class AppPartsController extends BladeController {
 	 * 积分兑换记录
 	 */
 	@GetMapping("/integralExchangeRecord")
-	public R<IPage<Map<String,Object>>> integralExchangeRecord(HttpServletRequest request, Query query) {
+	public R<IPage<Map<String,Object>>> integralExchangeRecord(HttpServletRequest request, Query query,@RequestParam("corpId") Long corpId) {
 		Order order = new Order();
 		order.setTradeType(OrderTypeEnum.PARTS.getType());
-		if (ObjectUtils.isNull(request.getHeader("Blade-Auth"))) {
-			// 获取租户信息
-			R<Tenant> tenant = sysClient.getTenantByAppId(request.getHeader("appId"));
-			if (tenant.isSuccess() && ObjectUtils.isNotNull(tenant.getData())) {
-				order.setTenantId(tenant.getData().getTenantId());
+		if (corpId == null){
+			if (ObjectUtils.isNull(request.getHeader("Blade-Auth"))) {
+				// 获取租户信息
+				R<Tenant> tenant = sysClient.getTenantByAppId(request.getHeader("appId"));
+				if (tenant.isSuccess() && ObjectUtils.isNotNull(tenant.getData())) {
+					order.setTenantId(tenant.getData().getTenantId());
+				} else {
+					throw new RuntimeException("获取数据失败");
+				}
 			} else {
-				throw new RuntimeException("获取数据失败");
+				order.setTenantId(AuthUtil.getTenantId());
 			}
-		} else {
-			order.setTenantId(AuthUtil.getTenantId());
-		}
-		Long corpId = null;
-		if (AuthUtil.getUserRole().equals("客户")) {
-			CorpsAttn corpsAttn = corpsAttnClient.getUser(AuthUtil.getUserId());
-			if (ObjectUtils.isNull(corpsAttn)) {
-				throw new RuntimeException("未查到用户信息");
-			} else {
-				CorpsDesc corpsDesc = corpsDescClient.getCorpId(corpsAttn.getPid());
-				if (ObjectUtils.isNull(corpsDesc)) {
+			if (AuthUtil.getUserRole().equals("客户")) {
+				CorpsAttn corpsAttn = corpsAttnClient.getUser(AuthUtil.getUserId());
+				if (ObjectUtils.isNull(corpsAttn)) {
 					throw new RuntimeException("未查到用户信息");
 				} else {
-					corpId = corpsDesc.getId();
+					CorpsDesc corpsDesc = corpsDescClient.getCorpId(corpsAttn.getPid());
+					if (ObjectUtils.isNull(corpsDesc)) {
+						throw new RuntimeException("未查到用户信息");
+					} else {
+						corpId = corpsDesc.getId();
+					}
 				}
 			}
+		}else{
+			order.setTenantId(AuthUtil.getTenantId());
 		}
 		order.setCorpId(corpId);
 		order.setWhetherIntegral("1");
@@ -745,33 +748,36 @@ public class AppPartsController extends BladeController {
 	 * 积分获取记录
 	 */
 	@GetMapping("/integralRecord")
-	public R<IPage<Map<String,Object>>> integralRecord(HttpServletRequest request, Query query) {
+	public R<IPage<Map<String,Object>>> integralRecord(HttpServletRequest request, Query query,@RequestParam("corpId") Long corpId) {
 		Order order = new Order();
 		order.setTradeType(OrderTypeEnum.PARTS.getType());
-		if (ObjectUtils.isNull(request.getHeader("Blade-Auth"))) {
-			// 获取租户信息
-			R<Tenant> tenant = sysClient.getTenantByAppId(request.getHeader("appId"));
-			if (tenant.isSuccess() && ObjectUtils.isNotNull(tenant.getData())) {
-				order.setTenantId(tenant.getData().getTenantId());
+		if (corpId == null){
+			if (ObjectUtils.isNull(request.getHeader("Blade-Auth"))) {
+				// 获取租户信息
+				R<Tenant> tenant = sysClient.getTenantByAppId(request.getHeader("appId"));
+				if (tenant.isSuccess() && ObjectUtils.isNotNull(tenant.getData())) {
+					order.setTenantId(tenant.getData().getTenantId());
+				} else {
+					throw new RuntimeException("获取数据失败");
+				}
 			} else {
-				throw new RuntimeException("获取数据失败");
+				order.setTenantId(AuthUtil.getTenantId());
 			}
-		} else {
-			order.setTenantId(AuthUtil.getTenantId());
-		}
-		Long corpId = null;
-		if (AuthUtil.getUserRole().equals("客户")) {
-			CorpsAttn corpsAttn = corpsAttnClient.getUser(AuthUtil.getUserId());
-			if (ObjectUtils.isNull(corpsAttn)) {
-				throw new RuntimeException("未查到用户信息");
-			} else {
-				CorpsDesc corpsDesc = corpsDescClient.getCorpId(corpsAttn.getPid());
-				if (ObjectUtils.isNull(corpsDesc)) {
+			if (AuthUtil.getUserRole().equals("客户")) {
+				CorpsAttn corpsAttn = corpsAttnClient.getUser(AuthUtil.getUserId());
+				if (ObjectUtils.isNull(corpsAttn)) {
 					throw new RuntimeException("未查到用户信息");
 				} else {
-					corpId = corpsDesc.getId();
+					CorpsDesc corpsDesc = corpsDescClient.getCorpId(corpsAttn.getPid());
+					if (ObjectUtils.isNull(corpsDesc)) {
+						throw new RuntimeException("未查到用户信息");
+					} else {
+						corpId = corpsDesc.getId();
+					}
 				}
 			}
+		}else{
+			order.setTenantId(AuthUtil.getTenantId());
 		}
 		order.setCorpId(corpId);
 		order.setWhetherIntegral("0");

+ 19 - 42
blade-service/blade-purchase-sales/src/main/java/org/springblade/purchase/sales/service/impl/OrderServiceImpl.java

@@ -1382,7 +1382,9 @@ public class OrderServiceImpl extends ServiceImpl<OrderMapper, Order> implements
 			if (!financeProcess.isSuccess()) {
 				throw new SecurityException("操作失败,请联系管理员");
 			}
-
+			if(checkFlag == 2 && ObjectUtils.isNotNull(value) && value.equals("1")){
+				this.passCheck(order.getId());
+			}
 		}
 	}
 
@@ -2834,38 +2836,11 @@ public class OrderServiceImpl extends ServiceImpl<OrderMapper, Order> implements
 			}
 		}
 		// 保存订单明细
+		BigDecimal costAmount = new BigDecimal("0.00");
+		BigDecimal grossProfit = new BigDecimal("0.00");
 		if (CollectionUtils.isNotEmpty(order.getOrderItemsList())) {
 			for (OrderItems orderItems : order.getOrderItemsList()) {
 				orderItems.setAmount(orderItems.getStorageInQuantity().multiply(orderItems.getPrice(), MathContext.DECIMAL32));
-			}
-			List<OrderItems> orderItemsList = orderItemsService.saveOrderItemsMessage(order.getOrderItemsList(), date, order.getId());
-			order.setOrderItemsList(orderItemsList);
-			//应收账款
-			order.setDebitAmount(order.getOrderAmount());
-			//入库出库金额
-			order.setStorageAmount(orderItemsList.stream().map(OrderItems::getAmount).filter(Objects::nonNull).reduce(BigDecimal.ZERO, BigDecimal::add));
-			//入库出库数量
-			order.setStorageQuantity(orderItemsList.stream().map(OrderItems::getStorageInQuantity).filter(Objects::nonNull).reduce(BigDecimal.ZERO, BigDecimal::add));
-		}
-		if (ObjectUtils.isNull(order.getOrderAmount())) {
-			order.setOrderAmount(order.getStorageAmount());
-		}
-		order.setDebitAmount(order.getOrderAmount());
-		order.setBalanceAmount(order.getOrderAmount());
-		order.setPurchaseAmount(order.getOrderAmount());
-		baseMapper.updateById(order);
-
-		//原提交代码
-		Order selectOrder = baseMapper.selectById(order.getId());
-		BigDecimal costAmount = new BigDecimal("0.00");
-		BigDecimal grossProfit = new BigDecimal("0.00");
-		if (ObjectUtils.isNotNull(selectOrder)) {
-			LambdaQueryWrapper<OrderItems> orderItemsLambdaQueryWrapper = new LambdaQueryWrapper<>();
-			orderItemsLambdaQueryWrapper.eq(OrderItems::getIsDeleted, 0)
-				.eq(OrderItems::getTenantId, AuthUtil.getTenantId())
-				.eq(OrderItems::getPid, order.getId());
-			List<OrderItems> orderItemsList = orderItemsService.list(orderItemsLambdaQueryWrapper);
-			for (OrderItems orderItems : orderItemsList) {
 				if (ObjectUtils.isNull(orderItems.getPrice())) {
 					orderItems.setPrice(new BigDecimal("0.00"));
 				}
@@ -2941,30 +2916,32 @@ public class OrderServiceImpl extends ServiceImpl<OrderMapper, Order> implements
 					}
 				}
 			}
+			List<OrderItems> orderItemsList = orderItemsService.saveOrderItemsMessage(order.getOrderItemsList(), date, order.getId());
+			order.setOrderItemsList(orderItemsList);
 		}
-		//应收账款
-		order.setDebitAmount(order.getOrderAmount());
 		//入库出库金额
 		order.setStorageAmount(order.getOrderItemsList().stream().map(OrderItems::getAmount).filter(Objects::nonNull).reduce(BigDecimal.ZERO, BigDecimal::add));
 		//入库出库数量
 		order.setStorageQuantity(order.getOrderItemsList().stream().map(OrderItems::getStorageInQuantity).filter(Objects::nonNull).reduce(BigDecimal.ZERO, BigDecimal::add));
-
+		if (ObjectUtils.isNull(order.getOrderAmount())) {
+			order.setOrderAmount(order.getStorageAmount());
+		}
 		BigDecimal amount = order.getOrderItemsList().stream().map(OrderItems::getAmount).filter(Objects::nonNull).reduce(BigDecimal.ZERO, BigDecimal::add);
 
 		order.setDebitAmount(amount);
 		order.setBalanceAmount(order.getOrderAmount().subtract(order.getSettlmentAmount()));
 		order.setPurchaseAmount(amount);
 
-		selectOrder.setCostAmount(costAmount);
-		selectOrder.setGrossProfit(grossProfit);
-		selectOrder.setConfirmStatus(1);
-		baseMapper.updateById(selectOrder);
+		order.setCostAmount(costAmount);
+		order.setGrossProfit(grossProfit);
+		order.setConfirmStatus(1);
+		baseMapper.updateById(order);
 		// 获取订单文件信息
-		List<OrderFiles> orderFilesList = orderFilesService.list(new QueryWrapper<OrderFiles>().eq("pid", selectOrder.getId())
+		List<OrderFiles> orderFilesList = orderFilesService.list(new QueryWrapper<OrderFiles>().eq("pid", order.getId())
 			.eq("tenant_id", SecureUtil.getTenantId()).eq("status", 0).eq("is_deleted", 0).orderByAsc("id"));
-		selectOrder.setOrderFilesList(orderFilesList);
-		this.paymentApply(selectOrder, selectOrder.getBillType(), selectOrder.getTradeType());
-		return R.data(selectOrder);
+		order.setOrderFilesList(orderFilesList);
+		this.paymentApply(order, order.getBillType(), order.getTradeType());
+		return R.data(order);
 	}
 
 	@Override
@@ -8194,7 +8171,7 @@ public class OrderServiceImpl extends ServiceImpl<OrderMapper, Order> implements
 			applyDTO.setAccDate(order.getBusinesDate());
 			if (OrderTypeEnum.PURCHASE.getType().equals(billType)) {
 				applyDTO.setDc("C");
-				applyDTO.setBillType("付费");
+				applyDTO.setBillType("申请");
 			} else if (OrderTypeEnum.SALES.getType().equals(billType)) {
 				applyDTO.setDc("D");
 				applyDTO.setBillType("收费");

+ 1 - 1
blade-service/blade-stock/src/main/java/org/springblade/stock/mapper/StockGoodsMapper.xml

@@ -231,10 +231,10 @@
                 bo.is_deleted = 0
                 and bo.tenant_id = #{stock.tenantId}
                 AND boi.item_id = t1.goods_id
-                ) > #{stock.standard}
                 <if test="stock.corpId != null">
                     and bo.corp_id = #{stock.corpId}
                 </if>
+                ) > #{stock.standard}
             </if>
             <if test='stock.sort != null and stock.sort != "" and stock.sort == "0"'>
                 <if test='stock.sortType != null and stock.sortType != "" and stock.sortType == "1"'>

+ 0 - 1
blade-service/trade-finance/src/main/java/org/springblade/finance/controller/ProfitStatisticsController.java

@@ -100,7 +100,6 @@ public class ProfitStatisticsController {
 	@ApiOperationSupport(order = 2)
 	@ApiOperation(value = "分页", notes = "传入acc")
 	public void export(AccProfitStatisticsExcel accProfitStatisticsExcel, HttpServletResponse response) {
-		accProfitStatisticsExcel.setBillType("申请");
 		List<AccProfitStatisticsExcel> accProfitStatisticsExcelList = new ArrayList<>();
 		if ("1".equals(accProfitStatisticsExcel.getWhetherStatistics())) {
 			accProfitStatisticsExcelList = accService.accProfitStatisticsListcode(accProfitStatisticsExcel);

+ 24 - 1
blade-service/trade-finance/src/main/java/org/springblade/finance/service/impl/SettlementServiceImpl.java

@@ -186,6 +186,16 @@ public class SettlementServiceImpl extends ServiceImpl<SettlementMapper, Settlem
 		Long id = settlementDTO.getId();
 		List<Items> itemsList = settlementDTO.getItemsList();
 		Settlement settlement = baseMapper.selectById(id);
+
+		//供应商
+		R<CorpsDesc> corpMessage = corpsDescClient.getCorpMessage(settlement.getCorpId());
+		if (corpMessage.isSuccess() && corpMessage.getData() != null) {
+			if (ObjectUtils.isNotNull(corpMessage.getData().getBalanceAmount())){
+				corpMessage.getData().setBalanceAmount(corpMessage.getData().getBalanceAmount().add(settlement.getMemberBalance()));
+			}
+			corpsDescClient.updateCorps(corpMessage.getData());
+		}
+
 		if (settlement == null) {
 			throw new SecurityException("未查到结算单,禁止操作");
 		}
@@ -311,6 +321,10 @@ public class SettlementServiceImpl extends ServiceImpl<SettlementMapper, Settlem
 		if (corpMessage.isSuccess() && corpMessage.getData() != null) {
 			corpsName = corpMessage.getData().getCname();
 			corpNumber = corpMessage.getData().getCode();
+			if (ObjectUtils.isNotNull(corpMessage.getData().getBalanceAmount())){
+				corpMessage.getData().setBalanceAmount(corpMessage.getData().getBalanceAmount().subtract(settlement.getMemberBalance()));
+			}
+			corpsDescClient.updateCorps(corpMessage.getData());
 		}
 		//业务员
 		R<User> userR = userClient.userInfoById(settlement.getCreateUser());
@@ -694,6 +708,9 @@ public class SettlementServiceImpl extends ServiceImpl<SettlementMapper, Settlem
 				client.setDepositReceived("");
 				client.setBalancePayment("");
 			}
+			if ("YPJ".equals(settlementDTO.getItemType())) {
+				client.setMemberBalance(items.getMemberBalance().subtract(ObjectUtils.isNotNull(client.getMemberBalance()) ? client.getMemberBalance() : new BigDecimal("0.00")));
+			}
 			orderDescClient.updateOrder(client);
 		}
 		//修改费用明细
@@ -1027,7 +1044,8 @@ public class SettlementServiceImpl extends ServiceImpl<SettlementMapper, Settlem
 			orderFees.setSettlmentAmount(orderFees.getSettlmentAmount() != null ? orderFees.getSettlmentAmount().add(items.getThisAmount()) : new BigDecimal("0").add(items.getThisAmount()));
 			accMapper.updateById(acc);
 			orderFeesClient.submit(orderFees);
-		} else if (type == 3) {
+		}
+		else if (type == 3) {
 			Long srcFeesId = acc.getSrcFeesId();
 			if (srcFeesId == null) {
 				throw new SecurityException("操作失败,未获取到原业务信息");
@@ -1057,8 +1075,13 @@ public class SettlementServiceImpl extends ServiceImpl<SettlementMapper, Settlem
 			order1.setSettlmentAmount(receivedAmount);
 			order1.setBalanceAmount(amount);
 			if ("YPJ".equals(settlementDTO.getItemType())) {
+				Order order = orderDescClient.getById(acc.getSrcId());
 				order1.setStatus(3);
 				order1.setActualPaymentStatus(2);
+				order1.setMemberBalance(items.getMemberBalance().add(ObjectUtils.isNotNull(order.getMemberBalance()) ? order.getMemberBalance() : new BigDecimal("0.00")));
+				if (amount.compareTo(new BigDecimal("0.00")) == 0){
+					corpsDescClient.updateIntegral(order);
+				}
 			}
 			orderDescClient.updateOrder(order1);
 			acc.setSettlementAmount(receivedAmount);