|
|
@@ -579,9 +579,24 @@ public class SharePutOnShelvesServiceImpl extends ServiceImpl<SharePutOnShelvesM
|
|
|
}
|
|
|
|
|
|
List<SharePutOnShelves> sharePutOnShelvesList = new ArrayList<>();
|
|
|
+ List<SharePutOnShelves> sharePutOnShelvesUpdateList = new ArrayList<>();
|
|
|
List<PjProductLaunch> pjProductLaunchListNew = new ArrayList<>();
|
|
|
List<String> sharedCompanyList = new ArrayList<>();
|
|
|
+ List<String> goodsList = excelList.stream().map(SharePutOnShelvesImportExcel::getGoodsName).collect(Collectors.toList());
|
|
|
+ List<SharePutOnShelves> shelvesList = baseMapper.selectList(new LambdaQueryWrapper<SharePutOnShelves>()
|
|
|
+ .eq(SharePutOnShelves::getIsDeleted, 0)
|
|
|
+ .eq(SharePutOnShelves::getTenantId, AuthUtil.getTenantId())
|
|
|
+ .in(SharePutOnShelves::getGoodsName, goodsList)
|
|
|
+ .eq(SharePutOnShelves::getBillType, 0));
|
|
|
for (SharePutOnShelvesImportExcel excel : excelList) {
|
|
|
+ SharePutOnShelves shelves = null;
|
|
|
+ boolean status = false;
|
|
|
+ if (!shelvesList.isEmpty()) {
|
|
|
+ shelves = shelvesList.stream().filter(e -> e.getGoodsName().equals(excel.getGoodsName())).findFirst().orElse(null);
|
|
|
+ if (shelves != null) {
|
|
|
+ status = true;
|
|
|
+ }
|
|
|
+ }
|
|
|
PjProductLaunch item = pjProductLaunchList.stream().filter(e -> e.getCname().equals(excel.getGoodsName())).findFirst().orElse(null);
|
|
|
if (item != null) {
|
|
|
item.setWhetherShare(1);
|
|
|
@@ -651,140 +666,156 @@ public class SharePutOnShelvesServiceImpl extends ServiceImpl<SharePutOnShelvesM
|
|
|
}
|
|
|
String[] arr = excel.getSharedCompany().split(",");
|
|
|
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());
|
|
|
+ if (status) {
|
|
|
+ if (shelves != null) {
|
|
|
+ shelves.setShareCost(excel.getShareCost());
|
|
|
+ sharePutOnShelvesUpdateList.add(shelves);
|
|
|
+ }
|
|
|
} else {
|
|
|
- throw new RuntimeException("未查到商品:" + item.getCname());
|
|
|
- }
|
|
|
- sharePutOnShelves.setGoodsCode(item.getCode());
|
|
|
- sharePutOnShelves.setGoodsName(item.getCname());
|
|
|
- sharePutOnShelves.setGoodsInt(item.getCnameInt());
|
|
|
- sharePutOnShelves.setSpecificationAndModel(item.getSpecificationAndModel());
|
|
|
- sharePutOnShelves.setGoodsSize(item.getGoodsSize());
|
|
|
- sharePutOnShelves.setBrandId(item.getBrandId());
|
|
|
- sharePutOnShelves.setBrandName(item.getBrandName());
|
|
|
- sharePutOnShelves.setGoodsDescription(item.getDetailsText());
|
|
|
- sharePutOnShelves.setBrandItem(item.getBrandItem());
|
|
|
- sharePutOnShelves.setPlaceProduction(item.getPlaceProduction());
|
|
|
- sharePutOnShelves.setExplosionProof(item.getExplosionProof());
|
|
|
- sharePutOnShelves.setOriginalFactory(item.getOriginalFactory());
|
|
|
- sharePutOnShelves.setSelfRecovery(item.getSelfRecovery());
|
|
|
- sharePutOnShelves.setSalesCompanyId(item.getSalesCompanyId());
|
|
|
- sharePutOnShelves.setSalesCompanyName(item.getSalesCompanyName());
|
|
|
- sharePutOnShelves.setInventory(item.getInventory());
|
|
|
- sharePutOnShelves.setShareCost(excel.getShareCost());
|
|
|
- sharePutOnShelves.setPriceOne(item.getPriceOne());
|
|
|
- sharePutOnShelves.setPriceTwo(item.getPriceTwo());
|
|
|
- sharePutOnShelves.setPriceThree(item.getPriceThree());
|
|
|
- sharePutOnShelves.setPriceFour(item.getPriceFour());
|
|
|
- sharePutOnShelves.setProductLaunchId(item.getId());
|
|
|
- sharePutOnShelves.setSrcTenantId(item.getTenantId());
|
|
|
- sharePutOnShelves.setSrcSalesCompanyId(item.getSalesCompanyId());
|
|
|
- sharePutOnShelves.setSrcSalesCompanyName(item.getSalesCompanyName());
|
|
|
- sharePutOnShelves.setSrcGoodsId(item.getGoodsId());
|
|
|
- sharePutOnShelves.setSrcGoodsCode(item.getCode());
|
|
|
- sharePutOnShelves.setSrcGoodsName(item.getCname());
|
|
|
- sharePutOnShelves.setSrcBrandId(item.getBrandId());
|
|
|
- sharePutOnShelves.setSrcBrandName(item.getBrandName());
|
|
|
- sharePutOnShelves.setBillType(0);
|
|
|
- if (ObjectUtils.isNotNull(item.getFilesList()) && !item.getFilesList().isEmpty()) {
|
|
|
- sharePutOnShelves.setUrl(item.getFilesList().get(0).getUrl());
|
|
|
+ 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());
|
|
|
+ sharePutOnShelves.setSpecificationAndModel(item.getSpecificationAndModel());
|
|
|
+ sharePutOnShelves.setGoodsSize(item.getGoodsSize());
|
|
|
+ sharePutOnShelves.setBrandId(item.getBrandId());
|
|
|
+ sharePutOnShelves.setBrandName(item.getBrandName());
|
|
|
+ sharePutOnShelves.setGoodsDescription(item.getDetailsText());
|
|
|
+ sharePutOnShelves.setBrandItem(item.getBrandItem());
|
|
|
+ sharePutOnShelves.setPlaceProduction(item.getPlaceProduction());
|
|
|
+ sharePutOnShelves.setExplosionProof(item.getExplosionProof());
|
|
|
+ sharePutOnShelves.setOriginalFactory(item.getOriginalFactory());
|
|
|
+ sharePutOnShelves.setSelfRecovery(item.getSelfRecovery());
|
|
|
+ sharePutOnShelves.setSalesCompanyId(item.getSalesCompanyId());
|
|
|
+ sharePutOnShelves.setSalesCompanyName(item.getSalesCompanyName());
|
|
|
+ sharePutOnShelves.setInventory(item.getInventory());
|
|
|
+ sharePutOnShelves.setShareCost(excel.getShareCost());
|
|
|
+ sharePutOnShelves.setPriceOne(item.getPriceOne());
|
|
|
+ sharePutOnShelves.setPriceTwo(item.getPriceTwo());
|
|
|
+ sharePutOnShelves.setPriceThree(item.getPriceThree());
|
|
|
+ sharePutOnShelves.setPriceFour(item.getPriceFour());
|
|
|
+ sharePutOnShelves.setProductLaunchId(item.getId());
|
|
|
+ sharePutOnShelves.setSrcTenantId(item.getTenantId());
|
|
|
+ sharePutOnShelves.setSrcSalesCompanyId(item.getSalesCompanyId());
|
|
|
+ sharePutOnShelves.setSrcSalesCompanyName(item.getSalesCompanyName());
|
|
|
+ sharePutOnShelves.setSrcGoodsId(item.getGoodsId());
|
|
|
+ sharePutOnShelves.setSrcGoodsCode(item.getCode());
|
|
|
+ sharePutOnShelves.setSrcGoodsName(item.getCname());
|
|
|
+ sharePutOnShelves.setSrcBrandId(item.getBrandId());
|
|
|
+ sharePutOnShelves.setSrcBrandName(item.getBrandName());
|
|
|
+ sharePutOnShelves.setBillType(0);
|
|
|
+ if (ObjectUtils.isNotNull(item.getFilesList()) && !item.getFilesList().isEmpty()) {
|
|
|
+ sharePutOnShelves.setUrl(item.getFilesList().get(0).getUrl());
|
|
|
+ }
|
|
|
+ sharePutOnShelvesList.add(sharePutOnShelves);
|
|
|
}
|
|
|
- sharePutOnShelvesList.add(sharePutOnShelves);
|
|
|
pjProductLaunchListNew.add(item);
|
|
|
} else {
|
|
|
throw new RuntimeException("商品:" + excel.getGoodsName() + "未查到上架数据");
|
|
|
}
|
|
|
}
|
|
|
productLaunchService.updateBatchById(pjProductLaunchListNew);
|
|
|
- this.saveBatch(sharePutOnShelvesList);
|
|
|
- String sharedCompany = "";
|
|
|
- if (!sharedCompanyList.isEmpty()) {
|
|
|
- sharedCompany = sharedCompanyList.stream().distinct().collect(Collectors.joining(","));
|
|
|
+ if (!sharePutOnShelvesList.isEmpty()) {
|
|
|
+ this.saveBatch(sharePutOnShelvesList);
|
|
|
}
|
|
|
- List<Dept> deptList = iSysClient.getDeptListByNames(sharedCompany);
|
|
|
- if (deptList.isEmpty()) {
|
|
|
- throw new RuntimeException("请选择共享公司");
|
|
|
+ if (!sharePutOnShelvesUpdateList.isEmpty()) {
|
|
|
+ for (SharePutOnShelves item : sharePutOnShelvesUpdateList) {
|
|
|
+ baseMapper.updateShareCost(item);
|
|
|
+ }
|
|
|
}
|
|
|
- List<SharePutOnShelves> sharePutOnShelves = new ArrayList<>();
|
|
|
- String msg = "";
|
|
|
- for (Dept deptItem : deptList) {
|
|
|
- for (SharePutOnShelves item : sharePutOnShelvesList) {
|
|
|
- if (0 != item.getBillType()) {
|
|
|
- throw new RuntimeException(item.getGoodsName() + "商品为被共享商品,共享失败");
|
|
|
- }
|
|
|
- item.setShareStatus("已共享");
|
|
|
- if (ObjectUtils.isNotNull(item.getSharedCompanyId()) && ObjectUtils.isNotNull(item.getSharedCompany())) {
|
|
|
- List<String> sharedCompanyId = Arrays.asList(item.getSharedCompanyId().split(","));
|
|
|
- sharedCompanyId.add(deptItem.getId() + "");
|
|
|
- item.setSharedCompanyId(sharedCompanyId.stream().distinct().collect(Collectors.joining(",")));
|
|
|
- List<String> sharedCompanyName = Arrays.asList(item.getSharedCompany().split(","));
|
|
|
- sharedCompanyName.add(deptItem.getDeptName());
|
|
|
- item.setSharedCompany(sharedCompanyName.stream().distinct().collect(Collectors.joining(",")));
|
|
|
- } else {
|
|
|
- item.setSharedCompanyId(deptItem.getId() + "");
|
|
|
- item.setSharedCompany(deptItem.getDeptName());
|
|
|
- }
|
|
|
- List<SharePutOnShelves> sharePutOnShelvesList1 = baseMapper.selectSharePutOnShelvesList(item.getGoodsCode(), deptItem.getDeptName(), deptItem.getTenantId());
|
|
|
- if (!sharePutOnShelvesList1.isEmpty()) {
|
|
|
- for (SharePutOnShelves shelves : sharePutOnShelvesList1) {
|
|
|
- if (0 == shelves.getBillType() && shelves.getSharedCompany().contains(deptName)) {
|
|
|
- msg = msg + item.getGoodsName() + ",";
|
|
|
- } else {
|
|
|
- shelves.setInventory(item.getInventory());
|
|
|
- shelves.setShareCost(item.getShareCost());
|
|
|
- sharePutOnShelves.add(shelves);
|
|
|
+ if (!sharePutOnShelvesList.isEmpty()) {
|
|
|
+ String sharedCompany = "";
|
|
|
+ if (!sharedCompanyList.isEmpty()) {
|
|
|
+ sharedCompany = sharedCompanyList.stream().distinct().collect(Collectors.joining(","));
|
|
|
+ }
|
|
|
+ List<Dept> deptList = iSysClient.getDeptListByNames(sharedCompany);
|
|
|
+ if (deptList.isEmpty()) {
|
|
|
+ throw new RuntimeException("请选择共享公司");
|
|
|
+ }
|
|
|
+ List<SharePutOnShelves> sharePutOnShelves = new ArrayList<>();
|
|
|
+ String msg = "";
|
|
|
+ for (Dept deptItem : deptList) {
|
|
|
+ for (SharePutOnShelves item : sharePutOnShelvesList) {
|
|
|
+ if (0 != item.getBillType()) {
|
|
|
+ throw new RuntimeException(item.getGoodsName() + "商品为被共享商品,共享失败");
|
|
|
+ }
|
|
|
+ item.setShareStatus("已共享");
|
|
|
+ if (ObjectUtils.isNotNull(item.getSharedCompanyId()) && ObjectUtils.isNotNull(item.getSharedCompany())) {
|
|
|
+ List<String> sharedCompanyId = Arrays.asList(item.getSharedCompanyId().split(","));
|
|
|
+ sharedCompanyId.add(deptItem.getId() + "");
|
|
|
+ item.setSharedCompanyId(sharedCompanyId.stream().distinct().collect(Collectors.joining(",")));
|
|
|
+ List<String> sharedCompanyName = Arrays.asList(item.getSharedCompany().split(","));
|
|
|
+ sharedCompanyName.add(deptItem.getDeptName());
|
|
|
+ item.setSharedCompany(sharedCompanyName.stream().distinct().collect(Collectors.joining(",")));
|
|
|
+ } else {
|
|
|
+ item.setSharedCompanyId(deptItem.getId() + "");
|
|
|
+ item.setSharedCompany(deptItem.getDeptName());
|
|
|
+ }
|
|
|
+ List<SharePutOnShelves> sharePutOnShelvesList1 = baseMapper.selectSharePutOnShelvesList(item.getGoodsCode(), deptItem.getDeptName(), deptItem.getTenantId());
|
|
|
+ if (!sharePutOnShelvesList1.isEmpty()) {
|
|
|
+ for (SharePutOnShelves shelves : sharePutOnShelvesList1) {
|
|
|
+ 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();
|
|
|
+ shelves.setShareStatus("暂存");
|
|
|
+ shelves.setTenantId(deptItem.getTenantId());
|
|
|
+ shelves.setGoodsCode(item.getGoodsCode());
|
|
|
+ shelves.setGoodsName(item.getGoodsName());
|
|
|
+ shelves.setGoodsInt(item.getGoodsInt());
|
|
|
+ shelves.setSpecificationAndModel(item.getSpecificationAndModel());
|
|
|
+ shelves.setGoodsSize(item.getGoodsSize());
|
|
|
+ shelves.setBrandName(item.getBrandName());
|
|
|
+ shelves.setGoodsDescription(item.getGoodsDescription());
|
|
|
+ shelves.setBrandItem(item.getBrandItem());
|
|
|
+ shelves.setPlaceProduction(item.getPlaceProduction());
|
|
|
+ shelves.setExplosionProof(item.getExplosionProof());
|
|
|
+ shelves.setOriginalFactory(item.getOriginalFactory());
|
|
|
+ shelves.setSelfRecovery(item.getSelfRecovery());
|
|
|
+ shelves.setSalesCompanyId(deptItem.getId());
|
|
|
+ shelves.setSalesCompanyName(deptItem.getDeptName());
|
|
|
+ shelves.setInventory(item.getInventory());
|
|
|
+ shelves.setShareCost(item.getShareCost());
|
|
|
+ shelves.setProductLaunchId(item.getProductLaunchId());
|
|
|
+ shelves.setSrcTenantId(item.getSrcTenantId());
|
|
|
+ shelves.setSrcSalesCompanyId(item.getSrcSalesCompanyId());
|
|
|
+ shelves.setSrcSalesCompanyName(item.getSrcSalesCompanyName());
|
|
|
+ shelves.setSrcGoodsId(item.getGoodsId());
|
|
|
+ shelves.setSrcGoodsCode(item.getGoodsCode());
|
|
|
+ shelves.setSrcGoodsName(item.getGoodsName());
|
|
|
+ shelves.setSrcBrandId(item.getBrandId());
|
|
|
+ shelves.setSrcBrandName(item.getBrandName());
|
|
|
+ shelves.setBillType(1);
|
|
|
+ shelves.setSrcSharedId(item.getId());
|
|
|
+ shelves.setUrl(item.getUrl());
|
|
|
+ sharePutOnShelves.add(shelves);
|
|
|
}
|
|
|
- } else {
|
|
|
- SharePutOnShelves shelves = new SharePutOnShelves();
|
|
|
- shelves.setShareStatus("暂存");
|
|
|
- shelves.setTenantId(deptItem.getTenantId());
|
|
|
- shelves.setGoodsCode(item.getGoodsCode());
|
|
|
- shelves.setGoodsName(item.getGoodsName());
|
|
|
- shelves.setGoodsInt(item.getGoodsInt());
|
|
|
- shelves.setSpecificationAndModel(item.getSpecificationAndModel());
|
|
|
- shelves.setGoodsSize(item.getGoodsSize());
|
|
|
- shelves.setBrandName(item.getBrandName());
|
|
|
- shelves.setGoodsDescription(item.getGoodsDescription());
|
|
|
- shelves.setBrandItem(item.getBrandItem());
|
|
|
- shelves.setPlaceProduction(item.getPlaceProduction());
|
|
|
- shelves.setExplosionProof(item.getExplosionProof());
|
|
|
- shelves.setOriginalFactory(item.getOriginalFactory());
|
|
|
- shelves.setSelfRecovery(item.getSelfRecovery());
|
|
|
- shelves.setSalesCompanyId(deptItem.getId());
|
|
|
- shelves.setSalesCompanyName(deptItem.getDeptName());
|
|
|
- shelves.setInventory(item.getInventory());
|
|
|
- shelves.setShareCost(item.getShareCost());
|
|
|
- shelves.setProductLaunchId(item.getProductLaunchId());
|
|
|
- shelves.setSrcTenantId(item.getSrcTenantId());
|
|
|
- shelves.setSrcSalesCompanyId(item.getSrcSalesCompanyId());
|
|
|
- shelves.setSrcSalesCompanyName(item.getSrcSalesCompanyName());
|
|
|
- shelves.setSrcGoodsId(item.getGoodsId());
|
|
|
- shelves.setSrcGoodsCode(item.getGoodsCode());
|
|
|
- shelves.setSrcGoodsName(item.getGoodsName());
|
|
|
- shelves.setSrcBrandId(item.getBrandId());
|
|
|
- shelves.setSrcBrandName(item.getBrandName());
|
|
|
- shelves.setBillType(1);
|
|
|
- shelves.setSrcSharedId(item.getId());
|
|
|
- shelves.setUrl(item.getUrl());
|
|
|
- sharePutOnShelves.add(shelves);
|
|
|
}
|
|
|
}
|
|
|
- }
|
|
|
- if (ObjectUtils.isNotNull(msg)) {
|
|
|
- throw new RuntimeException("商品:" + msg + "存在相互共享!");
|
|
|
- }
|
|
|
- this.updateBatchById(sharePutOnShelvesList);
|
|
|
- if (!sharePutOnShelves.isEmpty()) {
|
|
|
- this.saveOrUpdateBatch(sharePutOnShelves);
|
|
|
+ if (ObjectUtils.isNotNull(msg)) {
|
|
|
+ throw new RuntimeException("商品:" + msg + "存在相互共享!");
|
|
|
+ }
|
|
|
+ this.updateBatchById(sharePutOnShelvesList);
|
|
|
+ if (!sharePutOnShelves.isEmpty()) {
|
|
|
+ this.saveOrUpdateBatch(sharePutOnShelves);
|
|
|
+ }
|
|
|
}
|
|
|
return R.data(sharePutOnShelvesList);
|
|
|
}
|