diff --git a/modules/i3plus-ext-mes-pcn-apiservice/src/main/java/cn/estsh/i3plus/ext/mes/pcn/apiservice/serviceimpl/print/strategy/WuhanSnPrintStrategy.java b/modules/i3plus-ext-mes-pcn-apiservice/src/main/java/cn/estsh/i3plus/ext/mes/pcn/apiservice/serviceimpl/print/strategy/WuhanSnPrintStrategy.java index 03e82ee..15cb09e 100644 --- a/modules/i3plus-ext-mes-pcn-apiservice/src/main/java/cn/estsh/i3plus/ext/mes/pcn/apiservice/serviceimpl/print/strategy/WuhanSnPrintStrategy.java +++ b/modules/i3plus-ext-mes-pcn-apiservice/src/main/java/cn/estsh/i3plus/ext/mes/pcn/apiservice/serviceimpl/print/strategy/WuhanSnPrintStrategy.java @@ -83,7 +83,7 @@ public class WuhanSnPrintStrategy implements IPrintTemplateStrategyService { genSerialNoModel.putDataMap(MesCustomerPart.class.getSimpleName(),customerPart).partSnParam(mesPart.getPartSnParam()); for (int i = 0; i < model.getPrintQty(); i++) { //保存条码信息 - MesProduceSn produceSn = generateMesProduceSn(mesPart, syncFuncService.syncSerialNo(genSerialNoModel, model.getUserName(), model.getOrganizeCode(), 1).getResultList().get(0).toString(), model.getUserName(), model.getQty()); + MesProduceSn produceSn = generateMesProduceSn(mesPart, getCustSn(genSerialNoModel, model), model.getUserName(), model.getQty()); Map printMap = getPrintMap(produceSn.getCustSn(), custPartNoPrefix, custPartNoAfterFour, numberRule); //封装打印信息 MesProduceSnPrintDataModel printDataModel = getModel(mesPart, produceSn.getCustSn(), model.getUserName(), JSONObject.toJSONString(printMap)); @@ -268,4 +268,23 @@ public class WuhanSnPrintStrategy implements IPrintTemplateStrategyService { return resultMap; } + public String getCustSn(GenSerialNoModel genSerialNoModel, MesProduceSnPrintModel model) { + String custSn = syncFuncService.syncSerialNo(genSerialNoModel, model.getUserName(), model.getOrganizeCode(), 1).getResultList().get(0).toString(); + String[] split = custSn.split("%RS%"); + StringBuilder rsStr = new StringBuilder(); + for (int i = 0; i < split.length - 1; i++) { + rsStr.append(split[i]).append((char) 30); + } + + rsStr.append(split[split.length - 1]); + StringBuilder gsStr = new StringBuilder(); + String[] split1 = rsStr.toString().split("%GS%"); + for (int i = 0; i < split1.length - 1; i++) { + gsStr.append(split1[i]).append((char) 29); + } + gsStr.append(split1[split1.length - 1]); + String[] split2 = gsStr.toString().split("%EOT%"); + return split2[0] + (char) 4; + } + }