纪新园 9 місяців тому
батько
коміт
6686448025

+ 1 - 1
blade-service-api/blade-sales-part-api/src/main/java/org/springblade/salesPart/excel/SharePutOnShelvesImportExcel.java

@@ -33,7 +33,7 @@ public class SharePutOnShelvesImportExcel implements Serializable {
 	/**
 	 * 共享公司(多个逗号拼接)
 	 */
-	@ExcelProperty(value = "共享公司(多个逗号“,”拼接)")
+	@ExcelProperty(value = "*共享公司(多个逗号“,”拼接)")
 	private String sharedCompany;
 
 }

+ 4 - 2
blade-service/blade-los/src/main/java/org/springblade/los/business/sea/controller/BillsController.java

@@ -108,7 +108,8 @@ public class BillsController extends BladeController {
 			Bills::getAccountStatus, Bills::getRemarks, Bills::getPackingUnit, Bills::getBillDate, Bills::getTeamName,
 			Bills::getCreateUser, Bills::getTeu, Bills::getIssueType, Bills::getBookingNo, Bills::getQuantityCntrDescr,
 			Bills::getCreateDeptName, Bills::getLineCnName, Bills::getCarrierCnName, Bills::getCyCnName, Bills::getSrcType,
-			Bills::getSrcCnName, Bills::getBookingAgentCnName, Bills::getPodCnName, Bills::getPolCnName,Bills::getCorpSource);
+			Bills::getSrcCnName, Bills::getBookingAgentCnName, Bills::getPodCnName, Bills::getPolCnName,Bills::getCorpSource,
+			Bills::getVesselEnName,Bills::getCarrierEnName);
 		lambdaQueryWrapper.eq(Bills::getIsDeleted, 0)
 			.eq(Bills::getTenantId, AuthUtil.getTenantId())
 			.and(i -> i.isNull(Bills::getMasterId).or()
@@ -581,7 +582,8 @@ public class BillsController extends BladeController {
 			Bills::getAccountStatus, Bills::getRemarks, Bills::getPackingUnit, Bills::getBillDate, Bills::getTeamName,
 			Bills::getCreateUser, Bills::getTeu, Bills::getIssueType, Bills::getBookingNo, Bills::getQuantityCntrDescr,
 			Bills::getCyCnName, Bills::getCarrierCnName, Bills::getSrcType, Bills::getSrcCnName, Bills::getBookingAgentCnName,
-			Bills::getCreateDeptName, Bills::getLineCnName, Bills::getCorpSource);
+			Bills::getCreateDeptName, Bills::getLineCnName, Bills::getCorpSource,
+			Bills::getVesselEnName,Bills::getCarrierEnName);
 		lambdaQueryWrapper.eq(Bills::getIsDeleted, 0)
 			.eq(Bills::getTenantId, AuthUtil.getTenantId())
 			.and(i -> i.isNull(Bills::getMasterId).or()

+ 1 - 0
blade-service/blade-sales-part/src/main/java/org/springblade/salesPart/order/controller/OrderController.java

@@ -119,6 +119,7 @@ public class OrderController extends BladeController {
 			.eq(PjOrder::getIsDeleted, 0)
 			.eq(PjOrder::getBsType, order.getBsType())
 			.eq(PjOrder::getSalesCompanyId, AuthUtil.getDeptId())//公司
+			.eq(ObjectUtils.isNotEmpty(order.getBillType()), PjOrder::getBillType, order.getBillType())
 			.eq(ObjectUtils.isNotEmpty(order.getStorageId()), PjOrder::getStorageId, order.getStorageId())//仓库
 			.eq(ObjectUtils.isNotEmpty(order.getReturnsStatus()), PjOrder::getReturnsStatus, order.getReturnsStatus())//退货状态
 			.like(ObjectUtils.isNotEmpty(order.getStorageName()), PjOrder::getStorageName, order.getStorageName())

+ 13 - 0
blade-service/blade-sales-part/src/main/java/org/springblade/salesPart/order/feign/PJOrderClient.java

@@ -14,10 +14,13 @@ import org.springblade.salesPart.feign.IPJOrderClient;
 import org.springblade.salesPart.order.service.IOrderItemsService;
 import org.springblade.salesPart.order.service.IOrderService;
 import org.springblade.salesPart.productLaunch.service.IProductLaunchService;
+import org.springblade.salesPart.share.service.ISharePutOnShelvesService;
+import org.springblade.system.feign.ISysClient;
 import org.springframework.web.bind.annotation.RestController;
 import springfox.documentation.annotations.ApiIgnore;
 
 import java.math.BigDecimal;
+import java.util.ArrayList;
 import java.util.List;
 
 @NonDS
@@ -32,6 +35,10 @@ public class PJOrderClient implements IPJOrderClient {
 
 	private final IProductLaunchService productLaunchService;
 
+	private final ISysClient sysClient;
+
+	private final ISharePutOnShelvesService sharePutOnShelvesService;
+
 	@Override
 	public void updateOrder(List<PjOrder> order) {
 		orderService.updateBatchById(order);
@@ -126,6 +133,7 @@ public class PJOrderClient implements IPJOrderClient {
 	@Override
 	public R updateShareBySrcOrgId(String srcOrgId) {
 		List<PjOrderItems> shoppingCartList = orderItemsService.list(new LambdaQueryWrapper<PjOrderItems>().eq(PjOrderItems::getPid, srcOrgId));
+		List<PjProductLaunch> productLaunchListNew = new ArrayList<>();
 		shoppingCartList.forEach(e -> {
 			//修改上架管理库存
 			PjProductLaunch productLaunch = productLaunchService.getById(e.getProductLaunchId());
@@ -138,12 +146,17 @@ public class PJOrderClient implements IPJOrderClient {
 							productLaunch.setInventory(new BigDecimal("0.00"));
 						}
 						productLaunchService.updateById(productLaunch);
+						productLaunchListNew.add(productLaunch);
 					}
 				} else {
 					e.setGoodsNum(BigDecimal.ZERO);
 				}
 			}
 		});
+		String stata = sysClient.getParamService("whether.open.share");
+		if (!productLaunchListNew.isEmpty() && "1".equals(stata)){
+			sharePutOnShelvesService.updateShareInventory(productLaunchListNew);
+		}
 		return R.data(shoppingCartList);
 	}
 

+ 74 - 77
blade-service/blade-sales-part/src/main/java/org/springblade/salesPart/order/service/impl/OrderServiceImpl.java

@@ -4665,18 +4665,34 @@ public class OrderServiceImpl extends ServiceImpl<OrderMapper, PjOrder> implemen
 						.in("pid", brandIds).eq("is_deleted", 0));
 				}
 				for (PjOrderItems item : orderItems) {
-					if (!goodsFilesList.isEmpty()) {
-						item.setGoodsFilesList(goodsFilesList.stream()
-							.filter(e -> e.getPid().equals(item.getGoodsId()))
-							.collect(Collectors.toList()));
-					} else {
-						if (ObjectUtils.isNotNull(item.getBrandId())) {
-							if (!brandFigureList.isEmpty()) {
-								List<BrandFigure> brandFigureList1 = brandFigureList.stream()
-									.filter(e -> e.getPid().equals(item.getBrandId()) && e.getFigure().equals(item.getPattern()))
-									.collect(Collectors.toList());
-								if (!brandFigureList1.isEmpty()) {
-									item.setGoodsFilesList(BeanUtil.copy(brandFigureList1, PjGoodsFiles.class));
+					if (ObjectUtils.isNotNull(item.getUrl())){
+						List<PjGoodsFiles> filesList = new ArrayList<>();
+						PjGoodsFiles files = new PjGoodsFiles();
+						files.setUrl(item.getUrl());
+						files.setVersion("0");
+						filesList.add(files);
+						item.setGoodsFilesList(filesList);
+					}else{
+						if (!goodsFilesList.isEmpty()) {
+							item.setGoodsFilesList(goodsFilesList.stream()
+								.filter(e -> e.getPid().equals(item.getGoodsId()))
+								.collect(Collectors.toList()));
+						} else {
+							if (ObjectUtils.isNotNull(item.getBrandId())) {
+								if (!brandFigureList.isEmpty()) {
+									List<BrandFigure> brandFigureList1 = brandFigureList.stream()
+										.filter(e -> e.getPid().equals(item.getBrandId()) && e.getFigure().equals(item.getPattern()))
+										.collect(Collectors.toList());
+									if (!brandFigureList1.isEmpty()) {
+										item.setGoodsFilesList(BeanUtil.copy(brandFigureList1, PjGoodsFiles.class));
+									} else {
+										List<PjBrandFiles> pjBrandFilesList1 = pjBrandFilesList.stream()
+											.filter(e -> e.getPid().equals(item.getBrandId()))
+											.collect(Collectors.toList());
+										if (!pjBrandFilesList1.isEmpty()) {
+											item.setGoodsFilesList(BeanUtil.copy(pjBrandFilesList1, PjGoodsFiles.class));
+										}
+									}
 								} else {
 									List<PjBrandFiles> pjBrandFilesList1 = pjBrandFilesList.stream()
 										.filter(e -> e.getPid().equals(item.getBrandId()))
@@ -4685,29 +4701,9 @@ public class OrderServiceImpl extends ServiceImpl<OrderMapper, PjOrder> implemen
 										item.setGoodsFilesList(BeanUtil.copy(pjBrandFilesList1, PjGoodsFiles.class));
 									}
 								}
-							} else {
-								List<PjBrandFiles> pjBrandFilesList1 = pjBrandFilesList.stream()
-									.filter(e -> e.getPid().equals(item.getBrandId()))
-									.collect(Collectors.toList());
-								if (!pjBrandFilesList1.isEmpty()) {
-									item.setGoodsFilesList(BeanUtil.copy(pjBrandFilesList1, PjGoodsFiles.class));
-								}
 							}
 						}
 					}
-				/*List<PjGoodsFiles> pjGoodsFiles = goodsFilesService.list(new LambdaQueryWrapper<PjGoodsFiles>()
-					.eq(PjGoodsFiles::getTenantId, AuthUtil.getTenantId())
-					.eq(PjGoodsFiles::getIsDeleted, 0)
-					.eq(PjGoodsFiles::getPid, item.getGoodsId())
-					.eq(PjGoodsFiles::getMainImage, 0));
-				item.setGoodsFilesList(pjGoodsFiles);
-				if (item.getGoodsFilesList().isEmpty() && ObjectUtils.isNotNull(item.getBrandId())) {
-					item.setGoodsFilesList(BeanUtil.copy(brandFilesService.list(new LambdaQueryWrapper<PjBrandFiles>()
-						.eq(PjBrandFiles::getMainImage, 0)
-						.eq(PjBrandFiles::getPid, item.getBrandId())
-						.eq(PjBrandFiles::getTenantId, AuthUtil.getTenantId())
-						.eq(PjBrandFiles::getIsDeleted, 0)), PjGoodsFiles.class));
-				}*/
 				}
 				detail.setOrderItemsList(orderItems);
 			}
@@ -5487,6 +5483,7 @@ public class OrderServiceImpl extends ServiceImpl<OrderMapper, PjOrder> implemen
 					.eq(PjProductLaunch::getIsDeleted, 0)
 					.in(PjProductLaunch::getGoodsId, goodsId);
 				List<PjProductLaunch> launchList = productLaunchService.list(queryWrapper);
+				List<PjProductLaunch> productLaunchListNew = new ArrayList<>();
 				itemsList.forEach(e -> {
 					if (ObjectUtils.isNull(e.getRebatePrice())) {
 						throw new RuntimeException("获取数据失败,请先保存");
@@ -5506,11 +5503,16 @@ public class OrderServiceImpl extends ServiceImpl<OrderMapper, PjOrder> implemen
 							if (!res.isSuccess()) {
 								throw new RuntimeException(res.getMsg());
 							}
+							productLaunchListNew.add(pjProductLaunch);
 						}
 					} else {
 						throw new RuntimeException("商品:" + e.getGoodsName() + "未上架");
 					}
 				});
+				String stata = sysClient.getParamService("whether.open.share");
+				if (!productLaunchListNew.isEmpty() && "1".equals(stata)){
+					sharePutOnShelvesService.updateShareInventory(productLaunchListNew);
+				}
 			}
 		}
 		String stata = sysClient.getParamService("WeChat.shipping.notification");
@@ -5783,19 +5785,6 @@ public class OrderServiceImpl extends ServiceImpl<OrderMapper, PjOrder> implemen
 		pjOrder.setStatus(OrderTypeEnum.XSDQR.getType());
 		pjOrder.setGenerateTask(OrderTypeEnum.NSCRW.getType());
 		baseMapper.updateById(pjOrder);
-
-		/*if ("挂账".equals(pjOrder.getReceivableType())) {
-			PjCorpsDesc pjCorpsDesc = corpsDescMapper.selectById(pjOrder.getCustomerId());
-			if (ObjectUtils.isNotNull(pjCorpsDesc)) {
-				if (ObjectUtils.isNotNull(pjCorpsDesc.getUseCreditLimit())) {
-					pjCorpsDesc.setUseCreditLimit(pjCorpsDesc.getUseCreditLimit().subtract(pjOrder.getTotalMoney()));
-				} else {
-					pjCorpsDesc.setUseCreditLimit(new BigDecimal("0.00"));
-				}
-			}
-			corpsDescMapper.updateById(pjCorpsDesc);
-		}*/
-
 		//内部销售修改上架管理的库存
 		if (pjOrder.getBusinessSource().equals(OrderTypeEnum.WEB.getType()) && 0 == pjOrder.getBillType()) {
 			LambdaQueryWrapper<PjOrderItems> itemsLambdaQueryWrapper = new LambdaQueryWrapper<>();
@@ -5810,6 +5799,7 @@ public class OrderServiceImpl extends ServiceImpl<OrderMapper, PjOrder> implemen
 					.eq(PjProductLaunch::getIsDeleted, 0)
 					.in(PjProductLaunch::getGoodsId, goodsId);
 				List<PjProductLaunch> launchList = productLaunchService.list(queryWrapper);
+				List<PjProductLaunch> productLaunchListNew = new ArrayList<>();
 				itemsList.forEach(e -> {
 					if (ObjectUtil.isNotEmpty(launchList)) {
 						PjProductLaunch pjProductLaunch = launchList.stream().filter(i -> i.getGoodsId().equals(e.getGoodsId())).findFirst().orElse(null);
@@ -5820,9 +5810,14 @@ public class OrderServiceImpl extends ServiceImpl<OrderMapper, PjOrder> implemen
 							if (!res.isSuccess()) {
 								throw new RuntimeException(res.getMsg());
 							}
+							productLaunchListNew.add(pjProductLaunch);
 						}
 					}
 				});
+				String stata = sysClient.getParamService("whether.open.share");
+				if (!productLaunchListNew.isEmpty() && "1".equals(stata)){
+					sharePutOnShelvesService.updateShareInventory(productLaunchListNew);
+				}
 			}
 		}
 		// 创建线程池
@@ -5971,18 +5966,34 @@ public class OrderServiceImpl extends ServiceImpl<OrderMapper, PjOrder> implemen
 					.in("pid", brandIds).eq("is_deleted", 0));
 			}
 			for (PjOrderItems item : orderItems) {
-				if (!goodsFilesList.isEmpty()) {
-					item.setGoodsFilesList(goodsFilesList.stream()
-						.filter(e -> e.getPid().equals(item.getGoodsId()))
-						.collect(Collectors.toList()));
-				} else {
-					if (ObjectUtils.isNotNull(item.getBrandId())) {
-						if (!brandFigureList.isEmpty()) {
-							List<BrandFigure> brandFigureList1 = brandFigureList.stream()
-								.filter(e -> e.getPid().equals(item.getBrandId()) && e.getFigure().equals(item.getPattern()))
-								.collect(Collectors.toList());
-							if (!brandFigureList1.isEmpty()) {
-								item.setGoodsFilesList(BeanUtil.copy(brandFigureList1, PjGoodsFiles.class));
+				if (ObjectUtils.isNotNull(item.getUrl())){
+					List<PjGoodsFiles> filesList = new ArrayList<>();
+					PjGoodsFiles files = new PjGoodsFiles();
+					files.setUrl(item.getUrl());
+					files.setVersion("0");
+					filesList.add(files);
+					item.setGoodsFilesList(filesList);
+				}else{
+					if (!goodsFilesList.isEmpty()) {
+						item.setGoodsFilesList(goodsFilesList.stream()
+							.filter(e -> e.getPid().equals(item.getGoodsId()))
+							.collect(Collectors.toList()));
+					} else {
+						if (ObjectUtils.isNotNull(item.getBrandId())) {
+							if (!brandFigureList.isEmpty()) {
+								List<BrandFigure> brandFigureList1 = brandFigureList.stream()
+									.filter(e -> e.getPid().equals(item.getBrandId()) && e.getFigure().equals(item.getPattern()))
+									.collect(Collectors.toList());
+								if (!brandFigureList1.isEmpty()) {
+									item.setGoodsFilesList(BeanUtil.copy(brandFigureList1, PjGoodsFiles.class));
+								} else {
+									List<PjBrandFiles> pjBrandFilesList1 = pjBrandFilesList.stream()
+										.filter(e -> e.getPid().equals(item.getBrandId()))
+										.collect(Collectors.toList());
+									if (!pjBrandFilesList1.isEmpty()) {
+										item.setGoodsFilesList(BeanUtil.copy(pjBrandFilesList1, PjGoodsFiles.class));
+									}
+								}
 							} else {
 								List<PjBrandFiles> pjBrandFilesList1 = pjBrandFilesList.stream()
 									.filter(e -> e.getPid().equals(item.getBrandId()))
@@ -5991,29 +6002,9 @@ public class OrderServiceImpl extends ServiceImpl<OrderMapper, PjOrder> implemen
 									item.setGoodsFilesList(BeanUtil.copy(pjBrandFilesList1, PjGoodsFiles.class));
 								}
 							}
-						} else {
-							List<PjBrandFiles> pjBrandFilesList1 = pjBrandFilesList.stream()
-								.filter(e -> e.getPid().equals(item.getBrandId()))
-								.collect(Collectors.toList());
-							if (!pjBrandFilesList1.isEmpty()) {
-								item.setGoodsFilesList(BeanUtil.copy(pjBrandFilesList1, PjGoodsFiles.class));
-							}
 						}
 					}
 				}
-				/*List<PjGoodsFiles> pjGoodsFiles = goodsFilesService.list(new LambdaQueryWrapper<PjGoodsFiles>()
-					.eq(PjGoodsFiles::getTenantId, AuthUtil.getTenantId())
-					.eq(PjGoodsFiles::getIsDeleted, 0)
-					.eq(PjGoodsFiles::getPid, item.getGoodsId())
-					.eq(PjGoodsFiles::getMainImage, 0));
-				item.setGoodsFilesList(pjGoodsFiles);
-				if (item.getGoodsFilesList().isEmpty() && ObjectUtils.isNotNull(item.getBrandId())) {
-					item.setGoodsFilesList(BeanUtil.copy(brandFilesService.list(new LambdaQueryWrapper<PjBrandFiles>()
-						.eq(PjBrandFiles::getMainImage, 0)
-						.eq(PjBrandFiles::getPid, item.getBrandId())
-						.eq(PjBrandFiles::getTenantId, AuthUtil.getTenantId())
-						.eq(PjBrandFiles::getIsDeleted, 0)), PjGoodsFiles.class));
-				}*/
 			}
 			detail.setOrderItemsList(orderItems);
 		}
@@ -6360,13 +6351,19 @@ public class OrderServiceImpl extends ServiceImpl<OrderMapper, PjOrder> implemen
 								List<PjProductLaunch> productLaunch = productLaunchService.list(productLaunchQueryWrapper);
 								//修改上架数量
 								if (ObjectUtil.isNotEmpty(productLaunch)) {
+									List<PjProductLaunch> productLaunchListNew = new ArrayList<>();
 									productLaunch.forEach(e -> {
 										e.setInventory(e.getInventory().add(item.getGoodsNum()));
 										R res = productLaunchService.updateByIdNew(e);
 										if (!res.isSuccess()) {
 											throw new RuntimeException(res.getMsg());
 										}
+										productLaunchListNew.add(e);
 									});
+									String stata = sysClient.getParamService("whether.open.share");
+									if (!productLaunchListNew.isEmpty() && "1".equals(stata)){
+										sharePutOnShelvesService.updateShareInventory(productLaunchListNew);
+									}
 								}
 							}
 						});

+ 3 - 0
blade-service/blade-sales-part/src/main/java/org/springblade/salesPart/share/mapper/SharePutOnShelvesMapper.java

@@ -52,4 +52,7 @@ public interface SharePutOnShelvesMapper extends BaseMapper<SharePutOnShelves> {
 
 	@TenantIgnore
 	List<SharePutOnShelves> selectShare(@Param("ids")String ids);
+
+	@TenantIgnore
+	List<SharePutOnShelves> selectListShare(@Param("productLaunchIds")String productLaunchIds);
 }

+ 5 - 0
blade-service/blade-sales-part/src/main/java/org/springblade/salesPart/share/mapper/SharePutOnShelvesMapper.xml

@@ -84,5 +84,10 @@
         where is_deleted = 0
           and find_in_set(src_shared_id, #{ids})
     </select>
+    <select id="selectListShare" resultType="org.springblade.salesPart.share.entity.SharePutOnShelves">
+        select * from pjpf_share_put_on_shelves
+        where is_deleted = 0
+          and find_in_set(product_launch_id, #{productLaunchIds})
+    </select>
 
 </mapper>

+ 2 - 0
blade-service/blade-sales-part/src/main/java/org/springblade/salesPart/share/service/ISharePutOnShelvesService.java

@@ -63,4 +63,6 @@ public interface ISharePutOnShelvesService extends IService<SharePutOnShelves> {
 	int updateSharePutOnShelves(SharePutOnShelves item);
 
 	R importShareTheNextDay(List<ShareTheNextDayDataExcel> excelList);
+
+	R updateShareInventory(List<PjProductLaunch> productLaunchListNew);
 }

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

@@ -542,10 +542,26 @@ public class SharePutOnShelvesServiceImpl extends ServiceImpl<SharePutOnShelvesM
 			.eq(PjProductLaunch::getIsDeleted, 0)
 			.eq(PjProductLaunch::getWhetherIntegral, "0")
 			.eq(PjProductLaunch::getUpAndDownShelves, 1)
+			.eq(PjProductLaunch::getSalesCompanyId, AuthUtil.getDeptId())
 			.apply("find_in_set(cname,'" + goodsName + "')"));
 		if (pjProductLaunchList.isEmpty()) {
 			throw new RuntimeException("未查到上架数据");
 		}
+		String deptName = "";
+		R<Dept> res = iSysClient.getDept(Long.parseLong(AuthUtil.getDeptId()));
+		if (res.isSuccess()) {
+			deptName = res.getData().getDeptName();
+		}
+		List<PjGoodsDesc> goodsDescList = goodsDescService.list(new LambdaQueryWrapper<PjGoodsDesc>()
+			.eq(PjGoodsDesc::getTenantId, AuthUtil.getTenantId())
+			.eq(PjGoodsDesc::getIsDeleted, 0)
+			.eq(PjGoodsDesc::getWhetherIntegral, "0")
+			.eq(PjGoodsDesc::getEnableOrNot, "1")
+			.eq(PjGoodsDesc::getSalesCompanyId, AuthUtil.getDeptId())
+			.apply("find_in_set(cname,'" + goodsName + "')"));
+		if (goodsDescList.isEmpty()) {
+			throw new RuntimeException("未查到商品数据");
+		}
 		List<PjProductLaunchFiles> pjProductLaunchFilesList = new ArrayList<>();
 		List<PjBrandFiles> pjBrandFilesList = new ArrayList<>();
 		List<BrandFigure> brandFigureList = new ArrayList<>();
@@ -634,12 +650,19 @@ public class SharePutOnShelvesServiceImpl extends ServiceImpl<SharePutOnShelvesM
 					}
 				}
 				String[] arr = excel.getSharedCompany().split(",");
-                sharedCompanyList.addAll(Arrays.asList(arr));
+				sharedCompanyList.addAll(Arrays.asList(arr));
 				SharePutOnShelves sharePutOnShelves = new SharePutOnShelves();
 				sharePutOnShelves.setCreateUser(AuthUtil.getUserId());
 				sharePutOnShelves.setCreateTime(new Date());
 				sharePutOnShelves.setTenantId(AuthUtil.getTenantId());
 				sharePutOnShelves.setGoodsId(item.getGoodsId());
+				PjGoodsDesc goodsDesc = goodsDescList.stream().filter(e -> e.getId().equals(item.getGoodsId())).findFirst().orElse(null);
+				if (goodsDesc != null) {
+					item.setCode(goodsDesc.getCode());
+					item.setGoodsSize(goodsDesc.getGoodsSize());
+				} else {
+					throw new RuntimeException("未查到商品:" + item.getCname());
+				}
 				sharePutOnShelves.setGoodsCode(item.getCode());
 				sharePutOnShelves.setGoodsName(item.getCname());
 				sharePutOnShelves.setGoodsInt(item.getCnameInt());
@@ -664,7 +687,7 @@ public class SharePutOnShelvesServiceImpl extends ServiceImpl<SharePutOnShelvesM
 				sharePutOnShelves.setProductLaunchId(item.getId());
 				sharePutOnShelves.setSrcTenantId(item.getTenantId());
 				sharePutOnShelves.setSrcSalesCompanyId(item.getSalesCompanyId());
-				sharePutOnShelves.setSrcSalesCompanyName(item.getSourceCompanyName());
+				sharePutOnShelves.setSrcSalesCompanyName(item.getSalesCompanyName());
 				sharePutOnShelves.setSrcGoodsId(item.getGoodsId());
 				sharePutOnShelves.setSrcGoodsCode(item.getCode());
 				sharePutOnShelves.setSrcGoodsName(item.getCname());
@@ -691,6 +714,7 @@ public class SharePutOnShelvesServiceImpl extends ServiceImpl<SharePutOnShelvesM
 			throw new RuntimeException("请选择共享公司");
 		}
 		List<SharePutOnShelves> sharePutOnShelves = new ArrayList<>();
+		String msg = "";
 		for (Dept deptItem : deptList) {
 			for (SharePutOnShelves item : sharePutOnShelvesList) {
 				if (0 != item.getBillType()) {
@@ -711,9 +735,13 @@ public class SharePutOnShelvesServiceImpl extends ServiceImpl<SharePutOnShelvesM
 				List<SharePutOnShelves> sharePutOnShelvesList1 = baseMapper.selectSharePutOnShelvesList(item.getGoodsCode(), deptItem.getDeptName(), deptItem.getTenantId());
 				if (!sharePutOnShelvesList1.isEmpty()) {
 					for (SharePutOnShelves shelves : sharePutOnShelvesList1) {
-						shelves.setInventory(item.getInventory());
-						shelves.setShareCost(item.getShareCost());
-						sharePutOnShelves.add(shelves);
+						if (0 == shelves.getBillType() && shelves.getSharedCompany().contains(deptName)) {
+							msg = msg + item.getGoodsName() + ",";
+						} else {
+							shelves.setInventory(item.getInventory());
+							shelves.setShareCost(item.getShareCost());
+							sharePutOnShelves.add(shelves);
+						}
 					}
 				} else {
 					SharePutOnShelves shelves = new SharePutOnShelves();
@@ -735,10 +763,6 @@ public class SharePutOnShelvesServiceImpl extends ServiceImpl<SharePutOnShelvesM
 					shelves.setSalesCompanyName(deptItem.getDeptName());
 					shelves.setInventory(item.getInventory());
 					shelves.setShareCost(item.getShareCost());
-					/*shelves.setPriceOne(item.getPriceOne());
-					shelves.setPriceTwo(item.getPriceTwo());
-					shelves.setPriceThree(item.getPriceThree());
-					shelves.setPriceFour(item.getPriceFour());*/
 					shelves.setProductLaunchId(item.getProductLaunchId());
 					shelves.setSrcTenantId(item.getSrcTenantId());
 					shelves.setSrcSalesCompanyId(item.getSrcSalesCompanyId());
@@ -755,6 +779,9 @@ public class SharePutOnShelvesServiceImpl extends ServiceImpl<SharePutOnShelvesM
 				}
 			}
 		}
+		if (ObjectUtils.isNotNull(msg)) {
+			throw new RuntimeException("商品:" + msg + "存在相互共享!");
+		}
 		this.updateBatchById(sharePutOnShelvesList);
 		if (!sharePutOnShelves.isEmpty()) {
 			this.saveOrUpdateBatch(sharePutOnShelves);
@@ -938,4 +965,31 @@ public class SharePutOnShelvesServiceImpl extends ServiceImpl<SharePutOnShelvesM
 		return R.success("操作成功");
 	}
 
+	@Override
+	@Transactional(rollbackFor = Exception.class)
+	public R updateShareInventory(List<PjProductLaunch> productLaunchListNew) {
+		if (productLaunchListNew.isEmpty()) {
+			throw new RuntimeException("数据不能为空");
+		}
+		StringBuilder productLaunchIds = new StringBuilder();
+		for (PjProductLaunch item : productLaunchListNew) {
+			productLaunchIds.append(item.getId()).append(",");
+		}
+		if (ObjectUtils.isNotNull(productLaunchIds.toString())) {
+			productLaunchIds = new StringBuilder(productLaunchIds.substring(0, productLaunchIds.length() - 1));
+		}
+		List<SharePutOnShelves> sharePutOnShelvesList = baseMapper.selectListShare(productLaunchIds.toString());
+		for (SharePutOnShelves item : sharePutOnShelvesList) {
+			PjProductLaunch pjProductLaunch = productLaunchListNew.stream()
+				.filter(e -> e.getId().equals(item.getProductLaunchId())).findFirst().orElse(null);
+			if (pjProductLaunch != null) {
+				item.setInventory(pjProductLaunch.getInventory());
+				item.setUpdateTime(new Date());
+				item.setUpdateUser(AuthUtil.getUserId());
+			}
+		}
+		this.updateBatchById(sharePutOnShelvesList);
+		return R.success("操作成功");
+	}
+
 }