Commit 5df0fce1 sunke

去除手动屏蔽库位功能

导出CSV文件后用Excel打开乱码
1 个父辈 a969c2c8
...@@ -2,6 +2,10 @@ package com.myproject.bean.excel; ...@@ -2,6 +2,10 @@ package com.myproject.bean.excel;
import org.displaytag.export.CsvView; import org.displaytag.export.CsvView;
import javax.servlet.jsp.JspException;
import java.io.IOException;
import java.io.Writer;
/** /**
* Created by sunke on 2019/2/26. * Created by sunke on 2019/2/26.
*/ */
...@@ -10,4 +14,10 @@ public class CNCsvView extends CsvView{ ...@@ -10,4 +14,10 @@ public class CNCsvView extends CsvView{
public String getMimeType() { public String getMimeType() {
return "text/csv"; return "text/csv";
} }
@Override
public void doExport(Writer out) throws IOException, JspException {
out.write(new String(new byte[] { (byte) 0xEF, (byte) 0xBB,(byte) 0xBF }));
super.doExport(out);
}
} }
...@@ -15,13 +15,27 @@ import java.util.List; ...@@ -15,13 +15,27 @@ import java.util.List;
public class OutItemDaoImpl extends AbstractMongoDao implements IOutItemDao { public class OutItemDaoImpl extends AbstractMongoDao implements IOutItemDao {
@Override @Override
public List<OutItem> findByHSerial(String hSerial) { public synchronized List<OutItem> findByHSerial(String hSerial) {
Criteria c = new Criteria(); Criteria c = new Criteria();
c.and("hSerial").is(hSerial); c.and("hSerial").is(hSerial);
Query query = new Query(c); Query query = new Query(c);
query.with(new Sort(Sort.Direction.ASC,"slotlocation")); query.with(new Sort(Sort.Direction.ASC,"slotlocation"));
return findByQuery(query); List<OutItem> outItemList = findByQuery(query);
if(outItemList.isEmpty()){
log.info("从旧数据表outItem1中获取hSerial="+hSerial+"的数据,并插入到outItem表中");
outItemList = getMongoTemplate().find(query, OutItem.class,"outItem1");
for (OutItem outItem : outItemList) {
try{
save(outItem);
}catch(Exception e){
log.error("备份OutItem["+outItem.getId()+"]出错",e);
}
}
log.info("插入hSerial="+hSerial+"的["+outItemList.size()+"]条数据到outItem表中完成");
} }
return outItemList;
}
@Override @Override
public List<OutItem> findCutItemList(List<String> soseqList, String pn, String facility){ public List<OutItem> findCutItemList(List<String> soseqList, String pn, String facility){
......
...@@ -1161,6 +1161,20 @@ public class OutInfoCache { ...@@ -1161,6 +1161,20 @@ public class OutInfoCache {
// //
// } // }
// } // }
//已经执行过的紧急料需求单,如果没有任务,关闭
if(outInfo.isUrgentAction()){
boolean taskFinished = true;
List<DataLog> allTasks = taskService.getAllTasks();
for (DataLog task : allTasks) {
if(task.getAppendInfo().gethSerial().equals(outInfo.gethSerial())){
taskFinished = false;
}
}
if(taskFinished){
log.info("指定料需求单["+outInfo.gethSerial()+"]已无任务,关闭");
closeHSerial(outInfo.gethSerial());
}
}
} }
log.info("执行需求单["+hSerial+"]出库"); log.info("执行需求单["+hSerial+"]出库");
......
...@@ -53,9 +53,9 @@ ...@@ -53,9 +53,9 @@
<li class="active btn btn-circle btn-transparent grey-salsa"> <li class="active btn btn-circle btn-transparent grey-salsa">
<a href="#portlet_tab_1" data-toggle="tab" id="dnTab">优先和等待队列</a> <a href="#portlet_tab_1" data-toggle="tab" id="dnTab">优先和等待队列</a>
</li> </li>
<li class="btn btn-circle btn-transparent grey-salsa"> <%--<li class="btn btn-circle btn-transparent grey-salsa">--%>
<a href="#portlet_tab_2" data-toggle="tab" id="facilityTab">未完成队列</a> <%--<a href="#portlet_tab_2" data-toggle="tab" id="facilityTab">未完成队列</a>--%>
</li> <%--</li>--%>
</ul> </ul>
</div> </div>
<div class="portlet-body"> <div class="portlet-body">
...@@ -140,33 +140,33 @@ ...@@ -140,33 +140,33 @@
</div> </div>
<div class="tab-pane" id="portlet_tab_2"> <%--<div class="tab-pane" id="portlet_tab_2">--%>
<div class="row"> <%--<div class="row">--%>
<div class="portlet box green"> <%--<div class="portlet box green">--%>
<div class="portlet-title"> <%--<div class="portlet-title">--%>
<div class="caption"> <%--<div class="caption">--%>
<i class="fa fa-gift"></i>未完成队列 <%--<i class="fa fa-gift"></i>未完成队列--%>
</div> <%--</div>--%>
<div class="tools"> <%--<div class="tools">--%>
</div> <%--</div>--%>
</div> <%--</div>--%>
<div class="portlet-body"> <%--<div class="portlet-body">--%>
<div class="panel-group accordion" id="unfinished"> <%--<div class="panel-group accordion" id="unfinished">--%>
<div class="panel panel-success"> <%--<div class="panel panel-success">--%>
<div class="panel-heading"> <%--<div class="panel-heading">--%>
<h4 class="panel-title"> <%--<h4 class="panel-title">--%>
<a class="accordion-toggle" data-toggle="collapse" data-parent="#executing" href="#executingOrder"> <%--<a class="accordion-toggle" data-toggle="collapse" data-parent="#executing" href="#executingOrder">--%>
<i class="icon-cursor-move"></i> <%--<i class="icon-cursor-move"></i>--%>
[首盘] 需求单: 40 工单: 879235 备料单: F001_879235N_1 <span class="right">建议时间: 2019-11-18 08:59</span> <%--[首盘] 需求单: 40 工单: 879235 备料单: F001_879235N_1 <span class="right">建议时间: 2019-11-18 08:59</span>--%>
</a> <%--</a>--%>
</h4> <%--</h4>--%>
</div> <%--</div>--%>
</div> <%--</div>--%>
</div> <%--</div>--%>
</div> <%--</div>--%>
</div> <%--</div>--%>
</div> <%--</div>--%>
</div> <%--</div>--%>
</div> </div>
</div> </div>
...@@ -327,7 +327,7 @@ ...@@ -327,7 +327,7 @@
$("#executing").html(executingHtml); $("#executing").html(executingHtml);
$("#priority").html(priorityHtml); $("#priority").html(priorityHtml);
$("#wait").html(waitHtml); $("#wait").html(waitHtml);
$("#unfinished").html(unfinishedHtml); //$("#unfinished").html(unfinishedHtml);
$(".panel-default").mouseover(function(){ $(".panel-default").mouseover(function(){
......
...@@ -95,10 +95,10 @@ ...@@ -95,10 +95,10 @@
</c:if> </c:if>
<c:if test="${pos.enabled}" > <c:if test="${pos.enabled}" >
<fmt:message key="storage.enable.yes"/> <fmt:message key="storage.enable.yes"/>
[ <%--[--%>
<a onclick="enablePos(this,'${pos.id}',false);"> <%--<a onclick="enablePos(this,'${pos.id}',false);">--%>
禁用 <%--禁用--%>
</a>] <%--</a>]--%>
</c:if> </c:if>
</display:column> </display:column>
<display:column titleKey="storage.posSize"> <display:column titleKey="storage.posSize">
...@@ -139,7 +139,8 @@ ...@@ -139,7 +139,8 @@
$(linkDom).parents("tr").toggleClass("font-grey"); $(linkDom).parents("tr").toggleClass("font-grey");
$(linkDom).toggleClass("enabled"); $(linkDom).toggleClass("enabled");
if(enabled){ if(enabled){
$(linkDom).parents("td").html("是[<a onclick='enablePos(this,"+posId+",false);'>禁用</a>]"); // $(linkDom).parents("td").html("是[<a onclick='enablePos(this,"+posId+",false);'>禁用</a>]");
$(linkDom).parents("td").html("是");
}else{ }else{
$(linkDom).parents("td").html("否[<a onclick='enablePos(this,"+posId+",true);'>启用</a>]"); $(linkDom).parents("td").html("否[<a onclick='enablePos(this,"+posId+",true);'>启用</a>]");
} }
......
...@@ -294,16 +294,17 @@ ...@@ -294,16 +294,17 @@
</td> </td>
<td id="td${slot.id}"> <td id="td${slot.id}">
<c:if test="${!slot.enabled}"> <c:if test="${!slot.enabled}">
<fmt:message key="storage.enable.yes"/>[ <fmt:message key="storage.enable.no"/>[
<a onclick="enablePos('${slot.id}',true);"> <a onclick="enablePos('${slot.id}',true);">
<fmt:message key="storage.enable.enable"/> <fmt:message key="storage.enable.enable"/>
</a>] </a>]
</c:if> </c:if>
<c:if test="${slot.enabled}" > <c:if test="${slot.enabled}" >
<fmt:message key="storage.enable.no"/>[ <fmt:message key="storage.enable.yes"/>
<a onclick="enablePos('${slot.id}',false);"> <%--[--%>
<fmt:message key="storage.enable.prohibit"/> <%--<a onclick="enablePos('${slot.id}',false);">--%>
</a>] <%--<fmt:message key="storage.enable.prohibit"/>--%>
<%--</a>]--%>
</c:if> </c:if>
</td> </td>
<td> <td>
...@@ -404,10 +405,10 @@ ...@@ -404,10 +405,10 @@
</a>] </a>]
</c:if> </c:if>
<c:if test="${slot.enabled}" > <c:if test="${slot.enabled}" >
[ <%--[--%>
<a onclick="enablePos('${slot.id}',false);"> <%--<a onclick="enablePos('${slot.id}',false);">--%>
禁用 <%--禁用--%>
</a>] <%--</a>]--%>
</c:if> </c:if>
</c:if> </c:if>
<c:if test="${!loginUser.debug}"> <c:if test="${!loginUser.debug}">
...@@ -512,9 +513,10 @@ ...@@ -512,9 +513,10 @@
}else{ }else{
$("#"+posId).toggleClass("font-grey"); $("#"+posId).toggleClass("font-grey");
if(enabled){ if(enabled){
$("#td"+posId).html("是[<a onclick='enablePos("+posId+",false);'>禁用</a>]"); //$("#td"+posId).html("是[<a onclick='enablePos("+posId+",false);'>禁用</a>]");
$("#td"+posId).html("是");
}else{ }else{
$("#td"+posId).html("[<a onclick='enablePos("+posId+",true);'>启用</a>]"); $("#td"+posId).html("[<a onclick='enablePos("+posId+",true);'>启用</a>]");
} }
alert("操作成功"); alert("操作成功");
} }
......
...@@ -12,6 +12,58 @@ ...@@ -12,6 +12,58 @@
<div class="row"> <div class="row">
<div class="col-md-12"> <div class="col-md-12">
<ul class="timeline"> <ul class="timeline">
<li class="timeline-blue">
<div class="timeline-time">
<span class="date">2021</span>
<span class="time">09-03</span>
</div>
<div class="timeline-icon">
<i class="fa fa-clock-o"></i>
</div>
<div class="timeline-body">
<h2>版本: V2021090314</h2>
<div class="timeline-content">
<ul>
<li>去除手动屏蔽库位功能</li>
<li>fixed:导出CSV文件后用Excel打开乱码</li>
</ul>
</div>
</div>
</li>
<li class="timeline-blue">
<div class="timeline-time">
<span class="date">2021</span>
<span class="time">09-01</span>
</div>
<div class="timeline-icon">
<i class="fa fa-clock-o"></i>
</div>
<div class="timeline-body">
<h2>版本: V2021090110</h2>
<div class="timeline-content">
<ul>
<li>需求单队列中去除未完成队列</li>
</ul>
</div>
</div>
</li>
<li class="timeline-yellow">
<div class="timeline-time">
<span class="date">2021</span>
<span class="time">08-24</span>
</div>
<div class="timeline-icon">
<i class="fa fa-clock-o"></i>
</div>
<div class="timeline-body">
<h2>版本: V2021082414</h2>
<div class="timeline-content">
<ul>
<li>数据查询优化</li>
</ul>
</div>
</div>
</li>
<li class="timeline-grey"> <li class="timeline-grey">
<div class="timeline-time"> <div class="timeline-time">
<span class="date">2021</span> <span class="date">2021</span>
......
...@@ -239,7 +239,7 @@ ...@@ -239,7 +239,7 @@
<div class="page-footer-inner"> <div class="page-footer-inner">
2016&copy; <a href="${ctx}/updateHistory.html">SMD BOX</a> 2016&copy; <a href="${ctx}/updateHistory.html">SMD BOX</a>
</div> </div>
<span class="right" style="color: #a3a3a3;">Version: 2021.08.11</span> <span class="right" style="color: #a3a3a3;">Version: 2021.09.03</span>
<div class="scroll-to-top"> <div class="scroll-to-top">
<i class="icon-arrow-up"></i> <i class="icon-arrow-up"></i>
</div> </div>
......
支持 Markdown 格式
你添加了 0 到此讨论。请谨慎行事。
Finish editing this message first!