Commit 6d155610 sunke

条码规则添加MEMO解析字段

去除一些不使用的料仓类型
生成条码时加前缀N
虚拟仓中文显示及无法添加库位问题
PDA界面任务满屏
出库界面按钮上移
1 个父辈 76c0843e
......@@ -23,6 +23,7 @@ import java.util.Date;
* SP 为供应商,
* BATCH 为批次
* MSL 为MSL等级
* MEMO 备注信息
*
*
*
......@@ -166,6 +167,12 @@ public class BarcodeRule {
}
}
if(!newRule.memo_item.hasThisField()){
if(newRule.memo_item.matchRule(fieldValue, i)){
log.info("MEMO: 为" + newRule.memo_item.toString());
}
}
if(!newRule.produceDate_item.hasThisField()){
if(newRule.produceDate_item.matchRule(fieldValue,i)){
......@@ -235,6 +242,7 @@ public class BarcodeRule {
private RuleItem supplier_item = new RuleItem("SP");
private RuleItem batch_item = new RuleItem("BATCH");
private RuleItem msl_item = new RuleItem("MSL");
private RuleItem memo_item = new RuleItem("MEMO");
private class RuleItem{
private RuleItem(String ruleName) {
......@@ -539,6 +547,12 @@ public class BarcodeRule {
String supplier = supplier_item.getStrValue(codeArr);
String msl = msl_item.getStrValue(codeArr);
if(memo_item.hasThisField()){
String memo = memo_item.getStrValue(codeArr);
b.setMemo(memo);
}
//南瑞使用整个条码作为唯一码
if(DataCache.isProductionFor(DataCache.CUSTOMER.NANRUI)){
b.setBarcode(codeStr);
......@@ -643,8 +657,8 @@ public class BarcodeRule {
rule = "SP;PN;PRODATEyyw[0:4:0];BATCH;QTY;RI;";
//rule = "SP;PN;PRODATEyyyyMMdd[0:8:0];BATCH;QTY;RI;";
codeStr = "=7x8=[)>@SIIX20@2060GBUW00@1347-01358@5000.000 @@";
rule = "1@RI@BATCH@PN@QTY@@";
codeStr = "=7x8=[)>@SIIX20@2060GBUW00@1347-01358@5000.000 @@ABCD";
rule = "1@RI@BATCH@PN@QTY@@MEMO";
BarcodeRule br = BarcodeRule.newRule(rule);
Barcode b = br.toCodeBean(codeStr).getBarcode();
......@@ -657,6 +671,7 @@ public class BarcodeRule {
System.out.println("PRODATE:"+b.getProduceDate());
System.out.println("EXPDATE:"+b.getExpireDate());
System.out.println("Supllier:"+b.getProvider());
System.out.println("Memo:"+b.getMemo());
}else{
log.info("解析失败");
}
......
package com.myproject.util;
import com.google.common.base.Strings;
import com.google.common.collect.Lists;
import java.util.*;
......@@ -317,6 +318,10 @@ public class StorageConstants {
public String getName(){
return name();
}
public static List<TYPE> availableTypeList(){
return Lists.newArrayList(AUTO,LINE,VIRTUAL,BATCH,ACCSHELF,CODESHELF,SOLDERPASTE,VERTICALBOX,SMD_XL);
}
}
/**
......
......@@ -63,7 +63,7 @@ public class BarcodeUpdateController extends BaseUpdateController {
return barcodeManager.get(id);
} else{
Barcode barcode = new Barcode();
barcode.setBarcode(System.currentTimeMillis() + "");
barcode.setBarcode("N"+System.currentTimeMillis() + "");
return barcode;
}
}
......
......@@ -206,7 +206,7 @@ public class VirtualBoxController extends BaseController{
storagePosManager.insertAll(posList);
dataCache.reloadStorage(virtualStorage);
return "保存成功";
return getText("storagePos.saveSuccess",request.getLocale(),"保存成功");
}catch (Exception e){
log.error("保存虚拟料格出错",e);
......
......@@ -198,7 +198,7 @@ virtualStorage.taskList=\u4EFB\u52A1\u5217\u8868
button.login=\u767B\u5F55
errors.range={0} \u672A\u5728 {1} \u4E0E {2} \u8303\u56F4\u5185\u3002
errors.email={0} \u4E3A\u65E0\u6548\u90AE\u4EF6\u5730\u5740\u3002
barCodeSettings.ruleNotes=\u8BF4\u660E\uFF1A\u5206\u5272\u7B26\u4E3A\u5355\u4E2A\u5B57\u7B26\uFF0C\u53EF\u7528\u5B57\u6BB5\u6709\uFF1A PN\u4E3A\u7269\u6599\u7F16\u53F7\u5373 PartNumber\uFF0CRI \u4E3A\u552F\u4E00\u7801\u5373ReelId\uFF0C\u5F53\u552F\u4E00\u7801\u4E3A\u6761\u7801\u7684\u6240\u6709\u5185\u5BB9\u65F6\u4F7F\u7528[RI]\uFF0CQTY \u4E3A\u6570\u91CF\uFF0CSP \u4E3A\u4F9B\u5E94\u5546\uFF0C BATCH \u4E3A\u6279\u6B21\uFF0CPRODATEyyyyMMdd\u4E3A\u751F\u4EA7\u65E5\u671F\uFF0CEXPDATEyyyyMMdd\u4E3A\u8FC7\u671F\u65E5\u671F\uFF0Cxx\u6216\u7A7A\u4E3A\u65E0\u5BF9\u5E94\u7684\u5B57\u6BB5\uFF0C\u5176\u4E2D\u5FC5\u987B\u542B\u6709PN\u548C RI\uFF0C QTY\u4E3A\u7A7A\u65F6\u4F7F\u7528\u6863\u6848\u7684\u5C01\u88C5\u6570\u91CF
barCodeSettings.ruleNotes=\u8BF4\u660E\uFF1A\u5206\u5272\u7B26\u4E3A\u5355\u4E2A\u5B57\u7B26\uFF0C\u53EF\u7528\u5B57\u6BB5\u6709\uFF1A PN\u4E3A\u7269\u6599\u7F16\u53F7\uFF0CRI\u4E3A\u552F\u4E00\u7801\uFF0C[RI]\u8868\u793A\u552F\u4E00\u7801\u4E3A\u6761\u7801\u7684\u6240\u6709\u5185\u5BB9\uFF0CQTY \u4E3A\u6570\u91CF\uFF0CSP\=\u4F9B\u5E94\u5546\uFF0C BATCH\=\u6279\u6B21\uFF0CPRODATEyyyyMMdd\=\u751F\u4EA7\u65E5\u671F\uFF0CEXPDATEyyyyMMdd\=\u8FC7\u671F\u65E5\u671F\uFF0CMSL\=MSL\u7B49\u7EA7,MEMO\=\u5907\u6CE8\u4FE1\u606F
activeUsers.summary=\u627E\u5230 {0} \u4E2A\u7528\u6237\uFF0C\u663E\u793A {1} \u4E2A\u7528\u6237\uFF0C\u4ECE {2} \u5230 {3}\u3002 {4} / {5} \u9875
allBoxView.lastPage=\u4E0A\u4E00\u9875
specifiedBatch.createDate=\u521B\u5EFA\u65E5\u671F
......
......@@ -152,6 +152,8 @@ storage.type.cabinet=Cabinet
storage.type.solderPaste=SMD-SP
storage.type.smdVl=SMD-VL
storage.type.smdXl=SMD-XL
storage.type.codeShelf=Code Shelf
storage.type.accShelf=Smart Shelf
storage.compatibility=Compatibility
storage.enable=Enable
storage.enable.yes=Yes
......@@ -176,6 +178,7 @@ storagePos.height=Height
storagePos.layer=Slot
storagePos.update=Please update the location information
storagePos.saveSuccess=Location information Saved
storagePos.warmPos=Is Warm Location
storage.saveSuccess=Storage Information Saved
storage.error.notExist=Storage does not exist
storage.error.unique=Storage name already existed
......
......@@ -416,3 +416,6 @@ order.out.maxOrder=The maximum number of executable orders has been reached.
order.out.noTask=The order has no reel to out.
shelf.error.orderError=The task does not match the specified order [{0}].
workOrder.supplementary=Replenishment
storage.type.codeShelf=Code Shelf
storage.type.accShelf=Smart Shelf
storagePos.warmPos=Is Warm Location
......@@ -415,3 +415,6 @@ order.out.maxOrder=\u5DF2\u8FBE\u6700\u5927\u53EF\u6267\u884C\u5DE5\u5355\u6570
order.out.noTask=\u5DE5\u5355\u65E0\u53EF\u6267\u884C\u7684\u4EFB\u52A1
shelf.error.orderError=\u4EFB\u52A1\u4E0E\u6307\u5B9A\u5DE5\u5355[{0}]\u4E0D\u4E00\u81F4
workOrder.supplementary=\u88DC\u5145
storage.type.codeShelf=Code Shelf
storage.type.accShelf=Smart Shelf
storagePos.warmPos=Is Warm Location
......@@ -416,3 +416,6 @@ error.barcode.wrongProduceDate=\u751F\u4EA7\u65E5\u671F\u89E3\u6790\u5931\u8D25
shelf.error.orderError=\u4EFB\u52A1\u4E0E\u6307\u5B9A\u5DE5\u5355[{0}]\u4E0D\u4E00\u81F4
workOrder.supplementary=\u8865\u6599
error.barcode.manyvalid=[{0}]\u627E\u5230\u591A\u4E2A\u6709\u6548\u6761\u7801
storage.type.codeShelf=\u626B\u7801\u6599\u67B6
storage.type.accShelf=\u667A\u80FD\u6599\u67B6
storagePos.warmPos=\u662F\u5426\u662F\u56DE\u6E29\u5E93\u4F4D
......@@ -695,7 +695,7 @@
var taskId = data[item].id;
var partNumber = data[item].partNumber;
var posStr = data[item].posStr;
var barcode = data[item].barcode
var barcode = data[item].barcode;
newTasks.push(taskId);
var options = {};
//入库
......@@ -781,14 +781,15 @@
}
}
if(hasTask){
var showNotify = $(".lobibox-notify").is(':visible');
if(hasTask && showNotify){
$(".box").parent().attr("class", "col-md-4 col-sm-4 ");
$(".box").parent().attr("style", "margin-right:10px;");
}else{
$(".box").parent().attr("class", "col-md-6 col-sm-6 ");
$(".box").parent().attr("style", "");
}
});
}
......
......@@ -129,7 +129,10 @@
<div class="modal-content">
<div class="modal-header">
<button type="button" class="close" data-dismiss="modal" aria-hidden="true">×</button>
<h4 class="modal-title" id="modal-title" style="font-weight: 500;"><fmt:message key="button.checkout"/> </h4>
<h4 class="modal-title" id="modal-title" style="font-weight: 500;line-height: 2;margin-bottom: 5px;"><fmt:message key="button.checkout"/>
<a href="" class="btn yellow right" id="findAndOut" style="margin-right:20px;"><i class="fa fa-sign-out"></i><fmt:message key="allBoxView.findAndOut"/></a>
</h4>
<input type="text" class="form-control" id="searchPn"/>
</div>
<div class="modal-body">
......@@ -142,7 +145,7 @@
</div>
<div class="modal-footer">
<div id="footerBtn">
<a href="" class="btn yellow left" id="findAndOut"><i class="fa fa-sign-out"></i><fmt:message key="allBoxView.findAndOut"/></a>
<button type="button" class="btn green" onclick="lastPage()" id="lastPage">
<fmt:message key="allBoxView.lastPage"/></button>
......
......@@ -91,7 +91,7 @@
<div style="text-align:left">
<form:select path="type" class="form-control">
<c:forEach items="<%= StorageConstants.TYPE.values()%>" var="type">
<c:forEach items="<%= StorageConstants.TYPE.availableTypeList()%>" var="type">
<form:option value="${type.name}"><fmt:message key="${type.key}"/> </form:option>
</c:forEach>
</form:select>
......@@ -100,14 +100,14 @@
</div>
<div class="form-group">
<label class="control-label col-md-3"><fmt:message key="storage.boxCount"/></label>
<%--<label class="control-label col-md-3"><fmt:message key="storage.boxCount"/></label>--%>
<div class="col-md-3">
<div style="text-align:left">
<form:input type="text" path="boxCount" class="form-control"/>
<form:errors path="boxCount" cssStyle="color: red"/>
</div>
</div>
<%--<div class="col-md-3">--%>
<%--<div style="text-align:left">--%>
<%--<form:input type="text" path="boxCount" class="form-control"/>--%>
<%--<form:errors path="boxCount" cssStyle="color: red"/>--%>
<%--</div>--%>
<%--</div>--%>
<label class="control-label col-md-3"><fmt:message key="storage.compatibility"/></label>
......@@ -278,7 +278,7 @@
<thead>
<tr role="row">
<th><fmt:message key="storagePos.name"/></th>
<th><fmt:message key="是否是回温库位"/></th>
<th><fmt:message key="storagePos.warmPos"/></th>
<th><fmt:message key="storage.enable"/></th>
<th><fmt:message key="storagePos.priority"/></th>
<th><fmt:message key="storage.posSize"/></th>
......@@ -483,6 +483,11 @@
</c:if>
<!--End of update-->
<fmt:message key="storage.virtual.pnEmpty" var="pnEmpty"/>
<fmt:message key="storage.virtual.posEmpty" var="posEmpty"/>
<fmt:message key="storage.virtual.numEmpty" var="numEmpty"/>
<fmt:message key="storage.virtual.numErrory" var="numError"/>
<c:set var="scripts" scope="request">
<script src="${ctx}/scripts/echarts.min.js"></script>
......@@ -694,7 +699,7 @@
var reelCount = parseInt(reelCountStr);
if (isNaN(reelCount))
{
$("#err").text("${numErrory}");
$("#err").text("${numError}");
return;
}
$.post("${ctx}/service/store/virtual/savePos", {sid: storageId,posName:posName,partNumber:limitPnList,reelCount:reelCount }, function (data) {
......
......@@ -241,7 +241,7 @@
<div class="page-footer-inner">
2016&copy; <a href="${ctx}/updateHistory.html">SMD BOX</a>
</div>
<span class="right" style="color: #a3a3a3;">Version: 2020.10.27</span>
<span class="right" style="color: #a3a3a3;">Version: 1.4.6</span>
<div class="scroll-to-top">
<i class="icon-arrow-up"></i>
</div>
......
支持 Markdown 格式
你添加了 0 到此讨论。请谨慎行事。
Finish editing this message first!