@ -89,6 +89,7 @@ public class mesShippingCheckVolvoRackNoAndPartNoStrategyServiceImpl implements
if ( Objects . equals ( detail . getVin ( ) , workOrder . getVinCode ( ) ) ) {
throw new ImppBusiException ( String . format ( "产品条码明细【%s】与发运单明细不匹配, 请重新扫描! " , model . getSn ( ) ) ) ;
}
checkDetailScanSeq ( orderManagement , detail , workOrder ) ;
//校验发运明细
checkShippingDetails ( model , orderManagement , shippingGroup , produceSn , detail ) ;
scanFlg = true ;
@ -104,6 +105,16 @@ public class mesShippingCheckVolvoRackNoAndPartNoStrategyServiceImpl implements
return model ;
}
private void checkDetailScanSeq ( MesShippingOrderManagement orderManagement , MesShippingOrderManagementDetail detail , MesWorkOrder workOrder ) {
if ( StringUtils . isEmpty ( workOrder . getWorkOrderSource ( ) ) ) {
throw new ImppBusiException ( String . format ( "工单【%s】缺少来源! " , workOrder . getWorkOrderNo ( ) ) ) ;
}
MesCustSortInfo custSoftInfo = custSoftInfoRDao . getById ( Long . parseLong ( workOrder . getWorkOrderSource ( ) ) ) ;
if ( custSoftInfo = = null | | ! Objects . equals ( detail . getCustInfoSeq ( ) , custSoftInfo . getCustInfoSeq ( ) ) ) {
throw new ImppBusiException ( String . format ( "发运单【%s】启用明细顺序防错, 序号【%s】前还有未扫描的发运单明细, 请检查数据! " , orderManagement . getShippingCode ( ) , custSoftInfo . getCustInfoSeq ( ) ) ) ;
}
}
private void checkShippingDetails ( MesSortShippingCheckModel model , MesShippingOrderManagement orderManagement , MesPartShippingGroup shippingGroup , MesProduceSn produceSn , MesShippingOrderManagementDetail detail ) {
@ -124,14 +135,14 @@ public class mesShippingCheckVolvoRackNoAndPartNoStrategyServiceImpl implements
}
//校验客户零件信息是否存在 (默认需要验证, 值可能是[空/0/20])
// if (StringUtils.isEmpty(shippingGroup.getScanMethodJudgment()) || !shippingGroup.getScanMethodJudgment().equals(MesExtEnumUtil.SHIPPING_GROUP_SCAN_METHOD_JUDGMENT.PART_NO.getValueStr())) {
// DdlPackBean packBean = DdlPackBean.getDdlPackBean(model.getOrganizeCode());
// DdlPreparedPack.getStringEqualPack(detail.getPartNo(), "erpPartNo", packBean);
// DdlPreparedPack.getStringEqualPack(detail.getCustPartNo(), "custPartNo", packBean);
// if (!mesCustomerPartRepository.isExitByHql(packBean)) {
// throw new ImppBusiException(String.format("零件号【%s】客户零件号【%s】关系不存在, 请检查数据! ", detail.getPartNo(), detail.getCustPartNo()));
// }
// }
if ( StringUtils . isEmpty ( shippingGroup . getScanMethodJudgment ( ) ) | | ! shippingGroup . getScanMethodJudgment ( ) . equals ( MesExtEnumUtil . SHIPPING_GROUP_SCAN_METHOD_JUDGMENT . PART_NO . getValueStr ( ) ) ) {
DdlPackBean packBean = DdlPackBean . getDdlPackBean ( model . getOrganizeCode ( ) ) ;
DdlPreparedPack . getStringEqualPack ( detail . getPartNo ( ) , "erpPartNo" , packBean ) ;
DdlPreparedPack . getStringEqualPack ( detail . getCustPartNo ( ) , "custPartNo" , packBean ) ;
if ( ! mesCustomerPartRepository . isExitByHql ( packBean ) ) {
throw new ImppBusiException ( String . format ( "零件号【%s】客户零件号【%s】关系不存在, 请检查数据! " , detail . getPartNo ( ) , detail . getCustPartNo ( ) ) ) ;
}
}
}