非排序生成条码规则和排序产线保持一致,特殊符号转ASCII码

master
jun 6 months ago
parent a3ec5cfcd8
commit 280cb1fedb

@ -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<String, Object> 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;
}
}

Loading…
Cancel
Save