|
|
|
@ -526,38 +526,15 @@ public class MesBoxingErrorProofingService implements IMesBoxingErrorProofingSer
|
|
|
|
|
//是自制件
|
|
|
|
|
MesProduceSn produceSn = mesProduceSnExtService.getProduceSnForBox(mesPackageDetail.getSerialNumber(), partNo, mesPackageDetail.getOrganizeCode());
|
|
|
|
|
if (produceSn == null){
|
|
|
|
|
MesPcnException.throwMesBusiException("扫描条码【%s】零件号【%s】在条码表不存在,请检查数据!", mesPackage.getPackageSn(), partNo);
|
|
|
|
|
MesPcnException.throwMesBusiException("扫描条码【%s】零件号【%s】在条码表不存在, 请检查数据!", mesPackageDetail.getSerialNumber(), partNo);
|
|
|
|
|
}
|
|
|
|
|
//QC 检查
|
|
|
|
|
if (produceSn.getQcStatus() == MesExtEnumUtil.PRODUCE_QC_STATUS.SUSPICIOUS.getValue()){
|
|
|
|
|
MesPcnException.throwMesBusiException("扫描条码【%s】零件号【%s】,QC可疑状态,不能包装此零件!", mesPackage.getPackageSn(), partNo);
|
|
|
|
|
if (!MesExtEnumUtil.PRODUCE_QC_STATUS.checkAllowBoxingErrorProofing(produceSn.getQcStatus())){
|
|
|
|
|
MesPcnException.throwBusiException("扫描条码【%s】零件号【%s】,QC状态【%s】,不能包装此零件!",
|
|
|
|
|
mesPackageDetail.getSerialNumber(), partNo, MesExtEnumUtil.PRODUCE_QC_STATUS.valueOfDescription(produceSn.getQcStatus()));
|
|
|
|
|
}
|
|
|
|
|
if (produceSn.getQcStatus() == MesExtEnumUtil.PRODUCE_QC_STATUS.SCRAP.getValue()){
|
|
|
|
|
MesPcnException.throwMesBusiException("扫描条码【%s】零件号【%s】,QC为报废状态,不能包装此零件!", mesPackage.getPackageSn(), partNo);
|
|
|
|
|
}
|
|
|
|
|
//SN 条码状态
|
|
|
|
|
if (produceSn.getSnStatus() == MesExtEnumUtil.PRODUCE_SN_STATUS.UNKNOW.getValue()){
|
|
|
|
|
MesPcnException.throwMesBusiException("扫描条码【%s】零件号【%s】,条码状态为未知,不能包装此零件!", mesPackage.getPackageSn(), partNo);
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
if (produceSn.getSnStatus() == MesExtEnumUtil.PRODUCE_SN_STATUS.PROCESSING.getValue()){
|
|
|
|
|
MesPcnException.throwMesBusiException("扫描条码【%s】零件号【%s】,条码状态为加工中,不能包装此零件!", mesPackage.getPackageSn(), partNo);
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
if (produceSn.getSnStatus() == MesExtEnumUtil.PRODUCE_SN_STATUS.ASSEMBLY_BACK.getValue()){
|
|
|
|
|
MesPcnException.throwMesBusiException("扫描条码【%s】零件号【%s】,条码状态为已拆解,不能包装此零件!", mesPackage.getPackageSn(), partNo);
|
|
|
|
|
}
|
|
|
|
|
if (produceSn.getSnStatus() == MesExtEnumUtil.PRODUCE_SN_STATUS.ASSEMBLY.getValue()){
|
|
|
|
|
MesPcnException.throwMesBusiException("扫描条码【%s】零件号【%s】,条码状态为已装配,不能包装此零件!", mesPackage.getPackageSn(), partNo);
|
|
|
|
|
}
|
|
|
|
|
if (produceSn.getSnStatus() == MesExtEnumUtil.PRODUCE_SN_STATUS.CHECKED.getValue()){
|
|
|
|
|
MesPcnException.throwMesBusiException("扫描条码【%s】零件号【%s】,条码状态为已校验,不能包装此零件!", mesPackage.getPackageSn(), partNo);
|
|
|
|
|
}
|
|
|
|
|
if (produceSn.getSnStatus() == MesExtEnumUtil.PRODUCE_SN_STATUS.SHIPPED.getValue()){
|
|
|
|
|
MesPcnException.throwMesBusiException("扫描条码【%s】零件号【%s】,条码状态为已发运,不能包装此零件!", mesPackage.getPackageSn(), partNo);
|
|
|
|
|
}
|
|
|
|
|
if (produceSn.getSnStatus() == MesExtEnumUtil.PRODUCE_SN_STATUS.ASSEMBLY_DISASSEMBLY.getValue()){
|
|
|
|
|
MesPcnException.throwMesBusiException("扫描条码【%s】零件号【%s】,条码状态为已总成拆解,不能包装此零件!", mesPackage.getPackageSn(), partNo);
|
|
|
|
|
if (!MesExtEnumUtil.PRODUCE_SN_STATUS.checkAllowBoxingErrorProofing(produceSn.getSnStatus())) {
|
|
|
|
|
MesPcnException.throwBusiException("扫描条码【%s】零件号【%s】,条码状态【%s】,不能包装此零件!",
|
|
|
|
|
mesPackageDetail.getSerialNumber(), partNo, MesExtEnumUtil.PRODUCE_SN_STATUS.valueOfDescription(produceSn.getSnStatus()));
|
|
|
|
|
}
|
|
|
|
|
}else{
|
|
|
|
|
//外协件
|
|
|
|
|