芜湖装箱防错增加校验零件号是否一致

master
jun 5 months ago
parent 0850df7369
commit 9a2ff8cb0b

@ -279,7 +279,7 @@ public class MesBoxingErrorProofingService implements IMesBoxingErrorProofingSer
//校验是否包含 //校验是否包含
String partNo = getPartNo(mesPackageDetail, mesPackage, defineDetails); String partNo = getPartNo(mesPackageDetail, mesPackage, defineDetails);
//校验条码信息 //校验条码信息
checkSn(mesPackageDetail, packingDefine); checkSn(mesPackageDetail, packingDefine,partNo);
//物料信息 //物料信息
return getPart(mesPackageDetail.getOrganizeCode(), partNo); return getPart(mesPackageDetail.getOrganizeCode(), partNo);
} }
@ -387,13 +387,16 @@ public class MesBoxingErrorProofingService implements IMesBoxingErrorProofingSer
return saveMesPackageDetail; return saveMesPackageDetail;
} }
private void checkSn(MesPackageDetail mesPackageDetail, MesPackingDefine packingDefine) { private void checkSn(MesPackageDetail mesPackageDetail, MesPackingDefine packingDefine,String partNo) {
List<MesProduceSn> produceSnList = mesProduceSnExtService.getProduceSnList(mesPackageDetail.getOrganizeCode(), mesPackageDetail.getSerialNumber()); List<MesProduceSn> produceSnList = mesProduceSnExtService.getProduceSnList(mesPackageDetail.getOrganizeCode(), mesPackageDetail.getSerialNumber());
if (!CollectionUtils.isEmpty(produceSnList)) { if (!CollectionUtils.isEmpty(produceSnList)) {
MesProduceSn nextMesProduceSn = produceSnList.stream().sorted(Comparator.comparing(MesProduceSn::getCreateDatetime).reversed()).collect(Collectors.toList()).iterator().next(); MesProduceSn nextMesProduceSn = produceSnList.stream().sorted(Comparator.comparing(MesProduceSn::getCreateDatetime).reversed()).collect(Collectors.toList()).iterator().next();
if (!MesExtEnumUtil.PRODUCE_SN_STATUS.checkAllowBoxingErrorProofing(nextMesProduceSn.getSnStatus()) || !MesExtEnumUtil.PRODUCE_QC_STATUS.checkAllowBoxingErrorProofing(nextMesProduceSn.getQcStatus())) { if (!MesExtEnumUtil.PRODUCE_SN_STATUS.checkAllowBoxingErrorProofing(nextMesProduceSn.getSnStatus()) || !MesExtEnumUtil.PRODUCE_QC_STATUS.checkAllowBoxingErrorProofing(nextMesProduceSn.getQcStatus())) {
MesPcnException.throwMesBusiException("条码【%s】状态【%s】质量状态【%s】不允许操作装箱防错请检查数据", mesPackageDetail.getSerialNumber(), MesExtEnumUtil.PRODUCE_SN_STATUS.valueOfDescription(nextMesProduceSn.getSnStatus()), MesExtEnumUtil.PRODUCE_QC_STATUS.valueOfDescription(nextMesProduceSn.getQcStatus())); MesPcnException.throwMesBusiException("条码【%s】状态【%s】质量状态【%s】不允许操作装箱防错请检查数据", mesPackageDetail.getSerialNumber(), MesExtEnumUtil.PRODUCE_SN_STATUS.valueOfDescription(nextMesProduceSn.getSnStatus()), MesExtEnumUtil.PRODUCE_QC_STATUS.valueOfDescription(nextMesProduceSn.getQcStatus()));
} }
if(!partNo.equals(nextMesProduceSn.getPartNo())){
MesPcnException.throwMesBusiException("条码【%s】零件号【%s】和箱零件【%s】不匹配请检查数据", mesPackageDetail.getSerialNumber(), nextMesProduceSn.getPartNo(), partNo);
}
} }
//查询加工记录 //查询加工记录
List<MesProductionRecord> productionRecordList = mesProductionRecordService.findProductionRecordList(mesPackageDetail.getOrganizeCode(), mesPackageDetail.getSerialNumber()); List<MesProductionRecord> productionRecordList = mesProductionRecordService.findProductionRecordList(mesPackageDetail.getOrganizeCode(), mesPackageDetail.getSerialNumber());
@ -431,6 +434,10 @@ public class MesBoxingErrorProofingService implements IMesBoxingErrorProofingSer
if (Objects.isNull(partNo)) { if (Objects.isNull(partNo)) {
MesPcnException.throwMesBusiException("零件条码【%s】未匹配到符合条码规则的数据请检查数据", mesPackageDetail.getSerialNumber()); MesPcnException.throwMesBusiException("零件条码【%s】未匹配到符合条码规则的数据请检查数据", mesPackageDetail.getSerialNumber());
} }
//校验零件是否一致
if (!partNo.equals(mesPackage.getPartNo())) {
MesPcnException.throwMesBusiException("零件条码【%s】包装定义明细零件【%s】和箱零件【%s】不一致请检查数据", mesPackageDetail.getSerialNumber(), partNo, mesPackage.getPartNo());
}
return partNo; return partNo;
} }

Loading…
Cancel
Save