物料优化
This commit is contained in:
@@ -216,6 +216,9 @@ public class ErpOrderSaveReqVO {
|
||||
@Schema(description = "委托加工物料信息")
|
||||
@Data
|
||||
public static class Comp {
|
||||
@Schema(description = "行号", requiredMode = Schema.RequiredMode.REQUIRED)
|
||||
@NotNull(message = "行号不能为空")
|
||||
private Integer po_item;
|
||||
@Schema(description = "计划行号(从1开始)", requiredMode = Schema.RequiredMode.REQUIRED)
|
||||
@NotNull(message = "计划行号不能为空")
|
||||
private Integer sched_line; // ETENR NUMC4
|
||||
|
||||
@@ -10,6 +10,8 @@ public class MaterialInfomationApiVO extends PageParam {
|
||||
private String materialNumber;
|
||||
@Schema(description = "物料名称")
|
||||
private String materialName;
|
||||
@Schema(description = "部门编号")
|
||||
@Schema(description = "部门ID")
|
||||
private String deptId;
|
||||
@Schema(description = "部门编号")
|
||||
private String companyCode;
|
||||
}
|
||||
|
||||
@@ -31,17 +31,23 @@ public class ErpErpMaterialCorrServiceImpl implements ErpErpMaterialCorrService{
|
||||
|
||||
@Override
|
||||
public List<ErpMaterialCorrRspVO> create(ErpMaterialCorrSaveReqVO reqVO) {
|
||||
CommonResult<DeptRespDTO> dept = deptApi.getDept(reqVO.getDeptId());
|
||||
DeptRespDTO data = dept.getData();
|
||||
if (data==null||data.getCode().isEmpty()) {
|
||||
throw exception(new ErrorCode(1027004000, "部门或部门公司编码不存在,部门编号为:{}"), reqVO.getDeptId().toString());
|
||||
}
|
||||
List<ErpMaterialCorrDO> erpMaterialCorrDOS=new ArrayList<>();
|
||||
reqVO.getMaterials().forEach(materials -> {
|
||||
//判断是否存在
|
||||
if (erpErpMaterialCorrMapper.selectOne(ErpMaterialCorrDO::getMaterialParentId,reqVO.getMaterialParentId(), ErpMaterialCorrDO::getMaterialId,materials.getMaterialId()) != null) {
|
||||
if (erpErpMaterialCorrMapper.selectOne(
|
||||
new LambdaQueryWrapperX<ErpMaterialCorrDO>()
|
||||
.eq(ErpMaterialCorrDO::getMaterialParentId, reqVO.getMaterialParentId())
|
||||
.eq(ErpMaterialCorrDO::getMaterialId, materials.getMaterialId())
|
||||
.eqIfPresent(ErpMaterialCorrDO::getCompanyCode, data.getCode())
|
||||
.eqIfPresent(ErpMaterialCorrDO::getDeptId, reqVO.getDeptId())
|
||||
) != null) {
|
||||
return;
|
||||
}
|
||||
CommonResult<DeptRespDTO> dept = deptApi.getDept(reqVO.getDeptId());
|
||||
DeptRespDTO data = dept.getData();
|
||||
if (data==null||data.getCode().isEmpty()) {
|
||||
throw exception(new ErrorCode(1027004000, "部门或部门公司编码不存在,部门编号为:{}"), reqVO.getDeptId().toString());
|
||||
}
|
||||
erpMaterialCorrDOS.add(ErpMaterialCorrDO.builder()
|
||||
.materialParentId(reqVO.getMaterialParentId())
|
||||
.materialParentCode(reqVO.getMaterialParentCode())
|
||||
|
||||
@@ -25,6 +25,7 @@ import com.zt.plat.module.erp.utils.MyRedisConfig;
|
||||
import com.zt.plat.module.erp.enums.OftenEnum;
|
||||
import com.zt.plat.module.erp.dal.dataobject.erp.ErpMaterialDO;
|
||||
import com.zt.plat.module.erp.dal.mysql.erp.ErpMaterialMapper;
|
||||
import com.zt.plat.module.system.api.dept.DeptApi;
|
||||
import jakarta.annotation.Resource;
|
||||
import jakarta.validation.constraints.NotNull;
|
||||
import org.springframework.stereotype.Service;
|
||||
@@ -65,6 +66,9 @@ public class ErpMaterialServiceImpl implements ErpMaterialService {
|
||||
@Resource
|
||||
private DepartmentMaterialApi departmentMaterialApi;
|
||||
|
||||
@Resource
|
||||
private DeptApi deptApi;
|
||||
|
||||
@Override
|
||||
public ErpMaterialRespVO createErpMaterial(ErpMaterialSaveReqVO createReqVO) {
|
||||
// 校验存在
|
||||
@@ -389,35 +393,23 @@ public class ErpMaterialServiceImpl implements ErpMaterialService {
|
||||
|
||||
@Override
|
||||
public PageResult<ErpMaterialDO> getErpProdMaterialByApi(MaterialInfomationApiVO vo) {
|
||||
MaterialInfomationPageReqDTO materialInfomationPageReqDTO = new MaterialInfomationPageReqDTO();
|
||||
materialInfomationPageReqDTO.setCode(vo.getMaterialNumber());
|
||||
materialInfomationPageReqDTO.setName(vo.getMaterialName());
|
||||
CommonResult<PageResult<MaterialInfomationRespDTO>> materialInfomationPage = materialInfomationApi.getMaterialInfomationPage(materialInfomationPageReqDTO);
|
||||
PageResult<MaterialInfomationRespDTO> data = materialInfomationPage.getData();
|
||||
DepartmentMaterialPageReqDTO pageReqDTO = new DepartmentMaterialPageReqDTO();
|
||||
pageReqDTO.setMaterialNumber(vo.getMaterialNumber());
|
||||
pageReqDTO.setMaterialName(vo.getMaterialName());
|
||||
pageReqDTO.setDeptId(Long.valueOf(vo.getDeptId()));
|
||||
pageReqDTO.setPageSize(vo.getPageSize());
|
||||
pageReqDTO.setPageNo(vo.getPageNo());
|
||||
CommonResult<PageResult<DepartmentMaterialRespDTO>> departmentMaterialPage = departmentMaterialApi.getDepartmentMaterialPage(pageReqDTO);
|
||||
PageResult<DepartmentMaterialRespDTO> data = departmentMaterialPage.getData();
|
||||
if (data == null || data.getList() == null || data.getList().isEmpty()) {
|
||||
return new PageResult<>();
|
||||
}
|
||||
PageResult<DepartmentMaterialRespDTO> departmentMaterialPage =new PageResult<>();
|
||||
List<DepartmentMaterialRespDTO> dtos=new ArrayList<>();
|
||||
data.getList().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( materialInfomationPage.getData().getTotal());
|
||||
List<ErpMaterialDO> erpMaterialDOList = new ArrayList<>();
|
||||
departmentMaterialPage.getList().forEach(item -> {
|
||||
data.getList().forEach(item -> {
|
||||
ErpMaterialDO erpMaterialDO = buildErpMaterialDOData(CommonResult.success(item));
|
||||
erpMaterialDOList.add(erpMaterialDO);
|
||||
});
|
||||
return new PageResult<>(erpMaterialDOList, departmentMaterialPage.getTotal());
|
||||
return new PageResult<>(erpMaterialDOList, departmentMaterialPage.getData().getTotal());
|
||||
}
|
||||
|
||||
@Override
|
||||
|
||||
Reference in New Issue
Block a user