Commit 56b72b08 sunke

关闭工单

料架取消任务时灭灯
1 个父辈 544dd334
......@@ -615,6 +615,16 @@ public class Barcode extends BaseMongoBean {
return "";
}
/**
* 是否已过期
*/
public boolean isExpired(){
if(expireDate != null){
return expireDate.before(new Date());
}
return false;
}
// public void setNoChangeField(Barcode oldBarcode){
// if(oldBarcode != null){
// this.expireDate = oldBarcode.getExpireDate();
......
......@@ -92,7 +92,7 @@ public class LiteOrderDaoImpl extends AbstractMongoDao implements ILiteOrderDao
@Override
public List<LiteOrder> findUnCloseOrders() {
Criteria c = Criteria.where("closed").is(false);
Criteria c = Criteria.where("closed").ne(true);
Query query = Query.query(c);
query.with(new Sort(Sort.Direction.DESC,"createDate"));
return findByQuery(query);
......
......@@ -103,6 +103,25 @@ public class StorageDataController extends BaseController {
return orders;
}
@RequestMapping(value = "/closeOrder")
@ResponseBody
public String closeOrder(HttpServletRequest request){
String orderNo = request.getParameter("orderNo");
if(Strings.isNullOrEmpty(orderNo)){
return "2"+getText("order.close.empty",request.getLocale(),"工单号不能为空");
}
LiteOrder order = liteOrderDao.findByOrderNo(orderNo);
if(order != null){
log.info("关闭工单["+orderNo+"]");
order.setClosed(true);
liteOrderDao.save(order);
return "0" + getText("order.close.success",request.getLocale(),"工单关闭成功");
}else{
return "2"+getText("order.close.notExist",new String[]{orderNo}, request.getLocale(),"未找到工单["+orderNo+"]");
}
}
@RequestMapping(value = "/orderDetail")
@ResponseBody
public LiteOrder orderDetail(HttpServletRequest request){
......
......@@ -664,6 +664,10 @@ public class TaskService implements ITaskService {
task.setStatus(StorageConstants.OP_STATUS.CANCEL.name());
dataLogDao.save(task);
log.info("任务["+task.getId() + "] posName["+task.getPosName()+"] Reel Id["+task.getBarcode()+"]取消成功");
//如果是料架,需要灭灯
StorageDataController.appendOp(task.getCid(),"close", task.getPosName());
finishedOrderTask(task);
return true;
}
......
......@@ -374,6 +374,10 @@ order.out.surplus=surplus material
order.inventory=inventory
order.num.modify=Order Qty Modify
order.modify.tip=Modify Qty to\: current quantity times
order.close=Close
order.close.empty=Order number is empty.
order.close.notExist=The order of [{0}] is not found.
order.close.success =Order Closed Successfully
export.csv=Export to CSV
......
......@@ -427,3 +427,7 @@ solder.status.7=Retreat storage
op.6=Rewarm Taking
op.7=Rewarm Putting
op.8=Mix
order.close.success=Order Closed Successfully
order.close.empty=Order Number is empty.
order.close.notExist=The order of [{0}] is not found.
order.close=Close
......@@ -423,4 +423,8 @@ solder.status.7=\u30EA\u30C8\u30EA\u30FC\u30C8\u53CE\u7D0D
op.6=\u56DE\u6E29\u53D6\u6599
op.7=\u56DE\u6E29\u653E\u6599
op.8=\u6405\u62CC
delete.confirm=\u786E\u5B9A\u8981\u5220\u9664\u5417?
\ No newline at end of file
delete.confirm=\u786E\u5B9A\u8981\u5220\u9664\u5417?
order.close.success=\u5DE5\u5355\u5173\u95ED\u6210\u529F
order.close.empty=\u5DE5\u5355\u53F7\u4E0D\u80FD\u4E3A\u7A7A
order.close.notExist=\u672A\u627E\u5230\u5DE5\u5355[{0}]
order.close=\u5173\u95ED
\ No newline at end of file
......@@ -423,4 +423,8 @@ solder.status.7=\u9000\u5E93\u5B58\u50A8
op.6=\u56DE\u6E29\u53D6\u6599
op.7=\u56DE\u6E29\u653E\u6599
op.8=\u6405\u62CC
delete.confirm=\u786E\u5B9A\u8981\u5220\u9664\u5417?
\ No newline at end of file
delete.confirm=\u786E\u5B9A\u8981\u5220\u9664\u5417?
order.close.success=\u5DE5\u5355\u5173\u95ED\u6210\u529F
order.close.empty=\u5DE5\u5355\u53F7\u4E0D\u80FD\u4E3A\u7A7A
order.close.notExist=\u672A\u627E\u5230\u5DE5\u5355[{0}]
order.close=\u5173\u95ED
\ No newline at end of file
......@@ -163,7 +163,7 @@
<c:if test="${today >= pos.barcode.expireDate}">
<c:set var="alarmClass" value="alarmItem"/>
</c:if>
<c:set var="limitCheckOut" value="${pos.locked || (pos.barcode.maxStorageTime != 0 && pos.inStoreHour * 60 + pos.inStoreMiniute <= pos.barcode.warmTime * 60)}"/>
<c:set var="limitCheckOut" value="${pos.locked || pos.expandPos}"/>
<display:column title="<input type='checkbox' id='allCheck'/>" media="html">
<c:if test="${!limitCheckOut}">
<input type="checkbox" name="posIds" value="${pos.id}" id="check${pos.id}" class="limit"/>
......
......@@ -603,24 +603,7 @@
}, 2000);
}
var msgObj = null;
showMsg = function(text){
if(msgObj){
toastr.clear(msgObj);
msgObj = null;
}
if(text.indexOf("0") == 0){
msgObj = toastr.success(text.substr(1));
}else if(text.indexOf("1") == 0){
msgObj = toastr.warning(text.substr(1));
}else if(text.indexOf("2") == 0){
msgObj = showError(text);
}else {
if(text){
msgObj = toastr.info(text);
}
}
}
cancelTask = function(taskToClose){
event.stopPropagation();
......
......@@ -59,6 +59,14 @@
<fmt:formatDate value="${liteOrder.createDate}" pattern="yyyy-MM-dd HH:mm"/>
</display:column>
<display:column titleKey="checkOut.operate">
<c:if test="${!liteOrder.closed}">
<button class="btn red" type="submit" id="closeBtn" onclick="closeOrder('${liteOrder.orderNo}')"><i class="fa fa-trash-o"></i>
<fmt:message key="order.close"/>
</button>
</c:if>
</display:column>
</display:table>
</div>
......@@ -131,6 +139,13 @@
$("#orderDetail").modal("show");
}
closeOrder = function(orderNo){
$.post("${ctx}/service/store/closeOrder", {orderNo: orderNo}, function (result) {
$("#closeBtn").hide();
showMsg(result);
});
}
$('#orderItemsTable').dataTable( {
"searching": false,
"info": false,
......
......@@ -241,6 +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.08.23</span>
<div class="scroll-to-top">
<i class="icon-arrow-up"></i>
</div>
......@@ -325,14 +326,13 @@
<script src="${ctx}/assets/global/plugins/bootstrap-toastr/toastr.min.js"></script>
<script src="${ctx}/assets/global/plugins/jquery.blockui.min.js" type="text/javascript"></script>
<script src="${ctx}/assets/admin/pages/scripts/table-managed.js"></script>
<script src="${ctx}/scripts/lobibox/js/lobibox.js?id=32"></script>
<script type="text/javascript" src="${ctx}/assets/global/plugins/bootstrap-editable/bootstrap-editable/js/bootstrap-editable.js"></script>
<script src="${ctx}/scripts/common.js?v=2"></script>
<!-- END PAGE LEVEL SCRIPTS -->
<script>
jQuery(document).ready(function() {
......
/**
* Created by sunke on 2020/8/19.
*/
toastr.options = {
"closeButton": true,
"debug": false,
"positionClass": "toast-top-center",
"onclick": null,
"showDuration": "1000",
"hideDuration": "1000",
"timeOut": "5000",
"extendedTimeOut": "1000",
"showEasing": "swing",
"hideEasing": "linear",
"showMethod": "fadeIn",
"hideMethod": "fadeOut"
}
var msgObj = null;
showMsg = function(text){
if(msgObj){
toastr.clear(msgObj);
msgObj = null;
}
if(text.indexOf("0") == 0){
msgObj = toastr.success(text.substr(1));
}else if(text.indexOf("1") == 0){
msgObj = toastr.warning(text.substr(1));
}else if(text.indexOf("2") == 0){
msgObj = showError(text);
}else {
if(text){
msgObj = toastr.info(text);
}
}
}
\ No newline at end of file
支持 Markdown 格式
你添加了 0 到此讨论。请谨慎行事。
Finish editing this message first!