diff --git a/zt-module-contract-order/zt-module-contract-order-api/src/main/java/com/zt/plat/module/contractorder/api/dto/contract/AmountSplitRespDTO.java b/zt-module-contract-order/zt-module-contract-order-api/src/main/java/com/zt/plat/module/contractorder/api/dto/contract/AmountSplitRespDTO.java new file mode 100644 index 00000000..f695409b --- /dev/null +++ b/zt-module-contract-order/zt-module-contract-order-api/src/main/java/com/zt/plat/module/contractorder/api/dto/contract/AmountSplitRespDTO.java @@ -0,0 +1,34 @@ +package com.zt.plat.module.contractorder.api.dto.contract; + +import io.swagger.v3.oas.annotations.media.Schema; +import lombok.Data; + +import java.math.BigDecimal; + +@Schema(description = "金额分配响应DTO") +@Data +public class AmountSplitRespDTO { + @Schema(description = "主键", requiredMode = Schema.RequiredMode.REQUIRED, example = "17357") + private Long id; + + @Schema(description = "物料名称", example = "赵六") + private String materialName; + + @Schema(description = "物料编码") + private String materialCode; + + @Schema(description = "元素缩写") + private String elementAbbreviation; + + @Schema(description = "元素名称", example = "张三") + private String elementName; + + @Schema(description = "元素编码") + private String elementCode; + + @Schema(description = "占比") + private BigDecimal ratio; + + @Schema(description = "合同id", example = "3781") + private Long contractId; +} diff --git a/zt-module-contract-order/zt-module-contract-order-api/src/main/java/com/zt/plat/module/contractorder/api/dto/contract/ContractRespDTO.java b/zt-module-contract-order/zt-module-contract-order-api/src/main/java/com/zt/plat/module/contractorder/api/dto/contract/ContractRespDTO.java index d51186dc..4ca0abfb 100644 --- a/zt-module-contract-order/zt-module-contract-order-api/src/main/java/com/zt/plat/module/contractorder/api/dto/contract/ContractRespDTO.java +++ b/zt-module-contract-order/zt-module-contract-order-api/src/main/java/com/zt/plat/module/contractorder/api/dto/contract/ContractRespDTO.java @@ -286,4 +286,7 @@ public class ContractRespDTO { @Schema(description = "收发货规则") private List contractReceiveSends; + + @Schema(description = "金额拆分") + private List amountSplits; } diff --git a/zt-module-contract-order/zt-module-contract-order-server/src/main/java/com/zt/plat/module/contractorder/service/contract/ContractServiceImpl.java b/zt-module-contract-order/zt-module-contract-order-server/src/main/java/com/zt/plat/module/contractorder/service/contract/ContractServiceImpl.java index 408a7121..66fb695f 100644 --- a/zt-module-contract-order/zt-module-contract-order-server/src/main/java/com/zt/plat/module/contractorder/service/contract/ContractServiceImpl.java +++ b/zt-module-contract-order/zt-module-contract-order-server/src/main/java/com/zt/plat/module/contractorder/service/contract/ContractServiceImpl.java @@ -125,11 +125,13 @@ public class ContractServiceImpl implements ContractService { private ContractReceiveSendService contractReceiveSendService; @Resource private AmountDismantleService amountDismantleService; + @Override public PageResult getContractPage(ContractPageReqVO pageReqVO) { return contractMainMapper.selectContractPage(pageReqVO); } - boolean isContractReceiveSendValid(List contractReceiveSends){ + + boolean isContractReceiveSendValid(List contractReceiveSends) { if (CollectionUtils.isEmpty(contractReceiveSends)) { return true; } @@ -320,7 +322,7 @@ public class ContractServiceImpl implements ContractService { }); } //插入资金拆分表 - if(reqVO.getAmountSplit() != null && !reqVO.getAmountSplit().isEmpty()){ + if (reqVO.getAmountSplit() != null && !reqVO.getAmountSplit().isEmpty()) { reqVO.getAmountSplit().forEach(amountDismantle -> { amountDismantle.setContractId(contractId); amountDismantleService.createAmountDismantle(amountDismantle); @@ -961,22 +963,22 @@ public class ContractServiceImpl implements ContractService { submitErp(newContractMainDO.getId()); } //更新收发货规则 - if (reqVO.getContractReceiveSends() != null && !reqVO.getContractReceiveSends().isEmpty()){ + if (reqVO.getContractReceiveSends() != null && !reqVO.getContractReceiveSends().isEmpty()) { //通过合同id删除收发货规则 List contractReceiveSendListByContract = contractReceiveSendService.getContractReceiveSendListByContractId(id); contractReceiveSendService.deleteContractReceiveSendListByIds(contractReceiveSendListByContract.stream().map(ContractReceiveSendRespVO::getId).toList()); //重新插入收发货规则 - reqVO.getContractReceiveSends().forEach(item->{ + reqVO.getContractReceiveSends().forEach(item -> { item.setContractId(id); item.setId(null); contractReceiveSendService.createContractReceiveSend(item); }); } //更新资金拆分表(直接先删除后面再插入) - if (reqVO.getAmountSplit()!=null &&!reqVO.getAmountSplit().isEmpty()){ + if (reqVO.getAmountSplit() != null && !reqVO.getAmountSplit().isEmpty()) { List amountDismantleList = amountDismantleService.getAmountDismantleListByContractId(id); amountDismantleService.deleteAmountDismantleListByIds(amountDismantleList.stream().map(AmountDismantleDO::getId).toList()); - reqVO.getAmountSplit().forEach(item->{ + reqVO.getAmountSplit().forEach(item -> { item.setContractId(id); item.setId(null); amountDismantleService.createAmountDismantle(item); @@ -1420,10 +1422,14 @@ public class ContractServiceImpl implements ContractService { } //收发货 List contractReceiveSendListByContractId = contractReceiveSendService.getContractReceiveSendListByContractId(contractMainDO.getId()); - if (contractReceiveSendListByContractId!=null&&!contractReceiveSendListByContractId.isEmpty()){ + if (contractReceiveSendListByContractId != null && !contractReceiveSendListByContractId.isEmpty()) { respDTO.setContractReceiveSends(BeanUtils.toBean(contractReceiveSendListByContractId, ContractReceiveSendRespDTO.class)); } - + //金额拆分 + List amountDismantleListByContractId = amountDismantleService.getAmountDismantleListByContractId(contractMainDO.getId()); + if (amountDismantleListByContractId != null && !amountDismantleListByContractId.isEmpty()) { + respDTO.setAmountSplits(BeanUtils.toBean(amountDismantleListByContractId,AmountSplitRespDTO.class)); + } return respDTO; } @@ -1513,16 +1519,19 @@ public class ContractServiceImpl implements ContractService { } //收发货 List contractReceiveSendListByContractId = contractReceiveSendService.getContractReceiveSendListByContractId(contractMainDO.getId()); - if (contractReceiveSendListByContractId!=null&&!contractReceiveSendListByContractId.isEmpty()){ + if (contractReceiveSendListByContractId != null && !contractReceiveSendListByContractId.isEmpty()) { respDTO.setContractReceiveSends(BeanUtils.toBean(contractReceiveSendListByContractId, ContractReceiveSendRespDTO.class)); } + //金额拆分 + List amountDismantleListByContractId = amountDismantleService.getAmountDismantleListByContractId(contractMainDO.getId()); + if (amountDismantleListByContractId != null && !amountDismantleListByContractId.isEmpty()) { + respDTO.setAmountSplits(BeanUtils.toBean(amountDismantleListByContractId,AmountSplitRespDTO.class)); + } return respDTO; } - - @Override public JSONObject submitErp(Long id) { diff --git a/zt-module-erp/zt-module-erp-api/src/main/java/com/zt/plat/module/erp/enums/ErrorCodeConstants.java b/zt-module-erp/zt-module-erp-api/src/main/java/com/zt/plat/module/erp/enums/ErrorCodeConstants.java index dd799267..cbff4f20 100644 --- a/zt-module-erp/zt-module-erp-api/src/main/java/com/zt/plat/module/erp/enums/ErrorCodeConstants.java +++ b/zt-module-erp/zt-module-erp-api/src/main/java/com/zt/plat/module/erp/enums/ErrorCodeConstants.java @@ -57,7 +57,7 @@ public interface ErrorCodeConstants { ErrorCode ERP_PRODUCTIVE_ORDER_NOT_EXISTS = new ErrorCode(1_017_000_001, "ERP生产订单数据不存在"); ErrorCode MATERIAL_ERROR = new ErrorCode( 1_017_000_009, "主物料信息错误"); - + ErrorCode CUSTOM_ERROR = new ErrorCode(1_017_000_010, "{}"); ErrorCode INTERNAL_WAREHOUSE_NOT_EXISTS= new ErrorCode(1_017_000_011,"内部仓库不存在"); ErrorCode INTERNAL_WAREHOUSE_EXISTS=new ErrorCode(1_017_000_012,"内部仓库已存在"); ErrorCode WAREHOUSE_FACTORY_NOT_EXISTS=new ErrorCode(1_017_000_010,"库位与工厂信息不存在"); diff --git a/zt-module-erp/zt-module-erp-server/src/main/java/com/zt/plat/module/erp/controller/admin/erp/ErpMaterialController.java b/zt-module-erp/zt-module-erp-server/src/main/java/com/zt/plat/module/erp/controller/admin/erp/ErpMaterialController.java index a7d9c949..25a3eca3 100644 --- a/zt-module-erp/zt-module-erp-server/src/main/java/com/zt/plat/module/erp/controller/admin/erp/ErpMaterialController.java +++ b/zt-module-erp/zt-module-erp-server/src/main/java/com/zt/plat/module/erp/controller/admin/erp/ErpMaterialController.java @@ -158,13 +158,8 @@ public class ErpMaterialController implements BusinessControllerMarker { @Operation(summary = "通过接口查询物料") @PreAuthorize("@ss.hasAnyPermissions({'sply:erp-material:query','basic:material-config:query'})") public CommonResult> getErpMaterialByApi(@RequestBody MaterialInfomationApiVO vo) { - DepartmentMaterialPageReqDTO material = new DepartmentMaterialPageReqDTO(); - material.setMaterialNumber(vo.getMaterialNumber()); - material.setMaterialName(vo.getMaterialName()); - material.setPageSize(vo.getPageSize()); - material.setPageNo(vo.getPageNo()); - material.setDeptId(Long.valueOf(vo.getDeptId())); - PageResult erpMaterialByApi = erpMaterialService.getErpMaterialByApi(material); + PageResult erpMaterialByApi = erpMaterialService.getErpMaterialByApi(vo); + return success(BeanUtils.toBean(erpMaterialByApi, ErpMaterialRespVO.class)); } //通过主物料查询子物料信息 diff --git a/zt-module-erp/zt-module-erp-server/src/main/java/com/zt/plat/module/erp/controller/admin/erp/vo/ErpMaterialCorrRspVO.java b/zt-module-erp/zt-module-erp-server/src/main/java/com/zt/plat/module/erp/controller/admin/erp/vo/ErpMaterialCorrRspVO.java index b83f9896..d8011ec7 100644 --- a/zt-module-erp/zt-module-erp-server/src/main/java/com/zt/plat/module/erp/controller/admin/erp/vo/ErpMaterialCorrRspVO.java +++ b/zt-module-erp/zt-module-erp-server/src/main/java/com/zt/plat/module/erp/controller/admin/erp/vo/ErpMaterialCorrRspVO.java @@ -35,4 +35,26 @@ public class ErpMaterialCorrRspVO { */ @Schema(description = "拓展关系物料编号") private String materialCode; + /** + * 公司编码 + */ + @Schema(description = "公司编码") + @NotNull(message = "公司编码不能为空") + private String companyId; + /** + * 公司编码 + */ + @Schema(description = "公司编码") + private String companyCode; + + /** + * 部门ID + */ + @Schema(description = "部门ID", requiredMode = Schema.RequiredMode.REQUIRED) + private Long deptId; + /** + * 部门编码 + */ + @Schema(description = "部门编码", requiredMode = Schema.RequiredMode.REQUIRED) + private String deptCode; } diff --git a/zt-module-erp/zt-module-erp-server/src/main/java/com/zt/plat/module/erp/controller/admin/erp/vo/ErpMaterialCorrSaveReqVO.java b/zt-module-erp/zt-module-erp-server/src/main/java/com/zt/plat/module/erp/controller/admin/erp/vo/ErpMaterialCorrSaveReqVO.java index f325a67b..ba7e036b 100644 --- a/zt-module-erp/zt-module-erp-server/src/main/java/com/zt/plat/module/erp/controller/admin/erp/vo/ErpMaterialCorrSaveReqVO.java +++ b/zt-module-erp/zt-module-erp-server/src/main/java/com/zt/plat/module/erp/controller/admin/erp/vo/ErpMaterialCorrSaveReqVO.java @@ -1,6 +1,7 @@ package com.zt.plat.module.erp.controller.admin.erp.vo; +import com.baomidou.mybatisplus.annotation.TableField; import io.swagger.v3.oas.annotations.media.Schema; import jakarta.validation.constraints.NotNull; import lombok.Data; @@ -28,6 +29,22 @@ public class ErpMaterialCorrSaveReqVO { */ @Schema(description = "拓展关系主物料编号") private String materialParentCode; + /** + * 公司编码 + */ + @Schema(description = "公司编码") + private String companyCode; + + /** + * 部门ID + */ + @Schema(description = "部门ID") + private Long deptId; + /** + * 部门编码 + */ + @Schema(description = "部门编码") + private String deptCode; /** * 拓展关系物料 */ diff --git a/zt-module-erp/zt-module-erp-server/src/main/java/com/zt/plat/module/erp/dal/dataobject/erp/ErpMaterialCorrDO.java b/zt-module-erp/zt-module-erp-server/src/main/java/com/zt/plat/module/erp/dal/dataobject/erp/ErpMaterialCorrDO.java index 2b95f390..30eca7d9 100644 --- a/zt-module-erp/zt-module-erp-server/src/main/java/com/zt/plat/module/erp/dal/dataobject/erp/ErpMaterialCorrDO.java +++ b/zt-module-erp/zt-module-erp-server/src/main/java/com/zt/plat/module/erp/dal/dataobject/erp/ErpMaterialCorrDO.java @@ -50,4 +50,30 @@ public class ErpMaterialCorrDO extends BaseDO { */ @TableField("MTRL_CODE") private String materialCode; + + /** + * 公司ID + */ + + @TableField("COMPANY_ID") + private Long companyId; + + + /** + * 公司编码 + */ + + @TableField("COMPANY_CODE") + private String companyCode; + + /** + * 部门ID + */ + @TableField("DEPT_ID") + private Long deptId; + /** + * 部门编码 + */ + @TableField("DEPT_CODE") + private String deptCode; } \ No newline at end of file diff --git a/zt-module-erp/zt-module-erp-server/src/main/java/com/zt/plat/module/erp/service/erp/ErpErpMaterialCorrService.java b/zt-module-erp/zt-module-erp-server/src/main/java/com/zt/plat/module/erp/service/erp/ErpErpMaterialCorrService.java index 13174c5b..0bdd808b 100644 --- a/zt-module-erp/zt-module-erp-server/src/main/java/com/zt/plat/module/erp/service/erp/ErpErpMaterialCorrService.java +++ b/zt-module-erp/zt-module-erp-server/src/main/java/com/zt/plat/module/erp/service/erp/ErpErpMaterialCorrService.java @@ -19,4 +19,6 @@ public interface ErpErpMaterialCorrService { List getErpMaterialByMainMaterial(List mainMaterialIds); List getErpMaterialByMainMaterialByCode(String code); + + List getErpMaterialByCompanyCode(String CompanyCode); } diff --git a/zt-module-erp/zt-module-erp-server/src/main/java/com/zt/plat/module/erp/service/erp/ErpErpMaterialCorrServiceImpl.java b/zt-module-erp/zt-module-erp-server/src/main/java/com/zt/plat/module/erp/service/erp/ErpErpMaterialCorrServiceImpl.java index 5f98277b..40caf2c1 100644 --- a/zt-module-erp/zt-module-erp-server/src/main/java/com/zt/plat/module/erp/service/erp/ErpErpMaterialCorrServiceImpl.java +++ b/zt-module-erp/zt-module-erp-server/src/main/java/com/zt/plat/module/erp/service/erp/ErpErpMaterialCorrServiceImpl.java @@ -23,6 +23,10 @@ public class ErpErpMaterialCorrServiceImpl implements ErpErpMaterialCorrService{ public List create(ErpMaterialCorrSaveReqVO reqVO) { List erpMaterialCorrDOS=new ArrayList<>(); reqVO.getMaterials().forEach(materials -> { + //判断是否存在 + if (erpErpMaterialCorrMapper.selectOne(ErpMaterialCorrDO::getMaterialParentId,reqVO.getMaterialParentId(), ErpMaterialCorrDO::getMaterialId,materials.getMaterialId()) != null) { + return; + } erpMaterialCorrDOS.add(ErpMaterialCorrDO.builder() .materialParentId(reqVO.getMaterialParentId()) .materialParentCode(reqVO.getMaterialParentCode()) @@ -48,4 +52,9 @@ public class ErpErpMaterialCorrServiceImpl implements ErpErpMaterialCorrService{ public List getErpMaterialByMainMaterialByCode(String code) { return BeanUtils.toBean(erpErpMaterialCorrMapper.selectList(ErpMaterialCorrDO::getMaterialParentCode, code), ErpMaterialCorrRspVO.class); } + + @Override + public List getErpMaterialByCompanyCode(String CompanyCode) { + return BeanUtils.toBean(erpErpMaterialCorrMapper.selectList(ErpMaterialCorrDO::getCompanyCode, CompanyCode), ErpMaterialCorrRspVO.class); + } } diff --git a/zt-module-erp/zt-module-erp-server/src/main/java/com/zt/plat/module/erp/service/erp/ErpMaterialService.java b/zt-module-erp/zt-module-erp-server/src/main/java/com/zt/plat/module/erp/service/erp/ErpMaterialService.java index 04ad643a..a64da689 100644 --- a/zt-module-erp/zt-module-erp-server/src/main/java/com/zt/plat/module/erp/service/erp/ErpMaterialService.java +++ b/zt-module-erp/zt-module-erp-server/src/main/java/com/zt/plat/module/erp/service/erp/ErpMaterialService.java @@ -5,10 +5,7 @@ import com.zt.plat.framework.common.pojo.vo.BatchDeleteReqVO; import com.zt.plat.module.base.api.departmentmaterial.dto.DepartmentMaterialPageReqDTO; import com.zt.plat.module.base.api.materialinfomation.dto.MaterialInfomationPageReqDTO; import com.zt.plat.module.erp.api.dto.ErpMaterialDTO; -import com.zt.plat.module.erp.controller.admin.erp.vo.ErpMaterialCorrSaveReqVO; -import com.zt.plat.module.erp.controller.admin.erp.vo.ErpMaterialPageReqVO; -import com.zt.plat.module.erp.controller.admin.erp.vo.ErpMaterialRespVO; -import com.zt.plat.module.erp.controller.admin.erp.vo.ErpMaterialSaveReqVO; +import com.zt.plat.module.erp.controller.admin.erp.vo.*; import com.zt.plat.module.erp.dal.dataobject.erp.ErpMaterialDO; import jakarta.validation.Valid; @@ -80,7 +77,7 @@ public interface ErpMaterialService { List getErpMaterialByMainMaterial(Long mainMaterialId); - PageResult getErpMaterialByApi( DepartmentMaterialPageReqDTO material); + PageResult getErpMaterialByApi( MaterialInfomationApiVO vo); List getErpMaterialByMainMaterialByCode(String code,String deptId); diff --git a/zt-module-erp/zt-module-erp-server/src/main/java/com/zt/plat/module/erp/service/erp/ErpMaterialServiceImpl.java b/zt-module-erp/zt-module-erp-server/src/main/java/com/zt/plat/module/erp/service/erp/ErpMaterialServiceImpl.java index 9d7a5211..e0d9598f 100644 --- a/zt-module-erp/zt-module-erp-server/src/main/java/com/zt/plat/module/erp/service/erp/ErpMaterialServiceImpl.java +++ b/zt-module-erp/zt-module-erp-server/src/main/java/com/zt/plat/module/erp/service/erp/ErpMaterialServiceImpl.java @@ -210,7 +210,7 @@ public class ErpMaterialServiceImpl implements ErpMaterialService { private ErpMaterialRespVO buildErpMaterialRespDataById(Long id) { DepartmentMaterialPageReqDTO departmentMaterialPageReqDTO = new DepartmentMaterialPageReqDTO(); departmentMaterialPageReqDTO.setInfomationId(id); - departmentMaterialPageReqDTO.setPageSize(PAGE_SIZE_NONE); + departmentMaterialPageReqDTO.setPageSize(10000); PageResult data = departmentMaterialApi.getDepartmentMaterialPage(departmentMaterialPageReqDTO).getData(); if (data == null || data.getList().isEmpty()) { return null; @@ -294,30 +294,38 @@ public class ErpMaterialServiceImpl implements ErpMaterialService { erpMaterialDOList.add(erpMaterialDO); }); erpMaterialRespVOS = BeanUtils.toBean(erpMaterialDOList, ErpMaterialRespVO.class); - erpMaterialRespVOS.forEach( - m -> { - erpMaterialByMainMaterial.forEach( - i -> { - if (Objects.equals(m.getId(), i.getMaterialId())) { - m.setCorrId(i.getId()); - } - } - ); - } - ); return erpMaterialRespVOS; } @Override - public PageResult getErpMaterialByApi(DepartmentMaterialPageReqDTO material) { + public PageResult getErpMaterialByApi(MaterialInfomationApiVO vo) { + //通过部门编码查询数据库,获取到部门ID + List erpMaterialByCompanyCode = erpMaterialCorrService.getErpMaterialByCompanyCode(vo.getDeptId()); + if (erpMaterialByCompanyCode.isEmpty()) { + return new PageResult<>(); + } + Set collect = erpMaterialByCompanyCode.stream().map(ErpMaterialCorrRspVO::getDeptId).collect(Collectors.toSet()); + if (collect.size() != 1) { + throw exception(CUSTOM_ERROR, "部门编码不唯一或部门编码不存在"); + } + + DepartmentMaterialPageReqDTO material = new DepartmentMaterialPageReqDTO(); + material.setMaterialNumber(vo.getMaterialNumber()); + material.setMaterialName(vo.getMaterialName()); + material.setPageSize(vo.getPageSize()); + material.setPageNo(vo.getPageNo()); + material.setDeptId(collect.iterator().next()); CommonResult> departmentMaterialPage = departmentMaterialApi.getDepartmentMaterialPage(material); List erpMaterialDOList = new ArrayList<>(); + //开始时间 + long startTime = System.currentTimeMillis(); if (departmentMaterialPage.getData() != null && departmentMaterialPage.getData().getList() != null && !departmentMaterialPage.getData().getList().isEmpty()) { departmentMaterialPage.getData().getList().forEach(materialInfomation -> { ErpMaterialDO erpMaterialDO = buildErpMaterialDOData(CommonResult.success(materialInfomation)); erpMaterialDOList.add(erpMaterialDO); }); } + System.out.println("==============查询物料数据耗时:============"+String.valueOf(System.currentTimeMillis() - startTime)); return new PageResult<>(erpMaterialDOList, departmentMaterialPage.getData().getTotal()); } @@ -340,17 +348,26 @@ public class ErpMaterialServiceImpl implements ErpMaterialService { } @Override - public List getErpMaterialByApiByCode(String code, String deptId) { + public List getErpMaterialByApiByCode(String code, String companyCode) { List erpMaterialDOList = new ArrayList<>(); //获取该物料编码下的所有物料id,并根据这个ID查询子物料 List erpMaterialByMainMaterialByCode = erpMaterialCorrService.getErpMaterialByMainMaterialByCode(code); if (erpMaterialByMainMaterialByCode.isEmpty()) { return erpMaterialDOList; } - List mIds = erpMaterialByMainMaterialByCode.stream().map(ErpMaterialCorrRspVO::getId).toList(); + List erpMaterialByCompanyCode = erpMaterialCorrService.getErpMaterialByCompanyCode(companyCode); + if (erpMaterialByCompanyCode.isEmpty()){ + return erpMaterialDOList; + } + Set collect = erpMaterialByCompanyCode.stream().map(ErpMaterialCorrRspVO::getDeptId).collect(Collectors.toSet()); + if (collect.size() != 1) { + throw exception(CUSTOM_ERROR, "部门编码不唯一或部门编码不存在"); + } + List mIds = erpMaterialByMainMaterialByCode.stream().map(ErpMaterialCorrRspVO::getMaterialId).toList(); DepartmentMaterialPageReqDTO departmentMaterialPageReqDTO = new DepartmentMaterialPageReqDTO(); departmentMaterialPageReqDTO.setInfomationIds(mIds); departmentMaterialPageReqDTO.setPageSize(10000); + departmentMaterialPageReqDTO.setDeptId(collect.iterator().next()); PageResult departmentMaterialPage = departmentMaterialApi.getDepartmentMaterialPage(departmentMaterialPageReqDTO).getData(); if (departmentMaterialPage == null || departmentMaterialPage.getList() == null || departmentMaterialPage.getList().isEmpty()) { return erpMaterialDOList;