diff --git a/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/service/bom/BomService.java b/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/service/bom/BomService.java index b745196b..92f02679 100644 --- a/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/service/bom/BomService.java +++ b/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/service/bom/BomService.java @@ -5,6 +5,7 @@ import com.win.framework.common.pojo.PageResult; import com.win.module.wms.controller.bom.vo.*; import com.win.module.wms.dal.dataobject.bom.BomDO; import com.win.module.wms.dal.dataobject.itembasic.ItembasicDO; +import com.win.module.wms.dal.dataobject.productionlineitem.ProductionlineitemDO; import javax.validation.Valid; import java.util.Collection; @@ -78,4 +79,13 @@ public interface BomService { List getBomList(BomExportReqVO exportReqVO); List importBomList(List boms, Integer mode, Boolean updatePart); + + + /** + * 物品与bom版本关系 + * @param productItemCode + * @param version + * @return + */ + public BomDO bomItemCodeAndVersionExist(String productItemCode, String version); } diff --git a/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/service/bom/BomServiceImpl.java b/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/service/bom/BomServiceImpl.java index a7cbd781..1e9c61cd 100644 --- a/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/service/bom/BomServiceImpl.java +++ b/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/service/bom/BomServiceImpl.java @@ -2,6 +2,7 @@ package com.win.module.wms.service.bom; import cn.hutool.core.collection.CollUtil; import cn.hutool.core.util.StrUtil; +import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; import com.google.common.annotations.VisibleForTesting; import com.win.framework.common.exception.ServiceException; import com.win.framework.common.pojo.CustomConditions; @@ -11,6 +12,7 @@ import com.win.module.wms.controller.bom.vo.*; import com.win.module.wms.convert.bom.BomConvert; import com.win.module.wms.dal.dataobject.bom.BomDO; import com.win.module.wms.dal.dataobject.itembasic.ItembasicDO; +import com.win.module.wms.dal.dataobject.productionlineitem.ProductionlineitemDO; import com.win.module.wms.dal.mysql.bom.BomMapper; import org.springframework.stereotype.Service; import org.springframework.transaction.interceptor.TransactionAspectSupport; @@ -160,6 +162,20 @@ public class BomServiceImpl implements BomService { return errorList; } + @Override + public BomDO bomItemCodeAndVersionExist(String productItemCode, String version) { + QueryWrapper queryWrapper = new QueryWrapper(); + queryWrapper.eq("product_item_code",productItemCode); + queryWrapper.eq("version",version); + queryWrapper.eq("available","TRUE"); + BomDO bomDO = bomMapper.selectOne(queryWrapper); + if( bomDO != null){ + return bomDO; + }else { + throw exception(BOM_ITEM_VERSION_QTY_EXISTS, "父物料" + productItemCode + "与bom版本" + version + "关系无效"); + } + } + private void validateBomForCreateOrUpdate(Long id,String productItemCode,String componentItemCode, String componentUom,BigDecimal componentQty,String processCode,String available) { // 关闭数据权限,避免因为没有数据权限,查询不到数据,进而导致唯一校验不正确 @@ -234,4 +250,6 @@ public class BomServiceImpl implements BomService { throw exception(BOM_PROCESS_CODE_NOT_EXISTS); } } + + }