Commit 26820f39 sunke

增加开关机按钮

1 个父辈 196ec2e4
......@@ -399,7 +399,7 @@ public class StorageDataController extends BaseController {
* 超过3分钟没有操作,需要重新登陆
*/
private boolean needReLogin(){
if(!dataCache.isProductionFor(DataCache.CUSTOMER.BOSHI)){
if(!DataCache.isProductionFor(DataCache.CUSTOMER.BOSHI)){
return false;
}
long now = System.currentTimeMillis();
......@@ -414,7 +414,7 @@ public class StorageDataController extends BaseController {
* 湿度超出预警值不可操作
*/
private boolean isLimitOperate(String cid){
if(!dataCache.isProductionFor(DataCache.CUSTOMER.BOSHI)){
if(!DataCache.isProductionFor(DataCache.CUSTOMER.BOSHI)){
return false;
}
if(Strings.isNullOrEmpty(cid)){
......@@ -891,6 +891,54 @@ public class StorageDataController extends BaseController {
return backupVersions;
}
/**
* 获取未完成的任务数
*/
@RequestMapping("/queueTaskCount")
@ResponseBody
public int queueTaskCount(HttpServletRequest request, HttpServletResponse response){
int taskCount = 0;
for (DataLog task : taskService.getAllTasks()) {
if(!task.isFinished() && !task.isCancel()){
taskCount = taskCount + 1;
}
}
return taskCount;
}
/**
* 开机(开始自动执行出入库任务)
*/
@RequestMapping("/openSystem")
@ResponseBody
public boolean openSystem(HttpServletRequest request, HttpServletResponse response){
Settings settings = dataCache.getSettings();
if(settings.isStopIn() || settings.isStopJob() || settings.isStopOut()){
log.info(getLoginUsername() + " 执行开机指令");
settings.setStopIn(false);
settings.setStopOut(false);
settings.setStopJob(false);
settings = dataCache.updateSettings(settings);
return true;
}
return false;
}
/**
* 关机(开始关闭执行出入库任务)
*/
@RequestMapping("/closeSystem")
@ResponseBody
public String closeSystem(HttpServletRequest request, HttpServletResponse response){
Settings settings = dataCache.getSettings();
log.info(getLoginUsername() + " 执行关机指令");
settings.setStopIn(true);
settings.setStopOut(true);
settings.setStopJob(true);
settings = dataCache.updateSettings(settings);
return "ok";
}
public static void copyDir(String sourcePath, String newPath) throws IOException {
File file = new File(sourcePath);
String[] filePath = file.list();
......@@ -900,12 +948,12 @@ public class StorageDataController extends BaseController {
}
for (int i = 0; i < filePath.length; i++) {
if ((new File(sourcePath + file.separator + filePath[i])).isDirectory()) {
copyDir(sourcePath + file.separator + filePath[i], newPath + file.separator + filePath[i]);
if ((new File(sourcePath + File.separator + filePath[i])).isDirectory()) {
copyDir(sourcePath + File.separator + filePath[i], newPath + File.separator + filePath[i]);
}
if (new File(sourcePath + file.separator + filePath[i]).isFile()) {
copyFile(sourcePath + file.separator + filePath[i], newPath + file.separator + filePath[i]);
if (new File(sourcePath + File.separator + filePath[i]).isFile()) {
copyFile(sourcePath + File.separator + filePath[i], newPath + File.separator + filePath[i]);
}
}
......
......@@ -331,7 +331,7 @@ boxChart.pcbOut=PCB \u51FA\u5E93
boxChart.solderOut=\u9521\u818F\u51FA\u5E93
boxChart.solderIn=\u9521\u818F\u5165\u5E93
boxChart.noCode=\u672A\u626B\u63CF\u5230\u6761\u7801
authority.stockIn.more=\u8D85\u989D\u5165\u5E93
authority.stockIn.more=\u5f00\u5173\u673a
chart.showType.YEAR=\u5E74\u4EFD
chart.showType.MONTH=\u6708\u4EFD
chart.showType.DAY=\u5929
......
......@@ -15,7 +15,7 @@
<mongo:mongo id="mongo" replica-set="${mongo.replica-set}">
-->
<mongo:mongo id="mongo" host="${mongo.host}" port="27017">
<mongo:options connections-per-host="${mongo.connectionsPerHost}"
<mongo:options connections-per-host="80"
threads-allowed-to-block-for-connection-multiplier="${mongo.threadsAllowedToBlockForConnectionMultiplier}"
connect-timeout="${mongo.connectTimeout}" max-wait-time="${mongo.maxWaitTime}"
auto-connect-retry="${mongo.autoConnectRetry}" socket-keep-alive="${mongo.socketKeepAlive}"
......
......@@ -88,13 +88,60 @@
<div><fmt:message key="menu.system"/></div>
</a>
</div>
</security:authorize>
<security:authorize ifAnyGranted="ROLE_MORE_STACK_IN">
<div class="col-md-2 col-xs-2 menuItem">
<a href="#" onclick="openSystem();">
<img src="${ctx}/images/menu/12.png" class="menuImg"/>
<div><fmt:message key="开机"/></div>
</a>
</div>
<div class="col-md-2 col-xs-2 menuItem">
<a href="#" onclick="closeSystem();">
<img src="${ctx}/images/menu/13.png" class="menuImg"/>
<div><fmt:message key="关机"/></div>
</a>
</div>
</security:authorize>
</div>
</div>
<c:set var="scripts" scope="request">
<script type="text/javascript">
$(".page-content").addClass("bg-grey-gallery");
function openSystem(posId){
$.post("${ctx}/service/store/openSystem", {}, function (data) {
if(data){
alert("操作成功,系统已正常运行");
}else{
alert("操作失败,系统正常运行中");
}
})
}
function closeSystem(posId){
$.post("${ctx}/service/store/queueTaskCount", {pid: posId}, function (data) {
var confirmMsg = "";
if(data > 0){
var result = confirm("还有["+data+"]个未完成的任务,确定要关机吗?\n 执行此命令后系统将在当前的["+data+"]个任务完成后停止运行");
if(result){
$.post("${ctx}/service/store/closeSystem", {}, function (data) {
alert("操作成功,当前["+data+"]个任务完成后,系统将停止运行!");
});
}
}else{
var result = confirm("确定要关机吗?\n关机后系统将停止运行");
if(result){
$.post("${ctx}/service/store/closeSystem", {}, function (data) {
alert("关机操作成功,系统将停止运行!");
});
}
}
})
}
</script>
</c:set>
\ No newline at end of file
......@@ -12,7 +12,23 @@
<div class="row">
<div class="col-md-12">
<ul class="timeline">
<li class="timeline-yellow">
<div class="timeline-time">
<span class="date">2022</span>
<span class="time">10-19</span>
</div>
<div class="timeline-icon">
<i class="fa fa-clock-o"></i>
</div>
<div class="timeline-body">
<h2>版本: V2022101910</h2>
<div class="timeline-content">
<ul>
<li>增加开关机功能</li>
</ul>
</div>
</div>
</li>
<li class="timeline-grey">
<div class="timeline-time">
<span class="date">2022</span>
......
<?xml version="1.0" encoding="UTF-8"?>
<module org.jetbrains.idea.maven.project.MavenProjectsManager.isMavenModule="true" type="JAVA_MODULE" version="4">
<component name="NewModuleRootManager" LANGUAGE_LEVEL="JDK_1_7" inherit-compiler-output="false">
<output url="file://$MODULE_DIR$/target/classes" />
<output-test url="file://$MODULE_DIR$/target/test-classes" />
<content url="file://$MODULE_DIR$">
<excludeFolder url="file://$MODULE_DIR$/target" />
</content>
<orderEntry type="inheritedJdk" />
<orderEntry type="sourceFolder" forTests="false" />
</component>
</module>
\ No newline at end of file
支持 Markdown 格式
你添加了 0 到此讨论。请谨慎行事。
Finish editing this message first!