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

master
jun 6 months ago
parent 280cb1fedb
commit a4a0390c6b

@ -1,6 +1,7 @@
package cn.estsh.i3plus.ext.mes.pcn.apiservice.serviceimpl.numberrule;
import cn.estsh.i3plus.ext.mes.pcn.api.base.IMesCustomerPartService;
import cn.estsh.i3plus.ext.mes.pcn.api.busi.IMesCustomerSnTransformService;
import cn.estsh.i3plus.ext.mes.pcn.apiservice.util.MesPcnException;
import cn.estsh.i3plus.mes.pcn.api.iservice.busi.INumberRulePackAttributeStrategyService;
import cn.estsh.i3plus.pojo.mes.bean.MesCustomerPart;
@ -14,7 +15,7 @@ import java.util.Date;
import java.util.Map;
/**
* @Description :
* @Description : ()
* @Reference :
* @Author : junsheng.li
* @CreateDate 2024/11/16 10:56
@ -26,6 +27,9 @@ public class MesNoSortCustSnNumberRuleStrategyService implements INumberRulePack
@Autowired
private IMesCustomerPartService mesCustomerPartService;
@Autowired
private IMesCustomerSnTransformService mesCustomerSnTransformService;
@Override
public GenSerialNoModel execute(GenSerialNoModel genSerialNoModel) {
Map<String, Object> dataMap = genSerialNoModel.getDataMap();
@ -47,4 +51,9 @@ public class MesNoSortCustSnNumberRuleStrategyService implements INumberRulePack
genSerialNoModel.setDay(String.format("%03d",custCalendar.get(Calendar.DAY_OF_YEAR)));
return genSerialNoModel;
}
@Override
public String transform(String serialNo) {
return mesCustomerSnTransformService.transformBarCodeGm(serialNo);
}
}

@ -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, getCustSn(genSerialNoModel, model), model.getUserName(), model.getQty());
MesProduceSn produceSn = generateMesProduceSn(mesPart, syncFuncService.syncSerialNo(genSerialNoModel, model.getUserName(), model.getOrganizeCode(), 1).getResultList().get(0).toString(), 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,23 +268,4 @@ 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