From 0a4284cd0a163d5f4fedb0ae715efed69a5654ff Mon Sep 17 00:00:00 2001 From: "castle.zang" Date: Fri, 19 Jul 2024 17:36:07 +0800 Subject: [PATCH] =?UTF-8?q?=E4=BF=AE=E5=A4=8DgqxnyPrintStrategy=E7=A9=BA?= =?UTF-8?q?=E6=8C=87=E9=92=88=E9=97=AE=E9=A2=98?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../serviceimpl/print/strategy/GqxnyPrintStrategy.java | 13 +++++++------ 1 file changed, 7 insertions(+), 6 deletions(-) diff --git a/modules/i3plus-ext-mes-pcn-apiservice/src/main/java/cn/estsh/i3plus/ext/mes/pcn/apiservice/serviceimpl/print/strategy/GqxnyPrintStrategy.java b/modules/i3plus-ext-mes-pcn-apiservice/src/main/java/cn/estsh/i3plus/ext/mes/pcn/apiservice/serviceimpl/print/strategy/GqxnyPrintStrategy.java index 743555d..7749f8b 100644 --- a/modules/i3plus-ext-mes-pcn-apiservice/src/main/java/cn/estsh/i3plus/ext/mes/pcn/apiservice/serviceimpl/print/strategy/GqxnyPrintStrategy.java +++ b/modules/i3plus-ext-mes-pcn-apiservice/src/main/java/cn/estsh/i3plus/ext/mes/pcn/apiservice/serviceimpl/print/strategy/GqxnyPrintStrategy.java @@ -121,16 +121,17 @@ public class GqxnyPrintStrategy implements IPrintTemplateStrategyService { }else { String sn = mesProduceSnPrintModel.getProductSn(); MesProduceSn mesProduceSn = mesProduceSnPrintModel.getMesProduceSnList().get(0); - int versionNoLength = numberRule.getSpiltRule().substring(numberRule.getSpiltRule().lastIndexOf(",") + 1).length(); + //零件长度17位,拓展2位,供应商7位,扩展位3个0,产线1,年月日,流水号4位,扩展位4位,标识+ + //{custPartNo}{spiltrule}{custCode}{spiltrule}{spiltrule}{year}{serialNo}{spiltrule}{spiltrule} + //客户零件号-扩展位-客户代码-预留位000-产线1-年月日-条码-扩展0000-追溯位+ + //splitRule 00,000,1,0000,+ + //如下目的主要是截取流水号,主要把流水号转换为32位 Integer serialNoLength = numberRule.getSerialnoLength(); - String snPrefix = sn.substring(0, sn.length() - versionNoLength - serialNoLength); - String snSuffix = sn.substring(sn.length() - versionNoLength); - String serialNo = sn.substring(sn.length() - versionNoLength - serialNoLength, sn.length() - versionNoLength); + String serialNo = sn.substring(sn.length()-serialNoLength-5, sn.length()-5); String serialNo34 = toBase34(Integer.parseInt(serialNo)); serialNo34 = stringFormat(serialNo34, 4, false, "0"); - sn = snPrefix + serialNo34 + snSuffix; //封装打印信息 - MesProduceSnPrintDataModel printDataModel = getModel(mesProduceSn, serialNo, custPartNo, organizeName); + MesProduceSnPrintDataModel printDataModel = getModel(mesProduceSn, serialNo34, custPartNo, organizeName); printDataModel.setBarcode(sn); mesProduceSnPrintModel.getMesProduceSnPrintDataModelList().add(printDataModel); //保存打印记录