|
@@ -12,6 +12,7 @@ import com.abi.qms.platform.dto.res.ListQrVariableRes;
|
|
|
import com.abi.qms.platform.dto.res.QueryOrderFormDetailRes;
|
|
|
import com.abi.qms.platform.dto.res.QueryOrderFormLimitRes;
|
|
|
import com.abi.qms.platform.infrastructure.util.PageUtil;
|
|
|
+import com.abi.qms.platform.service.MaterialService;
|
|
|
import com.abi.qms.platform.service.QrPackageBookingOrderService;
|
|
|
import com.abi.task.common.api.exception.BusinessException;
|
|
|
import com.abi.task.common.utils.PojoConverterUtils;
|
|
@@ -46,6 +47,9 @@ public class QrPackageBookingOrderServiceImpl implements QrPackageBookingOrderSe
|
|
|
@Autowired
|
|
|
private QrPackageSapOrderItemMapper qrPackageSapOrderItemMapper;
|
|
|
|
|
|
+ @Autowired
|
|
|
+ private MaterialService materialService;
|
|
|
+
|
|
|
/**
|
|
|
* 新增修改预订单
|
|
|
* @author ludashi
|
|
@@ -135,17 +139,17 @@ public class QrPackageBookingOrderServiceImpl implements QrPackageBookingOrderSe
|
|
|
@Override
|
|
|
public void associateSapOrder(AssociateSapOrderReq associateSapOrderReq) {
|
|
|
//1根据物料code查询id保存
|
|
|
- QueryWrapper<BaseMaterial> baseMaterial = new QueryWrapper<>();
|
|
|
- baseMaterial.eq("material_code",associateSapOrderReq.getMaterialCode());
|
|
|
- baseMaterial.eq("is_delete",0);
|
|
|
- BaseMaterial baseMaterials = baseMaterialMapper.selectOne(baseMaterial);
|
|
|
+ BaseMaterial baseMaterials = materialService.getMaterialByCode(associateSapOrderReq.getMaterialCode());
|
|
|
+ if(ObjectUtils.isEmpty(baseMaterials)){
|
|
|
+ new BusinessException("该SAP订单号内未找到需要打码的物料,请维护物料数据后重试");
|
|
|
+ }
|
|
|
//关联SAP订单 校验
|
|
|
QueryWrapper<QrPackageSapOrderItem> qrPackageSapOrderItem = new QueryWrapper<>();
|
|
|
qrPackageSapOrderItem.eq("sap_order_no",associateSapOrderReq.getSapOrder());
|
|
|
- qrPackageSapOrderItem.eq("sap_material_id",baseMaterials.getId());
|
|
|
+ qrPackageSapOrderItem.eq("sap_material_id",baseMaterials.getMaterialCode());
|
|
|
QrPackageSapOrderItem queryQrPackageSapOrderItem = qrPackageSapOrderItemMapper.selectOne(qrPackageSapOrderItem);
|
|
|
if(ObjectUtils.isEmpty(queryQrPackageSapOrderItem)){
|
|
|
- new BusinessException("该SAP订单号内未找到需要打码的物料,请维护物料数据后重试");
|
|
|
+ new BusinessException("关联的SAP订单不存在。");
|
|
|
}
|
|
|
//2修改预订单名称
|
|
|
QrPackageBookingOrder qrPackageBookingOrder = qrPackageBookingOrderMapper.selectById(associateSapOrderReq.getId());
|
|
@@ -161,6 +165,14 @@ public class QrPackageBookingOrderServiceImpl implements QrPackageBookingOrderSe
|
|
|
if(!queryQrPackageSapOrderItem.getSapCoverFactoryId().equals(qrPackageBookingOrder.getFactoryCoverId().toString())){
|
|
|
new BusinessException("关联的SAP订单内包材厂信息与原预订单不符,请确认后重试。");
|
|
|
}
|
|
|
+ // 物料类型 3-罐子 4-瓶盖 5-纸板箱
|
|
|
+ BaseMaterial materialByCode = materialService.getMaterialByCode(queryQrPackageSapOrderItem.getSapMaterialId());
|
|
|
+ if(ObjectUtils.isEmpty(materialByCode)){
|
|
|
+ new BusinessException("关联的SAP订单内物料查询为空,请确认后重试。");
|
|
|
+ }
|
|
|
+ if(!materialByCode.getMaterialType().equals(baseMaterials.getMaterialType())){
|
|
|
+ new BusinessException("关联的SAP订单内物料类型与原预订单码类型不符,请确认后重试。");
|
|
|
+ }
|
|
|
qrPackageBookingOrderMapper.updateById(qrPackageBookingOrder);
|
|
|
qrPackageMapper.updateById(qrPackage);
|
|
|
}
|