Browse Source

2023年7月21日08:52:13

纪新园 2 years ago
parent
commit
9cb4f62735

+ 19 - 9
blade-service/blade-deliver-goods/src/main/java/org/springblade/deliver/goods/feign/DeliveryClient.java

@@ -18,7 +18,10 @@ import org.springblade.deliver.goods.service.IDeliveryService;
 import org.springblade.purchase.sales.entity.Order;
 import org.springblade.purchase.sales.entity.OrderFees;
 import org.springblade.purchase.sales.entity.OrderItems;
-import org.springframework.web.bind.annotation.*;
+import org.springframework.web.bind.annotation.GetMapping;
+import org.springframework.web.bind.annotation.PostMapping;
+import org.springframework.web.bind.annotation.RequestBody;
+import org.springframework.web.bind.annotation.RestController;
 import springfox.documentation.annotations.ApiIgnore;
 
 import java.util.ArrayList;
@@ -225,7 +228,7 @@ public class DeliveryClient implements IDeliveryClient {
 					deliveryItems1.setGoodType(0);//默认0为商品信息 1为赠品信息
 					deliveryItems1.setEname(orderItems.getEname());
 					deliveryItems1.setRemarks(orderItems.getRemarks());
-					deliveryItemsService.updateById(deliveryItems1);
+//					deliveryItemsService.updateById(deliveryItems1);
 					deliveryItemsList.add(deliveryItems1);
 				} else {
 					DeliveryItems deliveryItems = new DeliveryItems();
@@ -256,10 +259,13 @@ public class DeliveryClient implements IDeliveryClient {
 					deliveryItems.setTenantId(SecureUtil.getTenantId());
 					deliveryItems.setEname(orderItems.getEname());
 					deliveryItems.setRemarks(orderItems.getRemarks());
-					deliveryItemsService.save(deliveryItems);
+//					deliveryItemsService.save(deliveryItems);
 					deliveryItemsList.add(deliveryItems);
 				}
 			}
+			if (deliveryItemsList.size() > 0) {
+				deliveryItemsService.saveOrUpdateBatch(deliveryItemsList);
+			}
 			if (ObjectUtils.isNotNull(order.getOrderFeesList()) && order.getOrderFeesList().size() > 0) {
 				for (OrderFees orderFees : order.getOrderFeesList()) {
 					LambdaQueryWrapper<DeliveryFees> itemsLambdaQueryWrapper = new LambdaQueryWrapper<>();
@@ -282,7 +288,7 @@ public class DeliveryClient implements IDeliveryClient {
 						deliveryFees1.setSettlmentAmount(orderFees.getSettlmentAmount());//结算金额
 						deliveryFees1.setRefundSettlmentAmount(orderFees.getRefundSettlmentAmount());//退费金额
 						deliveryFees1.setFeesType(orderFees.getFeesType());//类型
-						feesService.updateById(deliveryFees1);
+//						feesService.updateById(deliveryFees1);
 						deliveryFeesList.add(deliveryFees1);
 					} else {
 						DeliveryFees deliveryFees = new DeliveryFees();
@@ -305,11 +311,14 @@ public class DeliveryClient implements IDeliveryClient {
 						deliveryFees.setCreateUser(order.getDocumenterId());
 						deliveryFees.setCreateTime(new Date());
 						deliveryFees.setTenantId(SecureUtil.getTenantId());
-						feesService.save(deliveryFees);
+//						feesService.save(deliveryFees);
 						deliveryFeesList.add(deliveryFees);
 					}
 				}
 			}
+			if (deliveryFeesList.size() > 0) {
+				feesService.saveOrUpdateBatch(deliveryFeesList);
+			}
 			deliveryNew.setDeliveryItemsList(deliveryItemsList);
 			deliveryNew.setDeliveryFeesList(deliveryFeesList);
 		}
@@ -330,8 +339,8 @@ public class DeliveryClient implements IDeliveryClient {
 		List<Delivery> deliveryList = deliveryService.list(lambdaQueryWrapper);
 		if (ObjectUtils.isNull(deliveryList) && deliveryList.size() > 0) {
 			throw new RuntimeException("未找到单据信息");
-		}else{
-			for (Delivery delivery:deliveryList) {
+		} else {
+			for (Delivery delivery : deliveryList) {
 				delivery.setEstimateGoodGoodsDate(new Date());
 				delivery.setEstimateGoodGoods("采购完成");
 				delivery.setDeliveryStatus("采购完成");
@@ -342,7 +351,7 @@ public class DeliveryClient implements IDeliveryClient {
 	}
 
 	@Override
-	public int selectCount(Long userId,List<String> dateList) {
+	public int selectCount(Long userId, List<String> dateList) {
 		return deliveryService.count(new LambdaQueryWrapper<Delivery>()
 			.eq(Delivery::getIsDeleted, 0)
 			.eq(Delivery::getTenantId, AuthUtil.getTenantId())
@@ -355,6 +364,7 @@ public class DeliveryClient implements IDeliveryClient {
 
 	/**
 	 * 根据销售订单id获取跟单
+	 *
 	 * @param orderId
 	 * @param orderNo
 	 * @return
@@ -371,7 +381,7 @@ public class DeliveryClient implements IDeliveryClient {
 			.eq(Delivery::getOrgOrderNo, orderNo)
 			.eq(Delivery::getOrgId, orderId);
 		Delivery delivery = deliveryService.getOne(lambdaQueryWrapper);
-		if (ObjectUtils.isNotNull(delivery)){
+		if (ObjectUtils.isNotNull(delivery)) {
 			delivery.setDeliveryStatus(deliveryStatus);
 		}
 		deliveryService.updateById(delivery);

+ 1 - 1
blade-service/blade-pay/src/main/java/org/springblade/pay/tonglianPayment/mapper/ParametersMapper.xml

@@ -40,7 +40,7 @@
         is_deleted = 0 and status = #{status}
         <if test="cusId != null and cusId != ''">and cus_id = #{cusId}</if>
         <if test="subAppid != null and subAppid != ''">and sub_appid = #{subAppid}</if>
-        <if test=" appId!= null and  appId!= ''">and app_id = #{appId}</if>
+        <if test="appId!= null and  appId!= ''">and app_id = #{appId}</if>
     </select>
 
 </mapper>

+ 5 - 6
blade-service/blade-purchase-sales/src/main/java/org/springblade/purchase/sales/export/ExportOrderController.java

@@ -1432,11 +1432,6 @@ public class ExportOrderController extends BladeController {
 				orderItems1.setPlannedDeliveryDate(orderItemsList1.get(0).getPlannedDeliveryDate());
 				orderItems1.setCarry(orderItemsList1.get(0).getCarry());
 			}
-			orderItems1.setItemId(orderParts.getGoodId());
-			orderItems1.setCname(orderParts.getGoodName());
-			orderItems1.setPurchaseQuantity(orderParts.getPurchasesNumber());
-			orderItems1.setOrderQuantity(orderParts.getGoodNumber());
-
 			if (ObjectUtils.isNotNull(orderParts.getPurchasesNumber())) {
 				orderItems1.setActualQuantity(orderParts.getGoodNumber().subtract(orderParts.getPurchasesNumber()));
 			} else {
@@ -1449,8 +1444,12 @@ public class ExportOrderController extends BladeController {
 				orderItems1.setPrice(orderParts.getPrice());
 				orderItems1.setAmount(orderParts.getPrice().multiply(orderItems1.getActualQuantity()));
 			}
-
+			orderItems1.setItemId(orderParts.getGoodId());
+			orderItems1.setCname(orderParts.getGoodName());
+			orderItems1.setPurchaseQuantity(orderParts.getPurchasesNumber());
+			orderItems1.setOrderQuantity(orderParts.getGoodNumber());
 			orderItems1.setPriceCategory(orderParts.getGoodTypeName());
+			orderItems1.setPurchaseQuantity(orderParts.getPurchasesNumber());
 			orderItems1.setEname(orderParts.getEname());
 			orderItems1.setPartsCost(orderParts.getPartsCost());
 			orderItemsList.add(orderItems1);

+ 123 - 75
blade-service/blade-purchase-sales/src/main/java/org/springblade/purchase/sales/service/impl/OrderServiceImpl.java

@@ -144,7 +144,7 @@ public class OrderServiceImpl extends ServiceImpl<OrderMapper, Order> implements
 	private final IMessageClient messageClient;//消息
 	private final IFeesDescClient feesDescClient;//费用
 
-	private final OrderPartsMapper orderPartsMapper;
+	private final IOrderPartsService orderPartsService;
 
 	//租户
 	private final ITenantClient iTenantClient;
@@ -598,15 +598,16 @@ public class OrderServiceImpl extends ServiceImpl<OrderMapper, Order> implements
 					parts.setCreateUser(SecureUtil.getUserId());
 					parts.setPid(itemId);
 					parts.setSrcPid(orderId);
-					orderPartsMapper.insert(parts);
+//					orderPartsMapper.insert(parts);
 				} else {
 					parts.setUpdateTime(new Date());
 					parts.setUpdateUser(SecureUtil.getUserId());
 					parts.setPid(itemId);
 					parts.setSrcPid(orderId);
-					orderPartsMapper.updateById(parts);
+//					orderPartsMapper.updateById(parts);
 				}
 			});
+			orderPartsService.saveOrUpdateBatch(orderPartsList);
 		}
 	}
 
@@ -1003,7 +1004,7 @@ public class OrderServiceImpl extends ServiceImpl<OrderMapper, Order> implements
 				if (CollectionUtils.isNotEmpty(orderList)) {
 					orderList.forEach(items -> {
 
-						List<OrderParts> orderPartsList = orderPartsMapper.selectList(new QueryWrapper<OrderParts>().eq("pid", items.getId()).eq("is_deleted", 0)
+						List<OrderParts> orderPartsList = orderPartsService.list(new QueryWrapper<OrderParts>().eq("pid", items.getId()).eq("is_deleted", 0)
 							.eq("tenant_id", AuthUtil.getTenantId()).eq("status", 0));
 						for (OrderParts orderParts : orderPartsList) {
 							OrderItems orderItems = new OrderItems();
@@ -1252,9 +1253,9 @@ public class OrderServiceImpl extends ServiceImpl<OrderMapper, Order> implements
 		if (checkFlag == 1) {
 			pathsActs = iCheckClient.getActsByActId(4, "status");
 		} else if (checkFlag == 2) {
-			if (ObjectUtils.isNotNull(value) && value.equals("1")){
+			if (ObjectUtils.isNotNull(value) && value.equals("1")) {
 				pathsActs = iCheckClient.getActsByActId(1108, "status");
-			}else{
+			} else {
 				pathsActs = iCheckClient.getActsByActId(3, "status");
 			}
 		} else if (checkFlag == 3) {
@@ -1273,11 +1274,11 @@ public class OrderServiceImpl extends ServiceImpl<OrderMapper, Order> implements
 				salesOrder.setSpecialCheckUser(AuthUtil.getUserName());
 				salesOrder.setSpecialCheckTime(new Date());
 			} else {
-				if (ObjectUtils.isNotNull(value) && value.equals("1")){
+				if (ObjectUtils.isNotNull(value) && value.equals("1")) {
 					salesOrder.setStatus(3);
 					salesOrder.setOrderStatus(OrderStatusEnum.PASS.getType());
 					salesOrder.setFudaPurchaseStatus(OrderStatusEnum.PASS.getType());
-				}else{
+				} else {
 					salesOrder.setStatus(1);
 					salesOrder.setOrderStatus(OrderStatusEnum.SUBMIT.getType());
 					salesOrder.setCheckDate(new Date());
@@ -1292,9 +1293,9 @@ public class OrderServiceImpl extends ServiceImpl<OrderMapper, Order> implements
 			if (checkFlag == 1) {
 				auditPathsLevels = iCheckClient.listLevelsByActId(4, "status");
 			} else if (checkFlag == 2) {
-				if (ObjectUtils.isNotNull(value) && value.equals("1")){
+				if (ObjectUtils.isNotNull(value) && value.equals("1")) {
 					auditPathsLevels = iCheckClient.listLevelsByActId(1108, "status");
-				}else{
+				} else {
 					auditPathsLevels = iCheckClient.listLevelsByActId(3, "status");
 				}
 			} else {
@@ -5380,9 +5381,8 @@ public class OrderServiceImpl extends ServiceImpl<OrderMapper, Order> implements
 			BigDecimal sum = new BigDecimal("0.00");
 			for (OrderItems orderItems : orderItemsList) {
 				orderItems.setFudaPurchaseStatus("待采购");
-				orderItemsMapper.updateById(orderItems);
 				//瓶帽配件
-				orderPartsMapper.delete(new LambdaQueryWrapper<OrderParts>().eq(OrderParts::getTenantId, AuthUtil.getTenantId()).eq(OrderParts::getPid, orderItems.getId()));
+				orderPartsService.remove(new LambdaQueryWrapper<OrderParts>().eq(OrderParts::getTenantId, AuthUtil.getTenantId()).eq(OrderParts::getPid, orderItems.getId()));
 				if (ObjectUtils.isNotNull(orderItems.getPartsCapValue())) {
 					JSONArray objects = JSONArray.parseArray(orderItems.getPartsCapValue());
 					List<OrderParts> categoryConstantInfos = objects.toJavaList(OrderParts.class);
@@ -5401,6 +5401,7 @@ public class OrderServiceImpl extends ServiceImpl<OrderMapper, Order> implements
 					saveOrderParts(categoryConstantInfos, orderItems.getId(), "4", order.getId(), orderItems.getOrderQuantity());
 				}
 			}
+			orderItemsService.updateBatchById(orderItemsList);
 			selectOrder.setProductionScheduling("待采购");
 			selectOrder.setOrderStatus("待采购");
 			selectOrder.setProductionSchedulingDate(new Date());
@@ -5492,8 +5493,8 @@ public class OrderServiceImpl extends ServiceImpl<OrderMapper, Order> implements
 		List<Order> orderListAll = new ArrayList<>();
 		Order order = null;
 		for (OrderItems items : itemsList) {
-			List<PriceBank> priceBankList = priceBankClient.selectByGoodsId(items.getItemId(),AuthUtil.getTenantId());
-			if("MX".equals(items.getDetailType())){
+			List<PriceBank> priceBankList = priceBankClient.selectByGoodsId(items.getItemId(), AuthUtil.getTenantId());
+			if ("MX".equals(items.getDetailType())) {
 				OrderItems orderItems = orderItemsMapper.selectById(items.getId());
 				if (ObjectUtils.isNotNull(orderItems)) {
 					order = baseMapper.selectById(orderItems.getPid());
@@ -5522,21 +5523,21 @@ public class OrderServiceImpl extends ServiceImpl<OrderMapper, Order> implements
 								orderItems_.setCode(goodsDesc.getCode());
 							}
 						}
-
-						if (ObjectUtils.isNotNull(orderItems_.getPurchaseQuantity())) {
+						orderItems_.setActualQuantity(items.getActualQuantity());
+						/*if (ObjectUtils.isNotNull(orderItems_.getPurchaseQuantity())) {
 							orderItems_.setActualQuantity(orderItems_.getOrderQuantity().subtract(orderItems_.getPurchaseQuantity()));
 						} else {
 							orderItems_.setActualQuantity(orderItems_.getOrderQuantity());
-						}
-						if (ObjectUtils.isNotNull(priceBankList) && priceBankList.size()>0){
-							if (ObjectUtils.isNotNull(priceBankList.get(0).getPrice()) && !priceBankList.get(0).getPrice().equals(new BigDecimal("0.00"))){
+						}*/
+						if (ObjectUtils.isNotNull(priceBankList) && priceBankList.size() > 0) {
+							if (ObjectUtils.isNotNull(priceBankList.get(0).getPrice()) && !priceBankList.get(0).getPrice().equals(new BigDecimal("0.00"))) {
 								orderItems_.setPrice(priceBankList.get(0).getPrice());
 								orderItems_.setAmount(orderItems_.getActualQuantity().multiply(priceBankList.get(0).getPrice()));
-							}else{
+							} else {
 								orderItems_.setPrice(new BigDecimal("0.00"));
 								orderItems_.setAmount(new BigDecimal("0.00"));
 							}
-						}else{
+						} else {
 							orderItems_.setPrice(new BigDecimal("0.00"));
 							orderItems_.setAmount(new BigDecimal("0.00"));
 						}
@@ -5572,20 +5573,21 @@ public class OrderServiceImpl extends ServiceImpl<OrderMapper, Order> implements
 							}
 						}
 
-						if (ObjectUtils.isNotNull(orderItems_.getPurchaseQuantity())) {
+						/*if (ObjectUtils.isNotNull(orderItems_.getPurchaseQuantity())) {
 							orderItems_.setActualQuantity(orderItems_.getOrderQuantity().subtract(orderItems_.getPurchaseQuantity()));
 						} else {
 							orderItems_.setActualQuantity(orderItems_.getOrderQuantity());
-						}
-						if (ObjectUtils.isNotNull(priceBankList) && priceBankList.size()>0){
-							if (ObjectUtils.isNotNull(priceBankList.get(0).getPrice()) && !priceBankList.get(0).getPrice().equals(new BigDecimal("0.00"))){
+						}*/
+						orderItems_.setActualQuantity(items.getActualQuantity());
+						if (ObjectUtils.isNotNull(priceBankList) && priceBankList.size() > 0) {
+							if (ObjectUtils.isNotNull(priceBankList.get(0).getPrice()) && !priceBankList.get(0).getPrice().equals(new BigDecimal("0.00"))) {
 								orderItems_.setPrice(priceBankList.get(0).getPrice());
 								orderItems_.setAmount(orderItems_.getActualQuantity().multiply(priceBankList.get(0).getPrice()));
-							}else{
+							} else {
 								orderItems_.setPrice(new BigDecimal("0.00"));
 								orderItems_.setAmount(new BigDecimal("0.00"));
 							}
-						}else{
+						} else {
 							orderItems_.setPrice(new BigDecimal("0.00"));
 							orderItems_.setAmount(new BigDecimal("0.00"));
 						}
@@ -5593,8 +5595,8 @@ public class OrderServiceImpl extends ServiceImpl<OrderMapper, Order> implements
 						orderListAll.add(order);
 					}
 				}
-			}else{
-				OrderParts orderItems = orderPartsMapper.selectById(items.getId());
+			} else {
+				OrderParts orderItems = orderPartsService.getById(items.getId());
 				if (ObjectUtils.isNotNull(orderItems)) {
 					order = baseMapper.selectById(orderItems.getSrcPid());
 					if (ObjectUtils.isNotNull(order)) {
@@ -5611,7 +5613,7 @@ public class OrderServiceImpl extends ServiceImpl<OrderMapper, Order> implements
 						orderItems_.setId(null);
 						orderItems_.setBillType("CG");
 						orderItems_.setOrderQuantity(items.getOrderQuantity());
-						orderItems_.setDetailType(OrderTypeEnum.ITEMTYPE.getType());//明细
+						orderItems_.setDetailType(OrderTypeEnum.PARTSTYPE.getType());//明细
 
 						if (ObjectUtils.isNotNull(orderItems_.getCorpId())) {
 							CorpsDesc corpsDesc = corpsDescClient.getCorpId(orderItems_.getCorpId());
@@ -5633,20 +5635,21 @@ public class OrderServiceImpl extends ServiceImpl<OrderMapper, Order> implements
 							}
 						}
 
-						if (ObjectUtils.isNotNull(orderItems_.getPurchaseQuantity())) {
-							orderItems_.setActualQuantity(orderItems_.getOrderQuantity().subtract(orderItems_.getPurchaseQuantity()));
+						/*if (ObjectUtils.isNotNull(orderItems.getPurchasesNumber())) {
+							orderItems_.setActualQuantity(items.getOrderQuantity().subtract(orderItems.getPurchasesNumber()));
 						} else {
-							orderItems_.setActualQuantity(orderItems_.getOrderQuantity());
-						}
-						if (ObjectUtils.isNotNull(priceBankList) && priceBankList.size()>0){
-							if (ObjectUtils.isNotNull(priceBankList.get(0).getPrice()) && !priceBankList.get(0).getPrice().equals(new BigDecimal("0.00"))){
+							orderItems_.setActualQuantity(items.getOrderQuantity());
+						}*/
+						orderItems_.setActualQuantity(items.getActualQuantity());
+						if (ObjectUtils.isNotNull(priceBankList) && priceBankList.size() > 0) {
+							if (ObjectUtils.isNotNull(priceBankList.get(0).getPrice()) && !priceBankList.get(0).getPrice().equals(new BigDecimal("0.00"))) {
 								orderItems_.setPrice(priceBankList.get(0).getPrice());
-								orderItems_.setAmount(orderItems_.getActualQuantity().multiply(priceBankList.get(0).getPrice()));
-							}else{
+								orderItems_.setAmount(items.getActualQuantity().multiply(priceBankList.get(0).getPrice()));
+							} else {
 								orderItems_.setPrice(new BigDecimal("0.00"));
 								orderItems_.setAmount(new BigDecimal("0.00"));
 							}
-						}else{
+						} else {
 							orderItems_.setPrice(new BigDecimal("0.00"));
 							orderItems_.setAmount(new BigDecimal("0.00"));
 						}
@@ -5686,20 +5689,21 @@ public class OrderServiceImpl extends ServiceImpl<OrderMapper, Order> implements
 							}
 						}
 
-						if (ObjectUtils.isNotNull(orderItems_.getPurchaseQuantity())) {
-							orderItems_.setActualQuantity(orderItems_.getOrderQuantity().subtract(orderItems_.getPurchaseQuantity()));
+						/*if (ObjectUtils.isNotNull(orderItems.getPurchasesNumber())) {
+							orderItems_.setActualQuantity(items.getOrderQuantity().subtract(orderItems.getPurchasesNumber()));
 						} else {
-							orderItems_.setActualQuantity(orderItems_.getOrderQuantity());
-						}
-						if (ObjectUtils.isNotNull(priceBankList) && priceBankList.size()>0){
-							if (ObjectUtils.isNotNull(priceBankList.get(0).getPrice()) && !priceBankList.get(0).getPrice().equals(new BigDecimal("0.00"))){
+							orderItems_.setActualQuantity(items.getOrderQuantity());
+						}*/
+						orderItems_.setActualQuantity(items.getActualQuantity());
+						if (ObjectUtils.isNotNull(priceBankList) && priceBankList.size() > 0) {
+							if (ObjectUtils.isNotNull(priceBankList.get(0).getPrice()) && !priceBankList.get(0).getPrice().equals(new BigDecimal("0.00"))) {
 								orderItems_.setPrice(priceBankList.get(0).getPrice());
-								orderItems_.setAmount(orderItems_.getActualQuantity().multiply(priceBankList.get(0).getPrice()));
-							}else{
+								orderItems_.setAmount(items.getActualQuantity().multiply(priceBankList.get(0).getPrice()));
+							} else {
 								orderItems_.setPrice(new BigDecimal("0.00"));
 								orderItems_.setAmount(new BigDecimal("0.00"));
 							}
-						}else{
+						} else {
 							orderItems_.setPrice(new BigDecimal("0.00"));
 							orderItems_.setAmount(new BigDecimal("0.00"));
 						}
@@ -5765,22 +5769,30 @@ public class OrderServiceImpl extends ServiceImpl<OrderMapper, Order> implements
 
 		if (ObjectUtils.isNotNull(orderItemsList) && orderItemsList.size() > 0) {
 			List<Long> pidList = new ArrayList<>();
+			List<OrderParts> srcItemsList = new ArrayList<>();
+			List<OrderItems> srcOrderItemsList = new ArrayList<>();
 			for (OrderItems orderItems : orderItemsList) {
 				if (1 == order.getPurchaseStatusType()) {//排产中
 					if (ObjectUtils.isNotEmpty(orderItems.getDetailType())) {
 						if (OrderTypeEnum.PARTSTYPE.getType().equals(orderItems.getDetailType())) {
-							//更新对应配件明细采购数量
-							OrderParts srcItems = new OrderParts();
-							srcItems.setId(orderItems.getSrcItemId());
-							srcItems.setPurchasesNumber(orderItems.getActualQuantity());
-							orderPartsMapper.updateById(srcItems);
+							OrderParts srcItems = orderPartsService.getById(orderItems.getSrcItemId());
+							if (null != srcItems) {
+								//更新对应配件明细采购数量
+								BigDecimal quantity = ObjectUtils.isNotNull(srcItems.getPurchasesNumber()) ? srcItems.getPurchasesNumber() : new BigDecimal("0.00");
+								srcItems.setPurchasesNumber(quantity.add(orderItems.getActualQuantity()));
+//							orderPartsService.updateById(srcItems);
+								srcItemsList.add(srcItems);
+							}
 						} else {
 							//更新对应销售单明细采购数量
-							OrderItems srcItems = new OrderItems();
-							srcItems.setId(orderItems.getSrcItemId());
-							srcItems.setPurchaseQuantity(orderItems.getActualQuantity());
-							srcItems.setFudaPurchaseStatus("排产中");
-							orderItemsMapper.updateById(srcItems);
+							OrderItems srcItems = orderItemsMapper.selectById(orderItems.getSrcItemId());
+							if (null != srcItems) {
+								BigDecimal quantity = ObjectUtils.isNotNull(srcItems.getPurchaseQuantity()) ? srcItems.getPurchaseQuantity() : new BigDecimal("0.00");
+								srcItems.setPurchaseQuantity(quantity.add(orderItems.getActualQuantity()));
+								srcItems.setFudaPurchaseStatus("排产中");
+//							orderItemsMapper.updateById(srcItems);
+								srcOrderItemsList.add(srcItems);
+							}
 						}
 					} else {
 						//更新对应销售单明细采购数量
@@ -5789,14 +5801,22 @@ public class OrderServiceImpl extends ServiceImpl<OrderMapper, Order> implements
 							BigDecimal quantity = ObjectUtils.isNotNull(srcItems.getPurchaseQuantity()) ? srcItems.getPurchaseQuantity() : new BigDecimal("0.00");
 							srcItems.setPurchaseQuantity(quantity.add(orderItems.getActualQuantity()));
 							srcItems.setFudaPurchaseStatus("排产中");
-							orderItemsMapper.updateById(srcItems);
+//							orderItemsMapper.updateById(srcItems);
+							srcOrderItemsList.add(srcItems);
 						}
 					}
 				}
 
 				pidList.add(orderItems.getSrcId());
 			}
+			if (srcItemsList.size() > 0) {
+				orderPartsService.updateBatchById(srcItemsList);
+			}
+			if (srcOrderItemsList.size() > 0) {
+				orderItemsService.updateBatchById(srcOrderItemsList);
+			}
 			List<Long> pids = pidList.stream().distinct().collect(Collectors.toList());
+			List<Order> orderList = new ArrayList<>();
 			for (Long pid : pids) {
 				Order order1 = baseMapper.selectById(pid);
 				BigDecimal purchaseQuantity = orderItemsList.stream().filter(e -> e.getSrcId().equals(pid) && "MX".equals(e.getDetailType()))
@@ -5823,9 +5843,13 @@ public class OrderServiceImpl extends ServiceImpl<OrderMapper, Order> implements
 						order1.setProductionSchedulingDate(new Date());
 						deliveryClient.saveDeliveryData(order1.getId(), order1.getOrderNo(), "货备齐");
 					}
-					baseMapper.updateById(order1);
+//					baseMapper.updateById(order1);
+					orderList.add(order1);
 				}
 			}
+			if (orderList.size() > 0) {
+				this.updateBatchById(orderList);
+			}
 		}
 		baseMapper.updateById(detail);
 		String[] arrs = detail.getSrcIds().split(",");
@@ -5924,31 +5948,46 @@ public class OrderServiceImpl extends ServiceImpl<OrderMapper, Order> implements
 
 		if (ObjectUtils.isNotNull(orderItemsList) && orderItemsList.size() > 0) {
 			List<Long> pidList = new ArrayList<>();
+			List<OrderParts> srcItemsList = new ArrayList<>();
+			List<OrderItems> srcOrderItemsList = new ArrayList<>();
 			for (OrderItems orderItems : orderItemsList) {
-				orderItemsMapper.updateById(orderItems);
 				if (ObjectUtils.isNotEmpty(orderItems.getDetailType())) {
 					if (OrderTypeEnum.PARTSTYPE.getType().equals(orderItems.getDetailType())) {//更新对应配件明细采购数量
-						OrderParts srcItems = orderPartsMapper.selectById(orderItems.getSrcItemId());
-						srcItems.setPurchasesNumber(srcItems.getPurchasesNumber().subtract(orderItems.getActualQuantity()));
-						orderPartsMapper.updateById(srcItems);
+						OrderParts srcItems = orderPartsService.getById(orderItems.getSrcItemId());
+						if (ObjectUtils.isNotNull(srcItems)){
+							srcItems.setPurchasesNumber(srcItems.getPurchasesNumber().subtract(orderItems.getActualQuantity()));
+							srcItemsList.add(srcItems);
+						}
 					} else {
 						//更新对应销售单明细采购数量
-						OrderItems srcItems = new OrderItems();
-						srcItems.setId(orderItems.getSrcItemId());
-						srcItems.setPurchaseQuantity(orderItems.getPurchaseQuantity().subtract(orderItems.getActualQuantity()));
-						orderItemsMapper.updateById(srcItems);
+						OrderItems srcItems = orderItemsMapper.selectById(orderItems.getSrcItemId());
+						if (null != srcItems) {
+							BigDecimal quantity = ObjectUtils.isNotNull(srcItems.getActualQuantity()) ? srcItems.getActualQuantity() : new BigDecimal("0.00");
+							srcItems.setPurchaseQuantity(orderItems.getPurchaseQuantity().subtract(quantity));
+							srcOrderItemsList.add(srcItems);
+						}
 					}
 				} else {
 					//更新对应销售单明细采购数量
-					OrderItems srcItems = new OrderItems();
-					srcItems.setId(orderItems.getSrcItemId());
-					srcItems.setPurchaseQuantity(orderItems.getPurchaseQuantity().subtract(orderItems.getActualQuantity()));
-					orderItemsMapper.updateById(srcItems);
+					OrderItems srcItems = orderItemsMapper.selectById(orderItems.getSrcItemId());
+					if (null != srcItems) {
+						BigDecimal quantity = ObjectUtils.isNotNull(srcItems.getActualQuantity()) ? srcItems.getActualQuantity() : new BigDecimal("0.00");
+						srcItems.setId(orderItems.getSrcItemId());
+						srcItems.setPurchaseQuantity(orderItems.getPurchaseQuantity().subtract(quantity));
+//							orderItemsMapper.updateById(srcItems);
+						srcOrderItemsList.add(srcItems);
+					}
 				}
-
 				pidList.add(orderItems.getSrcId());
 			}
+			if (srcItemsList.size() > 0) {
+				orderPartsService.updateBatchById(srcItemsList);
+			}
+			if (srcOrderItemsList.size() > 0) {
+				orderItemsService.updateBatchById(srcOrderItemsList);
+			}
 			List<Long> pids = pidList.stream().distinct().collect(Collectors.toList());
+			List<Order> orderList = new ArrayList<>();
 			for (Long pid : pids) {
 				Order order1 = baseMapper.selectById(pid);
 				BigDecimal purchaseQuantity = orderItemsList.stream().filter(e -> e.getSrcId().equals(pid) && "MX".equals(e.getDetailType()))
@@ -5961,13 +6000,18 @@ public class OrderServiceImpl extends ServiceImpl<OrderMapper, Order> implements
 					order1.setProductionSchedulingDate(null);
 					order1.setPurchaseQuantity(order1.getPurchaseQuantity().subtract(purchaseQuantity));
 					order1.setPurchaseQuantityPj(order1.getPurchaseQuantityPj().subtract(purchaseQuantityPj));
-					baseMapper.updateById(order1);
+//					baseMapper.updateById(order1);
 					deliveryClient.saveDeliveryData(order1.getId(), order1.getOrderNo(), "待采购");
+					orderList.add(order1);
 				}
 			}
+			if (orderList.size() > 0) {
+				this.updateBatchById(orderList);
+			}
 		}
 		baseMapper.updateById(detail);
 		String[] arrs = detail.getSrcIds().split(",");
+		List<Order> orderList = new ArrayList<>();
 		for (String arr : arrs) {
 			Order selectOrder = baseMapper.selectById(Long.parseLong(arr));
 			if (ObjectUtils.isNotNull(selectOrder)) {
@@ -6013,9 +6057,13 @@ public class OrderServiceImpl extends ServiceImpl<OrderMapper, Order> implements
 						throw new SecurityException("发送消息失败");
 					}
 				}
-				baseMapper.updateById(selectOrder);
+//				baseMapper.updateById(selectOrder);
+				orderList.add(selectOrder);
 			}
 		}
+		if (orderList.size() > 0) {
+			this.updateBatchById(orderList);
+		}
 		return R.data(detail);
 	}