|
|
|
@ -149,7 +149,7 @@ public class MesBoxingErrorProofingService implements IMesBoxingErrorProofingSer
|
|
|
|
|
//校验包装条码信息
|
|
|
|
|
MesPackage mesPackage = getMesPackageAndCheck(mesPackageDetail.getPackageNo(), mesPackageDetail.getOrganizeCode());
|
|
|
|
|
//校验是否已关闭
|
|
|
|
|
if (CommonEnumUtil.TRUE_OR_FALSE.TRUE.getValue() == mesPackage.getIsSealed() ) {
|
|
|
|
|
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());
|
|
|
|
@ -166,12 +166,12 @@ public class MesBoxingErrorProofingService implements IMesBoxingErrorProofingSer
|
|
|
|
|
//校验条码规则
|
|
|
|
|
MesPart mesPart = getMesPartNew(mesPackageDetail, mesPackage, packingDefine);
|
|
|
|
|
//包装规格明细
|
|
|
|
|
MesPackageDetail saveMesPackageDetail = getPackageDetail(mesPackageDetail, mesPart);
|
|
|
|
|
MesPackageDetail saveMesPackageDetail = getPackageDetail(mesPackageDetail, mesPart, packingDefine);
|
|
|
|
|
if (mesPackageDetail.getIsMemoryBoolean()) {
|
|
|
|
|
//保存包装明细
|
|
|
|
|
mesPackageDetailRDao.insert(saveMesPackageDetail);
|
|
|
|
|
//更新包装表
|
|
|
|
|
updateMesPackage(mesPackage, mesPackageDetail.getModifyUser(), 1d, false);
|
|
|
|
|
updateMesPackage(mesPackage, mesPackageDetail.getModifyUser(), 1d, false, packingDefine);
|
|
|
|
|
}
|
|
|
|
|
//缓存是否记忆开关
|
|
|
|
|
saveRedis(getKey(mesPackageDetail.getOrganizeCode(), mesPackageDetail.getModifyUser()),mesPackageDetail.getIsMemory());
|
|
|
|
@ -200,7 +200,7 @@ public class MesBoxingErrorProofingService implements IMesBoxingErrorProofingSer
|
|
|
|
|
mesPackageDetailRDao.saveAll(saveMesPackageDetailList);
|
|
|
|
|
int qty = saveMesPackageDetailList.size();
|
|
|
|
|
//更新包装表
|
|
|
|
|
updateMesPackage(mesPackage, userName, qty, false);
|
|
|
|
|
updateMesPackage(mesPackage, userName, qty, false, null);
|
|
|
|
|
}
|
|
|
|
|
if(mesPackage.getIsSealed() == CommonEnumUtil.TRUE_OR_FALSE.TRUE.getValue()){
|
|
|
|
|
return ResultBean.success("当前箱条码已完成装箱,请扫描下一个箱条码!").setResultObject(mesPackage);
|
|
|
|
@ -227,7 +227,7 @@ public class MesBoxingErrorProofingService implements IMesBoxingErrorProofingSer
|
|
|
|
|
MesPcnException.throwMesBusiException("箱条码[%s]下不存在零件条码,不允许关箱,请检查数据!", mesPackage.getPackageNo());
|
|
|
|
|
}
|
|
|
|
|
//关箱
|
|
|
|
|
updateMesPackage(mesPackageDb, mesPackage.getModifyUser(), 0d, true);
|
|
|
|
|
updateMesPackage(mesPackageDb, mesPackage.getModifyUser(), 0d, true, null);
|
|
|
|
|
return ResultBean.success("关箱成功!");
|
|
|
|
|
} else {
|
|
|
|
|
if (CommonEnumUtil.TRUE_OR_FALSE.FALSE.getValue() == mesPackageDb.getIsSealed()) {
|
|
|
|
@ -294,31 +294,34 @@ public class MesBoxingErrorProofingService implements IMesBoxingErrorProofingSer
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
private MesPart getMesPart(MesPackageDetail mesPackageDetail, MesPackage mesPackage, MesPackingDefine packingDefine) {
|
|
|
|
|
//校验是否重复扫描
|
|
|
|
|
checkSerialNumber(mesPackageDetail);
|
|
|
|
|
//获取包装定义明细
|
|
|
|
|
List<MesPackingDefineDetails> defineDetails = getMesPackingDefineDetails(mesPackageDetail.getOrganizeCode(), mesPackage.getPackageSn());
|
|
|
|
|
//校验是否包含
|
|
|
|
|
// String partNo = getPartNo(mesPackageDetail, mesPackage, defineDetails);
|
|
|
|
|
//校验条码信息
|
|
|
|
|
String partNo = checkSn(mesPackageDetail, packingDefine, mesPackage, defineDetails);
|
|
|
|
|
//物料信息
|
|
|
|
|
return getPart(mesPackageDetail.getOrganizeCode(), partNo);
|
|
|
|
|
}
|
|
|
|
|
// private MesPart getMesPart(MesPackageDetail mesPackageDetail, MesPackage mesPackage, MesPackingDefine packingDefine) {
|
|
|
|
|
// //校验是否重复扫描
|
|
|
|
|
// checkSerialNumber(mesPackageDetail);
|
|
|
|
|
// //获取包装定义明细
|
|
|
|
|
// List<MesPackingDefineDetails> defineDetails = getMesPackingDefineDetails(mesPackageDetail.getOrganizeCode(), mesPackage.getPackageSn());
|
|
|
|
|
// //校验是否包含
|
|
|
|
|
//// String partNo = getPartNo(mesPackageDetail, mesPackage, defineDetails);
|
|
|
|
|
// //校验条码信息
|
|
|
|
|
// String partNo = checkSn(mesPackageDetail, packingDefine, mesPackage, defineDetails);
|
|
|
|
|
// //物料信息
|
|
|
|
|
// return getPart(mesPackageDetail.getOrganizeCode(), partNo);
|
|
|
|
|
// }
|
|
|
|
|
|
|
|
|
|
private MesPart getMesPartNew(MesPackageDetail mesPackageDetail, MesPackage mesPackage, MesPackingDefine packingDefine) {
|
|
|
|
|
//校验是否重复扫描
|
|
|
|
|
checkSerialNumber(mesPackageDetail);
|
|
|
|
|
checkSerialNumber(mesPackageDetail, packingDefine);
|
|
|
|
|
//校验条码信息
|
|
|
|
|
String partNo = checkSnNew(mesPackageDetail, packingDefine, mesPackage);
|
|
|
|
|
//物料信息
|
|
|
|
|
return getPart(mesPackageDetail.getOrganizeCode(), partNo);
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
private void checkSerialNumber(MesPackageDetail mesPackageDetail) {
|
|
|
|
|
private void checkSerialNumber(MesPackageDetail mesPackageDetail, MesPackingDefine packingDefine) {
|
|
|
|
|
DdlPackBean ddlPackBean = DdlPackBean.getDdlPackBean(mesPackageDetail.getOrganizeCode());
|
|
|
|
|
DdlPreparedPack.getStringEqualPack(mesPackageDetail.getSerialNumber(), MesPcnExtConstWords.SERIAL_NUMBER, ddlPackBean);
|
|
|
|
|
if (Objects.equals(CommonEnumUtil.TRUE_OR_FALSE.TRUE.getValue(), packingDefine.getIsConfirmCheck())) {
|
|
|
|
|
DdlPreparedPack.getNumEqualPack(CommonEnumUtil.TRUE_OR_FALSE.TRUE.getValue(), "isSecondPack", ddlPackBean);
|
|
|
|
|
}
|
|
|
|
|
if (mesPackageDetailRDao.isExitByHql(ddlPackBean)) {
|
|
|
|
|
MesPcnException.throwMesBusiException("零件条码[%s]已装箱,请检查数据!", mesPackageDetail.getSerialNumber());
|
|
|
|
|
}
|
|
|
|
@ -387,13 +390,15 @@ public class MesBoxingErrorProofingService implements IMesBoxingErrorProofingSer
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
private void updateMesPackage(MesPackage mesPackage, String userName, double qty, boolean close) {
|
|
|
|
|
private void updateMesPackage(MesPackage mesPackage, String userName, double qty, boolean close, MesPackingDefine packingDefine) {
|
|
|
|
|
mesPackage.setQty(MathOperation.add(mesPackage.getQty(), qty));
|
|
|
|
|
if (mesPackage.getPackSpecQty() <= mesPackage.getQty() || close) {
|
|
|
|
|
mesPackage.setIsSealed(CommonEnumUtil.TRUE_OR_FALSE.TRUE.getValue());
|
|
|
|
|
mesPackage.setLotNo(TimeTool.getToday());
|
|
|
|
|
//数据写入接口表回传wms
|
|
|
|
|
saveMesPackageResult(mesPackage, userName);
|
|
|
|
|
if (packingDefine == null || !Objects.equals(CommonEnumUtil.TRUE_OR_FALSE.TRUE.getValue(), packingDefine.getIsConfirmCheck())) {
|
|
|
|
|
saveMesPackageResult(mesPackage, userName);
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
ConvertBean.serviceModelUpdate(mesPackage, userName);
|
|
|
|
|
mesPackageRDao.update(mesPackage);
|
|
|
|
@ -418,7 +423,7 @@ public class MesBoxingErrorProofingService implements IMesBoxingErrorProofingSer
|
|
|
|
|
return mesPackageDetails;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
private MesPackageDetail getPackageDetail(MesPackageDetail mesPackageDetail, MesPart mesPart) {
|
|
|
|
|
private MesPackageDetail getPackageDetail(MesPackageDetail mesPackageDetail, MesPart mesPart, MesPackingDefine packingDefine) {
|
|
|
|
|
MesPackageDetail saveMesPackageDetail = new MesPackageDetail();
|
|
|
|
|
saveMesPackageDetail.setPackageNo(mesPackageDetail.getPackageNo());
|
|
|
|
|
saveMesPackageDetail.setSerialNumber(mesPackageDetail.getSerialNumber());
|
|
|
|
@ -426,6 +431,11 @@ public class MesBoxingErrorProofingService implements IMesBoxingErrorProofingSer
|
|
|
|
|
saveMesPackageDetail.setPartName(mesPart.getPartName());
|
|
|
|
|
saveMesPackageDetail.setQty(1d);
|
|
|
|
|
saveMesPackageDetail.setOrganizeCode(mesPackageDetail.getOrganizeCode());
|
|
|
|
|
if (packingDefine != null && Objects.equals(CommonEnumUtil.TRUE_OR_FALSE.TRUE.getValue(), packingDefine.getIsConfirmCheck())) {
|
|
|
|
|
saveMesPackageDetail.setIsSecondPack(CommonEnumUtil.TRUE_OR_FALSE.TRUE.getValue());
|
|
|
|
|
} else {
|
|
|
|
|
saveMesPackageDetail.setIsSecondPack(CommonEnumUtil.TRUE_OR_FALSE.FALSE.getValue());
|
|
|
|
|
}
|
|
|
|
|
ConvertBean.serviceModelInitialize(saveMesPackageDetail, mesPackageDetail.getCreateUser());
|
|
|
|
|
return saveMesPackageDetail;
|
|
|
|
|
}
|
|
|
|
|