Skip to content
切换导航条
切换导航条
当前项目
正在载入...
登录
孙克
/
smf-core
转到一个项目
切换导航栏
切换导航栏固定状态
项目
群组
代码片段
帮助
项目
活动
版本库
流水线
图表
问题
0
合并请求
0
维基
网络
创建新的问题
作业
提交
问题看板
文件
提交
网络
比较
分支
标签
Commit 7e791420
由
sunke
编写于
2022-12-16 16:22:13 +0800
浏览文件
选项
浏览文件
标签
下载
电子邮件补丁
差异文件
修改条码无效提示内容
1 个父辈
08a81339
隐藏空白字符变更
内嵌
并排
正在显示
22 个修改的文件
包含
111 行增加
和
83 行删除
src/main/java/com/neotel/smfcore/common/bean/ResultBean.java
src/main/java/com/neotel/smfcore/common/utils/FileUtil.java
src/main/java/com/neotel/smfcore/core/barcode/utils/CodeResolve.java
src/main/java/com/neotel/smfcore/core/device/handler/impl/NLMShelfHandler.java
src/main/java/com/neotel/smfcore/core/device/handler/impl/NLShelfHandler.java
src/main/java/com/neotel/smfcore/core/device/rest/DeviceController.java
src/main/java/com/neotel/smfcore/core/inList/rest/InListController.java
src/main/java/com/neotel/smfcore/core/kanban/rest/BoxKanbanController.java
src/main/java/com/neotel/smfcore/core/order/LiteOrderCache.java
src/main/java/com/neotel/smfcore/core/order/rest/OrderController.java
src/main/java/com/neotel/smfcore/core/storage/rest/MaterialBoxController.java
src/main/java/com/neotel/smfcore/core/storage/rest/MaterialController.java
src/main/java/com/neotel/smfcore/core/storage/rest/StoragePosController.java
src/main/java/com/neotel/smfcore/custom/dalu/DaLuApi.java
src/main/java/com/neotel/smfcore/custom/haman/rest/HamanController.java
src/main/java/com/neotel/smfcore/custom/hella/handler/HellaServiceHandler.java
src/main/java/com/neotel/smfcore/security/rest/UserController.java
src/main/resources/messages.properties
src/main/resources/messages_en_US.properties
src/main/resources/messages_ja_JP.properties
src/main/resources/messages_zh_CN.properties
src/main/resources/messages_zh_TW.properties
src/main/java/com/neotel/smfcore/common/bean/ResultBean.java
查看文件 @
7e79142
...
...
@@ -37,8 +37,8 @@ public class ResultBean<T> {
}
return
result
;
}
public
static
ResultBean
newOkResult
(
String
msgKey
,
String
msg
,
Object
data
)
{
return
newOkResult
(
msgKey
,
msg
,
new
String
[]{},
data
);
public
static
ResultBean
newOkResult
(
String
msgKey
,
String
msg
)
{
return
newOkResult
(
msgKey
,
msg
,
new
String
[]{},
""
);
}
public
static
ResultBean
newOkResult
(
String
msgKey
,
String
msg
,
String
[]
params
,
Object
data
)
{
ResultBean
result
=
new
ResultBean
();
...
...
@@ -51,7 +51,7 @@ public class ResultBean<T> {
}
public
static
ResultBean
newOkResult
(
Object
data
)
{
return
newOkResult
(
"smfcore.ok"
,
"ok"
,
data
);
return
newOkResult
(
"smfcore.ok"
,
"ok"
,
new
String
[]{},
data
);
}
public
void
updateLocal
(
Locale
locale
)
{
...
...
src/main/java/com/neotel/smfcore/common/utils/FileUtil.java
查看文件 @
7e79142
...
...
@@ -257,21 +257,20 @@ public class FileUtil extends cn.hutool.core.io.FileUtil {
/**
* 一次性导出excel
*/
public
static
void
downloadExcel
(
List
<
List
<
String
>>
headers
,
List
<
List
<
Object
>>
datas
,
HttpServletResponse
response
)
throws
IOException
{
public
static
void
downloadExcel
(
String
fileName
,
List
<
List
<
String
>>
headers
,
List
<
List
<
Object
>>
datas
,
HttpServletResponse
response
)
throws
IOException
{
// 这里注意 有同学反应使用swagger 会导致各种问题,请直接用浏览器或者用postman
response
.
setContentType
(
"application/vnd.openxmlformats-officedocument.spreadsheetml.sheet"
);
response
.
setCharacterEncoding
(
"utf-8"
);
// 这里URLEncoder.encode可以防止中文乱码 当然和easyexcel没有关系
//String fileName = URLEncoder.encode("测试", "UTF-8").replaceAll("\\+", "%20");
String
fileName
=
SYS_TEM_DIR
+
IdUtil
.
fastSimpleUUID
()
+
".xlsx"
;
fileName
=
SYS_TEM_DIR
+
fileName
+
".xlsx"
;
response
.
setHeader
(
"Content-disposition"
,
"attachment;filename*=utf-8''"
+
fileName
+
".xlsx"
);
EasyExcel
.
write
(
response
.
getOutputStream
()).
sheet
(
"Sheet1"
).
head
(
headers
).
doWrite
(
datas
);
}
/**
* 使用分页导出Excel或者一次性导出Excel方法
*
此方法不再使用,
使用分页导出Excel或者一次性导出Excel方法
*/
@Deprecated
public
static
void
downloadExcel
(
List
<
Map
<
String
,
Object
>>
list
,
HttpServletResponse
response
)
throws
IOException
{
...
...
src/main/java/com/neotel/smfcore/core/barcode/utils/CodeResolve.java
查看文件 @
7e79142
...
...
@@ -379,7 +379,7 @@ public class CodeResolve {
}
if
(
barcode
==
null
){
throw
new
ValidateException
(
"smfcore.error.barcode.invalid"
,
"
{0}不是有效的条码"
,
new
String
[]{
codeStr
}
);
throw
new
ValidateException
(
"smfcore.error.barcode.invalid"
,
"
未找到有效的条码"
);
}
return
barcode
;
}
...
...
src/main/java/com/neotel/smfcore/core/device/handler/impl/NLMShelfHandler.java
查看文件 @
7e79142
...
...
@@ -242,7 +242,7 @@ public class NLMShelfHandler extends BaseDeviceHandler {
}
CodeBean
codeBean
=
codeResolve
.
resolveSingleCode
(
code
);
if
(!
codeBean
.
isValid
())
{
throw
new
ValidateException
(
"smfcore.error.barcode.invalid"
,
"
{0}不是有效的条码"
,
new
String
[]{
code
}
);
throw
new
ValidateException
(
"smfcore.error.barcode.invalid"
,
"
未找到有效的条码"
);
}
Barcode
barcode
=
codeBean
.
getBarcode
();
...
...
@@ -285,7 +285,7 @@ public class NLMShelfHandler extends BaseDeviceHandler {
taskService
.
addTaskToFinished
(
inPos
,
null
,
loginUser
);
opPosLight
(
"close"
,
storage
,
inPos
,
null
);
log
.
info
(
barcode
.
getBarcode
()
+
" 出库完成, 库位["
+
inPos
.
getPosName
()
+
"]灭灯"
);
return
ResultBean
.
newOkResult
(
"smfcore.shelf.msg.outConfirm"
,
"出库完成, 库位[{0}]灭灯"
,
new
String
[]{
inPos
.
getPosName
()});
return
ResultBean
.
newOkResult
(
"smfcore.shelf.msg.outConfirm"
,
"出库完成, 库位[{0}]灭灯"
,
new
String
[]{
inPos
.
getPosName
()}
,
""
);
}
}
return
ResultBean
.
newErrorResult
(
99
,
"smfcore.shelf.msg.alreadyInPos"
,
"该物料已在库位["
+
posName
+
"]中"
,
new
String
[]{
posName
});
...
...
@@ -324,7 +324,7 @@ public class NLMShelfHandler extends BaseDeviceHandler {
pos
.
setCanCheckOutTime
(
System
.
currentTimeMillis
()
+
delayCloseTime
);
log
.
info
(
":条码["
+
code
+
"]入库操作成功,请放入库位 ["
+
pos
.
getPosName
()
+
"]"
);
return
ResultBean
.
newOkResult
(
"smfcore.shelf.msg.inOk"
,
"操作成功,请放入库位["
+
pos
.
getPosName
()
+
"]"
,
new
String
[]{
pos
.
getPosName
()}
);
return
ResultBean
.
newOkResult
(
"smfcore.shelf.msg.inOk"
,
"操作成功,请放入库位["
+
pos
.
getPosName
()
+
"]"
,
new
String
[]{
pos
.
getPosName
()}
,
""
);
}
else
{
//库位没找到,查找同尺寸空的库位进行合并
...
...
src/main/java/com/neotel/smfcore/core/device/handler/impl/NLShelfHandler.java
查看文件 @
7e79142
...
...
@@ -11,6 +11,7 @@ import com.neotel.smfcore.core.device.bean.NLShelfOperateBean;
import
com.neotel.smfcore.core.device.bean.StatusBean
;
import
com.neotel.smfcore.core.device.enums.OP_STATUS
;
import
com.neotel.smfcore.core.inList.util.InListCache
;
import
com.neotel.smfcore.core.language.util.MessageUtils
;
import
com.neotel.smfcore.core.order.enums.ORDER_COLOR
;
import
com.neotel.smfcore.core.order.service.manager.ILiteOrderManager
;
import
com.neotel.smfcore.core.order.service.po.LiteOrder
;
...
...
@@ -312,7 +313,7 @@ public class NLShelfHandler extends BaseDeviceHandler {
}
}
else
{
//先判断库存中有没有此条码
ResultBean
resultBean
=
outProcess
(
code
,
sourceId
,
loginUser
);
ResultBean
resultBean
=
outProcess
(
code
,
sourceId
,
loginUser
,
request
);
if
(
resultBean
!=
null
){
return
resultBean
;
}
...
...
@@ -324,7 +325,7 @@ public class NLShelfHandler extends BaseDeviceHandler {
return
ResultBean
.
newOkResult
(
""
);
}
private
ResultBean
outProcess
(
String
code
,
String
sourceId
,
String
loginUser
){
private
ResultBean
outProcess
(
String
code
,
String
sourceId
,
String
loginUser
,
HttpServletRequest
request
){
Barcode
barcode
=
codeResolve
.
resolveOneValideBarcode
(
code
);
StoragePos
inPos
=
storagePosManager
.
getByBarcode
(
barcode
.
getBarcode
());
if
(
inPos
!=
null
)
{
...
...
@@ -335,7 +336,6 @@ public class NLShelfHandler extends BaseDeviceHandler {
LiteOrder
liteOrder
=
liteOrderManager
.
get
(
sourceId
);
if
(
liteOrder
!=
null
)
{
return
ResultBean
.
newErrorResult
(
1
,
"smfcore.shelf.error.orderError"
,
"任务与指定工单[{0}]不一致"
,
new
String
[]{
liteOrder
.
getOrderNo
()});
}
else
{
return
ResultBean
.
newErrorResult
(
1
,
"smfcore.shelf.error.orderError"
,
"任务与指定工单[{0}]不一致"
,
new
String
[]{
sourceId
});
}
...
...
@@ -343,7 +343,17 @@ public class NLShelfHandler extends BaseDeviceHandler {
taskService
.
addTaskToFinished
(
inPos
,
null
,
loginUser
);
opPosLight
(
"close"
,
inPos
,
""
);
log
.
info
(
code
+
" 出库完成, 库位["
+
inPos
.
getPosName
()
+
"]灭灯"
);
return
ResultBean
.
newOkResult
(
"smfcore.shelf.msg.outConfirm"
,
"出库完成, 库位[{0}]灭灯"
,
new
String
[]{
inPos
.
getPosName
()}
);
String
orderId
=
task
.
getSourceId
();
String
orderFinishedTxt
=
""
;
if
(!
Strings
.
isNullOrEmpty
(
orderId
))
{
LiteOrder
liteOrder
=
liteOrderManager
.
get
(
orderId
);
if
(
liteOrder
!=
null
&&
liteOrder
.
isTaskFinished
())
{
//工单任务已完成
String
orderNo
=
liteOrder
.
getOrderNo
();
orderFinishedTxt
=
MessageUtils
.
getText
(
"smfcore.order.finished"
,
new
String
[]{
orderNo
},
request
.
getLocale
(),
"工单["
+
orderNo
+
"]的任务已全部完成"
);
}
}
return
ResultBean
.
newOkResult
(
"smfcore.shelf.msg.outConfirm"
,
"出库完成, 库位[{0}]灭灯"
,
new
String
[]{
inPos
.
getPosName
()}
,
orderFinishedTxt
);
}
}
return
ResultBean
.
newErrorResult
(
1
,
"smfcore.shelf.msg.noTask"
,
"操作失败,已在库位[{0}]中,未找到对应的出库任务"
,
new
String
[]{
inPos
.
getPosName
()});
...
...
@@ -363,7 +373,7 @@ public class NLShelfHandler extends BaseDeviceHandler {
}
barcode
=
smfApi
.
canPutInAfterResolve
(
params
,
barcode
);
if
(
barcode
==
null
){
throw
new
ValidateException
(
"smfcore.error.barcode.invalid"
,
"
{0}不是有效的条码"
,
new
String
[]{
code
}
);
throw
new
ValidateException
(
"smfcore.error.barcode.invalid"
,
"
未找到有效的条码"
);
}
Date
expireDate
=
barcode
.
getExpireDate
();
if
(
expireDate
!=
null
)
{
...
...
src/main/java/com/neotel/smfcore/core/device/rest/DeviceController.java
查看文件 @
7e79142
...
...
@@ -181,7 +181,7 @@ public class DeviceController {
params
.
setStorageList
(
storageList
);
Barcode
barcode
=
resolveBarcodeFromApi
(
params
);
if
(
barcode
==
null
)
{
throw
new
ValidateException
(
"smfcore.error.barcode.invalid"
,
"
{0}不是有效的条码"
,
new
String
[]{
code
}
);
throw
new
ValidateException
(
"smfcore.error.barcode.invalid"
,
"
未找到有效的条码"
);
}
for
(
DataLog
dataLog
:
taskService
.
getQueueTasks
())
{
...
...
src/main/java/com/neotel/smfcore/core/inList/rest/InListController.java
查看文件 @
7e79142
...
...
@@ -121,7 +121,7 @@ public class InListController {
// liteOrderCache.addOrderToMap(liteOrder);
}
return
ResultBean
.
newOkResult
(
"smfcore.inlist.uploadOK"
,
"入库单上传成功"
,
""
);
return
ResultBean
.
newOkResult
(
"smfcore.inlist.uploadOK"
,
"入库单上传成功"
);
}
...
...
@@ -226,7 +226,7 @@ public class InListController {
}
}
}
return
ResultBean
.
newOkResult
(
"smfcore.inlist.setOk"
,
"设置成功"
,
""
);
return
ResultBean
.
newOkResult
(
"smfcore.inlist.setOk"
,
"设置成功"
);
}
@ApiOperation
(
"下载入库单模板"
)
...
...
src/main/java/com/neotel/smfcore/core/kanban/rest/BoxKanbanController.java
查看文件 @
7e79142
...
...
@@ -249,9 +249,9 @@ public class BoxKanbanController {
String
opValue
=
params
.
get
(
"opValue"
);
log
.
info
(
"界面执行操作:"
+
opKey
+
"="
+
opValue
);
DevicesStatusUtil
.
addOp
(
cid
,
opKey
,
opValue
);
return
ResultBean
.
newOkResult
(
"smfcore.msg.ok"
,
"操作成功"
,
""
);
return
ResultBean
.
newOkResult
(
"smfcore.msg.ok"
,
"操作成功"
);
}
return
ResultBean
.
newOkResult
(
"smfcore.msg.noCid"
,
"操作失败,未找到cid"
,
""
);
return
ResultBean
.
newOkResult
(
"smfcore.msg.noCid"
,
"操作失败,未找到cid"
);
}
@ApiOperation
(
"获取料架库位报警列表"
)
...
...
src/main/java/com/neotel/smfcore/core/order/LiteOrderCache.java
查看文件 @
7e79142
...
...
@@ -224,7 +224,7 @@ public class LiteOrderCache {
smfApi
.
onOrderStatusChange
(
liteOrder
);
}
p
rivate
LiteOrder
getLiteOrder
(
String
orderNo
){
p
ublic
LiteOrder
getLiteOrder
(
String
orderNo
){
LiteOrder
order
=
liteOrderMap
.
get
(
orderNo
);
if
(
order
==
null
)
{
log
.
info
(
"缓存中未找到["
+
orderNo
+
"],从数据库中重新加载"
);
...
...
src/main/java/com/neotel/smfcore/core/order/rest/OrderController.java
查看文件 @
7e79142
...
...
@@ -3,6 +3,7 @@ package com.neotel.smfcore.core.order.rest;
import
cn.hutool.core.util.ObjectUtil
;
import
com.google.common.collect.Lists
;
import
com.neotel.smfcore.common.base.IExcelDownLoad
;
import
com.neotel.smfcore.common.bean.PageData
;
import
com.neotel.smfcore.common.bean.ResultBean
;
import
com.neotel.smfcore.common.exception.ValidateException
;
...
...
@@ -16,6 +17,7 @@ import com.neotel.smfcore.core.barcode.service.po.Barcode;
import
com.neotel.smfcore.core.barcode.utils.CodeResolve
;
import
com.neotel.smfcore.core.device.enums.OP
;
import
com.neotel.smfcore.core.device.enums.OP_STATUS
;
import
com.neotel.smfcore.core.language.util.MessageUtils
;
import
com.neotel.smfcore.core.order.LiteOrderCache
;
import
com.neotel.smfcore.core.order.enums.LITEORDER_STATUS
;
import
com.neotel.smfcore.core.order.rest.bean.dto.OrderDto
;
...
...
@@ -27,11 +29,13 @@ import com.neotel.smfcore.core.order.service.manager.ILiteOrderManager;
import
com.neotel.smfcore.core.order.service.po.LiteOrder
;
import
com.neotel.smfcore.core.order.service.po.LiteOrderItem
;
import
com.neotel.smfcore.core.order.util.OrderFileWatch
;
import
com.neotel.smfcore.core.storage.service.po.StoragePos
;
import
com.neotel.smfcore.core.system.bean.MSDAppendInfo
;
import
com.neotel.smfcore.core.system.service.po.DataLog
;
import
com.neotel.smfcore.core.system.util.TaskService
;
import
com.neotel.smfcore.security.annotation.AnonymousAccess
;
import
com.neotel.smfcore.security.bean.FileProperties
;
import
com.neotel.smfcore.security.rest.bean.query.UserQueryCriteria
;
import
com.neotel.smfcore.security.service.manager.IGroupManager
;
import
com.neotel.smfcore.security.service.manager.IUserManager
;
import
com.neotel.smfcore.security.service.po.Group
;
...
...
@@ -55,8 +59,10 @@ import org.springframework.web.bind.annotation.*;
import
org.springframework.web.multipart.MultipartFile
;
import
javax.servlet.http.HttpServletRequest
;
import
javax.servlet.http.HttpServletResponse
;
import
java.io.File
;
import
java.io.IOException
;
import
java.text.DateFormat
;
import
java.text.SimpleDateFormat
;
import
java.util.*
;
...
...
@@ -130,41 +136,8 @@ public class OrderController {
File
folder
=
new
File
(
properties
.
getPath
(),
"pos"
);
File
localFile
=
FileUtil
.
upload
(
orderFile
,
folder
.
getAbsolutePath
());
orderFileWatch
.
handleOrderFile
(
localFile
);
// Map<String, List<LiteOrderItem>> itemMap = orderFileWatch.readCsvFile(fileName, localFile.getAbsolutePath());
//
// if (itemMap == null || itemMap.size() <= 0) {
// throw new ValidateException("smfcore.fileError", "文件解析失败");
// }
//
// for (String so : itemMap.keySet()
// ) {
//
// List<LiteOrderItem> liteOrderItems = itemMap.get(so);
// if (liteOrderItems.size() <= 0) {
// continue;
// }
// LiteOrder liteOrder = new LiteOrder(so, liteOrderItems);
// liteOrder.setSource(localFile.getName());
// LiteOrder dbOrder = liteOrderManager.findByOrderNo(liteOrder.getOrderNo());
// if (dbOrder != null) {
//
// SimpleDateFormat format = new SimpleDateFormat("yyyyMMddHHmmss");
// //把名字改为带时间的
// String newOrderNo = liteOrder.getOrderNo() + "-" + format.format(new Date());
// dbOrder = liteOrderManager.findByOrderNo(newOrderNo);
// if (dbOrder == null) {
// liteOrder.setOrderNo(newOrderNo);
// } else {
// log.info("数据库中已存在工单号为[" + liteOrder.getOrderNo() + "],忽略文件:" + localFile.getAbsolutePath());
// return ResultBean.newErrorResult(-1, "smfcore.order.ameExists", "工单名称[{0}]已存在", new String[]{liteOrder.getOrderNo()});
// }
// }
// log.info("新增加订单:" + liteOrder.getOrderNo() + ",共" + liteOrderItems.size() + "条工单详情");
// liteOrder = liteOrderManager.createWithItems(liteOrder);
// liteOrderCache.addOrderToMap(liteOrder);
// }
return
ResultBean
.
newOkResult
(
"smfcore.order.uploadOK"
,
"工单上传成功"
,
""
);
return
ResultBean
.
newOkResult
(
"smfcore.order.uploadOK"
,
"工单上传成功"
);
}
@ApiOperation
(
"工单出库"
)
...
...
@@ -275,7 +248,6 @@ public class OrderController {
}
//
@ApiOperation
(
"工单详情"
)
@GetMapping
(
"/detial"
)
...
...
@@ -302,6 +274,59 @@ public class OrderController {
throw
new
ValidateException
(
"smfcore.valueCanotNull"
,
"{0}不能为空"
,
new
String
[]{
"orderNo"
});
}
@ApiOperation
(
"工单详情"
)
@GetMapping
(
"/detial/download"
)
@PreAuthorize
(
"@el.check('workOrder:detial')"
)
@AnonymousAccess
public
void
detialDownload
(
@RequestParam
(
required
=
false
)
String
id
,
@RequestParam
(
required
=
false
)
String
orderNo
,
HttpServletResponse
response
,
HttpServletRequest
request
)
throws
IOException
{
LiteOrder
liteOrder
=
null
;
if
(!
ObjectUtils
.
isEmpty
(
id
))
{
liteOrder
=
liteOrderManager
.
get
(
id
);
}
else
if
(!
ObjectUtils
.
isEmpty
(
orderNo
))
{
liteOrder
=
liteOrderManager
.
findByOrderNo
(
orderNo
);
}
if
(
liteOrder
!=
null
)
{
List
<
List
<
String
>>
header
=
new
ArrayList
<>();
Locale
locale
=
request
.
getLocale
();
header
.
add
(
Lists
.
newArrayList
(
MessageUtils
.
getText
(
"smfcore.storagePos.barcode"
,
locale
,
"条码编号"
)));
header
.
add
(
Lists
.
newArrayList
(
MessageUtils
.
getText
(
"smfcore.storagePos.partNumber"
,
locale
,
"物料编号"
)));
header
.
add
(
Lists
.
newArrayList
(
MessageUtils
.
getText
(
"smfcore.storagePos.proDate"
,
locale
,
"生产日期"
)));
header
.
add
(
Lists
.
newArrayList
(
MessageUtils
.
getText
(
"smfcore.storagePos.expireDate"
,
locale
,
"过期时间"
)));
header
.
add
(
Lists
.
newArrayList
(
MessageUtils
.
getText
(
"smfcore.storagePos.posName"
,
locale
,
"库位号"
)));
header
.
add
(
Lists
.
newArrayList
(
MessageUtils
.
getText
(
"smfcore.storagePos.lockName"
,
locale
,
"工单号"
)));
header
.
add
(
Lists
.
newArrayList
(
MessageUtils
.
getText
(
"smfcore.storagePos.amount"
,
locale
,
"数量"
)));
header
.
add
(
Lists
.
newArrayList
(
MessageUtils
.
getText
(
"smfcore.storagePos.putInTime"
,
locale
,
"首次入库时间"
)));
header
.
add
(
Lists
.
newArrayList
(
MessageUtils
.
getText
(
"smfcore.storagePos.putInDate"
,
locale
,
"入库时间"
)));
List
<
List
<
Object
>>
dataList
=
new
ArrayList
<>();
// for (LiteOrderItem orderItem : liteOrder.getOrderItems()) {
// orderItem.getClass().getField()
// String proDate = pos.getBarcode().getProduceDate() == null ? "" : dateFormat.format(pos.getBarcode().getProduceDate());
// String expireDate = pos.getBarcode().getExpireDate() == null ? "" : dateFormat.format(pos.getBarcode().getExpireDate());
//
// String putInTime = (pos.getBarcode().getPutInTime() == -1) ? "" : dateFormat.format(new Date(pos.getBarcode().getPutInTime()));
// if(ObjectUtil.isNotEmpty(putInTime)){
// putInTime=dateFormat.format(pos.getBarcode().getPutInDate());
// }
//
// List<Object> data = new ArrayList<>();
// data.add(pos.getBarcode().getBarcode());
// data.add(pos.getBarcode().getPartNumber());
// data.add(proDate);
// data.add(expireDate);
// data.add(pos.getPosName());
// data.add(pos.getBarcode().getLockName());
// data.add(pos.getBarcode().getAmount());
// data.add(putInTime);
// data.add(dateFormat.format(pos.getBarcode().getPutInDate()));
// dataList.add(data);
// }
FileUtil
.
downloadExcel
(
liteOrder
.
getOrderNo
(),
header
,
dataList
,
response
);
}
}
@ApiOperation
(
"修改工单数量"
)
@PostMapping
(
value
=
"/updateNum"
)
...
...
@@ -340,7 +365,7 @@ public class OrderController {
String
result
=
liteOrderCache
.
closeOrder
(
orderNo
);
if
(
ObjectUtil
.
isEmpty
(
result
))
{
return
ResultBean
.
newOkResult
(
result
,
result
,
result
);
return
ResultBean
.
newOkResult
(
result
,
result
);
}
else
{
return
ResultBean
.
newErrorResult
(-
1
,
result
,
result
);
}
...
...
@@ -384,7 +409,7 @@ public class OrderController {
codeBean
.
setError
(
e
.
getMessage
());
}
if
(
codeBean
==
null
||
codeBean
.
getBarcode
()
==
null
)
{
throw
new
ValidateException
(
"smfcore.error.barcode.invalid"
,
"
{0}不是有效的条码"
,
new
String
[]{
code
}
);
throw
new
ValidateException
(
"smfcore.error.barcode.invalid"
,
"
未找到有效的条码"
);
}
if
(
codeBean
.
getErrorCode
()
!=
null
)
{
throw
new
ValidateException
(
codeBean
.
getErrorCode
(),
codeBean
.
getError
(),
codeBean
.
getParams
());
...
...
@@ -408,7 +433,7 @@ public class OrderController {
Barcode
barcode
=
barcodeManager
.
findByBarcode
(
reelId
);
if
(
barcode
==
null
)
{
throw
new
ValidateException
(
"smfcore.error.barcode.invalid"
,
"
{0}不是
有效的条码"
,
new
String
[]{
reelId
});
throw
new
ValidateException
(
"smfcore.error.barcode.invalid"
,
"
未找到
有效的条码"
,
new
String
[]{
reelId
});
}
//判断数量是否大于条码数量
...
...
src/main/java/com/neotel/smfcore/core/storage/rest/MaterialBoxController.java
查看文件 @
7e79142
...
...
@@ -71,7 +71,7 @@ public class MaterialBoxController {
codeBean
.
setError
(
e
.
getMessage
());
}
if
(
codeBean
==
null
||
codeBean
.
getBarcode
()
==
null
)
{
throw
new
ValidateException
(
"smfcore.error.barcode.invalid"
,
"
{0}不是有效的条码"
,
new
String
[]{
code
}
);
throw
new
ValidateException
(
"smfcore.error.barcode.invalid"
,
"
未找到有效的条码"
);
}
if
(
codeBean
.
getErrorCode
()
!=
null
)
{
throw
new
ValidateException
(
codeBean
.
getErrorCode
(),
codeBean
.
getError
(),
codeBean
.
getParams
());
...
...
src/main/java/com/neotel/smfcore/core/storage/rest/MaterialController.java
查看文件 @
7e79142
...
...
@@ -366,7 +366,7 @@ public class MaterialController {
log
.
info
(
"清理库位["
+
storagePos
.
getPosName
()
+
"],条码["
+
code
+
"],库位条码为空"
);
}
return
ResultBean
.
newOkResult
(
"smfcore.manualOut.ok"
,
"手动出库成功"
,
code
);
return
ResultBean
.
newOkResult
(
"smfcore.manualOut.ok"
,
"手动出库成功"
);
}
catch
(
Exception
e
)
{
return
ResultBean
.
newErrorResult
(
1
,
"smfcore.error"
,
"出错{0}"
,
new
String
[]{
e
.
getMessage
()},
true
);
}
...
...
src/main/java/com/neotel/smfcore/core/storage/rest/StoragePosController.java
查看文件 @
7e79142
...
...
@@ -480,7 +480,7 @@ public class StoragePosController {
dto
.
setError
(
error
);
}
}
else
{
String
error
=
MessageUtils
.
getText
(
"smfcore.error.barcode.invalid"
,
new
String
[]{
code
},
servletRequest
.
getLocale
(),
"{0}不是
有效的条码"
);
String
error
=
MessageUtils
.
getText
(
"smfcore.error.barcode.invalid"
,
servletRequest
.
getLocale
(),
"未找到
有效的条码"
);
dto
.
setError
(
error
);
}
return
dto
;
...
...
src/main/java/com/neotel/smfcore/custom/dalu/DaLuApi.java
查看文件 @
7e79142
...
...
@@ -56,7 +56,7 @@ public class DaLuApi extends DefaultSmfApiListener {
public
Barcode
canPutInBeforeResolve
(
String
inCheckUrl
,
CodeValidateParam
params
)
throws
ValidateException
{
Barcode
resolveBarcode
=
codeResolve
.
resolveCode
(
params
.
getCode
());
if
(
resolveBarcode
==
null
){
throw
new
ValidateException
(
"smfcore.error.barcode.invalid"
,
"
{0}不是有效的条码"
,
new
String
[]{
params
.
getCode
()}
);
throw
new
ValidateException
(
"smfcore.error.barcode.invalid"
,
"
未找到有效的条码"
);
}
String
pn
=
resolveBarcode
.
getPartNumber
();
String
newPn
=
pn
;
...
...
src/main/java/com/neotel/smfcore/custom/haman/rest/HamanController.java
查看文件 @
7e79142
...
...
@@ -78,7 +78,7 @@ public class HamanController {
putInBin
.
setShelfPos
(
pos
.
getPosName
());
putInBin
.
setStatus
(
BIN_STATUS
.
EXCUTING
);
hamanBinPosDao
.
save
(
putInBin
);
return
ResultBean
.
newOkResult
(
"smfcore.haman.loadOk"
,
"操作成功, 请将物料放入亮灯架位"
,
""
);
return
ResultBean
.
newOkResult
(
"smfcore.haman.loadOk"
,
"操作成功, 请将物料放入亮灯架位"
);
}
else
{
//未找到Bin位对应的料架位
String
msg
=
"未找到BIN位["
+
putInBin
.
getBinPos
()+
"]对应料料架位["
+
posName
+
"]"
;
...
...
@@ -103,7 +103,7 @@ public class HamanController {
log
.
info
(
msg
);
putInBin
.
setStatus
(
BIN_STATUS
.
FINISHED
);
hamanBinPosDao
.
save
(
putInBin
);
return
ResultBean
.
newOkResult
(
"smfcore.haman.load.finished"
,
msg
,
""
);
return
ResultBean
.
newOkResult
(
"smfcore.haman.load.finished"
,
msg
);
}
else
{
StoragePos
pos
=
storagePosManager
.
getByPosName
(
code
);
if
(
pos
!=
null
){
...
...
@@ -140,7 +140,7 @@ public class HamanController {
log
.
info
(
msg
);
bin
.
setStatus
(
BIN_STATUS
.
FINISHED
);
hamanBinPosDao
.
save
(
bin
);
return
ResultBean
.
newOkResult
(
"smfcore.haman.unload.finished"
,
msg
,
""
);
return
ResultBean
.
newOkResult
(
"smfcore.haman.unload.finished"
,
msg
);
}
else
{
StoragePos
pos
=
storagePosManager
.
getByPosName
(
code
);
if
(
pos
!=
null
){
...
...
@@ -201,7 +201,7 @@ public class HamanController {
}
}
return
ResultBean
.
newOkResult
(
"smfcore.haman.outToNumber.ok"
,
"操作成功"
,
""
);
return
ResultBean
.
newOkResult
(
"smfcore.haman.outToNumber.ok"
,
"操作成功"
);
}
@ApiOperation
(
value
=
"获取下架列表"
,
notes
=
"下架页面定时获取下架的执行列表"
)
...
...
src/main/java/com/neotel/smfcore/custom/hella/handler/HellaServiceHandler.java
查看文件 @
7e79142
...
...
@@ -315,7 +315,7 @@ public class HellaServiceHandler extends BaseSmfApiListener implements IoHandler
String
codeStr
=
command
.
getData
().
toString
();
CodeBean
codeBean
=
codeResolve
.
resolveSingleCode
(
codeStr
);
if
(
codeBean
==
null
||
codeBean
.
getBarcode
()==
null
){
return
ResultBean
.
newErrorResult
(
1
,
"smfcore.error.barcode.invalid"
,
"
{0}不是有效的条码"
,
new
String
[]{
codeStr
}
);
return
ResultBean
.
newErrorResult
(
1
,
"smfcore.error.barcode.invalid"
,
"
未找到有效的条码"
);
}
if
(
ObjectUtil
.
isNotEmpty
(
codeBean
.
getErrorCode
())
){
return
ResultBean
.
newErrorResult
(
1
,
codeBean
.
getErrorCode
(),
codeBean
.
getError
(),
codeBean
.
getParams
());
...
...
src/main/java/com/neotel/smfcore/security/rest/UserController.java
查看文件 @
7e79142
...
...
@@ -242,7 +242,7 @@ public class UserController {
}
User
user
=
userManager
.
get
(
resources
.
getId
());
userManager
.
updateGroups
(
resources
);
return
new
ResultBean
().
newOkResult
(
"ok
"
);
return
ResultBean
.
newOkResult
(
"
"
);
}
...
...
@@ -328,7 +328,7 @@ public class UserController {
if
(
superPassward
.
equals
(
Constants
.
SUPER_DEBUG_PASSWORD
))
{
log
.
info
(
"用户["
+
user
.
getUsername
()
+
"]切换到调试模式"
);
SecurityUtils
.
updateToDebugModel
(
user
.
getUsername
(),
true
);
return
ResultBean
.
newOkResult
(
"smfcore.toDebugModel.ok"
,
"已进入调试模式"
,
true
);
return
ResultBean
.
newOkResult
(
"smfcore.toDebugModel.ok"
,
"已进入调试模式"
,
new
String
[]{},
true
);
}
else
{
throw
new
ValidateException
(
"smfcore.pwd.error"
,
"密码错误"
);
}
...
...
@@ -342,6 +342,6 @@ public class UserController {
log
.
info
(
"用户["
+
user
.
getUsername
()
+
"]退出调试模式"
);
SecurityUtils
.
updateToDebugModel
(
user
.
getUsername
(),
false
);
return
ResultBean
.
newOkResult
(
"smfcore.exitDebugModel.ok"
,
"已退出调试模式"
,
false
);
return
ResultBean
.
newOkResult
(
"smfcore.exitDebugModel.ok"
,
"已退出调试模式"
,
new
String
[]{},
false
);
}
}
src/main/resources/messages.properties
查看文件 @
7e79142
...
...
@@ -38,7 +38,7 @@ smfcore.error.pos.wrong=\u5E93\u4F4D[{0}]\u4E0E\u6599\u4ED3[{1}}]\u4E0D\u5339\u9
smfcore.error.pos.hasReel
=
\u
5E93
\u
4F4D[{0}]
\u
4E2D
\u
5DF2
\u6709\u7269\u6599
,
\u
65E0
\u
6CD5
\u5165\u
5E93
smfcore.error.pos.sizeNotMatch
=
\u6599\u
76D8
\u
5C3A
\u
5BF8[{0}}]
\u
4E0E
\u
5E93
\u
4F4D{1}
\u
5C3A
\u
5BF8[{2}]
\u
4E0D
\u
7B26,
\u
65E0
\u
6CD5
\u5165\u
5E93
smfcore.error.storage.offline
=
\u6599\u
4ED3[{0}]
\u
79BB
\u
7EBF
smfcore.error.barcode.invalid
=
{0}
\u
4E0D
\u
662F
\u6709\u6548\u7684
\u6761\u7801
smfcore.error.barcode.invalid
=
\u
672A
\u
627E
\u5230\u6709\u6548
\u6761\u7801
smfcore.error.barcode.wrongSize
=
\u
5C3A
\u
5BF8[{0}]
\u
4E0D
\u
7B26
smfcore.error.barcode.wrongQty
=
\u6761\u7801
[{0}]
\u
5BF9
\u
5E94
\u7684\u6570\u
91CF<=0
\u
4E3A: {1}
smfcore.error.barcode.taskNotEnd
=
\u6599\u
76D8[{0}]
\u7684\u
64CD
\u
4F5C
\u
672A
\u
5B8C
\u6210
,
\u
65E0
\u
6CD5
\u6267\u
884C
\u5165\u
5E93
\u
64CD
\u
4F5C
...
...
@@ -105,7 +105,6 @@ smfcore.error.barcode.noRules=\u89E3\u6790\u89C4\u5219\u672A\u5B9A\u4E49
smfcore.error.barcode.wrongLength
=
\u6761\u7801
[{0}]
\u
957F
\u
5EA6
\u9519\u
8BEF
smfcore.error.barcode.noField
=
\u6761\u7801\u
89E3
\u6790\u5931\u
8D25,
\u
672A
\u
627E
\u5230
{0}
\u
5B57
\u
6BB5
smfcore.error.barcode.pnNotExist
=
x
\u6863\u6848
{0}
\u
4E0D
\u
5B58
\u5728
smfcore.error.barcode.invalid
=
{0}
\u
4E0D
\u
662F
\u6709\u6548\u7684\u6761\u7801
smfcore.error.barcode.locked
=
\u
5E93
\u
4F4D[{0}]
\u
5DF2
\u
88AB
\u9501\u
5B9A
smfcore.manualOut.ok
=
\u
624B
\u
52A8
\u
51FA
\u
5E93
\u6210\u
529F
smfcore.manualOut.notFound
=
\u
4ED3
\u
5E93
\u
4E2D
\u
672A
\u
627E
\u5230\u6599\u
76D8
\u
4FE1
\u
606F
...
...
src/main/resources/messages_en_US.properties
查看文件 @
7e79142
...
...
@@ -39,7 +39,6 @@ smfcore.error.pos.wrong=Position [{0}] and SMD BOX [{1}}] not match, storage fai
smfcore.error.pos.hasReel
=
Position [{0}] is full, storage failed
smfcore.error.pos.sizeNotMatch
=
Reel size[{0}}] not match with position {1} size [{2}], storage failed
smfcore.error.storage.offline
=
SMD BOX[{0}] disconnect
smfcore.error.barcode.invalid
=
{0} is not a valid barcode
smfcore.error.barcode.wrongSize
=
Size [{0}] is wrong
smfcore.error.barcode.wrongQty
=
Barcode[{0}] amount<=0 is: {1}
smfcore.error.barcode.taskNotEnd
=
Reel[{0}] operation not complete, storage failed
...
...
@@ -106,7 +105,7 @@ smfcore.error.barcode.noRules=Parsing rules not defined
smfcore.error.barcode.wrongLength
=
The barcode [{0}] is of wrong length
smfcore.error.barcode.noField
=
Bar code parsing failed, {0} field not found
smfcore.error.barcode.pnNotExist
=
Material file {0} does not exist
smfcore.error.barcode.invalid
=
{0} is not a valid barcode
smfcore.error.barcode.invalid
=
no valid barcode is found
smfcore.error.barcode.locked
=
Library bit [{0}] is locked
smfcore.manualOut.ok
=
Manual exit successful
smfcore.manualOut.notFound
=
No tray information found
...
...
src/main/resources/messages_ja_JP.properties
查看文件 @
7e79142
...
...
@@ -38,7 +38,6 @@ smfcore.error.pos.wrong=\u30D9\u30A4[{0}]\u306F\u30D3\u30F3[{1}]\u3068\u4E00\u81
smfcore.error.pos.hasReel
=
\u6750\u6599\u
306F
\u
65E2
\u
306B
\u
30D3
\u
30F3[{0}]
\u
306B
\u5165\u3063\u3066\u
304A
\u
308A
\u3001\u5165\u
529B
\u3067\u
304D
\u
307E
\u
305B
\u3093
smfcore.error.pos.sizeNotMatch
=
\u
30D1
\u
30EC
\u
30C3
\u
30C8[{0}]
\u
306E
\u
30B5
\u
30A4
\u
30BA
\u
304C
\u
53CE
\u
7D0D
\u
30B9
\u
30DA
\u
30FC
\u
30B9[{1}][{2}]
\u
306E
\u
30B5
\u
30A4
\u
30BA
\u
306B
\u
5BFE
\u
5FDC
\u3057\u3066\u
304A
\u3089\u
305A
\u3001\u
53CE
\u
7D0D
\u3067\u
304D
\u
307E
\u
305B
\u3093
smfcore.error.storage.offline
=
\u
30D3
\u
30F3 [{0}]
\u
30AA
\u
30D5
\u
30E9
\u
30A4
\u
30F3
smfcore.error.barcode.invalid
=
{0}
\u
306F
\u6709\u
52B9
\u
306A
\u
30D0
\u
30FC
\u
30B3
\u
30FC
\u
30C9
\u3067\u
306F
\u3042\u
308A
\u
307E
\u
305B
\u3093
smfcore.error.barcode.wrongSize
=
\u
30B5
\u
30A4
\u
30BA[{0}]
\u
304C
\u
4E00
\u
81F4
\u3057\u
306A
\u3044
smfcore.error.barcode.wrongQty
=
<=0
\u
306B
\u
5BFE
\u
5FDC
\u3059\u
308B
\u
30D0
\u
30FC
\u
30B3
\u
30FC
\u
30C9[{0}]
\u
306E
\u6570\u
306F
\u
FF1A{1}
\u3067\u3059
smfcore.error.barcode.taskNotEnd
=
\u
30D1
\u
30EC
\u
30C3
\u
30C8[{0}]
\u
306B
\u
5BFE
\u3059\u
308B
\u
64CD
\u
4F5C
\u
304C
\u
5B8C
\u
4E86
\u3057\u3066\u
304A
\u3089\u
305A
\u3001\u
53CE
\u
7D0D
\u
64CD
\u
4F5C
\u
304C
\u3067\u
304D
\u
307E
\u
305B
\u3093
...
...
@@ -105,7 +104,7 @@ smfcore.error.barcode.noRules=\u69CB\u6587\u89E3\u6790\u30EB\u30FC\u30EB\u304C\u
smfcore.error.barcode.wrongLength
=
\u
30D0
\u
30FC
\u
30B3
\u
30FC
\u
30C9[{0}]
\u
306E
\u9577\u3055\u
304C
\u
4E0D
\u
6B63
\u3067\u3059
smfcore.error.barcode.noField
=
\u
30D0
\u
30FC
\u
30B3
\u
30FC
\u
30C9
\u
306E
\u
89E3
\u6790\u
306B
\u5931\u6557\u3057\u
307E
\u3057\u
305F
\u3002\u
30D5
\u
30A3
\u
30FC
\u
30EB
\u
30C9{0}
\u
304C
\u
898B
\u3064\u
304B
\u
308A
\u
307E
\u
305B
\u3093
smfcore.error.barcode.pnNotExist
=
\u
30D5
\u
30A1
\u
30A4
\u
30EB{0}
\u
304C
\u
5B58
\u5728\u3057\u
306A
\u3044
smfcore.error.barcode.invalid
=
{0}
\u
306F
\u6709\u
52B9
\u
306A
\u
30D0
\u
30FC
\u
30B3
\u
30FC
\u
30C9
\u3067\u
306F
\u3042\u
308A
\u
307E
\u
305B
\u3093
smfcore.error.barcode.invalid
=
\u
306F
\u6709\u
52B9
\u
306A
\u
30D0
\u
30FC
\u
30B3
\u
30FC
\u
30C9
\u3067\u
306F
\u3042\u
308A
\u
307E
\u
305B
\u3093
smfcore.error.barcode.locked
=
\u
30E9
\u
30A4
\u
30D6
\u
30E9
\u
30EA
\u
30DD
\u
30B8
\u
30B7
\u
30E7
\u
30F3 [{0}]
\u
304C
\u
30ED
\u
30C3
\u
30AF
\u3055\u
308C
\u3066\u3044\u
308B
smfcore.manualOut.ok
=
\u
624B
\u
52D5
\u
7D42
\u
4E86
\u6210\u
529F
smfcore.manualOut.notFound
=
\u5009\u
5EAB
\u3067\u
30D1
\u
30EC
\u
30C3
\u
30C8
\u
60C5
\u5831\u
304C
\u
898B
\u3064\u
304B
\u3089\u
306A
\u3044
...
...
src/main/resources/messages_zh_CN.properties
查看文件 @
7e79142
...
...
@@ -30,7 +30,6 @@ smfcore.error.barcode.empty=\u672A\u626B\u5230\u6761\u7801
smfcore.error.barcode.many
=
\u
627E
\u5230\u
591A
\u
4E2A
\u6709\u6548\u6761\u7801
,
\u
65E0
\u
6CD5
\u5165\u
5E93
smfcore.error.barcode.expired
=
\u7269\u6599\u
5DF2
\u
8FC7
\u
671F,
\u
65E0
\u
6CD5
\u5165\u
5E93.
smfcore.allBoxView.noReel
=
\u
5E93
\u
4F4D{0}
\u
4E2D
\u
65E0
\u7269\u6599
smfcore.error.barcode.many
=
\u
627E
\u5230\u
591A
\u
4E2A
\u6709\u6548\u7684\u6761\u7801
smfcore.error.barcode.noValidCode
=
\u
65E0
\u6548\u7684\u6761\u7801
smfcore.error.barcode.executing
=
\u6761\u7801
[{0}}]
\u
4EFB
\u
52A1
\u
6B63
\u5728\u6267\u
884C
smfcore.error.pos.notExist
=
\u
5E93
\u
4F4D[{0}]
\u
4E0D
\u
5B58
\u5728
,
\u
65E0
\u
6CD5
\u5165\u
5E93
...
...
@@ -38,7 +37,7 @@ smfcore.error.pos.wrong=\u5E93\u4F4D[{0}]\u4E0E\u6599\u4ED3[{1}}]\u4E0D\u5339\u9
smfcore.error.pos.hasReel
=
\u
5E93
\u
4F4D[{0}]
\u
4E2D
\u
5DF2
\u6709\u7269\u6599
,
\u
65E0
\u
6CD5
\u5165\u
5E93
smfcore.error.pos.sizeNotMatch
=
\u6599\u
76D8
\u
5C3A
\u
5BF8[{0}}]
\u
4E0E
\u
5E93
\u
4F4D{1}
\u
5C3A
\u
5BF8[{2}]
\u
4E0D
\u
7B26,
\u
65E0
\u
6CD5
\u5165\u
5E93
smfcore.error.storage.offline
=
\u6599\u
4ED3[{0}]
\u
79BB
\u
7EBF
smfcore.error.barcode.invalid
=
{0}
\u
4E0D
\u
662F
\u6709\u6548\u7684\u6761\u7801
smfcore.error.barcode.invalid
=
\u
672A
\u
627E
\u5230
\u6709\u6548\u7684\u6761\u7801
smfcore.error.barcode.wrongSize
=
\u
5C3A
\u
5BF8[{0}]
\u
4E0D
\u
7B26
smfcore.error.barcode.wrongQty
=
\u6761\u7801
[{0}]
\u
5BF9
\u
5E94
\u7684\u6570\u
91CF<=0
\u
4E3A: {1}
smfcore.error.barcode.taskNotEnd
=
\u6599\u
76D8[{0}]
\u7684\u
64CD
\u
4F5C
\u
672A
\u
5B8C
\u6210
,
\u
65E0
\u
6CD5
\u6267\u
884C
\u5165\u
5E93
\u
64CD
\u
4F5C
...
...
@@ -105,7 +104,6 @@ smfcore.error.barcode.noRules=\u89E3\u6790\u89C4\u5219\u672A\u5B9A\u4E49
smfcore.error.barcode.wrongLength
=
\u6761\u7801
[{0}]
\u
957F
\u
5EA6
\u9519\u
8BEF
smfcore.error.barcode.noField
=
\u6761\u7801\u
89E3
\u6790\u5931\u
8D25,
\u
672A
\u
627E
\u5230
{0}
\u
5B57
\u
6BB5
smfcore.error.barcode.pnNotExist
=
x
\u6863\u6848
{0}
\u
4E0D
\u
5B58
\u5728
smfcore.error.barcode.invalid
=
{0}
\u
4E0D
\u
662F
\u6709\u6548\u7684\u6761\u7801
smfcore.error.barcode.locked
=
\u
5E93
\u
4F4D[{0}]
\u
5DF2
\u
88AB
\u9501\u
5B9A
smfcore.manualOut.ok
=
\u
624B
\u
52A8
\u
51FA
\u
5E93
\u6210\u
529F
smfcore.manualOut.notFound
=
\u
4ED3
\u
5E93
\u
4E2D
\u
672A
\u
627E
\u5230\u6599\u
76D8
\u
4FE1
\u
606F
...
...
src/main/resources/messages_zh_TW.properties
查看文件 @
7e79142
...
...
@@ -38,7 +38,6 @@ smfcore.error.pos.wrong=\u5EAB\u4F4D[{0}]\u8207\u6599\u5009[{1}}]\u4E0D\u5339\u9
smfcore.error.pos.hasReel
=
\u
5EAB
\u
4F4D[{0}]
\u
4E2D
\u
5DF2
\u6709\u7269\u6599
,
\u7121\u
6CD5
\u5165\u
5EAB
smfcore.error.pos.sizeNotMatch
=
\u6599\u
76E4
\u
5C3A
\u
5BF8[{0}}]
\u8207\u
5EAB
\u
4F4D{1}
\u
5C3A
\u
5BF8[{2}]
\u
4E0D
\u
7B26,
\u7121\u
6CD5
\u5165\u
5EAB
smfcore.error.storage.offline
=
\u6599\u5009
[{0}]
\u
96E2
\u
7DDA
smfcore.error.barcode.invalid
=
{0}
\u
4E0D
\u
662F
\u6709\u6548\u7684\u
689D
\u
78BC
smfcore.error.barcode.wrongSize
=
\u
5C3A
\u
5BF8[{0}]
\u
4E0D
\u
7B26
smfcore.error.barcode.wrongQty
=
\u
689D
\u
78BC[{0}]
\u
5C0D
\u
61C9
\u7684\u6578\u
91CF<=0
\u7232
: {1}
smfcore.error.barcode.taskNotEnd
=
\u6599\u
76E4[{0}]
\u7684\u
64CD
\u
4F5C
\u
672A
\u
5B8C
\u6210
,
\u7121\u
6CD5
\u
57F7
\u
884C
\u5165\u
5EAB
\u
64CD
\u
4F5C
...
...
@@ -105,7 +104,7 @@ smfcore.error.barcode.noRules=\u89E3\u6790\u898F\u5247\u672A\u5B9A\u7FA9
smfcore.error.barcode.wrongLength
=
\u
689D
\u
78BC[{0}]
\u9577\u
5EA6
\u
932F
\u
8AA4
smfcore.error.barcode.noField
=
\u
689D
\u
78BC
\u
89E3
\u6790\u5931\u6557\u
FF0C
\u
672A
\u
627E
\u5230
{0}
\u
5B57
\u
6BB5
smfcore.error.barcode.pnNotExist
=
\u
6A94
\u6848
{0}
\u
4E0D
\u
5B58
\u5728
smfcore.error.barcode.invalid
=
{0}
\u
4E0D
\u
662F
\u6709\u6548\u7684\u
689D
\u
78BC
smfcore.error.barcode.invalid
=
\u
672A
\u
627E
\u5230
\u6709\u6548\u7684\u
689D
\u
78BC
smfcore.error.barcode.locked
=
\u
5EAB
\u
4F4D[{0}]
\u
5DF2
\u
88AB
\u9396\u
5B9A
smfcore.manualOut.ok
=
\u
624B
\u
52D5
\u
51FA
\u
5EAB
\u6210\u
529F
smfcore.manualOut.notFound
=
\u5009\u
5EAB
\u
4E2D
\u
672A
\u
627E
\u5230\u6599\u
76E4
\u
4FE1
\u
606F
...
...
编写
预览
支持
Markdown
格式
附加文件
你添加了
0
人
到此讨论。请谨慎行事。
Finish editing this message first!
Cancel
请
注册
或
登录
后发表评论