计划管理相关功能实现
This commit is contained in:
@@ -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;
|
||||||
|
}
|
||||||
@@ -286,4 +286,7 @@ public class ContractRespDTO {
|
|||||||
|
|
||||||
@Schema(description = "收发货规则")
|
@Schema(description = "收发货规则")
|
||||||
private List<ContractReceiveSendRespDTO> contractReceiveSends;
|
private List<ContractReceiveSendRespDTO> contractReceiveSends;
|
||||||
|
|
||||||
|
@Schema(description = "金额拆分")
|
||||||
|
private List<AmountSplitRespDTO> amountSplits;
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -125,11 +125,13 @@ public class ContractServiceImpl implements ContractService {
|
|||||||
private ContractReceiveSendService contractReceiveSendService;
|
private ContractReceiveSendService contractReceiveSendService;
|
||||||
@Resource
|
@Resource
|
||||||
private AmountDismantleService amountDismantleService;
|
private AmountDismantleService amountDismantleService;
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public PageResult<ContractMainDO> getContractPage(ContractPageReqVO pageReqVO) {
|
public PageResult<ContractMainDO> getContractPage(ContractPageReqVO pageReqVO) {
|
||||||
return contractMainMapper.selectContractPage(pageReqVO);
|
return contractMainMapper.selectContractPage(pageReqVO);
|
||||||
}
|
}
|
||||||
boolean isContractReceiveSendValid(List<ContractReceiveSendSaveReqVO> contractReceiveSends){
|
|
||||||
|
boolean isContractReceiveSendValid(List<ContractReceiveSendSaveReqVO> contractReceiveSends) {
|
||||||
if (CollectionUtils.isEmpty(contractReceiveSends)) {
|
if (CollectionUtils.isEmpty(contractReceiveSends)) {
|
||||||
return true;
|
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 -> {
|
reqVO.getAmountSplit().forEach(amountDismantle -> {
|
||||||
amountDismantle.setContractId(contractId);
|
amountDismantle.setContractId(contractId);
|
||||||
amountDismantleService.createAmountDismantle(amountDismantle);
|
amountDismantleService.createAmountDismantle(amountDismantle);
|
||||||
@@ -961,22 +963,22 @@ public class ContractServiceImpl implements ContractService {
|
|||||||
submitErp(newContractMainDO.getId());
|
submitErp(newContractMainDO.getId());
|
||||||
}
|
}
|
||||||
//更新收发货规则
|
//更新收发货规则
|
||||||
if (reqVO.getContractReceiveSends() != null && !reqVO.getContractReceiveSends().isEmpty()){
|
if (reqVO.getContractReceiveSends() != null && !reqVO.getContractReceiveSends().isEmpty()) {
|
||||||
//通过合同id删除收发货规则
|
//通过合同id删除收发货规则
|
||||||
List<ContractReceiveSendRespVO> contractReceiveSendListByContract = contractReceiveSendService.getContractReceiveSendListByContractId(id);
|
List<ContractReceiveSendRespVO> contractReceiveSendListByContract = contractReceiveSendService.getContractReceiveSendListByContractId(id);
|
||||||
contractReceiveSendService.deleteContractReceiveSendListByIds(contractReceiveSendListByContract.stream().map(ContractReceiveSendRespVO::getId).toList());
|
contractReceiveSendService.deleteContractReceiveSendListByIds(contractReceiveSendListByContract.stream().map(ContractReceiveSendRespVO::getId).toList());
|
||||||
//重新插入收发货规则
|
//重新插入收发货规则
|
||||||
reqVO.getContractReceiveSends().forEach(item->{
|
reqVO.getContractReceiveSends().forEach(item -> {
|
||||||
item.setContractId(id);
|
item.setContractId(id);
|
||||||
item.setId(null);
|
item.setId(null);
|
||||||
contractReceiveSendService.createContractReceiveSend(item);
|
contractReceiveSendService.createContractReceiveSend(item);
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
//更新资金拆分表(直接先删除后面再插入)
|
//更新资金拆分表(直接先删除后面再插入)
|
||||||
if (reqVO.getAmountSplit()!=null &&!reqVO.getAmountSplit().isEmpty()){
|
if (reqVO.getAmountSplit() != null && !reqVO.getAmountSplit().isEmpty()) {
|
||||||
List<AmountDismantleDO> amountDismantleList = amountDismantleService.getAmountDismantleListByContractId(id);
|
List<AmountDismantleDO> amountDismantleList = amountDismantleService.getAmountDismantleListByContractId(id);
|
||||||
amountDismantleService.deleteAmountDismantleListByIds(amountDismantleList.stream().map(AmountDismantleDO::getId).toList());
|
amountDismantleService.deleteAmountDismantleListByIds(amountDismantleList.stream().map(AmountDismantleDO::getId).toList());
|
||||||
reqVO.getAmountSplit().forEach(item->{
|
reqVO.getAmountSplit().forEach(item -> {
|
||||||
item.setContractId(id);
|
item.setContractId(id);
|
||||||
item.setId(null);
|
item.setId(null);
|
||||||
amountDismantleService.createAmountDismantle(item);
|
amountDismantleService.createAmountDismantle(item);
|
||||||
@@ -1420,10 +1422,14 @@ public class ContractServiceImpl implements ContractService {
|
|||||||
}
|
}
|
||||||
//收发货
|
//收发货
|
||||||
List<ContractReceiveSendRespVO> contractReceiveSendListByContractId = contractReceiveSendService.getContractReceiveSendListByContractId(contractMainDO.getId());
|
List<ContractReceiveSendRespVO> contractReceiveSendListByContractId = contractReceiveSendService.getContractReceiveSendListByContractId(contractMainDO.getId());
|
||||||
if (contractReceiveSendListByContractId!=null&&!contractReceiveSendListByContractId.isEmpty()){
|
if (contractReceiveSendListByContractId != null && !contractReceiveSendListByContractId.isEmpty()) {
|
||||||
respDTO.setContractReceiveSends(BeanUtils.toBean(contractReceiveSendListByContractId, ContractReceiveSendRespDTO.class));
|
respDTO.setContractReceiveSends(BeanUtils.toBean(contractReceiveSendListByContractId, ContractReceiveSendRespDTO.class));
|
||||||
}
|
}
|
||||||
|
//金额拆分
|
||||||
|
List<AmountDismantleDO> amountDismantleListByContractId = amountDismantleService.getAmountDismantleListByContractId(contractMainDO.getId());
|
||||||
|
if (amountDismantleListByContractId != null && !amountDismantleListByContractId.isEmpty()) {
|
||||||
|
respDTO.setAmountSplits(BeanUtils.toBean(amountDismantleListByContractId,AmountSplitRespDTO.class));
|
||||||
|
}
|
||||||
return respDTO;
|
return respDTO;
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -1513,16 +1519,19 @@ public class ContractServiceImpl implements ContractService {
|
|||||||
}
|
}
|
||||||
//收发货
|
//收发货
|
||||||
List<ContractReceiveSendRespVO> contractReceiveSendListByContractId = contractReceiveSendService.getContractReceiveSendListByContractId(contractMainDO.getId());
|
List<ContractReceiveSendRespVO> contractReceiveSendListByContractId = contractReceiveSendService.getContractReceiveSendListByContractId(contractMainDO.getId());
|
||||||
if (contractReceiveSendListByContractId!=null&&!contractReceiveSendListByContractId.isEmpty()){
|
if (contractReceiveSendListByContractId != null && !contractReceiveSendListByContractId.isEmpty()) {
|
||||||
respDTO.setContractReceiveSends(BeanUtils.toBean(contractReceiveSendListByContractId, ContractReceiveSendRespDTO.class));
|
respDTO.setContractReceiveSends(BeanUtils.toBean(contractReceiveSendListByContractId, ContractReceiveSendRespDTO.class));
|
||||||
}
|
}
|
||||||
|
//金额拆分
|
||||||
|
List<AmountDismantleDO> amountDismantleListByContractId = amountDismantleService.getAmountDismantleListByContractId(contractMainDO.getId());
|
||||||
|
if (amountDismantleListByContractId != null && !amountDismantleListByContractId.isEmpty()) {
|
||||||
|
respDTO.setAmountSplits(BeanUtils.toBean(amountDismantleListByContractId,AmountSplitRespDTO.class));
|
||||||
|
}
|
||||||
|
|
||||||
return respDTO;
|
return respDTO;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public JSONObject submitErp(Long id) {
|
public JSONObject submitErp(Long id) {
|
||||||
|
|
||||||
|
|||||||
@@ -57,7 +57,7 @@ public interface ErrorCodeConstants {
|
|||||||
ErrorCode ERP_PRODUCTIVE_ORDER_NOT_EXISTS = new ErrorCode(1_017_000_001, "ERP生产订单数据不存在");
|
ErrorCode ERP_PRODUCTIVE_ORDER_NOT_EXISTS = new ErrorCode(1_017_000_001, "ERP生产订单数据不存在");
|
||||||
|
|
||||||
ErrorCode MATERIAL_ERROR = new ErrorCode( 1_017_000_009, "主物料信息错误");
|
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_NOT_EXISTS= new ErrorCode(1_017_000_011,"内部仓库不存在");
|
||||||
ErrorCode INTERNAL_WAREHOUSE_EXISTS=new ErrorCode(1_017_000_012,"内部仓库已存在");
|
ErrorCode INTERNAL_WAREHOUSE_EXISTS=new ErrorCode(1_017_000_012,"内部仓库已存在");
|
||||||
ErrorCode WAREHOUSE_FACTORY_NOT_EXISTS=new ErrorCode(1_017_000_010,"库位与工厂信息不存在");
|
ErrorCode WAREHOUSE_FACTORY_NOT_EXISTS=new ErrorCode(1_017_000_010,"库位与工厂信息不存在");
|
||||||
|
|||||||
@@ -158,13 +158,8 @@ public class ErpMaterialController implements BusinessControllerMarker {
|
|||||||
@Operation(summary = "通过接口查询物料")
|
@Operation(summary = "通过接口查询物料")
|
||||||
@PreAuthorize("@ss.hasAnyPermissions({'sply:erp-material:query','basic:material-config:query'})")
|
@PreAuthorize("@ss.hasAnyPermissions({'sply:erp-material:query','basic:material-config:query'})")
|
||||||
public CommonResult<PageResult<ErpMaterialRespVO>> getErpMaterialByApi(@RequestBody MaterialInfomationApiVO vo) {
|
public CommonResult<PageResult<ErpMaterialRespVO>> getErpMaterialByApi(@RequestBody MaterialInfomationApiVO vo) {
|
||||||
DepartmentMaterialPageReqDTO material = new DepartmentMaterialPageReqDTO();
|
PageResult<ErpMaterialDO> erpMaterialByApi = erpMaterialService.getErpMaterialByApi(vo);
|
||||||
material.setMaterialNumber(vo.getMaterialNumber());
|
|
||||||
material.setMaterialName(vo.getMaterialName());
|
|
||||||
material.setPageSize(vo.getPageSize());
|
|
||||||
material.setPageNo(vo.getPageNo());
|
|
||||||
material.setDeptId(Long.valueOf(vo.getDeptId()));
|
|
||||||
PageResult<ErpMaterialDO> erpMaterialByApi = erpMaterialService.getErpMaterialByApi(material);
|
|
||||||
return success(BeanUtils.toBean(erpMaterialByApi, ErpMaterialRespVO.class));
|
return success(BeanUtils.toBean(erpMaterialByApi, ErpMaterialRespVO.class));
|
||||||
}
|
}
|
||||||
//通过主物料查询子物料信息
|
//通过主物料查询子物料信息
|
||||||
|
|||||||
@@ -35,4 +35,26 @@ public class ErpMaterialCorrRspVO {
|
|||||||
*/
|
*/
|
||||||
@Schema(description = "拓展关系物料编号")
|
@Schema(description = "拓展关系物料编号")
|
||||||
private String materialCode;
|
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;
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -1,6 +1,7 @@
|
|||||||
package com.zt.plat.module.erp.controller.admin.erp.vo;
|
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 io.swagger.v3.oas.annotations.media.Schema;
|
||||||
import jakarta.validation.constraints.NotNull;
|
import jakarta.validation.constraints.NotNull;
|
||||||
import lombok.Data;
|
import lombok.Data;
|
||||||
@@ -28,6 +29,22 @@ public class ErpMaterialCorrSaveReqVO {
|
|||||||
*/
|
*/
|
||||||
@Schema(description = "拓展关系主物料编号")
|
@Schema(description = "拓展关系主物料编号")
|
||||||
private String materialParentCode;
|
private String materialParentCode;
|
||||||
|
/**
|
||||||
|
* 公司编码
|
||||||
|
*/
|
||||||
|
@Schema(description = "公司编码")
|
||||||
|
private String companyCode;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 部门ID
|
||||||
|
*/
|
||||||
|
@Schema(description = "部门ID")
|
||||||
|
private Long deptId;
|
||||||
|
/**
|
||||||
|
* 部门编码
|
||||||
|
*/
|
||||||
|
@Schema(description = "部门编码")
|
||||||
|
private String deptCode;
|
||||||
/**
|
/**
|
||||||
* 拓展关系物料
|
* 拓展关系物料
|
||||||
*/
|
*/
|
||||||
|
|||||||
@@ -50,4 +50,30 @@ public class ErpMaterialCorrDO extends BaseDO {
|
|||||||
*/
|
*/
|
||||||
@TableField("MTRL_CODE")
|
@TableField("MTRL_CODE")
|
||||||
private String materialCode;
|
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;
|
||||||
}
|
}
|
||||||
@@ -19,4 +19,6 @@ public interface ErpErpMaterialCorrService {
|
|||||||
List<ErpMaterialCorrRspVO> getErpMaterialByMainMaterial(List<Long> mainMaterialIds);
|
List<ErpMaterialCorrRspVO> getErpMaterialByMainMaterial(List<Long> mainMaterialIds);
|
||||||
|
|
||||||
List<ErpMaterialCorrRspVO> getErpMaterialByMainMaterialByCode(String code);
|
List<ErpMaterialCorrRspVO> getErpMaterialByMainMaterialByCode(String code);
|
||||||
|
|
||||||
|
List<ErpMaterialCorrRspVO> getErpMaterialByCompanyCode(String CompanyCode);
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -23,6 +23,10 @@ public class ErpErpMaterialCorrServiceImpl implements ErpErpMaterialCorrService{
|
|||||||
public List<ErpMaterialCorrRspVO> create(ErpMaterialCorrSaveReqVO reqVO) {
|
public List<ErpMaterialCorrRspVO> create(ErpMaterialCorrSaveReqVO reqVO) {
|
||||||
List<ErpMaterialCorrDO> erpMaterialCorrDOS=new ArrayList<>();
|
List<ErpMaterialCorrDO> erpMaterialCorrDOS=new ArrayList<>();
|
||||||
reqVO.getMaterials().forEach(materials -> {
|
reqVO.getMaterials().forEach(materials -> {
|
||||||
|
//判断是否存在
|
||||||
|
if (erpErpMaterialCorrMapper.selectOne(ErpMaterialCorrDO::getMaterialParentId,reqVO.getMaterialParentId(), ErpMaterialCorrDO::getMaterialId,materials.getMaterialId()) != null) {
|
||||||
|
return;
|
||||||
|
}
|
||||||
erpMaterialCorrDOS.add(ErpMaterialCorrDO.builder()
|
erpMaterialCorrDOS.add(ErpMaterialCorrDO.builder()
|
||||||
.materialParentId(reqVO.getMaterialParentId())
|
.materialParentId(reqVO.getMaterialParentId())
|
||||||
.materialParentCode(reqVO.getMaterialParentCode())
|
.materialParentCode(reqVO.getMaterialParentCode())
|
||||||
@@ -48,4 +52,9 @@ public class ErpErpMaterialCorrServiceImpl implements ErpErpMaterialCorrService{
|
|||||||
public List<ErpMaterialCorrRspVO> getErpMaterialByMainMaterialByCode(String code) {
|
public List<ErpMaterialCorrRspVO> getErpMaterialByMainMaterialByCode(String code) {
|
||||||
return BeanUtils.toBean(erpErpMaterialCorrMapper.selectList(ErpMaterialCorrDO::getMaterialParentCode, code), ErpMaterialCorrRspVO.class);
|
return BeanUtils.toBean(erpErpMaterialCorrMapper.selectList(ErpMaterialCorrDO::getMaterialParentCode, code), ErpMaterialCorrRspVO.class);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public List<ErpMaterialCorrRspVO> getErpMaterialByCompanyCode(String CompanyCode) {
|
||||||
|
return BeanUtils.toBean(erpErpMaterialCorrMapper.selectList(ErpMaterialCorrDO::getCompanyCode, CompanyCode), ErpMaterialCorrRspVO.class);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -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.departmentmaterial.dto.DepartmentMaterialPageReqDTO;
|
||||||
import com.zt.plat.module.base.api.materialinfomation.dto.MaterialInfomationPageReqDTO;
|
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.api.dto.ErpMaterialDTO;
|
||||||
import com.zt.plat.module.erp.controller.admin.erp.vo.ErpMaterialCorrSaveReqVO;
|
import com.zt.plat.module.erp.controller.admin.erp.vo.*;
|
||||||
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.dal.dataobject.erp.ErpMaterialDO;
|
import com.zt.plat.module.erp.dal.dataobject.erp.ErpMaterialDO;
|
||||||
import jakarta.validation.Valid;
|
import jakarta.validation.Valid;
|
||||||
|
|
||||||
@@ -80,7 +77,7 @@ public interface ErpMaterialService {
|
|||||||
|
|
||||||
List<ErpMaterialRespVO> getErpMaterialByMainMaterial(Long mainMaterialId);
|
List<ErpMaterialRespVO> getErpMaterialByMainMaterial(Long mainMaterialId);
|
||||||
|
|
||||||
PageResult<ErpMaterialDO> getErpMaterialByApi( DepartmentMaterialPageReqDTO material);
|
PageResult<ErpMaterialDO> getErpMaterialByApi( MaterialInfomationApiVO vo);
|
||||||
|
|
||||||
List<ErpMaterialDO> getErpMaterialByMainMaterialByCode(String code,String deptId);
|
List<ErpMaterialDO> getErpMaterialByMainMaterialByCode(String code,String deptId);
|
||||||
|
|
||||||
|
|||||||
@@ -210,7 +210,7 @@ public class ErpMaterialServiceImpl implements ErpMaterialService {
|
|||||||
private ErpMaterialRespVO buildErpMaterialRespDataById(Long id) {
|
private ErpMaterialRespVO buildErpMaterialRespDataById(Long id) {
|
||||||
DepartmentMaterialPageReqDTO departmentMaterialPageReqDTO = new DepartmentMaterialPageReqDTO();
|
DepartmentMaterialPageReqDTO departmentMaterialPageReqDTO = new DepartmentMaterialPageReqDTO();
|
||||||
departmentMaterialPageReqDTO.setInfomationId(id);
|
departmentMaterialPageReqDTO.setInfomationId(id);
|
||||||
departmentMaterialPageReqDTO.setPageSize(PAGE_SIZE_NONE);
|
departmentMaterialPageReqDTO.setPageSize(10000);
|
||||||
PageResult<DepartmentMaterialRespDTO> data = departmentMaterialApi.getDepartmentMaterialPage(departmentMaterialPageReqDTO).getData();
|
PageResult<DepartmentMaterialRespDTO> data = departmentMaterialApi.getDepartmentMaterialPage(departmentMaterialPageReqDTO).getData();
|
||||||
if (data == null || data.getList().isEmpty()) {
|
if (data == null || data.getList().isEmpty()) {
|
||||||
return null;
|
return null;
|
||||||
@@ -294,30 +294,38 @@ public class ErpMaterialServiceImpl implements ErpMaterialService {
|
|||||||
erpMaterialDOList.add(erpMaterialDO);
|
erpMaterialDOList.add(erpMaterialDO);
|
||||||
});
|
});
|
||||||
erpMaterialRespVOS = BeanUtils.toBean(erpMaterialDOList, ErpMaterialRespVO.class);
|
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;
|
return erpMaterialRespVOS;
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public PageResult<ErpMaterialDO> getErpMaterialByApi(DepartmentMaterialPageReqDTO material) {
|
public PageResult<ErpMaterialDO> getErpMaterialByApi(MaterialInfomationApiVO vo) {
|
||||||
|
//通过部门编码查询数据库,获取到部门ID
|
||||||
|
List<ErpMaterialCorrRspVO> erpMaterialByCompanyCode = erpMaterialCorrService.getErpMaterialByCompanyCode(vo.getDeptId());
|
||||||
|
if (erpMaterialByCompanyCode.isEmpty()) {
|
||||||
|
return new PageResult<>();
|
||||||
|
}
|
||||||
|
Set<Long> 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<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));
|
||||||
erpMaterialDOList.add(erpMaterialDO);
|
erpMaterialDOList.add(erpMaterialDO);
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
|
System.out.println("==============查询物料数据耗时:============"+String.valueOf(System.currentTimeMillis() - startTime));
|
||||||
return new PageResult<>(erpMaterialDOList, departmentMaterialPage.getData().getTotal());
|
return new PageResult<>(erpMaterialDOList, departmentMaterialPage.getData().getTotal());
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -340,17 +348,26 @@ public class ErpMaterialServiceImpl implements ErpMaterialService {
|
|||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public List<ErpMaterialDO> getErpMaterialByApiByCode(String code, String deptId) {
|
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);
|
||||||
if (erpMaterialByMainMaterialByCode.isEmpty()) {
|
if (erpMaterialByMainMaterialByCode.isEmpty()) {
|
||||||
return erpMaterialDOList;
|
return erpMaterialDOList;
|
||||||
}
|
}
|
||||||
List<Long> mIds = erpMaterialByMainMaterialByCode.stream().map(ErpMaterialCorrRspVO::getId).toList();
|
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();
|
||||||
DepartmentMaterialPageReqDTO departmentMaterialPageReqDTO = new DepartmentMaterialPageReqDTO();
|
DepartmentMaterialPageReqDTO departmentMaterialPageReqDTO = new DepartmentMaterialPageReqDTO();
|
||||||
departmentMaterialPageReqDTO.setInfomationIds(mIds);
|
departmentMaterialPageReqDTO.setInfomationIds(mIds);
|
||||||
departmentMaterialPageReqDTO.setPageSize(10000);
|
departmentMaterialPageReqDTO.setPageSize(10000);
|
||||||
|
departmentMaterialPageReqDTO.setDeptId(collect.iterator().next());
|
||||||
PageResult<DepartmentMaterialRespDTO> departmentMaterialPage = departmentMaterialApi.getDepartmentMaterialPage(departmentMaterialPageReqDTO).getData();
|
PageResult<DepartmentMaterialRespDTO> departmentMaterialPage = departmentMaterialApi.getDepartmentMaterialPage(departmentMaterialPageReqDTO).getData();
|
||||||
if (departmentMaterialPage == null || departmentMaterialPage.getList() == null || departmentMaterialPage.getList().isEmpty()) {
|
if (departmentMaterialPage == null || departmentMaterialPage.getList() == null || departmentMaterialPage.getList().isEmpty()) {
|
||||||
return erpMaterialDOList;
|
return erpMaterialDOList;
|
||||||
|
|||||||
Reference in New Issue
Block a user