|
|
|
@ -132,9 +132,15 @@ public class MesBoxingErrorProofingService implements IMesBoxingErrorProofingSer
|
|
|
|
|
qty = getQty(packingDefine, split);
|
|
|
|
|
}
|
|
|
|
|
mesPackage = mesPackageRDao.insert(getMesPackage(mesPackageDetail, mesPart, qty, packingDefine,packageOneCode));
|
|
|
|
|
mesPackage.setIsPackage(CommonEnumUtil.TRUE_OR_FALSE.TRUE.getValue());
|
|
|
|
|
}
|
|
|
|
|
return ResultBean.success("箱条码扫描成功,请扫零件条码!").setResultObject(mesPackage);
|
|
|
|
|
} else {
|
|
|
|
|
/**
|
|
|
|
|
* 2024-12-23 修复bug 44242
|
|
|
|
|
* 已经关箱的箱条码,如果重复扫描,不需要重置,可以扫描下一个需要装箱的条码。
|
|
|
|
|
*
|
|
|
|
|
*/
|
|
|
|
|
checkNotNull(mesPackageDetail);
|
|
|
|
|
//校验零件条码是否存在
|
|
|
|
|
if (StringUtils.isEmpty(mesPackageDetail.getSerialNumber())) {
|
|
|
|
@ -143,8 +149,19 @@ public class MesBoxingErrorProofingService implements IMesBoxingErrorProofingSer
|
|
|
|
|
//校验包装条码信息
|
|
|
|
|
MesPackage mesPackage = getMesPackageAndCheck(mesPackageDetail.getPackageNo(), mesPackageDetail.getOrganizeCode());
|
|
|
|
|
//校验是否已关闭
|
|
|
|
|
if (CommonEnumUtil.TRUE_OR_FALSE.TRUE.getValue() == mesPackage.getIsSealed()) {
|
|
|
|
|
MesPcnException.throwMesBusiException("箱条码已封箱,不允许扫描零件条码,请检查数据!");
|
|
|
|
|
if (CommonEnumUtil.TRUE_OR_FALSE.TRUE.getValue() == mesPackage.getIsSealed() ) {
|
|
|
|
|
List<MesProduceSn> produceSnList = mesProduceSnExtService.getProduceSnList(mesPackageDetail.getOrganizeCode(), mesPackageDetail.getSerialNumber());
|
|
|
|
|
//1.查询包装明细是否包含此零件
|
|
|
|
|
List<MesPackingDefineDetails> defineDetails = getMesPackingDefineDetailsNew(mesPackageDetail.getOrganizeCode(), mesPackage.getPackageSn(), mesPackage.getPartNo());
|
|
|
|
|
//确保是自制件和外协件
|
|
|
|
|
if ((produceSnList != null && !produceSnList.isEmpty())|| (defineDetails != null && !defineDetails.isEmpty() && StringUtils.isEmpty(defineDetails.get(0).getPackageBarcodeRule()))) {
|
|
|
|
|
MesPcnException.throwMesBusiException("箱条码已封箱,不允许扫描零件条码,请检查数据!");
|
|
|
|
|
}else {
|
|
|
|
|
//扫描的是箱条码
|
|
|
|
|
mesPackageDetail.setIsScanPackage(CommonEnumUtil.TRUE_OR_FALSE.TRUE.getValue());
|
|
|
|
|
mesPackageDetail.setPackageNo(mesPackageDetail.getSerialNumber());
|
|
|
|
|
return this.doScan(mesPackageDetail);
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
//校验条码规则
|
|
|
|
|
MesPart mesPart = getMesPartNew(mesPackageDetail, mesPackage, packingDefine);
|
|
|
|
|