物料优化
This commit is contained in:
@@ -212,7 +212,7 @@ public class SalesOrderController implements BusinessControllerMarker {
|
||||
|
||||
//feign测试
|
||||
@GetMapping("/get-sales-order-details-by-order-id")
|
||||
public CommonResult<?> getSalesOrderDetailsByOrderId(@RequestParam("orderId") Long orderId) {
|
||||
return success(orderApi.getSalesOrderDetailsById(orderId));
|
||||
public CommonResult<?> getSalesOrderDetailsByOrderId(@RequestParam("orderId") String orderId) {
|
||||
return success(orderApi.getOrderByOrderNos(List.of(orderId.toString())));
|
||||
}
|
||||
}
|
||||
|
||||
@@ -135,7 +135,7 @@ public class EntrustOrderDetailDO extends BusinessBaseDO {
|
||||
* 是否启用
|
||||
*/
|
||||
@TableField("IS_ENB")
|
||||
private Boolean isEnable;
|
||||
private String isEnable;
|
||||
/**
|
||||
* 短文本
|
||||
*/
|
||||
|
||||
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
@@ -331,6 +331,8 @@ public class SalesOrderServiceImpl implements SalesOrderService {
|
||||
// 成功:更新为FIND状态
|
||||
upVo.setErpStatus(OrderStatusEnum.FIND.getCode());
|
||||
upVo.setCause("ERP订单提交成功,SAP单号:" + salesdocument);
|
||||
//价格条件flag变更为U
|
||||
updateConditionFlag(salesOrderDetailByOrderId);
|
||||
} else {
|
||||
// 失败:拼接详细原因
|
||||
StringBuilder failMsg = new StringBuilder("ERP订单提交失败:");
|
||||
@@ -364,6 +366,11 @@ public class SalesOrderServiceImpl implements SalesOrderService {
|
||||
|
||||
}
|
||||
|
||||
private void updateConditionFlag(List<SalesOrderDetailRespVO> salesOrderDetailList){
|
||||
log.info("更新明细的价格条件操作类型为U,ID:【{}】", salesOrderDetailList.stream().map(SalesOrderDetailRespVO::getId).toList());
|
||||
salesOrderDetailService.updateSalesOrderDetailList(BeanUtils.toBean(salesOrderDetailList,SalesOrderDetailSaveReqVO.class));
|
||||
}
|
||||
|
||||
|
||||
@Override
|
||||
@Transactional
|
||||
|
||||
@@ -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) {
|
||||
List<ErpMaterialCorrDO> erpMaterialCorrDOS=new ArrayList<>();
|
||||
reqVO.getMaterials().forEach(materials -> {
|
||||
//判断是否存在
|
||||
if (erpErpMaterialCorrMapper.selectOne(ErpMaterialCorrDO::getMaterialParentId,reqVO.getMaterialParentId(), ErpMaterialCorrDO::getMaterialId,materials.getMaterialId()) != 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());
|
||||
}
|
||||
List<ErpMaterialCorrDO> erpMaterialCorrDOS=new ArrayList<>();
|
||||
reqVO.getMaterials().forEach(materials -> {
|
||||
//判断是否存在
|
||||
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;
|
||||
}
|
||||
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