|
@ -2,6 +2,7 @@ package com.win.module.wms.service.bom; |
|
|
|
|
|
|
|
|
import cn.hutool.core.collection.CollUtil; |
|
|
import cn.hutool.core.collection.CollUtil; |
|
|
import cn.hutool.core.util.StrUtil; |
|
|
import cn.hutool.core.util.StrUtil; |
|
|
|
|
|
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; |
|
|
import com.google.common.annotations.VisibleForTesting; |
|
|
import com.google.common.annotations.VisibleForTesting; |
|
|
import com.win.framework.common.exception.ServiceException; |
|
|
import com.win.framework.common.exception.ServiceException; |
|
|
import com.win.framework.common.pojo.CustomConditions; |
|
|
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.convert.bom.BomConvert; |
|
|
import com.win.module.wms.dal.dataobject.bom.BomDO; |
|
|
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.itembasic.ItembasicDO; |
|
|
|
|
|
import com.win.module.wms.dal.dataobject.productionlineitem.ProductionlineitemDO; |
|
|
import com.win.module.wms.dal.mysql.bom.BomMapper; |
|
|
import com.win.module.wms.dal.mysql.bom.BomMapper; |
|
|
import org.springframework.stereotype.Service; |
|
|
import org.springframework.stereotype.Service; |
|
|
import org.springframework.transaction.interceptor.TransactionAspectSupport; |
|
|
import org.springframework.transaction.interceptor.TransactionAspectSupport; |
|
@ -160,6 +162,20 @@ public class BomServiceImpl implements BomService { |
|
|
return errorList; |
|
|
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, |
|
|
private void validateBomForCreateOrUpdate(Long id,String productItemCode,String componentItemCode, |
|
|
String componentUom,BigDecimal componentQty,String processCode,String available) { |
|
|
String componentUom,BigDecimal componentQty,String processCode,String available) { |
|
|
// 关闭数据权限,避免因为没有数据权限,查询不到数据,进而导致唯一校验不正确
|
|
|
// 关闭数据权限,避免因为没有数据权限,查询不到数据,进而导致唯一校验不正确
|
|
@ -234,4 +250,6 @@ public class BomServiceImpl implements BomService { |
|
|
throw exception(BOM_PROCESS_CODE_NOT_EXISTS); |
|
|
throw exception(BOM_PROCESS_CODE_NOT_EXISTS); |
|
|
} |
|
|
} |
|
|
} |
|
|
} |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
} |
|
|
} |
|
|