|
|
|
@ -1,9 +1,11 @@
|
|
|
|
|
package cn.estsh.i3plus.ext.mes.pcn.apiservice.serviceimpl.busi;
|
|
|
|
|
|
|
|
|
|
import cn.estsh.i3plus.ext.mes.pcn.api.busi.IMesNumberRuleMatchDispatchService;
|
|
|
|
|
import cn.estsh.i3plus.ext.mes.pcn.api.busi.IMesRawPartChargingService;
|
|
|
|
|
import cn.estsh.i3plus.ext.mes.pcn.apiservice.util.MesPcnException;
|
|
|
|
|
import cn.estsh.i3plus.ext.mes.pcn.pojo.model.MesRawPackageModel;
|
|
|
|
|
import cn.estsh.i3plus.ext.mes.pcn.pojo.model.MesRawPartChargingModel;
|
|
|
|
|
import cn.estsh.i3plus.ext.mes.pcn.pojo.util.MesPcnExtConstWords;
|
|
|
|
|
import cn.estsh.i3plus.platform.common.convert.ConvertBean;
|
|
|
|
|
import cn.estsh.i3plus.platform.common.tool.TimeTool;
|
|
|
|
|
import cn.estsh.i3plus.pojo.base.bean.DdlPackBean;
|
|
|
|
@ -12,6 +14,7 @@ import cn.estsh.i3plus.pojo.base.tool.DdlPreparedPack;
|
|
|
|
|
import cn.estsh.i3plus.pojo.mes.bean.*;
|
|
|
|
|
import cn.estsh.i3plus.pojo.mes.repository.*;
|
|
|
|
|
import cn.estsh.i3plus.pojo.mes.util.MesExtEnumUtil;
|
|
|
|
|
import cn.estsh.impp.framework.boot.util.SpringContextsUtil;
|
|
|
|
|
import cn.estsh.impp.framework.boot.util.ValidatorBean;
|
|
|
|
|
import lombok.extern.slf4j.Slf4j;
|
|
|
|
|
import org.springframework.beans.BeanUtils;
|
|
|
|
@ -99,7 +102,8 @@ public class MesRawPartChargingServiceImpl implements IMesRawPartChargingService
|
|
|
|
|
//校验是否已扫描
|
|
|
|
|
List<MesRawPartCharging> mesRawPartCharging = findMesRawPartCharging(mesRawPartChargingModel);
|
|
|
|
|
if (!CollectionUtils.isEmpty(mesRawPartCharging)) {
|
|
|
|
|
MesPcnException.throwMesBusiException("料筒条码【%s】与原料条码【%s】已绑定", mesRawPartChargingModel.getPackageSn(), mesRawPartCharging.iterator().next().getSn());
|
|
|
|
|
//已绑定,再次扫描料筒条码自动初始化
|
|
|
|
|
doMesRawPartChargingInit(mesRawPartChargingModel);
|
|
|
|
|
}
|
|
|
|
|
if (Objects.isNull(MesExtEnumUtil.RAW_SCAN_TYPE.valueOfDescription(mesRawPartChargingModel.getMesRawPackagePart().getScanType()))) {
|
|
|
|
|
MesPcnException.throwMesBusiException("料筒条码【%s】物料【%s】扫描类型信息不存在", mesRawPartChargingModel.getPackageSn(), mesRawPartChargingModel.getMesRawPackagePart().getPartNo());
|
|
|
|
@ -219,25 +223,8 @@ public class MesRawPartChargingServiceImpl implements IMesRawPartChargingService
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
private void checkHomeRuleSn(MesRawPartChargingModel mesRawPartChargingModel) {
|
|
|
|
|
if (StringUtils.isEmpty(mesRawPartChargingModel.getMesRawPackagePart().getBarcodeRule())) {
|
|
|
|
|
MesPcnException.throwMesBusiException("非自制件,条码规则未维护", mesRawPartChargingModel.getMesRawPackagePart().getPartNo());
|
|
|
|
|
}
|
|
|
|
|
if (!mesRawPartChargingModel.getMesRawPackagePart().getBarcodeRule().contains("*")) {
|
|
|
|
|
if(!mesRawPartChargingModel.getMesRawPackagePart().getBarcodeRule().equals(mesRawPartChargingModel.getSn())){
|
|
|
|
|
MesPcnException.throwMesBusiException("原料条码【%s】校验条码规则【%s】失败", mesRawPartChargingModel.getSn(), mesRawPartChargingModel.getMesRawPackagePart().getBarcodeRule());
|
|
|
|
|
}
|
|
|
|
|
} else if (mesRawPartChargingModel.getMesRawPackagePart().getBarcodeRule().startsWith("*") && mesRawPartChargingModel.getMesRawPackagePart().getBarcodeRule().endsWith("*")) {
|
|
|
|
|
if(!mesRawPartChargingModel.getSn().contains(mesRawPartChargingModel.getMesRawPackagePart().getBarcodeRule().replace("*", ""))){
|
|
|
|
|
MesPcnException.throwMesBusiException("原料条码【%s】校验条码规则【%s】失败", mesRawPartChargingModel.getSn(), mesRawPartChargingModel.getMesRawPackagePart().getBarcodeRule());
|
|
|
|
|
}
|
|
|
|
|
} else if (mesRawPartChargingModel.getMesRawPackagePart().getBarcodeRule().startsWith("*")) {
|
|
|
|
|
if(!mesRawPartChargingModel.getSn().endsWith(mesRawPartChargingModel.getMesRawPackagePart().getBarcodeRule().replace("*", ""))){
|
|
|
|
|
MesPcnException.throwMesBusiException("原料条码【%s】校验条码规则【%s】失败", mesRawPartChargingModel.getSn(), mesRawPartChargingModel.getMesRawPackagePart().getBarcodeRule());
|
|
|
|
|
}
|
|
|
|
|
} else if (mesRawPartChargingModel.getMesRawPackagePart().getBarcodeRule().endsWith("*")) {
|
|
|
|
|
if(!mesRawPartChargingModel.getSn().startsWith(mesRawPartChargingModel.getMesRawPackagePart().getBarcodeRule().replace("*", ""))){
|
|
|
|
|
MesPcnException.throwMesBusiException("原料条码【%s】校验条码规则【%s】失败", mesRawPartChargingModel.getSn(), mesRawPartChargingModel.getMesRawPackagePart().getBarcodeRule());
|
|
|
|
|
}
|
|
|
|
|
if(!(Boolean) ((IMesNumberRuleMatchDispatchService) SpringContextsUtil.getBean(MesExtEnumUtil.ASSEMBLY_MATCH_TYPE.MATCH_TYPE_20.getStrategyClass())).matchNumberRule(mesRawPartChargingModel.getOrganizeCode(), mesRawPartChargingModel.getSn(), mesRawPartChargingModel.getMesRawPackagePart().getBarcodeRule(), mesRawPartChargingModel.getMesRawPackagePart().getBarcodeRule()).get(MesPcnExtConstWords.RESULT)){
|
|
|
|
|
MesPcnException.throwMesBusiException("原料条码【%s】校验条码规则【%s】失败", mesRawPartChargingModel.getSn(), mesRawPartChargingModel.getMesRawPackagePart().getBarcodeRule());
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|