Skip to content
切换导航条
切换导航条
当前项目
正在载入...
登录
孙克
/
SmdBox
转到一个项目
切换导航栏
切换导航栏固定状态
项目
群组
代码片段
帮助
项目
活动
版本库
流水线
图表
问题
0
合并请求
0
维基
网络
创建新的问题
作业
提交
问题看板
文件
提交
网络
比较
分支
标签
Commit 69e2c14e
由
sunke
编写于
2020-12-08 16:10:27 +0800
浏览文件
选项
浏览文件
标签
下载
电子邮件补丁
差异文件
料架与PanaCIM对接
1 个父辈
a6cd8774
全部展开
隐藏空白字符变更
内嵌
并排
正在显示
14 个修改的文件
包含
110 行增加
和
30 行删除
myproject/src/main/java/com/myproject/webapp/controller/cloud/AlarmInfoSearchController.java
myproject/src/main/java/com/myproject/webapp/controller/storage/CodeShelfController.java
myproject/src/main/java/com/myproject/webapp/controller/storage/StoragePosFindController.java
myproject/src/main/java/com/myproject/webapp/controller/webService/ITaskService.java
myproject/src/main/java/com/myproject/webapp/controller/webService/MesApiController.java
myproject/src/main/java/com/myproject/webapp/controller/webService/PanaApiController.java
myproject/src/main/java/com/myproject/webapp/controller/webService/QrcodeController.java
myproject/src/main/java/com/myproject/webapp/controller/webService/TaskService.java
myproject/src/main/webapp/WEB-INF/pages/barcode/barcodeUpdate.jsp
myproject/src/main/webapp/WEB-INF/pages/component/componentSearch.jsp
myproject/src/main/webapp/WEB-INF/pages/component/componentUpdate.jsp
myproject/src/main/webapp/WEB-INF/pages/component/storagePosFind.jsp
myproject/src/main/webapp/decorators/metro.jsp
myproject/src/main/webapp/resources/admin/linePositions.csv
myproject/src/main/java/com/myproject/webapp/controller/cloud/AlarmInfoSearchController.java
查看文件 @
69e2c14
...
...
@@ -5,6 +5,7 @@ import com.myproject.bean.search.PageList;
import
com.myproject.dao.mongo.IAlarmInfoDao
;
import
com.myproject.util.DateUtil
;
import
com.myproject.webapp.controller.storage.BaseSearchController
;
import
org.displaytag.tags.TableTagParameters
;
import
org.springframework.beans.factory.annotation.Autowired
;
import
org.springframework.data.mongodb.core.query.Criteria
;
import
org.springframework.data.mongodb.core.query.Query
;
...
...
@@ -51,6 +52,14 @@ public class AlarmInfoSearchController extends BaseSearchController {
}
query
.
addCriteria
(
baseCriteria
);
//导出
if
(
request
.
getParameter
(
TableTagParameters
.
PARAMETER_EXPORTING
)
!=
null
){
PageList
pl
=
searchCriteria
.
getPageList
();
pl
.
setPageNumber
(-
1
);
searchCriteria
.
setPageList
(
pl
);
}
PageList
pageList
=
alarmInfoDao
.
findByQuery
(
query
,
searchCriteria
.
getPageList
());
searchCriteria
.
setPageList
(
pageList
);
...
...
myproject/src/main/java/com/myproject/webapp/controller/storage/CodeShelfController.java
查看文件 @
69e2c14
...
...
@@ -234,6 +234,9 @@ public class CodeShelfController extends BaseController {
if
(
opPos
!=
null
){
Storage
storage
=
dataCache
.
getStorageById
(
opPos
.
getStorageId
());
ArrayList
<
Storage
>
storageList
=
Lists
.
newArrayList
(
storage
);
taskService
.
verifyBarcodePutIn
(
storageList
,
barcode
);
log
.
info
(
barcode
.
getPartNumber
()+
" [ "
+
barcode
.
getBarcode
()+
" ] "
+
"入库到:"
+
opPos
.
getPosName
());
opPos
.
setCanCheckOutTime
(
System
.
currentTimeMillis
()
+
delayCloseTime
);
taskService
.
addTaskToFinished
(
opPos
,
barcode
,
null
);
...
...
myproject/src/main/java/com/myproject/webapp/controller/storage/StoragePosFindController.java
查看文件 @
69e2c14
...
...
@@ -134,6 +134,8 @@ public class StoragePosFindController extends BaseSearchController {
addLikeParam
(
baseCriteria
,
request
,
"otherField4"
);
addLikeParam
(
baseCriteria
,
request
,
"otherField5"
);
addLikeParam
(
baseCriteria
,
request
,
"provider"
);
String
barcode
=
searchCriteria
.
getBarcode
();
if
(!
Strings
.
isNullOrEmpty
(
barcode
)){
Pattern
pattern
=
Pattern
.
compile
(
barcode
,
Pattern
.
CASE_INSENSITIVE
);
...
...
myproject/src/main/java/com/myproject/webapp/controller/webService/ITaskService.java
查看文件 @
69e2c14
...
...
@@ -66,6 +66,8 @@ public interface ITaskService {
*/
String
checkout
(
StoragePos
pos
,
boolean
forceOut
,
String
subSourceId
,
boolean
isSingleOut
);
Barcode
verifyBarcodePutIn
(
List
<
Storage
>
storageList
,
Barcode
barcodeSave
)
throws
ValidateException
;
StoragePos
findEmptyPosForPutIn
(
List
<
Storage
>
storageList
,
Barcode
barcode
)
throws
ValidateException
;
//void checkOutInaction(String areaId, int day) throws ValidateException;
...
...
myproject/src/main/java/com/myproject/webapp/controller/webService/MesApiController.java
查看文件 @
69e2c14
...
...
@@ -174,7 +174,7 @@ public class MesApiController extends BaseController {
}
for
(
StoragePos
pos
:
poses
)
{
log
.
info
(
"出库位置仓位【"
+
pos
.
getPosName
()+
"】"
);
taskService
.
checkout
(
pos
,
null
,
false
);
taskService
.
checkout
(
pos
,
false
,
null
,
false
);
}
}
catch
(
Exception
e
){
...
...
myproject/src/main/java/com/myproject/webapp/controller/webService/PanaApiController.java
查看文件 @
69e2c14
此文件的差异被折叠,
点击展开。
myproject/src/main/java/com/myproject/webapp/controller/webService/QrcodeController.java
查看文件 @
69e2c14
...
...
@@ -16,6 +16,9 @@ import com.myproject.bean.update.Component;
import
com.myproject.bean.update.Settings
;
import
com.myproject.manager.IBarcodeManager
;
import
com.myproject.manager.IComponentManager
;
import
com.myproject.util.DateUtil
;
import
org.apache.logging.log4j.LogManager
;
import
org.apache.logging.log4j.Logger
;
import
org.springframework.beans.factory.annotation.Autowired
;
import
org.springframework.stereotype.Controller
;
import
org.springframework.web.bind.annotation.RequestMapping
;
...
...
@@ -27,10 +30,8 @@ import javax.servlet.http.HttpServletResponse;
import
java.awt.image.BufferedImage
;
import
java.io.ByteArrayOutputStream
;
import
java.io.IOException
;
import
java.util.ArrayList
;
import
java.util.HashMap
;
import
java.util.*
;
import
java.util.List
;
import
java.util.Map
;
/**
* 生成二维码并输出到html
...
...
@@ -41,6 +42,7 @@ import java.util.Map;
@Controller
public
class
QrcodeController
{
protected
final
transient
Logger
log
=
LogManager
.
getLogger
(
getClass
());
/*maven 依赖
<dependency>
...
...
@@ -191,7 +193,7 @@ public class QrcodeController {
BaseFont
baseFont
=
BaseFont
.
createFont
(
"C:/WINDOWS/Fonts/simsun.ttc,1"
,
BaseFont
.
IDENTITY_H
,
BaseFont
.
NOT_EMBEDDED
);
boldFont
=
new
Font
(
baseFont
,
fontSize
);
}
catch
(
Exception
e
){
e
.
printStackTrace
(
);
log
.
error
(
"未找到字体simsun.ttc"
);
}
PdfPTable
table
=
new
PdfPTable
(
2
);
...
...
myproject/src/main/java/com/myproject/webapp/controller/webService/TaskService.java
查看文件 @
69e2c14
...
...
@@ -345,7 +345,9 @@ public class TaskService implements ITaskService {
/**
* 检查二维码是否合法并且可以入库,没问题的话存入到数据库
*/
private
Barcode
verifyBarcodePutIn
(
List
<
Storage
>
storageList
,
Barcode
barcodeSave
)
throws
ValidateException
{
@Override
public
Barcode
verifyBarcodePutIn
(
List
<
Storage
>
storageList
,
Barcode
barcodeSave
)
throws
ValidateException
{
if
(
barcodeSave
==
null
){
throw
new
ValidateException
(
"error.barcode.invalid"
,
new
String
[]{
""
},
"条码无效"
);
...
...
@@ -358,6 +360,14 @@ public class TaskService implements ITaskService {
}
}
if
(
dataCache
.
isProductionFor
(
DataCache
.
CUSTOMER
.
PANACIM
)){
//松下PanaCIM需要进行验证
boolean
checkResult
=
PanaApiController
.
requestReel
(
barcodeSave
.
getBarcode
());
if
(!
checkResult
){
throw
new
ValidateException
(
"PanaCIM验证条码["
+
barcodeSave
.
getBarcode
()+
"]失败"
,
"PanaCIM验证失败"
);
}
}
// if(barcodeSave.getPlateSize() <=0 || barcodeSave.getHeight() <= 0){
// throw new ValidateException("无法入库,请先设置料盘尺寸");
// }
...
...
@@ -1138,7 +1148,7 @@ public class TaskService implements ITaskService {
if
(!
Strings
.
isNullOrEmpty
(
posName
)){
//客户端发一次完成之后,会发空的 posName,不需要处理
if
(
StorageConstants
.
BOX_STATUS
.
IN_FINISHED
==
status
)
{
//入仓完成
DataLog
task
=
findExecutingTask
(
statusBean
.
getCid
(),
boxStatus
.
getPosId
());
if
(
task
!=
null
)
{
if
(
task
!=
null
&&
task
.
isPutInTask
()
)
{
log
.
info
(
task
.
getBarcode
()
+
"入仓位["
+
task
.
getPosName
()
+
"]完成"
);
DataLog
cancelTask
=
findFinishedTask
(
statusBean
.
getCid
(),
boxStatus
.
getPosId
());
if
(
cancelTask
!=
null
&&
cancelTask
.
isCancel
()){
...
...
@@ -1150,7 +1160,7 @@ public class TaskService implements ITaskService {
}
else
{
//从已完成列表中找,如果还找不到就忽略
task
=
findFinishedTask
(
statusBean
.
getCid
(),
boxStatus
.
getPosId
());
if
(
task
!=
null
)
{
if
(
task
!=
null
&&
task
.
isPutInTask
()
)
{
if
(
task
.
isCancel
()){
//被取消的任务,客户端发完成信号过来,修改取消状态为已完成
log
.
info
(
task
.
getBarcode
()
+
"入仓位["
+
task
.
getPosName
()
+
"]完成,但任务已被取消,修改为完成"
);
putInFinished
(
task
);
...
...
@@ -1624,6 +1634,15 @@ public class TaskService implements ITaskService {
task
.
setMemo
(
barcode
.
getMemo
());
dataCache
.
updateInventory
(
pos
,
barcode
);
Storage
storage
=
dataCache
.
getStorage
(
task
.
getCid
());
if
(
storage
!=
null
){
if
(
dataCache
.
isProductionFor
(
DataCache
.
CUSTOMER
.
PANACIM
)){
PanaApiController
.
checkInNotification
(
barcode
);
}
else
{
postInNotification
(
dataCache
.
getSettings
().
getInNotifyApi
(),
task
.
getBarcode
(),
task
.
getStorageId
());
}
}
//dataCache.updateStorage(task.getCid());
}
else
{
...
...
@@ -1762,7 +1781,11 @@ public class TaskService implements ITaskService {
Storage
storage
=
dataCache
.
getStorage
(
task
.
getCid
());
if
(
storage
!=
null
){
postInNotification
(
dataCache
.
getSettings
().
getInNotifyApi
(),
task
.
getBarcode
(),
task
.
getStorageId
());
if
(
dataCache
.
isProductionFor
(
DataCache
.
CUSTOMER
.
PANACIM
)){
PanaApiController
.
checkInNotification
(
barcode
);
}
else
{
postInNotification
(
dataCache
.
getSettings
().
getInNotifyApi
(),
task
.
getBarcode
(),
task
.
getStorageId
());
}
}
...
...
@@ -1874,7 +1897,12 @@ public class TaskService implements ITaskService {
//通知消息
Storage
storage
=
dataCache
.
getStorage
(
task
.
getCid
());
if
(
storage
!=
null
){
postOutNotification
(
dataCache
.
getSettings
().
getOutNotifyApi
(),
task
.
getBarcode
(),
task
.
getCid
());
if
(
dataCache
.
isProductionFor
(
DataCache
.
CUSTOMER
.
PANACIM
)){
PanaApiController
.
deliverNotification
(
barcode
);
}
else
{
postOutNotification
(
dataCache
.
getSettings
().
getOutNotifyApi
(),
task
.
getBarcode
(),
task
.
getCid
());
}
}
...
...
myproject/src/main/webapp/WEB-INF/pages/barcode/barcodeUpdate.jsp
查看文件 @
69e2c14
...
...
@@ -86,10 +86,27 @@
</div>
</div>
<label class="control-label col-md-2"><fmt:message key="barcode.expireDate"/></label>
<label class="control-label col-md-2"><fmt:message key="barcode.batch"/></label>
<div class="col-md-4">
<div style="text-align:left" class="input-group">
<form:input type="text" id="batch" path="batch" class="form-control"/>
</div>
</div>
</div>
<div class="form-group">
<label class="control-label col-md-2"><fmt:message key="barcode.produceDate"/></label>
<div class="col-md-4">
<div style="text-align:left" class="input-group">
<form:input type="text" path="expireDate" class="form-control form-control-inline input-medium date-picker" />
<form:input type="text" path="produceDate" class="form-control form-control-inline input-medium date-picker" data-date-format="yyyy-mm-dd"/>
</div>
</div>
<label class="control-label col-md-2"><fmt:message key="barcode.expireDate"/></label>
<div class="col-md-4">
<div style="text-align:left" class="input-group" >
<form:input type="text" path="expireDate" class="form-control form-control-inline input-medium date-picker" data-date="2020-01-01" data-date-format="yyyy-mm-dd"/>
</div>
</div>
</div>
...
...
@@ -284,5 +301,13 @@
$("#otherField3").autocomplete(fetchBarcode("otherField3"));
$("#otherField4").autocomplete(fetchBarcode("otherField4"));
$("#otherField5").autocomplete(fetchBarcode("otherField5"));
$('.date-picker').datepicker({
rtl: Metronic.isRTL(),
orientation: "left",
autoclose: true,
language:'en'
});
</script>
</c:set>
myproject/src/main/webapp/WEB-INF/pages/component/componentSearch.jsp
查看文件 @
69e2c14
...
...
@@ -93,7 +93,7 @@
<display:column titleKey="component.plate.size">
${component.plateSize} x ${component.height}
</display:column>
<
display:column property="validDay" titleKey="component.validDay"/
>
<
%--<display:column property="validDay" titleKey="component.validDay"/>--%
>
<%--<display:column property="type" titleKey="类型"/>--%>
<display:column property="amount" titleKey="component.amount"/>
...
...
myproject/src/main/webapp/WEB-INF/pages/component/componentUpdate.jsp
查看文件 @
69e2c14
...
...
@@ -379,14 +379,14 @@
<div class="form-group">
<%--有效期--%>
<
label class="control-label col-md-2"><fmt:message key="component.validDay"/> </label
>
<
div class="col-md-3"
>
<
div style="text-align:left" class="input-group"
>
<
form:input type="text" path="validDay"
class="form-control"/
>
<
/div
>
<
/div
>
<
%--<label class="control-label col-md-2"><fmt:message key="component.validDay"/> </label>--%
>
<
%--<div class="col-md-3">--%
>
<
%--<div style="text-align:left" class="input-group">--%
>
<
%--<form:input type="text" path="validDay"--%>
<%--class="form-control"/>--%
>
<
%--</div>--%
>
<
%--</div>--%
>
<label class="control-label col-md-2"><fmt:message key="component.plate.size"/> </label>
...
...
myproject/src/main/webapp/WEB-INF/pages/component/storagePosFind.jsp
查看文件 @
69e2c14
...
...
@@ -57,10 +57,10 @@
</form:select>
</div>
<label class="control-label col-md-1"><fmt:message key="barcode.
memo
"/></label>
<label class="control-label col-md-1"><fmt:message key="barcode.
provider
"/></label>
<div class="col-md-2">
<div style="text-align:left">
<input id="
memo" name="memo" class="form-control" value="${memo
}"/>
<input id="
provider" name="provider" class="form-control" value="${provider
}"/>
</div>
</div>
...
...
@@ -112,10 +112,19 @@
</div>
</div>
<label class="control-label col-md-1"><fmt:message key="barcode.batch"/></label>
<div class="col-md-2">
<%--<label class="control-label col-md-1"><fmt:message key="barcode.batch"/></label>--%>
<%--<div class="col-md-2">--%>
<%--<div style="text-align:left">--%>
<%--<input id="batch" name="batch" class="form-control" value="${batch}"/>--%>
<%--</div>--%>
<%--</div>--%>
<label class="control-label col-md-1"><fmt:message key="barcode.memo"/></label>
<div class="col-md-2">
<div style="text-align:left">
<input id="batch" name="batch" class="form-control" value="${batch
}"/>
<input id="memo" name="memo" class="form-control" value="${memo
}"/>
</div>
</div>
...
...
@@ -211,9 +220,9 @@
<display:column titleKey="barcode.produceDate" sortProperty="barcode.produceDate" sortable="true">
<fmt:formatDate value="${pos.barcode.produceDate}" pattern="yyyy-MM-dd"/>
</display:column>
<
display:column titleKey="barcode.expireDate" sortProperty="barcode.expireDate" sortable="true" class="${expireClass}"
>
<
fmt:formatDate value="${pos.barcode.expireDate}" pattern="yyyy-MM-dd"/
>
<
/display:column
>
<
%--<display:column titleKey="barcode.expireDate" sortProperty="barcode.expireDate" sortable="true" class="${expireClass}">--%
>
<
%--<fmt:formatDate value="${pos.barcode.expireDate}" pattern="yyyy-MM-dd"/>--%
>
<
%--</display:column>--%
>
<display:column property="barcode.memo" titleKey="barcode.memo"/>
<display:column titleKey="checkOut.operate" media="html">
<c:if test="${!limitCheckOut}">
...
...
myproject/src/main/webapp/decorators/metro.jsp
查看文件 @
69e2c14
...
...
@@ -241,7 +241,7 @@
<div
class=
"page-footer-inner"
>
2016
©
<a
href=
"${ctx}/updateHistory.html"
>
SMD BOX
</a>
</div>
<span
class=
"right"
style=
"color: #a3a3a3;"
>
Version: 2020.
09
.27
</span>
<span
class=
"right"
style=
"color: #a3a3a3;"
>
Version: 2020.
10
.27
</span>
<div
class=
"scroll-to-top"
>
<i
class=
"icon-arrow-up"
></i>
</div>
...
...
myproject/src/main/webapp/resources/admin/linePositions.csv
查看文件 @
69e2c14
此文件的差异被折叠,
点击展开。
编写
预览
支持
Markdown
格式
附加文件
你添加了
0
人
到此讨论。请谨慎行事。
Finish editing this message first!
Cancel
请
注册
或
登录
后发表评论