物料优化
This commit is contained in:
@@ -212,7 +212,7 @@ public class SalesOrderController implements BusinessControllerMarker {
|
|||||||
|
|
||||||
//feign测试
|
//feign测试
|
||||||
@GetMapping("/get-sales-order-details-by-order-id")
|
@GetMapping("/get-sales-order-details-by-order-id")
|
||||||
public CommonResult<?> getSalesOrderDetailsByOrderId(@RequestParam("orderId") Long orderId) {
|
public CommonResult<?> getSalesOrderDetailsByOrderId(@RequestParam("orderId") String orderId) {
|
||||||
return success(orderApi.getSalesOrderDetailsById(orderId));
|
return success(orderApi.getOrderByOrderNos(List.of(orderId.toString())));
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -135,7 +135,7 @@ public class EntrustOrderDetailDO extends BusinessBaseDO {
|
|||||||
* 是否启用
|
* 是否启用
|
||||||
*/
|
*/
|
||||||
@TableField("IS_ENB")
|
@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状态
|
// 成功:更新为FIND状态
|
||||||
upVo.setErpStatus(OrderStatusEnum.FIND.getCode());
|
upVo.setErpStatus(OrderStatusEnum.FIND.getCode());
|
||||||
upVo.setCause("ERP订单提交成功,SAP单号:" + salesdocument);
|
upVo.setCause("ERP订单提交成功,SAP单号:" + salesdocument);
|
||||||
|
//价格条件flag变更为U
|
||||||
|
updateConditionFlag(salesOrderDetailByOrderId);
|
||||||
} else {
|
} else {
|
||||||
// 失败:拼接详细原因
|
// 失败:拼接详细原因
|
||||||
StringBuilder failMsg = new StringBuilder("ERP订单提交失败:");
|
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
|
@Override
|
||||||
@Transactional
|
@Transactional
|
||||||
|
|||||||
@@ -216,6 +216,9 @@ public class ErpOrderSaveReqVO {
|
|||||||
@Schema(description = "委托加工物料信息")
|
@Schema(description = "委托加工物料信息")
|
||||||
@Data
|
@Data
|
||||||
public static class Comp {
|
public static class Comp {
|
||||||
|
@Schema(description = "行号", requiredMode = Schema.RequiredMode.REQUIRED)
|
||||||
|
@NotNull(message = "行号不能为空")
|
||||||
|
private Integer po_item;
|
||||||
@Schema(description = "计划行号(从1开始)", requiredMode = Schema.RequiredMode.REQUIRED)
|
@Schema(description = "计划行号(从1开始)", requiredMode = Schema.RequiredMode.REQUIRED)
|
||||||
@NotNull(message = "计划行号不能为空")
|
@NotNull(message = "计划行号不能为空")
|
||||||
private Integer sched_line; // ETENR NUMC4
|
private Integer sched_line; // ETENR NUMC4
|
||||||
|
|||||||
@@ -10,6 +10,8 @@ public class MaterialInfomationApiVO extends PageParam {
|
|||||||
private String materialNumber;
|
private String materialNumber;
|
||||||
@Schema(description = "物料名称")
|
@Schema(description = "物料名称")
|
||||||
private String materialName;
|
private String materialName;
|
||||||
@Schema(description = "部门编号")
|
@Schema(description = "部门ID")
|
||||||
private String deptId;
|
private String deptId;
|
||||||
|
@Schema(description = "部门编号")
|
||||||
|
private String companyCode;
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -31,17 +31,23 @@ public class ErpErpMaterialCorrServiceImpl implements ErpErpMaterialCorrService{
|
|||||||
|
|
||||||
@Override
|
@Override
|
||||||
public List<ErpMaterialCorrRspVO> create(ErpMaterialCorrSaveReqVO reqVO) {
|
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<>();
|
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) {
|
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;
|
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()
|
erpMaterialCorrDOS.add(ErpMaterialCorrDO.builder()
|
||||||
.materialParentId(reqVO.getMaterialParentId())
|
.materialParentId(reqVO.getMaterialParentId())
|
||||||
.materialParentCode(reqVO.getMaterialParentCode())
|
.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.enums.OftenEnum;
|
||||||
import com.zt.plat.module.erp.dal.dataobject.erp.ErpMaterialDO;
|
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.erp.dal.mysql.erp.ErpMaterialMapper;
|
||||||
|
import com.zt.plat.module.system.api.dept.DeptApi;
|
||||||
import jakarta.annotation.Resource;
|
import jakarta.annotation.Resource;
|
||||||
import jakarta.validation.constraints.NotNull;
|
import jakarta.validation.constraints.NotNull;
|
||||||
import org.springframework.stereotype.Service;
|
import org.springframework.stereotype.Service;
|
||||||
@@ -65,6 +66,9 @@ public class ErpMaterialServiceImpl implements ErpMaterialService {
|
|||||||
@Resource
|
@Resource
|
||||||
private DepartmentMaterialApi departmentMaterialApi;
|
private DepartmentMaterialApi departmentMaterialApi;
|
||||||
|
|
||||||
|
@Resource
|
||||||
|
private DeptApi deptApi;
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public ErpMaterialRespVO createErpMaterial(ErpMaterialSaveReqVO createReqVO) {
|
public ErpMaterialRespVO createErpMaterial(ErpMaterialSaveReqVO createReqVO) {
|
||||||
// 校验存在
|
// 校验存在
|
||||||
@@ -389,35 +393,23 @@ public class ErpMaterialServiceImpl implements ErpMaterialService {
|
|||||||
|
|
||||||
@Override
|
@Override
|
||||||
public PageResult<ErpMaterialDO> getErpProdMaterialByApi(MaterialInfomationApiVO vo) {
|
public PageResult<ErpMaterialDO> getErpProdMaterialByApi(MaterialInfomationApiVO vo) {
|
||||||
MaterialInfomationPageReqDTO materialInfomationPageReqDTO = new MaterialInfomationPageReqDTO();
|
DepartmentMaterialPageReqDTO pageReqDTO = new DepartmentMaterialPageReqDTO();
|
||||||
materialInfomationPageReqDTO.setCode(vo.getMaterialNumber());
|
pageReqDTO.setMaterialNumber(vo.getMaterialNumber());
|
||||||
materialInfomationPageReqDTO.setName(vo.getMaterialName());
|
pageReqDTO.setMaterialName(vo.getMaterialName());
|
||||||
CommonResult<PageResult<MaterialInfomationRespDTO>> materialInfomationPage = materialInfomationApi.getMaterialInfomationPage(materialInfomationPageReqDTO);
|
pageReqDTO.setDeptId(Long.valueOf(vo.getDeptId()));
|
||||||
PageResult<MaterialInfomationRespDTO> data = materialInfomationPage.getData();
|
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()) {
|
if (data == null || data.getList() == null || data.getList().isEmpty()) {
|
||||||
return new PageResult<>();
|
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<>();
|
List<ErpMaterialDO> erpMaterialDOList = new ArrayList<>();
|
||||||
departmentMaterialPage.getList().forEach(item -> {
|
data.getList().forEach(item -> {
|
||||||
ErpMaterialDO erpMaterialDO = buildErpMaterialDOData(CommonResult.success(item));
|
ErpMaterialDO erpMaterialDO = buildErpMaterialDOData(CommonResult.success(item));
|
||||||
erpMaterialDOList.add(erpMaterialDO);
|
erpMaterialDOList.add(erpMaterialDO);
|
||||||
});
|
});
|
||||||
return new PageResult<>(erpMaterialDOList, departmentMaterialPage.getTotal());
|
return new PageResult<>(erpMaterialDOList, departmentMaterialPage.getData().getTotal());
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
|
|||||||
Reference in New Issue
Block a user