|
|
@ -118,6 +118,8 @@ public class MesProduceSnPrintService implements IMesProduceSnPrintService {
|
|
|
|
@Override
|
|
|
|
@Override
|
|
|
|
public MesProduceSnPrintModel doPrint(MesProduceSnPrintModel mesProduceSnPrintModel) {
|
|
|
|
public MesProduceSnPrintModel doPrint(MesProduceSnPrintModel mesProduceSnPrintModel) {
|
|
|
|
String organizeCode = mesProduceSnPrintModel.getOrganizeCode();
|
|
|
|
String organizeCode = mesProduceSnPrintModel.getOrganizeCode();
|
|
|
|
|
|
|
|
//获取产线信息
|
|
|
|
|
|
|
|
String workCenterCode = getWorkCenterCode(organizeCode);
|
|
|
|
|
|
|
|
|
|
|
|
//物料信息
|
|
|
|
//物料信息
|
|
|
|
MesPart mesPart = mesPartService.getMesPartByPartNo(mesProduceSnPrintModel.getPartNo(), organizeCode);
|
|
|
|
MesPart mesPart = mesPartService.getMesPartByPartNo(mesProduceSnPrintModel.getPartNo(), organizeCode);
|
|
|
@ -132,7 +134,7 @@ public class MesProduceSnPrintService implements IMesProduceSnPrintService {
|
|
|
|
DdlPreparedPack.getStringEqualPack(snRule, "ruleCode", mesRulePackBean);
|
|
|
|
DdlPreparedPack.getStringEqualPack(snRule, "ruleCode", mesRulePackBean);
|
|
|
|
List<MesNumberRule> ruleList = mesNumberRuleRDao.findByHqlWhere(mesRulePackBean);
|
|
|
|
List<MesNumberRule> ruleList = mesNumberRuleRDao.findByHqlWhere(mesRulePackBean);
|
|
|
|
if (ruleList.isEmpty()) {
|
|
|
|
if (ruleList.isEmpty()) {
|
|
|
|
MesPcnException.throwMesBusiException("零件号【】打印规则查询不到!", mesPart.getPartNo());
|
|
|
|
MesPcnException.throwMesBusiException("零件号【%s】打印规则查询不到!", mesPart.getPartNo());
|
|
|
|
}
|
|
|
|
}
|
|
|
|
MesNumberRule numberRule = ruleList.get(0);
|
|
|
|
MesNumberRule numberRule = ruleList.get(0);
|
|
|
|
String methodNameExt = numberRule.getMethodNameExt();
|
|
|
|
String methodNameExt = numberRule.getMethodNameExt();
|
|
|
@ -166,6 +168,7 @@ public class MesProduceSnPrintService implements IMesProduceSnPrintService {
|
|
|
|
MesProduceSnPrintModel resultModel = templateStrategy.execute(genSerialNoModel, mesProduceSnPrintModel, numberRule,null,null,false);
|
|
|
|
MesProduceSnPrintModel resultModel = templateStrategy.execute(genSerialNoModel, mesProduceSnPrintModel, numberRule,null,null,false);
|
|
|
|
|
|
|
|
|
|
|
|
resultModel.getMesProduceSnList().forEach(mesProduceSn -> {
|
|
|
|
resultModel.getMesProduceSnList().forEach(mesProduceSn -> {
|
|
|
|
|
|
|
|
mesProduceSn.setWorkCenterCode(workCenterCode);
|
|
|
|
mesProduceSn.setFid(UUID.randomUUID().toString());
|
|
|
|
mesProduceSn.setFid(UUID.randomUUID().toString());
|
|
|
|
//保存条码
|
|
|
|
//保存条码
|
|
|
|
mesProduceSnRDao.insert(mesProduceSn);
|
|
|
|
mesProduceSnRDao.insert(mesProduceSn);
|
|
|
@ -186,7 +189,7 @@ public class MesProduceSnPrintService implements IMesProduceSnPrintService {
|
|
|
|
DdlPreparedPack.getStringEqualPack(mesProduceSnPrintModel.getProductSn(), "barcode", snLogPackBean);
|
|
|
|
DdlPreparedPack.getStringEqualPack(mesProduceSnPrintModel.getProductSn(), "barcode", snLogPackBean);
|
|
|
|
List<MesPrintedSnLog> snLogList = mesPrintedSnRao.findByHqlWhere(snLogPackBean);
|
|
|
|
List<MesPrintedSnLog> snLogList = mesPrintedSnRao.findByHqlWhere(snLogPackBean);
|
|
|
|
if (snLogList.isEmpty()) {
|
|
|
|
if (snLogList.isEmpty()) {
|
|
|
|
MesPcnException.throwMesBusiException("条码【】查询不到打印记录!", mesProduceSnPrintModel.getProductSn());
|
|
|
|
MesPcnException.throwMesBusiException("条码【%s】查询不到打印记录!", mesProduceSnPrintModel.getProductSn());
|
|
|
|
}
|
|
|
|
}
|
|
|
|
MesPrintedSnLog mesPrintedSnLog = snLogList.get(0);
|
|
|
|
MesPrintedSnLog mesPrintedSnLog = snLogList.get(0);
|
|
|
|
MesProduceSnPrintDataModel model = new MesProduceSnPrintDataModel();
|
|
|
|
MesProduceSnPrintDataModel model = new MesProduceSnPrintDataModel();
|
|
|
@ -198,6 +201,14 @@ public class MesProduceSnPrintService implements IMesProduceSnPrintService {
|
|
|
|
return mesProduceSnPrintModel;
|
|
|
|
return mesProduceSnPrintModel;
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
private String getWorkCenterCode(String organizeCode) {
|
|
|
|
|
|
|
|
List<MesConfig> mesConfigList = configService.findMesConfigByCfgCode(MesPcnExtConstWords.PRINT_WORK_CENTER_COED, organizeCode);
|
|
|
|
|
|
|
|
if(CollectionUtils.isEmpty(mesConfigList)){
|
|
|
|
|
|
|
|
MesPcnException.throwMesBusiException("条码打印产线参数【%s】未维护",MesPcnExtConstWords.PRINT_WORK_CENTER_COED);
|
|
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
return mesConfigList.iterator().next().getCfgValue();
|
|
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
private String getTemplate(MesProduceSnPrintModel mesProduceSnPrintModel, MesPart mesPart) {
|
|
|
|
private String getTemplate(MesProduceSnPrintModel mesProduceSnPrintModel, MesPart mesPart) {
|
|
|
|
Date date = new Date();
|
|
|
|
Date date = new Date();
|
|
|
|
StringBuilder template = new StringBuilder();
|
|
|
|
StringBuilder template = new StringBuilder();
|
|
|
|