diff --git a/nflg_project_dev/nflg-bom-new/src/main/java/com/nflg/product/bomnew/api/user/OriginalBomApi.java b/nflg_project_dev/nflg-bom-new/src/main/java/com/nflg/product/bomnew/api/user/OriginalBomApi.java index 602671b5..fb55a0d3 100644 --- a/nflg_project_dev/nflg-bom-new/src/main/java/com/nflg/product/bomnew/api/user/OriginalBomApi.java +++ b/nflg_project_dev/nflg-bom-new/src/main/java/com/nflg/product/bomnew/api/user/OriginalBomApi.java @@ -140,12 +140,15 @@ public class OriginalBomApi extends BaseApi { return ResultVO.error("请上传Excel文件"); } originalParentService.importBom(file); - TransactionSynchronizationManager.registerSynchronization(new TransactionSynchronizationAdapter() { - @Override - public void afterCommit() { - originalParentService.computeLevelNumAndRootState(); - } - }); + + //计算层级 + originalParentService.computeLevelNumAndRootState(); +// TransactionSynchronizationManager.registerSynchronization(new TransactionSynchronizationAdapter() { +// @Override +// public void afterCommit() { +// originalParentService.computeLevelNumAndRootState(); +// } +// }); return ResultVO.success(true); } diff --git a/nflg_project_dev/nflg-bom-new/src/main/java/com/nflg/product/bomnew/mapper/master/BomNewOriginalChildMapper.java b/nflg_project_dev/nflg-bom-new/src/main/java/com/nflg/product/bomnew/mapper/master/BomNewOriginalChildMapper.java index cbf02c7d..a0412ed5 100644 --- a/nflg_project_dev/nflg-bom-new/src/main/java/com/nflg/product/bomnew/mapper/master/BomNewOriginalChildMapper.java +++ b/nflg_project_dev/nflg-bom-new/src/main/java/com/nflg/product/bomnew/mapper/master/BomNewOriginalChildMapper.java @@ -16,5 +16,5 @@ import java.util.List; public interface BomNewOriginalChildMapper extends BaseMapper { - void delOriginalChildNotInRowIds(@Param("rowIds")List rowIds); + void delOriginalChildNotInRowIds(@Param("rowIds")List rowIds ,@Param("parentRowId") Long parentRowId); } diff --git a/nflg_project_dev/nflg-bom-new/src/main/java/com/nflg/product/bomnew/service/BomNewOriginalParentService.java b/nflg_project_dev/nflg-bom-new/src/main/java/com/nflg/product/bomnew/service/BomNewOriginalParentService.java index 90323146..f36ea0f6 100644 --- a/nflg_project_dev/nflg-bom-new/src/main/java/com/nflg/product/bomnew/service/BomNewOriginalParentService.java +++ b/nflg_project_dev/nflg-bom-new/src/main/java/com/nflg/product/bomnew/service/BomNewOriginalParentService.java @@ -25,6 +25,7 @@ import com.nflg.product.bomnew.service.domain.OriginalBom.OriginalBomDetailTask; import com.nflg.product.bomnew.service.domain.OriginalBom.OriginalBomToEBomConvert; import com.nflg.product.bomnew.service.domain.OriginalBom.PlmBomToOriginalConvert; import com.nflg.product.bomnew.util.*; +import lombok.extern.slf4j.Slf4j; import org.apache.commons.collections.map.LinkedMap; import org.bouncycastle.cert.dane.DANEEntry; import org.springframework.beans.factory.annotation.Qualifier; @@ -52,6 +53,7 @@ import java.util.stream.Stream; * @since 2023-11-09 09:23:14 */ @Service +@Slf4j public class BomNewOriginalParentService extends ServiceImpl { @Resource @@ -110,8 +112,8 @@ public class BomNewOriginalParentService extends ServiceImpl delRowIds = bom.getBomList().stream().map(u->u.getRowId()).collect(Collectors.toList()); - originalChildService.getBaseMapper().delOriginalChildNotInRowIds(delRowIds); + List delRowIds = bom.getBomList().stream().filter(u->u.getRowId()>0).map(u-> u.getRowId()).collect(Collectors.toList()); + originalChildService.getBaseMapper().delOriginalChildNotInRowIds(delRowIds,bom.getParentRowId()); originalChildService.saveOrUpdateBatch(childEntities); } return true; @@ -282,16 +284,14 @@ public class BomNewOriginalParentService extends ServiceImpl { +// CompletableFuture.runAsync(() -> { try { this.compucteLevelNum(); this.getBaseMapper().updateRootState(); - } catch (ExecutionException e) { - throw new RuntimeException(e); - } catch (InterruptedException e) { - throw new RuntimeException(e); + } catch (Exception e) { + log.info("计算层级出错:"+e.getMessage()); } - }); +// }); } @@ -390,8 +390,8 @@ public class BomNewOriginalParentService extends ServiceImpl noDrawingNo = excelContext.stream().filter(u -> StrUtil.isBlank(u.getChartNo())).map(u->u.getRowNum()).collect(Collectors.toList()); VUtils.isTure(CollUtil.isNotEmpty(noDrawingNo)).throwMessage(StrUtil.join(",",noDrawingNo )+"图号为空"); - List noNum = excelContext.stream().filter(u -> Objects.isNull(u.getQty())).map(u->u.getRowNum()).collect(Collectors.toList()); - VUtils.isTure(CollUtil.isNotEmpty(noNum)).throwMessage( StrUtil.join(",",noNum )+"数量为空"); +// List noNum = excelContext.stream().filter(u -> Objects.isNull(u.getQty())).map(u->u.getRowNum()).collect(Collectors.toList()); +// VUtils.isTure(CollUtil.isNotEmpty(noNum)).throwMessage( StrUtil.join(",",noNum )+"数量为空"); for (BomNewOriginalExcelDTO data : excelContext) { List parentData = excelContext.stream().filter(u -> u.getLevelNo().equals(data.getLevelNo() - 1) && u.getRowNum() < data.getRowNum()) diff --git a/nflg_project_dev/nflg-bom-new/src/main/java/com/nflg/product/bomnew/service/cache/MaterialMateCache.java b/nflg_project_dev/nflg-bom-new/src/main/java/com/nflg/product/bomnew/service/cache/MaterialMateCache.java index 5258e84b..e1362714 100644 --- a/nflg_project_dev/nflg-bom-new/src/main/java/com/nflg/product/bomnew/service/cache/MaterialMateCache.java +++ b/nflg_project_dev/nflg-bom-new/src/main/java/com/nflg/product/bomnew/service/cache/MaterialMateCache.java @@ -32,7 +32,7 @@ public class MaterialMateCache { } Pattern p = Pattern.compile(namePattern); Pattern p2 = Pattern.compile(texturePattern); - if(p.matcher(mate.getMaterialName()).find() && p2.matcher(mate.getMaterialTexture()).find()){ + if(p.matcher(materialName).find() && p2.matcher(materialTexture).find()){ return mate; } } diff --git a/nflg_project_dev/nflg-bom-new/src/main/java/com/nflg/product/bomnew/service/domain/OriginalBom/BaseConvert.java b/nflg_project_dev/nflg-bom-new/src/main/java/com/nflg/product/bomnew/service/domain/OriginalBom/BaseConvert.java index 138490ba..ebc8a656 100644 --- a/nflg_project_dev/nflg-bom-new/src/main/java/com/nflg/product/bomnew/service/domain/OriginalBom/BaseConvert.java +++ b/nflg_project_dev/nflg-bom-new/src/main/java/com/nflg/product/bomnew/service/domain/OriginalBom/BaseConvert.java @@ -123,7 +123,7 @@ public abstract class BaseConvert { parentEntity.setEditStatus(OriginalEditStatusEnum.HANDLER_CREATED.getValue()); parentEntity.setDeptRowId(SessionUtil.getPartRowId()); parentEntity.setDeptName(SessionUtil.getDepartName()); - + parentEntity.setRemark(material.getRemark()); parentEntity.setSource(originalSourceEnum.getValue()); parentEntity.setCreatedBy(SessionUtil.getUserCode()); parentEntity.setCreatedTime(LocalDateTime.now()); @@ -154,6 +154,7 @@ public abstract class BaseConvert { childEntity.setUnitWeight(material.getWeight()); childEntity.setNum(Convert.toBigDecimal(material.getQty()) ); childEntity.setCreatedBy(SessionUtil.getUserCode()); + childEntity.setRemark(material.getRemark()); this.resultChild.add(childEntity); return childEntity; diff --git a/nflg_project_dev/nflg-bom-new/src/main/java/com/nflg/product/bomnew/service/domain/OriginalBom/PlmBomToOriginalConvert.java b/nflg_project_dev/nflg-bom-new/src/main/java/com/nflg/product/bomnew/service/domain/OriginalBom/PlmBomToOriginalConvert.java index 1cf9d485..fad59d37 100644 --- a/nflg_project_dev/nflg-bom-new/src/main/java/com/nflg/product/bomnew/service/domain/OriginalBom/PlmBomToOriginalConvert.java +++ b/nflg_project_dev/nflg-bom-new/src/main/java/com/nflg/product/bomnew/service/domain/OriginalBom/PlmBomToOriginalConvert.java @@ -81,11 +81,11 @@ public class PlmBomToOriginalConvert extends BaseConvert { //沒有原始BOM if (Objects.isNull(originalBom)) { BomNewOriginalParentEntity parentEntity = buildParentEntity(parent, "",originalSourceEnum); - if (StrUtil.isNotBlank(parent.getMaterialCategoryCode()) && parent.getMaterialCategoryCode().equals(OriginalConstant.COMMON_MATERIAL_CATEGORY_CODE) && CollUtil.isEmpty(childs)) { - handlerCommonMaterial(parentEntity); - } else { +// if (StrUtil.isNotBlank(parent.getMaterialCategoryCode()) && parent.getMaterialCategoryCode().equals(OriginalConstant.COMMON_MATERIAL_CATEGORY_CODE) && CollUtil.isEmpty(childs)) { +// handlerCommonMaterial(parentEntity); +// } else { handlerChild(parentEntity,originalSourceEnum); - } +// } } else { //有原始BOM //草稿状态 if (OriginalStatusEnum.UN_CONVERT.equalsValue(originalBom.getStatus())) { @@ -157,15 +157,16 @@ public class PlmBomToOriginalConvert extends BaseConvert { //一般零部件 if (StrUtil.isNotBlank(childVo.getMaterialCategoryCode()) && childVo.getMaterialCategoryCode().equals(OriginalConstant.COMMON_MATERIAL_CATEGORY_CODE)) { //通过规则- 获取子级物料 - BomNewOriginalParentEntity originalBomForMaterial = getOriginalBomForMaterial(childVo.getChartNo()); - List parentResultOne = this.resultParent.stream().filter(u -> u.getDrawingNo().equals(childVo.getChartNo())).collect(Collectors.toList()); - if(StrUtil.isNotBlank(childVo.getMaterialNo())) { - if (Objects.isNull(originalBomForMaterial) && CollUtil.isEmpty(parentResultOne)) { - childVo.setCreatedBy(parentEntity.getCreatedBy()); - BomNewOriginalParentEntity parentEntity1 = buildParentEntity(childVo, "", originalSourceEnum); - handlerCommonMaterial(parentEntity1); - } - }else { +// BomNewOriginalParentEntity originalBomForMaterial = getOriginalBomForMaterial(childVo.getChartNo()); +// List parentResultOne = this.resultParent.stream().filter(u -> u.getDrawingNo().equals(childVo.getChartNo())).collect(Collectors.toList()); +// if(StrUtil.isNotBlank(childVo.getMaterialNo())) { +// if (Objects.isNull(originalBomForMaterial) && CollUtil.isEmpty(parentResultOne)) { +// childVo.setCreatedBy(parentEntity.getCreatedBy()); +// BomNewOriginalParentEntity parentEntity1 = buildParentEntity(childVo, "", originalSourceEnum); +// handlerCommonMaterial(parentEntity1); +// } +// }else + if(StrUtil.isBlank(childVo.getMaterialNo())) { handlerCommonMaterialForReplace(childVo); } buildChildEntity(childVo,parentEntity); diff --git a/nflg_project_dev/nflg-bom-new/src/main/resources/mapper/master/BomNewOriginalChildMapper.xml b/nflg_project_dev/nflg-bom-new/src/main/resources/mapper/master/BomNewOriginalChildMapper.xml index 7662e7d6..f36b97c1 100644 --- a/nflg_project_dev/nflg-bom-new/src/main/resources/mapper/master/BomNewOriginalChildMapper.xml +++ b/nflg_project_dev/nflg-bom-new/src/main/resources/mapper/master/BomNewOriginalChildMapper.xml @@ -29,7 +29,7 @@ - delete from t_bom_new_original_child where row_id not in + delete from t_bom_new_original_child where parent_row_id=#{parentRowId} and row_id not in #{rowId}