装箱防错问题清单问题修复

tags/yfai-pcn-ext-v1.0
jun 11 months ago
parent 46a130ebef
commit 20f97e217c

@ -61,6 +61,9 @@ public class MesBoxingErrorProofingService implements IMesBoxingErrorProofingSer
@Autowired
private MesPackageResultRepository mesPackageResultRDao;
@Autowired
private MesPackageSnRepository mesPackageSnRDao;
@Override
public ListPager<MesPackageDetail> queryMesPackageDetailByPager(MesPackage mesPackage, Pager pager) {
@ -79,24 +82,36 @@ public class MesBoxingErrorProofingService implements IMesBoxingErrorProofingSer
MesPackage mesPackage = getMesPackage(mesPackageDetail.getOrganizeCode(), mesPackageDetail.getPackageNo());
if (Objects.nonNull(mesPackage)) {
return mesPackage;
}else{
MesPart mesPart;
Double qty;
String packageOneCode = "";
//获取包装定义
MesPackingDefine packingDefine = getMesPackingDefine(mesPackageDetail);
//WMS打印的条码信息
MesPackageSn mesPackageSn = getMesPackageSn(mesPackageDetail.getOrganizeCode(), mesPackageDetail.getPackageNo());
if(!Objects.isNull(mesPackageSn)){
mesPart = getPart(mesPackageSn.getOrganizeCode(),mesPackageSn.getPartNo());
qty = mesPackageSn.getQty();
packageOneCode = mesPackageSn.getPackageOneCode();
}else{
//解析获取信息保存
if (StringUtils.isEmpty(packingDefine.getSplitChar())) {
MesPcnException.throwMesBusiException("箱类别代号【%s】分隔符不能为空", packingDefine.getPackCode());
}
String[] split = mesPackageDetail.getPackageNo().split("\\" + packingDefine.getSplitChar());
//获取序列号
checkSerial(packingDefine, split);
//工厂校验
checkOrganizeCode(mesPackageDetail, packingDefine, split);
//获取物料信息是否存在
mesPart = getMesPart(mesPackageDetail, packingDefine, split);
//获取数量信息是否存在
qty = getQty(packingDefine, split);
}
MesPackage packages = getMesPackage(mesPackageDetail, mesPart, qty, packingDefine,packageOneCode);
return mesPackageRDao.insert(packages);
}
//获取包装定义
MesPackingDefine packingDefine = getMesPackingDefine(mesPackageDetail);
//解析获取信息保存
if (StringUtils.isEmpty(packingDefine.getSplitChar())) {
MesPcnException.throwMesBusiException("箱类别代号【%s】分隔符不能为空", packingDefine.getPackCode());
}
String[] split = mesPackageDetail.getPackageNo().split("\\" + packingDefine.getSplitChar());
//获取序列号
checkSerial(packingDefine, split);
//工厂校验
checkOrganizeCode(mesPackageDetail, packingDefine, split);
//获取物料信息是否存在
MesPart mesPart = getMesPart(mesPackageDetail, packingDefine, split);
//获取数量信息是否存在
Double qty = getQty(packingDefine, split);
MesPackage packages = getMesPackage(mesPackageDetail, mesPart, qty, packingDefine);
return mesPackageRDao.insert(packages);
} else {
checkNotNull(mesPackageDetail);
//校验过程条码是否存在
@ -425,7 +440,7 @@ public class MesBoxingErrorProofingService implements IMesBoxingErrorProofingSer
return Double.parseDouble(split[packingDefine.getQtyIndex() - 1]);
}
private MesPackage getMesPackage(MesPackageDetail mesPackageDetail, MesPart mesPart, Double qty, MesPackingDefine packingDefine) {
private MesPackage getMesPackage(MesPackageDetail mesPackageDetail, MesPart mesPart, Double qty, MesPackingDefine packingDefine,String packageOneCode) {
//保存包装信息
MesPackage packages = new MesPackage();
packages.setPackageNo(mesPackageDetail.getPackageNo());
@ -436,6 +451,7 @@ public class MesBoxingErrorProofingService implements IMesBoxingErrorProofingSer
packages.setIsSealed(CommonEnumUtil.TRUE_OR_FALSE.FALSE.getValue());
packages.setPrintStatus(MesPcnEnumUtil.PACKAGE_PRINT_STATUS.UNPRINTED.getValue());
packages.setPackageSn(packingDefine.getPackCode());
packages.setPackageOneCode(packageOneCode);
packages.setOrganizeCode(mesPackageDetail.getOrganizeCode());
ConvertBean.serviceModelInitialize(packages, mesPackageDetail.getCreateUser());
return packages;
@ -447,6 +463,12 @@ public class MesBoxingErrorProofingService implements IMesBoxingErrorProofingSer
return mesPackageRDao.getByProperty(packBean);
}
private MesPackageSn getMesPackageSn(String organizeCode, String packageNo) {
DdlPackBean packBean = DdlPackBean.getDdlPackBean(organizeCode);
DdlPreparedPack.getStringEqualPack(packageNo, "packageNo", packBean);
return mesPackageSnRDao.getByProperty(packBean);
}
private MesPackingDefine getMesPackingDefine(MesPackageDetail mesPackageDetail) {
DdlPackBean packBean = DdlPackBean.getDdlPackBean(mesPackageDetail.getOrganizeCode());
DdlPreparedPack.getStringEqualPack(mesPackageDetail.getScanType(), "scanType", packBean);

Loading…
Cancel
Save