@@ -272,8 +272,8 @@ public class ErpMaterialServiceImpl implements ErpMaterialService {
}
}
@Override
@Override
public List < ErpMaterialRespVO > getErpMaterialByMainMaterial ( Long mainMaterial ) {
public List < ErpMaterialRespVO > getErpMaterialByMainMaterial ( Long mainMaterial , String companyCode ) {
List < ErpMaterialCorrRspVO > erpMaterialByMainMaterial = erpMaterialCorrService . getErpMaterialByMainMaterial ( List . of ( mainMaterial ) ) ;
List < ErpMaterialCorrRspVO > erpMaterialByMainMaterial = erpMaterialCorrService . getErpMaterialByMainMaterial ( List . of ( mainMaterial ) , companyCode );
List < ErpMaterialDO > erpMaterialDOList = new ArrayList < > ( ) ;
List < ErpMaterialDO > erpMaterialDOList = new ArrayList < > ( ) ;
List < ErpMaterialRespVO > erpMaterialRespVOS = new ArrayList < > ( ) ;
List < ErpMaterialRespVO > erpMaterialRespVOS = new ArrayList < > ( ) ;
if ( erpMaterialByMainMaterial . isEmpty ( ) ) {
if ( erpMaterialByMainMaterial . isEmpty ( ) ) {
@@ -300,15 +300,11 @@ public class ErpMaterialServiceImpl implements ErpMaterialService {
@Override
@Override
public PageResult < ErpMaterialDO > getErpMaterialByApi ( MaterialInfomationApiVO vo ) {
public PageResult < ErpMaterialDO > getErpMaterialByApi ( MaterialInfomationApiVO vo ) {
//通过部门编码查询数据库, 获取到部门ID
//通过部门编码查询数据库, 获取到部门ID
List < ErpMaterialCorrRspVO > erpMaterialByCompanyCode = erpMaterialCorrService . getErpMaterialByCompanyCode ( vo . getDeptId ( ) ) ;
List < ErpMaterialCorrRspVO > erpMaterialByCompanyCode = erpMaterialCorrService . getErpMaterialByMainMaterialByCode ( vo . getDeptId ( ) , vo . getDeptId ( ) ) ;
if ( erpMaterialByCompanyCode . isEmpty ( ) ) {
if ( erpMaterialByCompanyCode . isEmpty ( ) ) {
return new PageResult < > ( ) ;
return new PageResult < > ( ) ;
}
}
Set < Long > collect = erpMaterialByCompanyCode . stream ( ) . map ( ErpMaterialCorrRspVO : : getDeptId ) . collect ( Collectors . toSet ( ) ) ;
Set < Long > collect = erpMaterialByCompanyCode . stream ( ) . map ( ErpMaterialCorrRspVO : : getDeptId ) . collect ( Collectors . toSet ( ) ) ;
if ( collect . size ( ) ! = 1 ) {
throw exception ( CUSTOM_ERROR , " 部门编码不唯一或部门编码不存在 " ) ;
}
DepartmentMaterialPageReqDTO material = new DepartmentMaterialPageReqDTO ( ) ;
DepartmentMaterialPageReqDTO material = new DepartmentMaterialPageReqDTO ( ) ;
material . setMaterialNumber ( vo . getMaterialNumber ( ) ) ;
material . setMaterialNumber ( vo . getMaterialNumber ( ) ) ;
material . setMaterialName ( vo . getMaterialName ( ) ) ;
material . setMaterialName ( vo . getMaterialName ( ) ) ;
@@ -318,7 +314,6 @@ public class ErpMaterialServiceImpl implements ErpMaterialService {
CommonResult < PageResult < DepartmentMaterialRespDTO > > departmentMaterialPage = departmentMaterialApi . getDepartmentMaterialPage ( material ) ;
CommonResult < PageResult < DepartmentMaterialRespDTO > > departmentMaterialPage = departmentMaterialApi . getDepartmentMaterialPage ( material ) ;
List < ErpMaterialDO > erpMaterialDOList = new ArrayList < > ( ) ;
List < ErpMaterialDO > erpMaterialDOList = new ArrayList < > ( ) ;
//开始时间
//开始时间
long startTime = System . currentTimeMillis ( ) ;
if ( departmentMaterialPage . getData ( ) ! = null & & departmentMaterialPage . getData ( ) . getList ( ) ! = null & & ! departmentMaterialPage . getData ( ) . getList ( ) . isEmpty ( ) ) {
if ( departmentMaterialPage . getData ( ) ! = null & & departmentMaterialPage . getData ( ) . getList ( ) ! = null & & ! departmentMaterialPage . getData ( ) . getList ( ) . isEmpty ( ) ) {
departmentMaterialPage . getData ( ) . getList ( ) . forEach ( materialInfomation - > {
departmentMaterialPage . getData ( ) . getList ( ) . forEach ( materialInfomation - > {
ErpMaterialDO erpMaterialDO = buildErpMaterialDOData ( CommonResult . success ( materialInfomation ) ) ;
ErpMaterialDO erpMaterialDO = buildErpMaterialDOData ( CommonResult . success ( materialInfomation ) ) ;
@@ -329,13 +324,22 @@ public class ErpMaterialServiceImpl implements ErpMaterialService {
}
}
@Override
@Override
public List < ErpMaterialDO > getErpMaterialByMainMaterialByCode ( String code , String deptId ) {
public List < ErpMaterialDO > getErpMaterialByMainMaterialByCode ( String code , String companyCode ) {
List < ErpMaterialDO > erpMaterialDOList = new ArrayList < > ( ) ;
DepartmentMaterialPageReqDTO material = new DepartmentMaterialPageReqDTO ( ) ;
DepartmentMaterialPageReqDTO material = new DepartmentMaterialPageReqDTO ( ) ;
material . setMaterialNumber ( code ) ;
material . setMaterialNumber ( code ) ;
material . setPageSize ( 10000 ) ;
material . setPageSize ( 10000 ) ;
material . setDeptId ( Long . valueOf ( deptId ) ) ;
List < ErpMaterialCorrRspVO > erpMaterialByCompanyCode = erpMaterialCorrService . getErpMaterialByCompanyCode ( companyCode ) ;
if ( erpMaterialByCompanyCode . isEmpty ( ) ) {
return erpMaterialDOList ;
}
Set < Long > collect = erpMaterialByCompanyCode . stream ( ) . map ( ErpMaterialCorrRspVO : : getDeptId ) . collect ( Collectors . toSet ( ) ) ;
if ( collect . size ( ) ! = 1 ) {
throw exception ( CUSTOM_ERROR , " 部门编码不唯一或部门编码不存在 " ) ;
}
material . setDeptId ( collect . iterator ( ) . next ( ) ) ;
CommonResult < PageResult < DepartmentMaterialRespDTO > > departmentMaterialPage = departmentMaterialApi . getDepartmentMaterialPage ( material ) ;
CommonResult < PageResult < DepartmentMaterialRespDTO > > departmentMaterialPage = departmentMaterialApi . getDepartmentMaterialPage ( material ) ;
List < ErpMaterialDO > erpMaterialDOList = new ArrayList < > ( ) ;
if ( departmentMaterialPage . isSuccess ( ) & & departmentMaterialPage . getData ( ) ! = null & & ! departmentMaterialPage . getData ( ) . getList ( ) . isEmpty ( ) ) {
if ( departmentMaterialPage . isSuccess ( ) & & departmentMaterialPage . getData ( ) ! = null & & ! departmentMaterialPage . getData ( ) . getList ( ) . isEmpty ( ) ) {
departmentMaterialPage . getData ( ) . getList ( ) . forEach ( materialInfomation - > {
departmentMaterialPage . getData ( ) . getList ( ) . forEach ( materialInfomation - > {
ErpMaterialDO erpMaterialDO = buildErpMaterialDOData ( CommonResult . success ( materialInfomation ) ) ;
ErpMaterialDO erpMaterialDO = buildErpMaterialDOData ( CommonResult . success ( materialInfomation ) ) ;
@@ -350,27 +354,36 @@ public class ErpMaterialServiceImpl implements ErpMaterialService {
public List < ErpMaterialDO > getErpMaterialByApiByCode ( String code , String companyCode ) {
public List < ErpMaterialDO > getErpMaterialByApiByCode ( String code , String companyCode ) {
List < ErpMaterialDO > erpMaterialDOList = new ArrayList < > ( ) ;
List < ErpMaterialDO > erpMaterialDOList = new ArrayList < > ( ) ;
//获取该物料编码下的所有物料id,并根据这个ID查询子物料
//获取该物料编码下的所有物料id,并根据这个ID查询子物料
List < ErpMaterialCorrRspVO > erpMaterialByMainMaterialByCode = erpMaterialCorrService . getErpMaterialByMainMaterialByCode ( code ) ;
List < ErpMaterialCorrRspVO > erpMaterialByMainMaterialByCode = erpMaterialCorrService . getErpMaterialByMainMaterialByCode ( code , companyCode );
if ( erpMaterialByMainMaterialByCode . isEmpty ( ) ) {
if ( erpMaterialByMainMaterialByCode . isEmpty ( ) ) {
return erpMaterialDOList ;
return erpMaterialDOList ;
}
}
List < ErpMaterialCorrRspVO > erpMaterialByCompanyCode = erpMaterialCorrService . getErpMaterialByCompanyCode ( companyCode ) ;
if ( erpMaterialByCompanyCode . isEmpty ( ) ) {
return erpMaterialDOList ;
}
Set < Long > collect = erpMaterialByCompanyCode . stream ( ) . map ( ErpMaterialCorrRspVO : : getDeptId ) . collect ( Collectors . toSet ( ) ) ;
if ( collect . size ( ) ! = 1 ) {
throw exception ( CUSTOM_ERROR , " 部门编码不唯一或部门编码不存在 " ) ;
}
List < Long > mIds = erpMaterialByMainMaterialByCode . stream ( ) . map ( ErpMaterialCorrRspVO : : getMaterialId ) . toList ( ) ;
List < Long > mIds = erpMaterialByMainMaterialByCode . stream ( ) . map ( ErpMaterialCorrRspVO : : getMaterialId ) . toList ( ) ;
DepartmentMaterialPageReqDTO departmentMaterialPageReqDTO = new DepartmentMaterialPageReqDTO ( ) ;
CommonResult < List < MaterialInfomationRespDTO > > materialInfomationListByIds = materialInfomationApi . getMaterialInfomationListByIds ( mIds ) ;
departmentMaterialPageReqDTO . s etInfomationIds ( mIds ) ;
if ( materialInfomationListByIds = = null | | materialInfomationListByIds . g etData ( ) = = null | | materialInfomationListByIds . getData ( ) . isEmpty ( ) ) {
departmentMaterialPageReqDTO . setPageSize ( 10000 ) ;
departmentMaterialPageReqDTO . setDeptId ( collect . iterator ( ) . next ( ) ) ;
PageResult < DepartmentMaterialRespDTO > departmentMaterialPage = departmentMaterialApi . getDepartmentMaterialPage ( departmentMaterialPageReqDTO ) . getData ( ) ;
if ( departmentMaterialPage = = null | | departmentMaterialPage . getList ( ) = = null | | departmentMaterialPage . getList ( ) . isEmpty ( ) ) {
return erpMaterialDOList ;
return erpMaterialDOList ;
}
}
List < MaterialInfomationRespDTO > data = materialInfomationListByIds . getData ( ) ;
PageResult < DepartmentMaterialRespDTO > departmentMaterialPage = new PageResult < > ( ) ;
List < DepartmentMaterialRespDTO > dtos = new ArrayList < > ( ) ;
data . forEach ( item - > {
DepartmentMaterialRespDTO departmentMaterialRespDTO = new DepartmentMaterialRespDTO ( ) ;
departmentMaterialRespDTO . setId ( item . getId ( ) ) ;
departmentMaterialRespDTO . setMaterialNumber ( item . getCode ( ) ) ;
departmentMaterialRespDTO . setMaterialName ( item . getName ( ) ) ;
departmentMaterialRespDTO . setClassesId ( item . getClassesId ( ) ) ;
departmentMaterialRespDTO . setRemark ( item . getRemark ( ) ) ;
departmentMaterialRespDTO . setCreateTime ( item . getCreateTime ( ) ) ;
departmentMaterialRespDTO . setFlatAttributes ( item . getFlatAttributes ( ) ) ;
dtos . add ( departmentMaterialRespDTO ) ;
} ) ;
departmentMaterialPage . setList ( dtos ) ;
departmentMaterialPage . setTotal ( ( long ) data . size ( ) ) ;
//// departmentMaterialPageReqDTO.setDeptId(collect.iterator().next());
// PageResult<DepartmentMaterialRespDTO> departmentMaterialPage = departmentMaterialApi.getDepartmentMaterialPage(departmentMaterialPageReqDTO).getData();
// if (departmentMaterialPage == null || departmentMaterialPage.getList() == null || departmentMaterialPage.getList().isEmpty()) {
// return erpMaterialDOList;
// }
departmentMaterialPage . getList ( ) . forEach ( item - > {
departmentMaterialPage . getList ( ) . forEach ( item - > {
ErpMaterialDO erpMaterialDO = buildErpMaterialDOData ( CommonResult . success ( item ) ) ;
ErpMaterialDO erpMaterialDO = buildErpMaterialDOData ( CommonResult . success ( item ) ) ;
erpMaterialDOList . add ( erpMaterialDO ) ;
erpMaterialDOList . add ( erpMaterialDO ) ;