题目:条码标签: P:A155V:11123;M:10884217-00/PCS;B:20090902VE;S:000000271974860; PO:5905618100/0040:Q:/10000/17/20:D:2019-10-18;YX:2020-09-07;
解析条码: M: 代表物料号10884217-00D: 代表生产时间2019-10-18 S:000000271974860
需求:产生生产批次格式为:生产日期六位(191018)+四位流水号一一1910180001
要求:相同物料生产日期为同一天的批次相同,不同物料生产日期相同的批次流水码累加+1
用java如何实现
建个map,看你要存在那,
1.Map<日期,<该日期的个数,编号>>
2.Map<日期,List<编号>>
判断个数的话直接通过取出日期里面的Map的size就能知道当前日期里面生产了几个然后+1存入下一个。
以上两个都可以
怎么感觉这个问题似曾相识。。。。我是没看懂你想问什么,想实现什么,简单说说吧。
private Label getLabel(String str){
Label label = new Label();
String[] strs = str.split(";");
for(String s:strs){
if(s.contains(":")){
String []items = s.split(":");
if("M".equals(items[0].trim())){
label.setProductId(items[1].trim());
}else if("D".equals(items[0].trim())){
label.setProductTime(items[1].trim());
}
}
}
return label;
}
class Label{
// 题目:条码标签: P:A155V:11123;M:10884217-00/PCS;B:20090902VE;S:000000271974860; PO:5905618100/0040:Q:/10000/17/20:D:2019-10-18;YX:2020-09-07;
// 解析条码: M: 代表物料号10884217-00D: 代表生产时间2019-10-18 S:000000271974860
String batchNo;
private String productId;
private String productTime;
public String getBatchNo() {
return batchNo;
}
public void setBatchNo(String batchNo) {
this.batchNo = batchNo;
}
public String getProductId() {
return productId;
}
public void setProductId(String productId) {
this.productId = productId;
}
public String getProductTime() {
return productTime;
}
public void setProductTime(String productTime) {
this.productTime = productTime;
}
}