更改为自己版本

springboot2
wanghao 3 weeks ago
parent 522e2125a1
commit 1883f7dad9

@ -11,11 +11,11 @@
## 平台简介
一直想做一款后台管理系统,看了很多优秀的开源项目但是发现没有合适的。于是利用空闲休息时间开始自己写了一套后台系统。如此有了若依。她可以用于所有的Web应用程序如网站管理后台网站会员中心CMSCRMOA。所有前端后台代码封装过后十分精简易上手出错概率低。同时支持移动客户端访问。系统会陆续更新一些实用功能。
一直想做一款后台管理系统看了很多优秀的开源项目但是发现没有合适的。于是利用空闲休息时间开始自己写了一套后台系统。如此有了。她可以用于所有的Web应用程序如网站管理后台网站会员中心CMSCRMOA。所有前端后台代码封装过后十分精简易上手出错概率低。同时支持移动客户端访问。系统会陆续更新一些实用功能。
性别男,若依是给女儿取的名字(寓意:你若不离不弃,我必生死相依)
性别男,是给女儿取的名字(寓意:你若不离不弃,我必生死相依)
若依是一套全部开源的快速开发平台,毫无保留给个人及企业免费使用。
是一套全部开源的快速开发平台,毫无保留给个人及企业免费使用。
* 本仓库为RuoYi的Spring Boot 2 的版本,保持同步更新。
* 前端基于 [Hplus(H+)](https://gitee.com/hplus_admin/hplus) 后台主题 UI 框架。
@ -107,6 +107,6 @@ RuoYi 框架提供 Spring Boot 2.x / 3.x / 4.x 多版本分支的并行维护。
</table>
## 若依交流群
## 交流群
QQ群 [![加入QQ群](https://img.shields.io/badge/已满-1389287-blue.svg)](https://jq.qq.com/?_wv=1027&k=5HBAaYN) [![加入QQ群](https://img.shields.io/badge/已满-1679294-blue.svg)](https://jq.qq.com/?_wv=1027&k=5cHeRVW) [![加入QQ群](https://img.shields.io/badge/已满-1529866-blue.svg)](https://jq.qq.com/?_wv=1027&k=53R0L5Z) [![加入QQ群](https://img.shields.io/badge/已满-1772718-blue.svg)](https://jq.qq.com/?_wv=1027&k=5g75dCU) [![加入QQ群](https://img.shields.io/badge/已满-1366522-blue.svg)](https://jq.qq.com/?_wv=1027&k=58cPoHA) [![加入QQ群](https://img.shields.io/badge/已满-1382251-blue.svg)](https://jq.qq.com/?_wv=1027&k=5Ofd4Pb) [![加入QQ群](https://img.shields.io/badge/已满-1145125-blue.svg)](https://jq.qq.com/?_wv=1027&k=5yugASz) [![加入QQ群](https://img.shields.io/badge/已满-86752435-blue.svg)](https://jq.qq.com/?_wv=1027&k=5Rf3d2P) [![加入QQ群](https://img.shields.io/badge/已满-134072510-blue.svg)](https://jq.qq.com/?_wv=1027&k=5ZIjaeP) [![加入QQ群](https://img.shields.io/badge/已满-210336300-blue.svg)](https://jq.qq.com/?_wv=1027&k=5CJw1jY) [![加入QQ群](https://img.shields.io/badge/已满-339522636-blue.svg)](https://jq.qq.com/?_wv=1027&k=5omzbKc) [![加入QQ群](https://img.shields.io/badge/已满-130035985-blue.svg)](https://jq.qq.com/?_wv=1027&k=qPIKBb7s) [![加入QQ群](https://img.shields.io/badge/已满-143151071-blue.svg)](https://jq.qq.com/?_wv=1027&k=4NsjKbtU) [![加入QQ群](https://img.shields.io/badge/已满-158781320-blue.svg)](https://jq.qq.com/?_wv=1027&k=VD2pkz2G) [![加入QQ群](https://img.shields.io/badge/已满-201531282-blue.svg)](https://jq.qq.com/?_wv=1027&k=HlshFwkJ) [![加入QQ群](https://img.shields.io/badge/已满-101526938-blue.svg)](https://jq.qq.com/?_wv=1027&k=0ARRrO9V) [![加入QQ群](https://img.shields.io/badge/已满-264355400-blue.svg)](https://jq.qq.com/?_wv=1027&k=up9k3ZXJ) [![加入QQ群](https://img.shields.io/badge/已满-298522656-blue.svg)](https://jq.qq.com/?_wv=1027&k=540WfdEr) [![加入QQ群](https://img.shields.io/badge/已满-139845794-blue.svg)](https://jq.qq.com/?_wv=1027&k=ss91fC4t) [![加入QQ群](https://img.shields.io/badge/已满-185760789-blue.svg)](https://jq.qq.com/?_wv=1027&k=Cqd66IKe) [![加入QQ群](https://img.shields.io/badge/已满-175104288-blue.svg)](https://jq.qq.com/?_wv=1027&k=7FplYUnR) [![加入QQ群](https://img.shields.io/badge/已满-174942938-blue.svg)](http://qm.qq.com/cgi-bin/qm/qr?_wv=1027&k=lqMHu_5Fskm7H2S1vNAQTtzAUokVydwc&authKey=ptw0Fpch5pbNocML3CIJKKqZBaq2DI7cusKuzIgfMNiY3t9Pvd9hP%2BA8WYx3yaY1&noverify=0&group_code=174942938) [![加入QQ群](https://img.shields.io/badge/已满-287843737-blue.svg)](http://qm.qq.com/cgi-bin/qm/qr?_wv=1027&k=blYlRDmwZXSXI5pVrPPU7ZJ1stFJ6Q2Q&authKey=ForGBWffHVlPt9NE3d7g4DoOIouBh%2BqvAj2lp1CLReHfZAUaK7SRrdwsChKpRJDJ&noverify=0&group_code=287843737) [![加入QQ群](https://img.shields.io/badge/已满-232896766-blue.svg)](http://qm.qq.com/cgi-bin/qm/qr?_wv=1027&k=KTVAIhggR3rR3uZWK9A8kR4yYNREQ4jo&authKey=An4DUV9e7uK8I8VgBbp949z0ypQoDrOoqvVg%2FWOr2vuNNDMZUAMPvqHor6TFMIgz&noverify=0&group_code=232896766) [![加入QQ群](https://img.shields.io/badge/已满-180208928-blue.svg)](http://qm.qq.com/cgi-bin/qm/qr?_wv=1027&k=XwhV8deuZXt__yteR1clNanVSXzA-ugq&authKey=ezgwKqEZPdP%2FgC9I03OBkJb%2Biii8yvVfwrcQuu0%2FL6ILXcRdHYDBFKCXeoeBT0E6&noverify=0&group_code=180208928) [![加入QQ群](https://img.shields.io/badge/已满-140284548-blue.svg)](http://qm.qq.com/cgi-bin/qm/qr?_wv=1027&k=WqsGDxpGkqOPeWGOf3I32f_rXxdhqYNr&authKey=kvdF5df7PO9bzWxmixKhZN6ShsECBiuGUmmzTZBWVr2MVOfJ8%2F4oD0Gws0rbgYfz&noverify=0&group_code=140284548) [![加入QQ群](https://img.shields.io/badge/177203794-blue.svg)](http://qm.qq.com/cgi-bin/qm/qr?_wv=1027&k=z9z9jkkkinfAElKZk2FXqlN4XIXlXsMi&authKey=Sm9XMTV%2FFyANBrv9rVpMfMNcX4v1lVah3795O9VclQwU4DNzQcT5BLXTmTBouIkM&noverify=0&group_code=177203794)

@ -9,7 +9,7 @@
<name>ruoyi</name>
<url>http://www.ruoyi.vip</url>
<description>若依管理系统</description>
<description>管理系统</description>
<properties>
<ruoyi.version>4.8.3</ruoyi.version>
@ -239,6 +239,11 @@
<module>ruoyi-quartz</module>
<module>ruoyi-generator</module>
<module>ruoyi-common</module>
<module>ruoyi-api</module>
<module>ruoyi-device</module>
<module>ruoyi-manage</module>
<module>ruoyi-api</module>
<module>ruoyi-api</module>
</modules>
<packaging>pom</packaging>

@ -59,7 +59,21 @@
<groupId>com.ruoyi</groupId>
<artifactId>ruoyi-generator</artifactId>
</dependency>
<dependency>
<groupId>com.ruoyi</groupId>
<artifactId>ruoyi-api</artifactId>
<version>4.8.3</version>
</dependency>
<dependency>
<groupId>com.ruoyi</groupId>
<artifactId>ruoyi-device</artifactId>
<version>4.8.3</version>
</dependency>
<dependency>
<groupId>com.ruoyi</groupId>
<artifactId>ruoyi-manage</artifactId>
<version>4.8.3</version>
</dependency>
</dependencies>
<build>

@ -15,7 +15,7 @@ public class RuoYiApplication
public static void main(String[] args)
{
SpringApplication.run(RuoYiApplication.class, args);
System.out.println("(♥◠‿◠)ノ゙ 若依启动成功 ლ(´ڡ`ლ)゙ \n" +
System.out.println("(♥◠‿◠)ノ゙ 启动成功 ლ(´ڡ`ლ)゙ \n" +
" .-------. ____ __ \n" +
" | _ _ \\ \\ \\ / / \n" +
" | ( ' ) | \\ _. / ' \n" +

@ -78,7 +78,7 @@ public class DemoTableController extends BaseController
areas.add(new AreaModel(8, 0, "贵州省", "520000", "GZS", "GuiZhouSheng", 0));
areas.add(new AreaModel(9, 0, "上海市", "310000", "SHS", "ShangHaiShi", 0));
areas.add(new AreaModel(10, 0, "重庆市", "500000", "CQS", "ChongQingShi", 0));
areas.add(new AreaModel(11, 0, "若依省", "666666", "YYS", "RuoYiSheng", 0));
areas.add(new AreaModel(11, 0, "省", "666666", "YYS", "RuoYiSheng", 0));
areas.add(new AreaModel(12, 0, "安徽省", "340000", "AHS", "AnHuiSheng", 0));
areas.add(new AreaModel(13, 0, "福建省", "350000", "FJS", "FuJianSheng", 0));
areas.add(new AreaModel(14, 0, "海南省", "460000", "HNS", "HaiNanSheng", 0));

@ -55,7 +55,7 @@ public class SwaggerConfig
// 用ApiInfoBuilder进行定制
return new ApiInfoBuilder()
// 设置标题
.title("标题:若依管理系统_接口文档")
.title("标题:管理系统_接口文档")
// 描述
.description("描述:用于管理集团旗下公司的人员信息,具体包括XXX,XXX模块...")
// 作者信息

@ -6,9 +6,10 @@ spring:
druid:
# 主库数据源
master:
url: jdbc:mysql://localhost:3306/ry?useUnicode=true&characterEncoding=utf8&zeroDateTimeBehavior=convertToNull&useSSL=true&serverTimezone=GMT%2B8
url: jdbc:mysql://119.45.202.115:3306/bg_wheel_chocks?useUnicode=true&characterEncoding=utf8&zeroDateTimeBehavior=convertToNull&useSSL=true&serverTimezone=GMT%2B8
# url: jdbc:mysql://1.13.177.47:3306/bg_wheel_chocks?useUnicode=true&characterEncoding=utf8&zeroDateTimeBehavior=convertToNull&useSSL=true&serverTimezone=GMT%2B8
username: root
password: password
password: haiwei@123
# 从库数据源
slave:
# 从数据源开关/默认关闭

@ -7,16 +7,16 @@ ruoyi:
# 版权年份
copyrightYear: 2026
# 实例演示开关
demoEnabled: true
demoEnabled: false
# 文件路径 示例( Windows配置D:/ruoyi/uploadPathLinux配置 /home/ruoyi/uploadPath
profile: D:/ruoyi/uploadPath
profile: F:/lundang/uploadPath
# 获取ip地址开关
addressEnabled: false
# 开发环境配置
server:
# 服务器的HTTP端口默认为80
port: 80
port: 8090
servlet:
# 应用的访问路径
context-path: /
@ -64,9 +64,9 @@ spring:
servlet:
multipart:
# 单个文件大小
max-file-size: 10MB
max-file-size: 20MB
# 设置总上传的文件大小
max-request-size: 20MB
max-request-size: 40MB
# MyBatis
mybatis:

Binary file not shown.

After

Width:  |  Height:  |  Size: 2.1 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.8 KiB

@ -1 +1,196 @@
html{height:100%}body.signin{height:auto;background:url(../img/login-background.jpg) no-repeat center fixed;-webkit-background-size:cover;-moz-background-size:cover;-o-background-size:cover;background-size:cover}.signinpanel{width:750px;margin:10% auto 0;color:rgba(255,255,255,.95)}.signinpanel .logopanel{float:none;width:auto;padding:0;background:0}.signinpanel .signin-info ul{list-style:none;padding:0;margin:20px 0}.signinpanel .form-control{display:block;margin-top:15px}.signinpanel .uname{background:#fff url(../img/user.png) no-repeat 95% center;color:#333}.signinpanel .pword{background:#fff url(../img/locked.png) no-repeat 95% center;color:#333}.signinpanel .code{background:#fff no-repeat 95% center;color:#333;margin:0 0 15px 0}.signinpanel .btn{margin-top:15px}.signinpanel form{background:rgba(255,255,255,.2);border:1px solid rgba(255,255,255,.3);-moz-box-shadow:0 3px 0 rgba(12,12,12,.03);-webkit-box-shadow:0 3px 0 rgba(12,12,12,.03);box-shadow:0 3px 0 rgba(12,12,12,.03);-moz-border-radius:3px;-webkit-border-radius:3px;border-radius:3px;padding:30px}.signup-footer{border-top:solid 1px rgba(255,255,255,.3);margin:20px 0;padding-top:15px}@media screen and (max-width:768px){.signinpanel,.signuppanel{margin:0 auto;width:380px!important;padding:20px}.signinpanel form{margin-top:20px}.signup-footer,.signuppanel .form-control{margin-bottom:10px}.signup-footer .pull-left,.signup-footer .pull-right{float:none!important;text-align:center}.signinpanel .signin-info ul{display:none}}@media screen and (max-width:320px){.signinpanel,.signuppanel{margin:0 20px;width:auto}}.checkbox-custom{position:relative;padding:0 15px 0 25px;margin-bottom:7px;display:inline-block}.checkbox-custom input[type="checkbox"]{opacity:0;position:absolute;cursor:pointer;z-index:2;margin:-6px 0 0 0;top:50%;left:3px}.checkbox-custom label:before{content:'';position:absolute;top:50%;left:0;margin-top:-9px;width:18px;height:17px;display:inline-block;border-radius:2px;border:1px solid #bbb;background:#fff}.checkbox-custom input[type="checkbox"]:checked+label:after{position:absolute;display:inline-block;font-family:'Glyphicons Halflings';content:"\e013";top:42%;left:3px;margin-top:-5px;font-size:11px;line-height:1;width:16px;height:16px;color:#333}.checkbox-custom label{cursor:pointer;line-height:1.2;font-weight:normal;margin-bottom:0;text-align:left}.form-control,.form-control:focus,.has-error .form-control:focus,.has-success .form-control:focus,.has-warning .form-control:focus,.navbar-collapse,.navbar-form,.navbar-form-custom .form-control:focus,.navbar-form-custom .form-control:hover,.open .btn.dropdown-toggle,.panel,.popover,.progress,.progress-bar{box-shadow:none}.form-control{border-radius:1px!important;padding:6px 12px!important;height:34px!important}.form-control:focus{border-color:#1ab394!important}body .layer-ext-moon-msg[type="dialog"]{min-width:100px!important}body .layer-ext-moon-msg{background-color:rgba(0,0,0,0.6);color:#fff;border:0}body .layer-ext-moon-msg .layui-layer-content{padding:12px 25px;text-align:center}
html {
height: 100%
}
body.signin {
height: auto;
background: url(../img/man_bg2.png) no-repeat center fixed;
-webkit-background-size: cover;
-moz-background-size: cover;
-o-background-size: cover;
background-size: cover
background-attachment: fixed;
overflow: hidden;
}
.signinpanel {
width: 900px;
/*margin: 10% auto 0;*/
margin-top: 14%;
margin-bottom: 0px;
margin-left: 40%;
color: rgba(255, 255, 255, .95)
}
.signinpanel .logopanel {
float: none;
width: auto;
padding: 0;
background: 0
}
.signinpanel .signin-info ul {
list-style: none;
padding: 0;
margin: 20px 0
}
.signinpanel .form-control {
display: block;
margin-top: 15px
}
.signinpanel .uname {
background: #fff url(../img/user.png) no-repeat 95% center;
color: #333
}
.signinpanel .pword {
background: #fff url(../img/locked.png) no-repeat 95% center;
color: #333
}
.signinpanel .code {
background: #fff no-repeat 95% center;
color: #333;
margin: 0 0 15px 0
}
.signinpanel .btn {
margin-top: 15px
}
.signinpanel form {
background: rgba(255, 255, 255, .7);
border: 1px solid rgba(255, 255, 255, .3);
-moz-box-shadow: 0 3px 0 rgba(12, 12, 12, .03);
-webkit-box-shadow: 0 3px 0 rgba(12, 12, 12, .03);
box-shadow: 0 3px 0 rgba(12, 12, 12, .03);
-moz-border-radius: 3px;
-webkit-border-radius: 3px;
border-radius: 3px;
padding: 30px
}
.signup-footer {
border-top: solid 1px rgba(255, 255, 255, .3);
margin: 20px 0;
padding-top: 15px
}
@media screen and (max-width: 768px) {
.signinpanel, .signuppanel {
margin: 0 auto;
width: 380px !important;
padding: 20px
}
.signinpanel form {
margin-top: 20px
}
.signup-footer, .signuppanel .form-control {
margin-bottom: 10px
}
.signup-footer .pull-left, .signup-footer .pull-right {
float: none !important;
text-align: center
}
.signinpanel .signin-info ul {
display: none
}
}
@media screen and (max-width: 320px) {
.signinpanel, .signuppanel {
margin: 0 20px;
width: auto
}
}
.checkbox-custom {
position: relative;
padding: 0 15px 0 25px;
margin-bottom: 7px;
display: inline-block
}
.checkbox-custom input[type="checkbox"] {
opacity: 0;
position: absolute;
cursor: pointer;
z-index: 2;
margin: -6px 0 0 0;
top: 50%;
left: 3px
}
.checkbox-custom label:before {
content: '';
position: absolute;
top: 50%;
left: 0;
margin-top: -9px;
width: 18px;
height: 17px;
display: inline-block;
border-radius: 2px;
border: 1px solid #bbb;
background: #fff
}
.checkbox-custom input[type="checkbox"]:checked + label:after {
position: absolute;
display: inline-block;
font-family: 'Glyphicons Halflings';
content: "\e013";
top: 42%;
left: 3px;
margin-top: -5px;
font-size: 11px;
line-height: 1;
width: 16px;
height: 16px;
color: #333
}
.checkbox-custom label {
cursor: pointer;
line-height: 1.2;
font-weight: normal;
margin-bottom: 0;
text-align: left
}
.form-control, .form-control:focus, .has-error .form-control:focus, .has-success .form-control:focus, .has-warning .form-control:focus, .navbar-collapse, .navbar-form, .navbar-form-custom .form-control:focus, .navbar-form-custom .form-control:hover, .open .btn.dropdown-toggle, .panel, .popover, .progress, .progress-bar {
box-shadow: none
}
.form-control {
border-radius: 1px !important;
padding: 6px 12px !important;
height: 34px !important
}
.form-control:focus {
border-color: #1ab394 !important
}
body .layer-ext-moon-msg[type="dialog"] {
min-width: 100px !important
}
body .layer-ext-moon-msg {
background-color: rgba(0, 0, 0, 0.6);
color: #fff;
border: 0
}
body .layer-ext-moon-msg .layui-layer-content {
padding: 12px 25px;
text-align: center
}

@ -1,6 +1,6 @@
/*
*
* SKIN blue
* SKIN blue
* NAME - blue/green/purple/red/yellow
*
*/
@ -824,7 +824,7 @@
/*
*
*
*
* NAME - .theme-dark/theme-light
*
*/

Binary file not shown.

After

Width:  |  Height:  |  Size: 432 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 860 KiB

@ -19,18 +19,18 @@
<form id="form" action="#" class="wizard-big">
<select class="form-control dual_select" multiple>
<option value="1">若依1</option>
<option value="2">若依2</option>
<option value="3">若依3</option>
<option selected value="4">若依4</option>
<option selected value="5">若依5</option>
<option value="6">若依6</option>
<option value="7">若依7</option>
<option value="8">若依8</option>
<option value="9">若依9</option>
<option value="10">若依10</option>
<option value="11">若依11</option>
<option value="12">若依12</option>
<option value="1">1</option>
<option value="2">2</option>
<option value="3">3</option>
<option selected value="4">4</option>
<option selected value="5">5</option>
<option value="6">6</option>
<option value="7">7</option>
<option value="8">8</option>
<option value="9">9</option>
<option value="10">10</option>
<option value="11">11</option>
<option value="12">12</option>
</select>
</form>
<hr>

@ -14,7 +14,7 @@
</div>
<div class="ibox-content no-padding">
<div class="summernote">
<h2>若依后台管理系统</h2>
<h2>后台管理系统</h2>
<p>ruoyi是一个完全响应式基于Bootstrap3.4.1最新版本开发的扁平化主题她采用了主流的左右两栏式布局使用了Html5+CSS3等现代技术她提供了诸多的强大的可以重新组合的UI组件并集成了最新的jQuery版本(v2.1.1)当然也集成了很多功能强大用途广泛的就jQuery插件她可以用于所有的Web应用程序<b>网站管理后台</b><b>网站会员中心</b><b>CMS</b><b>CRM</b><b>OA</b>等等,当然,您也可以对她进行深度定制,以做出更强系统。</p>
<p>
<b>当前版本:</b>v4.8.3
@ -53,7 +53,7 @@
<div class="ibox-content" id="eg">
<div class="click2edit wrapper">
<h3>你好,若依 </h3>
<h3>你好, </h3>
<p>H+是一个完全响应式基于Bootstrap3.4.1最新版本开发的扁平化主题她采用了主流的左右两栏式布局使用了Html5+CSS3等现代技术她提供了诸多的强大的可以重新组合的UI组件并集成了最新的jQuery版本(v2.1.1)当然也集成了很多功能强大用途广泛的就jQuery插件她可以用于所有的Web应用程序<b>网站管理后台</b><b>网站会员中心</b><b>CMS</b><b>CRM</b><b>OA</b>等等,当然,您也可以对她进行深度定制,以做出更强系统。</p>
<p>
<b>当前版本:</b>v4.8.3

@ -259,7 +259,7 @@
$("#button-open-16").click(function(){
var json = {
"title": "若依相册", //相册标题
"title": "相册", //相册标题
"id": 123, //相册id
"start": 0, //初始显示的图片序号默认0
"data": [ //相册包含的图片,数组格式

@ -4,10 +4,10 @@
<meta charset="utf-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<meta name="renderer" content="webkit">
<title>若依系统首页</title>
<title>系统首页</title>
<!-- 避免IE使用兼容模式 -->
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<link th:href="@{favicon.ico}" rel="shortcut icon"/>
<link th:href="@{RFID.ico}" rel="shortcut icon"/>
<link th:href="@{/css/bootstrap.min.css}" rel="stylesheet"/>
<link th:href="@{/css/jquery.contextMenu.min.css}" rel="stylesheet"/>
<link th:href="@{/css/font-awesome.min.css}" rel="stylesheet"/>

@ -4,10 +4,10 @@
<meta charset="utf-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<meta name="renderer" content="webkit">
<title>若依系统首页</title>
<title>RFID机场轮挡管理系统</title>
<!-- 避免IE使用兼容模式 -->
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<link th:href="@{favicon.ico}" rel="shortcut icon"/>
<link th:href="@{RFID.ico}" rel="shortcut icon"/>
<link th:href="@{/css/bootstrap.min.css}" rel="stylesheet"/>
<link th:href="@{/css/jquery.contextMenu.min.css}" rel="stylesheet"/>
<link th:href="@{/css/font-awesome.min.css}" rel="stylesheet"/>
@ -26,11 +26,11 @@
<div class="nav-close">
<i class="fa fa-times-circle"></i>
</div>
<a th:href="@{/index}">
<li class="logo hidden-xs">
<span class="logo-lg">RuoYi</span>
</li>
</a>
<!-- <a th:href="@{/index}"> -->
<!-- <li class="logo hidden-xs"> -->
<!-- <span class="logo-lg">RuoYi</span> -->
<!-- </li> -->
<!-- </a> -->
<div class="sidebar-collapse">
<ul class="nav" id="side-menu">
<li>
@ -198,7 +198,7 @@
</a>
</div>
<ul class="nav navbar-top-links navbar-right welcome-message">
<li><a data-toggle="tooltip" data-trigger="hover" data-placement="bottom" title="开发文档" href="http://doc.ruoyi.vip/ruoyi" target="_blank"><i class="fa fa-question-circle"></i> 文档</a></li>
<!-- <li><a data-toggle="tooltip" data-trigger="hover" data-placement="bottom" title="开发文档" href="http://doc.ruoyi.vip/ruoyi" target="_blank"><i class="fa fa-question-circle"></i> 文档</a></li> -->
<li><a data-toggle="tooltip" data-trigger="hover" data-placement="bottom" title="锁定屏幕" href="javascript:;" id="lockScreen"><i class="fa fa-lock"></i> 锁屏</a></li>
<li><a data-toggle="tooltip" data-trigger="hover" data-placement="bottom" title="全屏显示" href="javascript:;" id="fullScreen"><i class="fa fa-arrows-alt"></i> 全屏</a></li>
<li class="dropdown" id="noticeDropdown">

@ -6,7 +6,7 @@
<meta th:content="${session.csrf_token}" name="csrf-token"/>
<!--360浏览器优先以webkit内核解析-->
<title>锁定屏幕</title>
<link th:href="@{favicon.ico}" rel="shortcut icon"/>
<link th:href="@{RFID.ico}" rel="shortcut icon"/>
<link href="../static/css/bootstrap.min.css" th:href="@{/css/bootstrap.min.css}" rel="stylesheet"/>
<link href="../static/css/font-awesome.min.css" th:href="@{/css/font-awesome.min.css}" rel="stylesheet"/>
<style>.lockscreen{background:#d2d6de;height:auto;}.lockscreen .lockscreen-name{text-align:center;font-weight:600;margin-top:50px;margin-bottom:30px;}.lockscreen-wrapper{max-width:400px;margin:10% auto;z-index:800;position:relative;}.lockscreen .lockscreen-name{text-align:center;font-weight:600;margin-top:50px;margin-bottom:30px;}.lockscreen-item{border-radius:4px;padding:0;background:#fff;position:relative;margin:10px auto 30px auto;width:290px}.lockscreen-image{border-radius:50%;position:absolute;left:-10px;top:-25px;background:#fff;padding:5px;z-index:10}.lockscreen-image>img{border-radius:50%;width:70px;height:70px}.lockscreen-credentials{margin-left:70px}.lockscreen-credentials .form-control{border:0}.lockscreen-credentials .btn{background-color:#fff;border:0;padding:0 10px}.lockscreen-footer{margin-top:150px}.lockscreen-time{width:100%;color:#fff;font-size:60px;display:inline-block;text-align:center;font-family:'Open Sans',sans-serif;font-weight:300;}</style>

@ -3,8 +3,8 @@
<head>
<meta charset="utf-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0, maximum-scale=1.0">
<title>登录若依系统</title>
<meta name="description" content="若依后台管理框架">
<title>登录系统</title>
<meta name="description" content="后台管理框架">
<link href="../static/css/bootstrap.min.css" th:href="@{/css/bootstrap.min.css}" rel="stylesheet"/>
<link href="../static/css/font-awesome.min.css" th:href="@{/css/font-awesome.min.css}" rel="stylesheet"/>
<link href="../static/css/style.min.css" th:href="@{/css/style.min.css}" rel="stylesheet"/>
@ -14,22 +14,70 @@
<meta name="renderer" content="webkit">
<!-- 避免IE使用兼容模式 -->
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<link rel="shortcut icon" href="../static/favicon.ico" th:href="@{favicon.ico}"/>
<link rel="shortcut icon" href="../static/RFID.ico" th:href="@{RFID.ico}"/>
<style type="text/css">label.error { position:inherit; }</style>
<script>
if(window.top!==window.self){alert('未登录或登录超时。请重新登录');window.top.location=window.location};
</script>
</head>
<body class="signin">
<div class="signinpanel">
<div class="signinpanel">
<div class="row">
<div class="col-sm-5">
<div class="signin-info">
<!-- <div class="logopanel m-b">
<h1><img alt="[ ]" src="../static/ruoyi.png" th:src="@{/ruoyi.png}"></h1>
</div>
<div class="m-b"></div>
<h4 >欢迎使用 <strong>RFID飞机轮挡管理系统</strong></h4>
<ul class="m-b">
<li><i class="fa fa-arrow-circle-o-right m-r-xs"></i> SpringBoot</li>
<li><i class="fa fa-arrow-circle-o-right m-r-xs"></i> Mybatis</li>
<li><i class="fa fa-arrow-circle-o-right m-r-xs"></i> Shiro</li>
<li><i class="fa fa-arrow-circle-o-right m-r-xs"></i> Thymeleaf</li>
<li><i class="fa fa-arrow-circle-o-right m-r-xs"></i> Bootstrap</li>
</ul>
<strong th:if="${isAllowRegister}">还没有账号? <a th:href="@{/register}">立即注册&raquo;</a></strong>-->
</div>
</div>
<div class="col-sm-5" >
<form id="signupForm" autocomplete="off">
<h3 class="no-margins" style="color: cornflowerblue ;">登录:</h3>
<h3 class="m-t-md" style="color: cornflowerblue">RFID飞机轮挡管理系统</h3>
<input type="text" name="username" class="form-control uname" placeholder="用户名" value="" />
<input type="password" name="password" class="form-control pword" placeholder="密码" value="" />
<div class="row m-t" th:if="${captchaEnabled==true}">
<div class="col-xs-6">
<input type="text" name="validateCode" class="form-control code" placeholder="验证码" maxlength="5" />
</div>
<div class="col-xs-6">
<a href="javascript:void(0);" title="点击更换验证码">
<img th:src="@{/captcha/captchaImage(type=${captchaType})}" class="imgcode" width="85%"/>
</a>
</div>
</div>
<div class="checkbox-custom" th:if="${isRemembered}" th:classappend="${captchaEnabled==false} ? 'm-t'">
<input type="checkbox" id="rememberme" name="rememberme"> <label for="rememberme" style="color: cornflowerblue">记住我</label>
</div>
<button class="btn btn-success btn-block" id="btnSubmit" data-loading="正在验证登录,请稍候...">登录</button>
</form>
</div>
</div>
<!-- <div class="signup-footer">-->
<!-- <div class="pull-left">-->
<!-- Copyright © 2023 All Rights Reserved. <br>-->
<!-- </div>-->
<!-- </div>-->
</div>
<!-- <div class="signinpanel">
<div class="row">
<div class="col-sm-7">
<div class="signin-info">
<div class="logopanel m-b">
<h1><img alt="[ 若依 ]" src="../static/ruoyi.png" th:src="@{/ruoyi.png}"></h1>
<h1><img alt="[ ]" src="../static/ruoyi.png" th:src="@{/ruoyi.png}"></h1>
</div>
<div class="m-b"></div>
<h4>欢迎使用 <strong>若依 后台管理系统</strong></h4>
<h4>欢迎使用 <strong> 后台管理系统</strong></h4>
<ul class="m-b">
<li><i class="fa fa-arrow-circle-o-right m-r-xs"></i> SpringBoot</li>
<li><i class="fa fa-arrow-circle-o-right m-r-xs"></i> Mybatis</li>
@ -68,7 +116,7 @@
Copyright © 2018-2026 ruoyi.vip All Rights Reserved. <br>
</div>
</div>
</div>
</div> -->
<script th:inline="javascript"> var ctx = [[@{/}]]; var captchaType = [[${captchaType}]]; var captchaEnabled = [[${captchaEnabled}]];</script>
<!--[if lte IE 8]><script>window.location.href=ctx+'html/ie.html';</script><![endif]-->
<!-- 全局js -->

File diff suppressed because it is too large Load Diff

@ -4,7 +4,7 @@
<meta charset="utf-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>统计</title>
<link rel="shortcut icon" href="favicon.ico">
<link rel="shortcut icon" href="RFID.ico">
<link href="../static/css/bootstrap.min.css" th:href="@{/css/bootstrap.min.css}" rel="stylesheet"/>
<link href="../static/css/font-awesome.min.css" th:href="@{/css/font-awesome.min.css}" rel="stylesheet"/>
<link href="../static/css/animate.min.css" th:href="@{/css/animate.min.css}" rel="stylesheet"/>

@ -3,8 +3,8 @@
<head>
<meta charset="utf-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0, maximum-scale=1.0">
<title>注册若依系统</title>
<meta name="description" content="若依后台管理框架">
<title>注册系统</title>
<meta name="description" content="后台管理框架">
<link href="../static/css/bootstrap.min.css" th:href="@{/css/bootstrap.min.css}" rel="stylesheet"/>
<link href="../static/css/font-awesome.min.css" th:href="@{/css/font-awesome.min.css}" rel="stylesheet"/>
<link href="../static/css/style.min.css" th:href="@{/css/style.min.css}" rel="stylesheet"/>
@ -14,7 +14,7 @@
<meta name="renderer" content="webkit">
<!-- 避免IE使用兼容模式 -->
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<link rel="shortcut icon" href="../static/favicon.ico" th:href="@{favicon.ico}"/>
<link rel="shortcut icon" href="../static/RFID.ico" th:href="@{RFID.ico}"/>
<style type="text/css">label.error { position:inherit; }</style>
</head>
<body class="signin">
@ -23,10 +23,10 @@
<div class="col-sm-7">
<div class="signin-info">
<div class="logopanel m-b">
<h1><img alt="[ 若依 ]" src="../static/ruoyi.png" th:src="@{/ruoyi.png}"></h1>
<h1><img alt="[ ]" src="../static/ruoyi.png" th:src="@{/ruoyi.png}"></h1>
</div>
<div class="m-b"></div>
<h4>欢迎使用 <strong>若依 后台管理系统</strong></h4>
<h4>欢迎使用 <strong> 后台管理系统</strong></h4>
<ul class="m-b">
<li><i class="fa fa-arrow-circle-o-right m-r-xs"></i> SpringBoot</li>
<li><i class="fa fa-arrow-circle-o-right m-r-xs"></i> Mybatis</li>

@ -8,7 +8,7 @@
<!--[if lt IE 9]>
<meta http-equiv="refresh" content="0;ie.html"/>
<![endif]-->
<link rel="shortcut icon" href="../static/favicon.ico" th:href="@{favicon.ico}"/>
<link rel="shortcut icon" href="../static/RFID.ico" th:href="@{RFID.ico}"/>
<link th:href="@{/css/bootstrap.min.css}" rel="stylesheet"/>
<link th:href="@{/css/style.min.css}" rel="stylesheet"/>
<style type="text/css">

@ -0,0 +1,32 @@
<?xml version="1.0" encoding="UTF-8"?>
<project xmlns="http://maven.apache.org/POM/4.0.0"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
<modelVersion>4.0.0</modelVersion>
<parent>
<groupId>com.ruoyi</groupId>
<artifactId>ruoyi</artifactId>
<version>4.8.3</version>
</parent>
<artifactId>ruoyi-api</artifactId>
<properties>
<maven.compiler.source>8</maven.compiler.source>
<maven.compiler.target>8</maven.compiler.target>
<project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
</properties>
<dependencies>
<dependency>
<groupId>com.ruoyi</groupId>
<artifactId>ruoyi-manage</artifactId>
<version>4.8.3</version>
</dependency>
<!-- 通用工具-->
<dependency>
<groupId>com.ruoyi</groupId>
<artifactId>ruoyi-common</artifactId>
</dependency>
</dependencies>
</project>

@ -0,0 +1,378 @@
package com.ruoyi.api.controller;
import com.alibaba.fastjson.JSONObject;
import com.ruoyi.api.domain.CheckTaskInfo;
import com.ruoyi.api.domain.InStoreDto;
import com.ruoyi.api.domain.OutStoreDto;
import com.ruoyi.api.domain.StockDto;
import com.ruoyi.api.service.impl.ApiService;
import com.ruoyi.common.config.RuoYiConfig;
import com.ruoyi.common.core.domain.AjaxResult;
import com.ruoyi.common.utils.DateUtils;
import com.ruoyi.common.utils.file.FileUploadUtils;
import com.ruoyi.manage.domain.*;
import com.ruoyi.manage.service.*;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.transaction.annotation.Transactional;
import org.springframework.web.bind.annotation.*;
import org.springframework.web.multipart.MultipartFile;
import java.io.IOException;
import java.util.HashMap;
import java.util.Iterator;
import java.util.List;
import java.util.Map;
import static com.ruoyi.common.core.domain.AjaxResult.error;
import static com.ruoyi.common.core.domain.AjaxResult.success;
/**
* @author wanghao
* @date 2024/1/11 8:55
*/
@RestController
@RequestMapping("/api")
public class ApiController {
@Autowired
private IBaseLocationService baseLocationService;
@Autowired
private IBaseManufacturerService baseManufacturerService;
@Autowired
private ApiService apiService;
//入库
// 查询库位 和 品牌
@PostMapping("/instore/select")
public AjaxResult instoreSelect() {
BaseLocation baseLocation = new BaseLocation();
baseLocation.setStoteTag(1L);
baseLocation.setIsEnable("Y");
List<BaseLocation> baseLocationList = baseLocationService.selectBaseLocationList(baseLocation);
BaseManufacturer baseManufacturer = new BaseManufacturer();
baseManufacturer.setIsEnable("Y");
List<BaseManufacturer> baseManufacturerList = baseManufacturerService.selectBaseManufacturerList(baseManufacturer);
Map<String, List> map = new HashMap<>();
map.put("baseLocationList", baseLocationList);
map.put("baseManufacturerList", baseManufacturerList);
return success(map);
}
@PostMapping("/instore/submit")
public AjaxResult instoreSubmit(@RequestBody InStoreDto inStore) {
List<String> epcList = inStore.getEpcList();
int size = epcList.size();
System.out.println("数据条数:" + size);
Iterator<String> iterator = epcList.iterator();
while (iterator.hasNext()) {
String epc = iterator.next();
String tag = apiService.selectLedgerbyEpcForInStore(epc);
if (tag != null) {
iterator.remove();
}
}
int size1 = epcList.size();
int i = size - size1;
if (size1 > 0) {
apiService.submintInsertRecordIn(inStore);
apiService.submintInsertLedger(inStore);
}
return success("本次入库成功:" + size1 + "条,屏蔽重复入库:" + i + "条");
}
@PostMapping("/outStore/select")
public AjaxResult outStoreSelect() {
BaseLocation baseLocation = new BaseLocation();
baseLocation.setStoteTag(2L);
baseLocation.setIsEnable("Y");
List<BaseLocation> baseLocationList = baseLocationService.selectBaseLocationList(baseLocation);
return success(baseLocationList);
}
@PostMapping("/outStore/submit")
public AjaxResult outStoreSubmit(@RequestBody OutStoreDto outStoreDto) {
try {
List<String> epcList = outStoreDto.getEpcList();
//int i=0;
for (String epc : epcList) {
String tag = apiService.selectLedgerbyEpcForOutStore(epc);
if (tag != null) {
apiService.submitInsertRecordOut(outStoreDto, epc);
apiService.updataLedgerFoyOut(outStoreDto, epc);
//i++;
}
}
/* int size = epcList.size();
Iterator<String> iterator = epcList.iterator();
while (iterator.hasNext()) {
String epc = iterator.next();
if (tag != null) {
iterator.remove();
}
}
int size1 = epcList.size();
int i = size - size1;
if (i>0){
apiService.submitInsertRecordOut(outStoreDto);
apiService.updataLedger(outStoreDto);
}*/
return success();
} catch (Exception e) {
return error();
}
}
@PostMapping("/storecheck/select")
public AjaxResult storeCheckSelect() {
List<StockDto> list = apiService.storeCheckSelect();
if (list == null || list.isEmpty()) {
return error("库存为空");
}
return success(list);
}
@Autowired
private IRecordStoreCheckService checkService;
@Transactional
@PostMapping("/storecheck/submit")
public AjaxResult storeCheckSubmit(String json, String user) {
try {
List<StockDto> list = JSONObject.parseArray(json, StockDto.class);
RecordStoreCheck recordStoreCheck = new RecordStoreCheck();
recordStoreCheck.setCheckNumber(list.size());
recordStoreCheck.setCheckTime(DateUtils.getNowDate());
recordStoreCheck.setCheckUser(user);
int key = checkService.insertRecordStoreCheck(recordStoreCheck);
apiService.insertCheckInfo(list, recordStoreCheck.getCheckId());
return success();
} catch (Exception e) {
return error("数据异常,请求失败");
}
}
@PostMapping("/bf/select")
public AjaxResult bfSelect(String epc) {
LedgerRfid ledgerRfid = apiService.bfSelect(epc);
if (ledgerRfid == null) {
return error("RFID 扫描不正确");
}
return success(ledgerRfid);
}
@Autowired
private IRecordInvalidatedService recordInvalidatedService;
@PostMapping("/xj/selectLite")
public String xjSelectLite(String user) {
List<StockDto> list = apiService.xjSelect(user);
if (list == null) {
return "null";
}
return JSONObject.toJSONString(list);
}
@Autowired
private IRecordInspectionService inspectionService;
@PostMapping("/inspection/skipTask")
public AjaxResult inspectionSubmit(long tableId, String remark) {
apiService.updataInspectionTaskByObjid(tableId, remark, "跳过");
return success();
}
/**
*
*
* @param tableId
* @param json
* @param inspectionId
* @param user
* @param files
* @return
*/
@PostMapping("/xj/submit")
public AjaxResult inspectionSubmit(long tableId, String json, long inspectionId, String user,String locationCode, List<MultipartFile> files) {
//插入 info 表
List<StockDto> list = JSONObject.parseArray(json, StockDto.class);
if (list != null && !list.isEmpty()) {
locationCode=list.get(0).getLocationCode();
apiService.deleteInspectionInfo(locationCode, inspectionId);
apiService.insertInspectionInfo(list, inspectionId);
}
//修改task状态
apiService.updataInspectionTaskByObjid(tableId, null, "已完成");
//存储图片,插库
String filePath = RuoYiConfig.getUploadPath() + "/inspection";
if (files != null && files.size() > 0) {
for (MultipartFile multipartFile : files) {
String pathName = null;
try {
pathName = FileUploadUtils.upload(filePath, multipartFile);
} catch (IOException e) {
e.printStackTrace();
}
System.out.println("上传图片路径:" + pathName);
apiService.insertInspetionPictrue(inspectionId, tableId, user, pathName, locationCode);
}
}
return success();
}
/**
*
*
* @param
* @return
*/
@PostMapping("/inspection/select")
public AjaxResult inspectionSelect(String code) {
List<StockDto> list = apiService.inspectionSelectLocation(code);
if (list == null) {
return error("没有领用轮挡");
}
return success(list);
}
/**
*
*
* @param user
* @return
*/
@PostMapping("/xj/createTask")
public AjaxResult inspectionCreateTask(String user) {
List<CheckTaskInfo> list = apiService.selectLocationByAreaUser(user);
if (list == null || list.isEmpty()) {
return error("没有维护巡检区域");
}
RecordInspection recordInspection = new RecordInspection();
recordInspection.setInspectionUser(user);
int insertNumber = inspectionService.insertRecordInspection(recordInspection);
apiService.insertCheckTask(Math.toIntExact(recordInspection.getInspectionId()), list);
return success("创建成功", insertNumber);
}
/**
*
*
* @return
*/
@PostMapping("/inspection/selectTask")
public AjaxResult inspectionSelectTask(@RequestParam(value = "state", defaultValue = "") String state) {
try {
int inspectionid = apiService.selectCodeFromRecode();
System.out.println(inspectionid + "-" + state);
List<CheckTaskInfo> list = apiService.inspectionSelectTask(state, inspectionid);
// if (list == null || list.isEmpty()) {
// return error("需要领用轮挡到机位");
// }
return success(list);
} catch (Exception e) {
e.printStackTrace();
return error("需要创建");
}
}
/**
*
*
* @param epc
* @param user
* @param remark
* @return
*/
@PostMapping("/bf/submit")
public AjaxResult bfSubmit(String epc, String reason, String user, int type, String remark, List<MultipartFile> files) {
//插入记录
RecordInvalidated recordInvalidated = new RecordInvalidated();
recordInvalidated.setReason(reason);
recordInvalidated.setEpc(epc);
recordInvalidated.setCreateBy(user);
recordInvalidated.setRemark(remark);
recordInvalidated.setTypeName(Long.valueOf(type));
recordInvalidatedService.insertRecordInvalidated(recordInvalidated);
//修改台账
apiService.updataLedgerForBf(epc, type + "");
//存储图片,插库
String filePath = RuoYiConfig.getUploadPath() + "/inspection";
if (files != null && files.size() > 0) {
for (MultipartFile multipartFile : files) {
String pathName = null;
try {
pathName = FileUploadUtils.upload(filePath, multipartFile);
} catch (IOException e) {
e.printStackTrace();
}
System.out.println("上传图片路径:" + pathName);
apiService.insertBfImg(recordInvalidated.getObjid(), epc, user, pathName);
}
}
return success();
}
@PostMapping("/fpin/select")
public AjaxResult fpInSelect(String epc) {
LedgerRfid ledgerRfid = apiService.fpInSelect(epc);
if (ledgerRfid == null) {
return error("RFID 扫描不正确");
}
BaseLocation baseLocation = new BaseLocation();
baseLocation.setStoteTag(1L);
baseLocation.setIsEnable("Y");
List<BaseLocation> baseLocationList = baseLocationService.selectBaseLocationList(baseLocation);
ledgerRfid.setBaseLocationList(baseLocationList);
return success(ledgerRfid);
}
@PostMapping("/fpin/submit")
public AjaxResult fpInSubmit(String epc, String localtionCode, String user, String bf, String subCode) {
int i = apiService.fpInSubmit(epc, localtionCode, user, bf, subCode);
apiService.updataLedgerIn(epc, subCode);
return success();
}
@PostMapping("/fpout/select")
public AjaxResult fpOutSelect() {
List<StockDto> list = apiService.fpOutSelect();
if (list == null || list.isEmpty()) {
return error("暂无废品库存");
}
return success(list);
}
@PostMapping("/fpout/submit")
public AjaxResult fpoutSubmit(String json, String user) {
try {
List<StockDto> list = JSONObject.parseArray(json, StockDto.class);
apiService.insertWasreOutRecord(list, user);
apiService.updataLedgerForWasreOut(list, user);
return success();
} catch (Exception e) {
return error();
}
}
}

@ -0,0 +1,61 @@
package com.ruoyi.api.controller;
import com.ruoyi.api.domain.BroadCountNumber;
import com.ruoyi.api.domain.NoPowerDevice;
import com.ruoyi.api.service.impl.BroadApiService;
import com.ruoyi.common.core.domain.AjaxResult;
import com.ruoyi.manage.domain.BaseStore;
import com.ruoyi.manage.domain.LedgerRfid;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.PostMapping;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.ResponseBody;
import java.util.List;
/**
* @author wanghao
* @date 2024/3/1 13:29
*/
@Controller
@RequestMapping("/api")
public class BroadApiController {
@Autowired
private BroadApiService service;
//获取区域
@PostMapping("/getArea")
@ResponseBody
public AjaxResult getArea() {
List<BaseStore> list = service.getArea();
return AjaxResult.success(list);
}
//获取统计
@PostMapping("/getCountNumberById")
@ResponseBody
public AjaxResult getCountNumberById(int id) {
List<BroadCountNumber> list = service.getCountNumberById(id);
return AjaxResult.success(list);
}
//获取详细轮挡
@PostMapping("/getLedgerByCode")
@ResponseBody
public AjaxResult getLedgerByCode(String locationCode){
List<LedgerRfid> list=service.getLedgerByCode(locationCode);
return AjaxResult.success(list);
}
@PostMapping("/getDevice")
@ResponseBody
public AjaxResult getDevice(String storeName){
List<NoPowerDevice> list=service.getDevice(storeName);
return AjaxResult.success(list);
}
}

@ -0,0 +1,55 @@
package com.ruoyi.api.controller;
import com.alibaba.fastjson.JSONObject;
import com.ruoyi.api.domain.APKVersion;
import com.ruoyi.api.service.impl.LoginService;
import com.ruoyi.common.core.domain.AjaxResult;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;
/**
* Created by wangh on 2020/7/17-15:18
*/
@RestController
@RequestMapping("/api")
public class LoginController {
@Autowired
LoginService service;
@GetMapping("/login/finduser")
public String finduser(String name, String pass){
System.out.println("登录名称= "+name+" pass= "+pass);
return service.login(name,pass);
}
@GetMapping("/login/finduser1")
public AjaxResult finduser1(String name, String pass){
System.out.println("登录名称= "+name+" pass= "+pass);
return service.login1(name,pass);
}
@GetMapping("/getVersion")
public String getVersion(){
APKVersion apkVersion=service.getVersion();
apkVersion.setCode(0);
apkVersion.setMsg("");
if (apkVersion==null){
apkVersion=new APKVersion();
apkVersion.setUpdateStatus(0);
}else {
apkVersion.setUpdateStatus(1);
}
String s = JSONObject.toJSONString(apkVersion);
System.out.println("请求版本信息"+s);
return s;
}
}

@ -0,0 +1,159 @@
package com.ruoyi.api.controller;
import com.ruoyi.api.domain.PdaApkVersion;
import com.ruoyi.api.service.IPdaApkVersionService;
import com.ruoyi.api.utils.Md5Utils;
import com.ruoyi.common.annotation.Log;
import com.ruoyi.common.config.RuoYiConfig;
import com.ruoyi.common.core.controller.BaseController;
import com.ruoyi.common.core.domain.AjaxResult;
import com.ruoyi.common.core.page.TableDataInfo;
import com.ruoyi.common.enums.BusinessType;
import com.ruoyi.common.utils.file.FileUploadUtils;
import com.ruoyi.common.utils.file.FileUtils;
import com.ruoyi.common.utils.poi.ExcelUtil;
import org.apache.shiro.authz.annotation.RequiresPermissions;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.*;
import org.springframework.web.multipart.MultipartFile;
import java.io.File;
import java.io.IOException;
import java.util.List;
/**
* Controller
*
* @author ruoyi
* @date 2023-04-06
*/
@Controller
@RequestMapping("/pda/pda_version")
public class PdaApkVersionController extends BaseController {
private String prefix = "pda/pda_version";
@Autowired
private IPdaApkVersionService pdaApkVersionService;
@RequiresPermissions("pda:pda_version:view")
@GetMapping()
public String pda_version() {
return prefix + "/pda_version";
}
/**
*
*/
@RequiresPermissions("pda:pda_version:list")
@PostMapping("/list")
@ResponseBody
public TableDataInfo list(PdaApkVersion pdaApkVersion) {
startPage();
List<PdaApkVersion> list = pdaApkVersionService.selectPdaApkVersionList(pdaApkVersion);
return getDataTable(list);
}
/**
*
*/
@RequiresPermissions("pda:pda_version:export")
@Log(title = "手持版本升级", businessType = BusinessType.EXPORT)
@PostMapping("/export")
@ResponseBody
public AjaxResult export(PdaApkVersion pdaApkVersion) {
List<PdaApkVersion> list = pdaApkVersionService.selectPdaApkVersionList(pdaApkVersion);
ExcelUtil<PdaApkVersion> util = new ExcelUtil<PdaApkVersion>(PdaApkVersion.class);
return util.exportExcel(list, "手持版本升级数据");
}
/**
*
*/
@GetMapping("/add")
public String add() {
return prefix + "/add";
}
/**
*
*/
@RequiresPermissions("pda:pda_version:add")
@Log(title = "手持版本升级", businessType = BusinessType.INSERT)
@PostMapping("/add")
@ResponseBody
public AjaxResult addSave(MultipartFile file, PdaApkVersion pdaApkVersion) {
// 上传文件路径
String filePath = RuoYiConfig.getUploadPath() + "/apk";
// 上传并返回新文件名称
try {
String fileName = FileUploadUtils.upload(filePath, file);
// System.out.println("上传路径"+filePath+fileName);
// D:/ruoyi/uploadPath/upload/profile/upload/2023/04/06/app-debug_20230406170208A001.apk
String pathname = filePath + fileName;
System.out.println("地址1" + pathname);
pathname = pathname.replace("/profile/upload/apk", "");
System.out.println("地址2" + pathname);
File file1 = new File(pathname);
System.out.println("文件获取:" + file1.exists());
System.out.println(file1.length() / 1024);
pdaApkVersion.setApkSize(file1.length() / 1024);
pdaApkVersion.setApkMd5(Md5Utils.getFileMD5(file1));
pdaApkVersion.setDownloadUrl( "http://119.45.202.115:8090"+fileName);
} catch (IOException e) {
e.printStackTrace();
}
return toAjax(pdaApkVersionService.insertPdaApkVersion(pdaApkVersion));
}
/**
*
*/
@RequiresPermissions("pda:pda_version:edit")
@GetMapping("/edit/{objid}")
@ResponseBody
public AjaxResult edit(@PathVariable("objid") Long objid) {
PdaApkVersion pdaApkVersion = pdaApkVersionService.selectPdaApkVersionByObjid(objid);
String downloadUrl = pdaApkVersion.getDownloadUrl();
String substring = downloadUrl.substring(downloadUrl.indexOf("/apk"), downloadUrl.length());
try {
FileUtils.deleteFile(RuoYiConfig.getUploadPath() + substring);
}catch (Exception e){
}
return toAjax(pdaApkVersionService.deletePdaApkVersionByObjid(objid));
}
/**
*
*/
@RequiresPermissions("pda:pda_version:edit")
@Log(title = "手持版本升级", businessType = BusinessType.UPDATE)
@PostMapping("/edit")
@ResponseBody
public AjaxResult editSave(PdaApkVersion pdaApkVersion) {
return toAjax(pdaApkVersionService.updatePdaApkVersion(pdaApkVersion));
}
/**
*
*/
@RequiresPermissions("pda:pda_version:remove")
@Log(title = "手持版本升级", businessType = BusinessType.DELETE)
@PostMapping("/remove")
@ResponseBody
public AjaxResult remove(String ids) {
System.out.println(ids);
PdaApkVersion pdaApkVersion = pdaApkVersionService.selectPdaApkVersionByObjid(Long.valueOf(ids));
String downloadUrl = pdaApkVersion.getDownloadUrl();
if (downloadUrl!=null&&!downloadUrl.isEmpty()){
String substring = downloadUrl.substring(downloadUrl.indexOf("/apk"), downloadUrl.length());
FileUtils.deleteFile(RuoYiConfig.getUploadPath() + substring);
}
return toAjax(pdaApkVersionService.deletePdaApkVersionByObjids(ids));
}
}

@ -0,0 +1,117 @@
package com.ruoyi.api.domain;
import com.alibaba.fastjson.annotation.JSONField;
/**
* pda_apk_version
*
* @author ruoyi
* @date 2023-04-06
*/
public class APKVersion {
@JSONField(name = "Code")
private int Code;
@JSONField(name = "Msg")
private String Msg;
@JSONField(name = "UpdateStatus")
private int UpdateStatus;
@JSONField(name = "VersionCode")
private Long VersionCode;
@JSONField(name = "VersionName")
private String VersionName;
@JSONField(name = "ModifyContent")
private String ModifyContent;
@JSONField(name = "DownloadUrl")
private String DownloadUrl;
@JSONField(name = "ApkSize")
private int ApkSize;
@JSONField(name = "ApkMd5")
private String ApkMd5;
public int getCode() {
return Code;
}
public void setCode(int code) {
Code = code;
}
public String getMsg() {
return Msg;
}
public void setMsg(String msg) {
Msg = msg;
}
public int getUpdateStatus() {
return UpdateStatus;
}
public void setUpdateStatus(int updateStatus) {
UpdateStatus = updateStatus;
}
public Long getVersionCode() {
return VersionCode;
}
public void setVersionCode(Long versionCode) {
VersionCode = versionCode;
}
public String getVersionName() {
return VersionName;
}
public void setVersionName(String versionName) {
VersionName = versionName;
}
public String getModifyContent() {
return ModifyContent;
}
public void setModifyContent(String modifyContent) {
ModifyContent = modifyContent;
}
public String getDownloadUrl() {
return DownloadUrl;
}
public void setDownloadUrl(String downloadUrl) {
DownloadUrl = downloadUrl;
}
public int getApkSize() {
return ApkSize;
}
public void setApkSize(int apkSize) {
ApkSize = apkSize;
}
public String getApkMd5() {
return ApkMd5;
}
public void setApkMd5(String apkMd5) {
ApkMd5 = apkMd5;
}
@Override
public String toString() {
return "APKVersion{" +
"Code=" + Code +
", Msg='" + Msg + '\'' +
", UpdateStatus=" + UpdateStatus +
", VersionCode=" + VersionCode +
", VersionName='" + VersionName + '\'' +
", ModifyContent='" + ModifyContent + '\'' +
", DownloadUrl='" + DownloadUrl + '\'' +
", ApkSize=" + ApkSize +
", ApkMd5='" + ApkMd5 + '\'' +
'}';
}
}

@ -0,0 +1,45 @@
package com.ruoyi.api.domain;
/**
* @author wanghao
* @date 2023/8/23 10:25
*/
public class ApiUser {
private int id;
private String name;
private int status;
private String role_name;
public int getId() {
return id;
}
public void setId(int id) {
this.id = id;
}
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public int getStatus() {
return status;
}
public void setStatus(int status) {
this.status = status;
}
public String getRole_name() {
return role_name;
}
public void setRole_name(String role_name) {
this.role_name = role_name;
}
}

@ -0,0 +1,33 @@
package com.ruoyi.api.domain;
public class BroadCountNumber {
private String areaName;
private String locationCode;
private int countNumber;
public String getAreaName() {
return areaName;
}
public void setAreaName(String areaName) {
this.areaName = areaName;
}
public String getLocationCode() {
return locationCode;
}
public void setLocationCode(String locationCode) {
this.locationCode = locationCode;
}
public int getCountNumber() {
return countNumber;
}
public void setCountNumber(int countNumber) {
this.countNumber = countNumber;
}
}

@ -0,0 +1,69 @@
package com.ruoyi.api.domain;
public class CheckTaskInfo {
private int index;
private Long id;
private Long areaId;
private String locationCode;
private String areaName;
private String taskState;
private Long inspectionId;
public Long getInspectionId() {
return inspectionId;
}
public void setInspectionId(Long inspectionId) {
this.inspectionId = inspectionId;
}
public Long getAreaId() {
return areaId;
}
public void setAreaId(Long areaId) {
this.areaId = areaId;
}
public String getTaskState() {
return taskState;
}
public void setTaskState(String taskState) {
this.taskState = taskState;
}
public int getIndex() {
return index;
}
public void setIndex(int index) {
this.index = index;
}
public Long getId() {
return id;
}
public void setId(Long id) {
this.id = id;
}
public String getLocationCode() {
return locationCode;
}
public void setLocationCode(String locationCode) {
this.locationCode = locationCode;
}
public String getAreaName() {
return areaName;
}
public void setAreaName(String areaName) {
this.areaName = areaName;
}
}

@ -0,0 +1,65 @@
package com.ruoyi.api.domain;
import java.util.List;
/**
* @author wanghao
* @date 2024/1/11 16:21
*/
public class InStoreDto {
private String binchCode;
private String selectManuText;
private String selectLocationText;
private List<String> epcList;
private String submitUser;
private Long manufacturerId;
public String getBinchCode() {
return binchCode;
}
public void setBinchCode(String binchCode) {
this.binchCode = binchCode;
}
public String getSelectManuText() {
return selectManuText;
}
public void setSelectManuText(String selectManuText) {
this.selectManuText = selectManuText;
}
public String getSelectLocationText() {
return selectLocationText;
}
public void setSelectLocationText(String selectLocationText) {
this.selectLocationText = selectLocationText;
}
public List<String> getEpcList() {
return epcList;
}
public void setEpcList(List<String> epcList) {
this.epcList = epcList;
}
public String getSubmitUser() {
return submitUser;
}
public void setSubmitUser(String submitUser) {
this.submitUser = submitUser;
}
public Long getManufacturerId() {
return manufacturerId;
}
public void setManufacturerId(Long manufacturerId) {
this.manufacturerId = manufacturerId;
}
}

@ -0,0 +1,78 @@
package com.ruoyi.api.domain;
import com.ruoyi.common.annotation.Excel;
public class NoPowerDevice {
/** 摆放桩位 */
@Excel(name = "摆放桩位")
private String locationName;
/** 设备编码 */
@Excel(name = "设备编码")
private String deviceCode;
/** 设备名称 */
@Excel(name = "设备名称")
private String deviceName;
/** 设备类型 */
@Excel(name = "设备类型")
private Long deviceType;
/** 使用状态 */
@Excel(name = "使用状态 0=空闲 1=使用中")
private String useState;
/** 设备状态 */
@Excel(name = "设备状态 0=停用 1=正常 2=维修中")
private String deviceState;
public String getLocationName() {
return locationName;
}
public void setLocationName(String locationName) {
this.locationName = locationName;
}
public String getDeviceCode() {
return deviceCode;
}
public void setDeviceCode(String deviceCode) {
this.deviceCode = deviceCode;
}
public String getDeviceName() {
return deviceName;
}
public void setDeviceName(String deviceName) {
this.deviceName = deviceName;
}
public Long getDeviceType() {
return deviceType;
}
public void setDeviceType(Long deviceType) {
this.deviceType = deviceType;
}
public String getUseState() {
return useState;
}
public void setUseState(String useState) {
this.useState = useState;
}
public String getDeviceState() {
return deviceState;
}
public void setDeviceState(String deviceState) {
this.deviceState = deviceState;
}
}

@ -0,0 +1,50 @@
package com.ruoyi.api.domain;
import java.util.List;
/**
* @author wanghao
* @date 2024/1/17 16:17
*/
public class OutStoreDto {
private List<String> epcList;
private String areaCode;
private String submitUser;
private String useUser;
public List<String> getEpcList() {
return epcList;
}
public void setEpcList(List<String> epcList) {
this.epcList = epcList;
}
public String getAreaCode() {
return areaCode;
}
public void setAreaCode(String areaCode) {
this.areaCode = areaCode;
}
public String getSubmitUser() {
return submitUser;
}
public void setSubmitUser(String submitUser) {
this.submitUser = submitUser;
}
public String getUseUser() {
return useUser;
}
public void setUseUser(String useUser) {
this.useUser = useUser;
}
}

@ -0,0 +1,122 @@
package com.ruoyi.api.domain;
import com.ruoyi.common.annotation.Excel;
import com.ruoyi.common.core.domain.BaseEntity;
import org.apache.commons.lang3.builder.ToStringBuilder;
import org.apache.commons.lang3.builder.ToStringStyle;
/**
* pda_apk_version
*
* @author ruoyi
* @date 2023-04-06
*/
public class PdaApkVersion extends BaseEntity
{
private static final long serialVersionUID = 1L;
/** 主键标识 */
private Long objid;
/** 版本号 */
@Excel(name = "版本号")
private Long versionCode;
/** 版本名 */
@Excel(name = "版本名")
private String versionName;
/** 信息 */
@Excel(name = "信息")
private String modifyContent;
/** 位置 */
@Excel(name = "位置")
private String downloadUrl;
/** 文件大小 */
@Excel(name = "文件大小")
private Long apkSize;
/** 文件标识 */
@Excel(name = "文件标识")
private String apkMd5;
public void setObjid(Long objid)
{
this.objid = objid;
}
public Long getObjid()
{
return objid;
}
public void setVersionCode(Long versionCode)
{
this.versionCode = versionCode;
}
public Long getVersionCode()
{
return versionCode;
}
public void setVersionName(String versionName)
{
this.versionName = versionName;
}
public String getVersionName()
{
return versionName;
}
public void setModifyContent(String modifyContent)
{
this.modifyContent = modifyContent;
}
public String getModifyContent()
{
return modifyContent;
}
public void setDownloadUrl(String downloadUrl)
{
this.downloadUrl = downloadUrl;
}
public String getDownloadUrl()
{
return downloadUrl;
}
public void setApkSize(Long apkSize)
{
this.apkSize = apkSize;
}
public Long getApkSize()
{
return apkSize;
}
public void setApkMd5(String apkMd5)
{
this.apkMd5 = apkMd5;
}
public String getApkMd5()
{
return apkMd5;
}
@Override
public String toString() {
return new ToStringBuilder(this,ToStringStyle.MULTI_LINE_STYLE)
.append("objid", getObjid())
.append("versionCode", getVersionCode())
.append("versionName", getVersionName())
.append("modifyContent", getModifyContent())
.append("downloadUrl", getDownloadUrl())
.append("apkSize", getApkSize())
.append("apkMd5", getApkMd5())
.append("createTime", getCreateTime())
.toString();
}
}

@ -0,0 +1,66 @@
package com.ruoyi.api.domain;
/**
* @author wanghao
* @date 2024/1/19 13:45
*/
public class StockDto {
private int index;
private String epcCode;
private String locationCode;
private String state;
private String createTime;
private String remark;
public String getCreateTime() {
return createTime;
}
public void setCreateTime(String createTime) {
this.createTime = createTime;
}
public String getState() {
return state;
}
public void setState(String state) {
this.state = state;
}
public int getIndex() {
return index;
}
public void setIndex(int index) {
this.index = index;
}
public String getEpcCode() {
return epcCode;
}
public void setEpcCode(String epcCode) {
this.epcCode = epcCode;
}
public String getLocationCode() {
return locationCode;
}
public void setLocationCode(String locationCode) {
this.locationCode = locationCode;
}
public String getRemark() {
return remark;
}
public void setRemark(String remark) {
this.remark = remark;
}
@Override
public String toString() {
return "StockDto{" + "index=" + index + ", epcCode='" + epcCode + '\'' + ", locationCode='" + locationCode + '\'' + ", state='" + state + '\'' + '}';
}
}

@ -0,0 +1,89 @@
package com.ruoyi.api.mapper;
import com.ruoyi.api.domain.CheckTaskInfo;
import com.ruoyi.api.domain.InStoreDto;
import com.ruoyi.api.domain.OutStoreDto;
import com.ruoyi.api.domain.StockDto;
import com.ruoyi.manage.domain.LedgerRfid;
import org.apache.ibatis.annotations.Param;
import org.springframework.stereotype.Repository;
import java.util.List;
/**
* @author wanghao
* @date 2024/1/17 14:28
*/
@Repository
public interface ApiMapper {
int submintInsertRecordIn(@Param("inStore") InStoreDto inStore);
int submintInsertLedger(@Param("inStore") InStoreDto inStore);
int submitInsertRecordOut(@Param("outStoreDto") OutStoreDto outStoreDto,@Param("epc") String epc);
int updataLedger(@Param("outStoreDto") OutStoreDto outStoreDto);
List<StockDto> storeCheckSelect();
void insertCheckInfo(@Param("list") List<StockDto> list, @Param("id") Long checkId);
List<StockDto> xjSelect(String user);
LedgerRfid bfSelect(String epc);
void updataLedgerForBf(@Param("epc") String epc, @Param("state") String state);
LedgerRfid fpInSelect(String epc);
int fpInSubmit(@Param("epc") String epc, @Param("localtionCode") String localtionCode,
@Param("user") String user, @Param("bf") String bf, @Param("subCode") String subCode);
void updataLedgerIn(@Param("epc") String epc,@Param("code") String locationCode);
void insertInspectionInfo(@Param("list") List<StockDto> list,@Param("id") Long inspectionId);
List<StockDto> fpOutSelect();
void insertWasreOutRecord(@Param("list") List<StockDto> list,@Param("user") String user);
void updataLedgerForWasreOut(@Param("list")List<StockDto> list);
String selectLedgerbyEpcForInStore(String epc);
String selectLedgerbyEpcForOutStore(String epc);
int updataLedgerFoyOut(@Param("outStoreDto") OutStoreDto outStoreDto, @Param("epc") String epc);
List<CheckTaskInfo> selectLocationByAreaUser(String user);
void insertCheckTask(@Param("id") int id,@Param("list") List<CheckTaskInfo> list);
List<CheckTaskInfo> inspectionSelectTask(@Param("state") String state,
@Param("id")int id);
List<StockDto> inspectionSelectLocation(String code);
void updataInspectionTaskByObjid( @Param("tableId")long tableId,
@Param("remark") String remark,
@Param("state") String state
);
void insertInspetionPictrue(@Param("inspetionId") long inspectionId,
@Param("tableId") long tableId,
@Param("user") String user,
@Param("pathName") String pathName,
@Param("locationCode") String locationCode
);
void insertBfImg(@Param("objid") Long objid,
@Param("epc") String epc,
@Param("user") String user,
@Param("pathName") String pathName);
List<CheckTaskInfo> selectLocationFromLedger();
int selectCodeFromRecode();
void deleteInspectionInfo(@Param("inspectionId") long inspectionId,@Param("locationCode") String locationCode);
}

@ -0,0 +1,26 @@
package com.ruoyi.api.mapper;
import com.ruoyi.api.domain.BroadCountNumber;
import com.ruoyi.api.domain.NoPowerDevice;
import com.ruoyi.manage.domain.BaseStore;
import com.ruoyi.manage.domain.LedgerRfid;
import org.springframework.stereotype.Repository;
import java.util.List;
/**
* @author wanghao
* @date 2024/3/1 13:30
*/
@Repository
public interface BroadApiMapper {
List<BaseStore> getArea();
List<BroadCountNumber> getCountNumberById(int id);
List<LedgerRfid> getLedgerByCode(String locationCode);
List<NoPowerDevice> getDevice(String storeName);
}

@ -0,0 +1,26 @@
package com.ruoyi.api.mapper;
import com.ruoyi.api.domain.APKVersion;
import com.ruoyi.common.core.domain.entity.SysUser;
import org.apache.ibatis.annotations.Param;
import org.springframework.stereotype.Repository;
import java.util.List;
/**
* Created by wangh on 2021/4/26-9:32
*/
@Repository
public interface LoginMapper {
String login_findSalt(String name);
int login_getUser(@Param("name") String name, @Param("passw") String passw);
List<String> selectMenuNameByUserID(Integer userID);
APKVersion getVersion();
List<String> selectMenuName();
SysUser login_getUser1(@Param("name")String name, @Param("passw")String md5Str);
}

@ -0,0 +1,66 @@
package com.ruoyi.api.mapper;
import com.ruoyi.api.domain.PdaApkVersion;
import org.springframework.stereotype.Repository;
import java.util.List;
/**
* Mapper
*
* @author ruoyi
* @date 2023-04-06
*/
@Repository
public interface PdaApkVersionMapper
{
/**
*
*
* @param objid
* @return
*/
public PdaApkVersion selectPdaApkVersionByObjid(Long objid);
/**
*
*
* @param pdaApkVersion
* @return
*/
public List<PdaApkVersion> selectPdaApkVersionList(PdaApkVersion pdaApkVersion);
/**
*
*
* @param pdaApkVersion
* @return
*/
public int insertPdaApkVersion(PdaApkVersion pdaApkVersion);
/**
*
*
* @param pdaApkVersion
* @return
*/
public int updatePdaApkVersion(PdaApkVersion pdaApkVersion);
/**
*
*
* @param objid
* @return
*/
public int deletePdaApkVersionByObjid(Long objid);
/**
*
*
* @param objids
* @return
*/
public int deletePdaApkVersionByObjids(String[] objids);
}

@ -0,0 +1,64 @@
package com.ruoyi.api.service;
import com.ruoyi.api.domain.PdaApkVersion;
import java.util.List;
/**
* Service
*
* @author ruoyi
* @date 2023-04-06
*/
public interface IPdaApkVersionService {
/**
*
*
* @param objid
* @return
*/
public PdaApkVersion selectPdaApkVersionByObjid(Long objid);
/**
*
*
* @param pdaApkVersion
* @return
*/
public List<PdaApkVersion> selectPdaApkVersionList(PdaApkVersion pdaApkVersion);
/**
*
*
* @param pdaApkVersion
* @return
*/
public int insertPdaApkVersion(PdaApkVersion pdaApkVersion);
/**
*
*
* @param pdaApkVersion
* @return
*/
public int updatePdaApkVersion(PdaApkVersion pdaApkVersion);
/**
*
*
* @param objids
* @return
*/
public int deletePdaApkVersionByObjids(String objids);
/**
*
*
* @param objid
* @return
*/
public int deletePdaApkVersionByObjid(Long objid);
}

@ -0,0 +1,143 @@
package com.ruoyi.api.service.impl;
import com.ruoyi.api.domain.CheckTaskInfo;
import com.ruoyi.api.domain.InStoreDto;
import com.ruoyi.api.domain.OutStoreDto;
import com.ruoyi.api.domain.StockDto;
import com.ruoyi.api.mapper.ApiMapper;
import com.ruoyi.manage.domain.LedgerRfid;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Transactional;
import java.util.List;
/**
* @author wanghao
* @date 2024/1/17 14:26
*/
@Service
public class ApiService {
@Autowired
private ApiMapper mapper;
@Transactional
public int submintInsertRecordIn(InStoreDto inStore) {
return mapper.submintInsertRecordIn(inStore);
}
@Transactional
public int submintInsertLedger(InStoreDto inStore) {
return mapper.submintInsertLedger(inStore);
}
public int submitInsertRecordOut(OutStoreDto outStoreDto, String epc) {
return mapper.submitInsertRecordOut(outStoreDto, epc);
}
public int updataLedger(OutStoreDto outStoreDto) {
return mapper.updataLedger(outStoreDto);
}
public List<StockDto> storeCheckSelect() {
return mapper.storeCheckSelect();
}
public void insertCheckInfo(List<StockDto> list, Long checkId) {
mapper.insertCheckInfo(list, checkId);
}
public List<StockDto> xjSelect(String user) {
return mapper.xjSelect(user);
}
public LedgerRfid bfSelect(String epc) {
return mapper.bfSelect(epc);
}
public void updataLedgerForBf(String epc, String state) {
mapper.updataLedgerForBf(epc, state);
}
public LedgerRfid fpInSelect(String epc) {
return mapper.fpInSelect(epc);
}
public int fpInSubmit(String epc, String localtionCode, String user, String bf, String subCode) {
return mapper.fpInSubmit(epc, localtionCode, user, bf, subCode);
}
public void updataLedgerIn(String epc, String locationCode) {
mapper.updataLedgerIn(epc, locationCode);
}
public void insertInspectionInfo(List<StockDto> list, Long inspectionId) {
mapper.insertInspectionInfo(list, inspectionId);
}
public List<StockDto> fpOutSelect() {
return mapper.fpOutSelect();
}
@Transactional
public void insertWasreOutRecord(List<StockDto> list, String user) {
mapper.insertWasreOutRecord(list, user);
}
@Transactional
public void updataLedgerForWasreOut(List<StockDto> list, String user) {
mapper.updataLedgerForWasreOut(list);
}
public String selectLedgerbyEpcForInStore(String epc) {
return mapper.selectLedgerbyEpcForInStore(epc);
}
public String selectLedgerbyEpcForOutStore(String epc) {
return mapper.selectLedgerbyEpcForOutStore(epc);
}
public int updataLedgerFoyOut(OutStoreDto outStoreDto, String epc) {
return mapper.updataLedgerFoyOut(outStoreDto, epc);
}
public List<CheckTaskInfo> selectLocationByAreaUser(String user) {
return mapper.selectLocationByAreaUser(user);
}
public void insertCheckTask(int id, List<CheckTaskInfo> list) {
mapper.insertCheckTask(id, list);
}
public List<CheckTaskInfo> inspectionSelectTask(String state,int id) {
return mapper.inspectionSelectTask(state,id);
}
public List<StockDto> inspectionSelectLocation(String code) {
return mapper.inspectionSelectLocation(code);
}
public void updataInspectionTaskByObjid(long tableId, String remark,String state) {
mapper.updataInspectionTaskByObjid(tableId,remark,state);
}
public void insertInspetionPictrue(long inspectionId, long tableId, String user, String pathName,String locationCode) {
mapper.insertInspetionPictrue(inspectionId, tableId,user, pathName,locationCode);
}
public void insertBfImg(Long objid, String epc, String user, String pathName) {
mapper.insertBfImg(objid,epc,user, pathName);
}
public List<CheckTaskInfo> selectLocationFromLedger() {
return mapper.selectLocationFromLedger();
}
public int selectCodeFromRecode() {
return mapper.selectCodeFromRecode();
}
public void deleteInspectionInfo(String locationCode, long inspectionId) {
mapper.deleteInspectionInfo(inspectionId,locationCode);
}
}

@ -0,0 +1,41 @@
package com.ruoyi.api.service.impl;
import com.ruoyi.api.domain.BroadCountNumber;
import com.ruoyi.api.domain.NoPowerDevice;
import com.ruoyi.api.mapper.BroadApiMapper;
import com.ruoyi.common.annotation.DataSource;
import com.ruoyi.common.enums.DataSourceType;
import com.ruoyi.manage.domain.BaseStore;
import com.ruoyi.manage.domain.LedgerRfid;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import java.util.List;
/**
* @author wanghao
* @date 2024/3/1 13:30
*/
@Service
public class BroadApiService {
@Autowired
private BroadApiMapper mapper;
public List<BaseStore> getArea() {
return mapper.getArea();
}
public List<BroadCountNumber> getCountNumberById(int id) {
return mapper.getCountNumberById(id);
}
public List<LedgerRfid> getLedgerByCode(String locationCode) {
return mapper.getLedgerByCode(locationCode);
}
@DataSource(value = DataSourceType.SLAVE)
public List<NoPowerDevice> getDevice(String storeName) {
return mapper.getDevice(storeName);
}
}

@ -0,0 +1,105 @@
package com.ruoyi.api.service.impl;
import com.alibaba.fastjson.JSONObject;
import com.ruoyi.api.domain.APKVersion;
import com.ruoyi.api.mapper.LoginMapper;
import com.ruoyi.common.core.domain.AjaxResult;
import com.ruoyi.common.core.domain.entity.SysUser;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import java.io.UnsupportedEncodingException;
import java.security.MessageDigest;
import java.security.NoSuchAlgorithmException;
import java.util.List;
/**
* Created by wangh on 2021/4/26-9:27
*/
@Service
public class LoginService {
@Autowired
LoginMapper mapper;
public String login(String name, String pass) {
try {
String salt = mapper.login_findSalt(name);
Integer userID = mapper.login_getUser(name, getMD5Str(name + pass + salt));
if (userID != null) {
List<String> menuNameList=name.equals("admin")?
mapper.selectMenuName():
mapper.selectMenuNameByUserID(userID);
if (menuNameList==null||menuNameList.isEmpty()){
return "isEmpty";
}
return JSONObject.toJSONString(menuNameList);
} else {
return "Error";
}
}catch (Exception e){
return "Error";
}
}
public AjaxResult login1(String name, String pass) {
try {
String salt = mapper.login_findSalt(name);
SysUser user = mapper.login_getUser1(name, getMD5Str(name + pass + salt));
if (user != null) {
return AjaxResult.success(user);
} else {
return AjaxResult.error();
}
}catch (Exception e){
e.printStackTrace();
return AjaxResult.error();
}
}
private static String getMD5Str(String str) {
MessageDigest messageDigest = null;
try {
messageDigest = MessageDigest.getInstance("MD5");
messageDigest.reset();
messageDigest.update(str.getBytes("UTF-8"));
} catch (NoSuchAlgorithmException e) {
System.out.println("NoSuchAlgorithmException caught!");
System.exit(-1);
} catch (UnsupportedEncodingException e) {
e.printStackTrace();
}
byte[] byteArray = messageDigest.digest();
StringBuffer md5StrBuff = new StringBuffer();
for (int i = 0; i < byteArray.length; i++) {
if (Integer.toHexString(0xFF & byteArray[i]).length() == 1) {
md5StrBuff.append("0").append(Integer.toHexString(0xFF & byteArray[i]));
} else {
md5StrBuff.append(Integer.toHexString(0xFF & byteArray[i]));
}
}
return md5StrBuff.toString();
}
public APKVersion getVersion() {
return mapper.getVersion();
}
}

@ -0,0 +1,99 @@
package com.ruoyi.api.service.impl;
import com.ruoyi.api.domain.PdaApkVersion;
import com.ruoyi.api.mapper.PdaApkVersionMapper;
import com.ruoyi.api.service.IPdaApkVersionService;
import com.ruoyi.common.core.text.Convert;
import com.ruoyi.common.utils.DateUtils;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import java.util.List;
/**
* Service
*
* @author ruoyi
* @date 2023-04-06
*/
@Service
public class PdaApkVersionServiceImpl implements IPdaApkVersionService
{
@Autowired
private PdaApkVersionMapper pdaApkVersionMapper;
/**
*
*
* @param objid
* @return
*/
@Override
public PdaApkVersion selectPdaApkVersionByObjid(Long objid)
{
return pdaApkVersionMapper.selectPdaApkVersionByObjid(objid);
}
/**
*
*
* @param pdaApkVersion
* @return
*/
@Override
public List<PdaApkVersion> selectPdaApkVersionList(PdaApkVersion pdaApkVersion)
{
return pdaApkVersionMapper.selectPdaApkVersionList(pdaApkVersion);
}
/**
*
*
* @param pdaApkVersion
* @return
*/
@Override
public int insertPdaApkVersion(PdaApkVersion pdaApkVersion)
{
pdaApkVersion.setCreateTime(DateUtils.getNowDate());
return pdaApkVersionMapper.insertPdaApkVersion(pdaApkVersion);
}
/**
*
*
* @param pdaApkVersion
* @return
*/
@Override
public int updatePdaApkVersion(PdaApkVersion pdaApkVersion)
{
return pdaApkVersionMapper.updatePdaApkVersion(pdaApkVersion);
}
/**
*
*
* @param objids
* @return
*/
@Override
public int deletePdaApkVersionByObjids(String objids)
{
return pdaApkVersionMapper.deletePdaApkVersionByObjids(Convert.toStrArray(objids));
}
/**
*
*
* @param objid
* @return
*/
@Override
public int deletePdaApkVersionByObjid(Long objid)
{
return pdaApkVersionMapper.deletePdaApkVersionByObjid(objid);
}
}

@ -0,0 +1,37 @@
package com.ruoyi.api.service.impl;
import com.ruoyi.api.domain.CheckTaskInfo;
import com.ruoyi.api.mapper.ApiMapper;
import com.ruoyi.common.utils.DateUtils;
import com.ruoyi.manage.domain.RecordInspection;
import com.ruoyi.manage.mapper.RecordInspectionMapper;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Component;
import org.springframework.stereotype.Service;
import java.util.Date;
import java.util.List;
@Service
@Component("TaskService")
public class TaskService {
@Autowired
private ApiMapper mapper;
@Autowired
private RecordInspectionMapper recordInspectionMapper;
//定时任务创建巡检单
public void inspectionCreate(){
System.out.println("创建成功");
int number=recordInspectionMapper.countInsertRecordNumber();
number++;
RecordInspection recordInspection = new RecordInspection();
recordInspection.setInspectionCode(DateUtils.parseDateToStr("yyyyMMdd",new Date())+"00"+number);
System.out.println();
//插入主表
int insertNumber = recordInspectionMapper.insertRecordInspection(recordInspection);
List<CheckTaskInfo> list = mapper.selectLocationFromLedger();
mapper.insertCheckTask(Math.toIntExact(recordInspection.getInspectionId()), list);
}
}

@ -0,0 +1,93 @@
/*
* Copyright (C) 2018 xuexiangjys(xuexiangjys@163.com)
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
*/
package com.ruoyi.api.utils;
import org.apache.commons.lang3.StringUtils;
import java.io.File;
import java.io.FileInputStream;
import java.io.IOException;
import java.nio.MappedByteBuffer;
import java.nio.channels.FileChannel;
import java.security.MessageDigest;
import java.security.NoSuchAlgorithmException;
/**
* MD5
*
* @author xuexiang
* @since 2018/7/2 3:14
*/
public final class Md5Utils {
private Md5Utils() {
throw new UnsupportedOperationException("cannot be instantiated");
}
public static String getFileMD5(File file) {
if (!file.exists()) {
return "";
}
FileInputStream in = null;
try {
in = new FileInputStream(file);
FileChannel channel = in.getChannel();
MappedByteBuffer buffer = channel.map(FileChannel.MapMode.READ_ONLY, 0, file.length());
MessageDigest md = MessageDigest.getInstance("MD5");
md.update(buffer);
return bytes2Hex(md.digest());
} catch (NoSuchAlgorithmException | IOException e) {
e.printStackTrace();
} finally {
if (in != null) {
try {
in.close();
} catch (IOException ignored) {
}
}
}
return "";
}
/**
* MD5
*
* @param md5 md5true
* @param file
* @return
*/
public static boolean isFileValid(String md5, File file) {
return StringUtils.isEmpty(md5) || md5.equals(Md5Utils.getFileMD5(file));
}
/**
* byte2hex
*
* @param src byte
* @return 16
*/
private static String bytes2Hex(byte[] src) {
char[] res = new char[src.length << 1];
final char hexDigits[] = {'0', '1', '2', '3', '4', '5', '6', '7', '8', '9', 'A', 'B', 'C', 'D', 'E', 'F'};
for (int i = 0, j = 0; i < src.length; i++) {
res[j++] = hexDigits[src[i] >>> 4 & 0x0f];
res[j++] = hexDigits[src[i] & 0x0f];
}
return new String(res);
}
}

@ -0,0 +1,15 @@
-- auto-generated definition
create table pda_apk_version
(
objid int auto_increment comment '主键标识'
primary key,
version_code int null comment '版本号',
version_name varchar(20) null comment '版本名',
modify_content varchar(100) null comment '信息',
download_url varchar(200) null comment '位置',
apk_size int null comment '文件大小',
apk_md5 varchar(200) null comment '文件标识',
create_time datetime default CURRENT_TIMESTAMP null comment '创建时间'
)
comment '手持版本升级' charset = utf8
row_format = DYNAMIC;

@ -0,0 +1,22 @@
-- 菜单 SQL
insert into sys_menu (menu_name, parent_id, order_num, url, menu_type, visible, perms, icon, create_by, create_time, update_by, update_time, remark)
values('手持版本升级', '3', '1', '/pda/pda_version', 'C', '0', 'pda:pda_version:view', '#', 'admin', sysdate(), '', null, '手持版本升级菜单');
-- 按钮父菜单ID
SELECT @parentId := LAST_INSERT_ID();
-- 按钮 SQL
insert into sys_menu (menu_name, parent_id, order_num, url, menu_type, visible, perms, icon, create_by, create_time, update_by, update_time, remark)
values('手持版本升级查询', @parentId, '1', '#', 'F', '0', 'pda:pda_version:list', '#', 'admin', sysdate(), '', null, '');
insert into sys_menu (menu_name, parent_id, order_num, url, menu_type, visible, perms, icon, create_by, create_time, update_by, update_time, remark)
values('手持版本升级新增', @parentId, '2', '#', 'F', '0', 'pda:pda_version:add', '#', 'admin', sysdate(), '', null, '');
insert into sys_menu (menu_name, parent_id, order_num, url, menu_type, visible, perms, icon, create_by, create_time, update_by, update_time, remark)
values('手持版本升级修改', @parentId, '3', '#', 'F', '0', 'pda:pda_version:edit', '#', 'admin', sysdate(), '', null, '');
insert into sys_menu (menu_name, parent_id, order_num, url, menu_type, visible, perms, icon, create_by, create_time, update_by, update_time, remark)
values('手持版本升级删除', @parentId, '4', '#', 'F', '0', 'pda:pda_version:remove', '#', 'admin', sysdate(), '', null, '');
insert into sys_menu (menu_name, parent_id, order_num, url, menu_type, visible, perms, icon, create_by, create_time, update_by, update_time, remark)
values('手持版本升级导出', @parentId, '5', '#', 'F', '0', 'pda:pda_version:export', '#', 'admin', sysdate(), '', null, '');

@ -0,0 +1,284 @@
<?xml version="1.0" encoding="UTF-8" ?>
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<mapper namespace="com.ruoyi.api.mapper.ApiMapper">
<select id="selectLedgerbyEpcForOutStore" resultType="string">
select rifd_code from ledger_rfid where rifd_code = #{epc}
and is_scrap in (1,4)
and location_type = '1'
limit 1
</select>
<select id="selectLedgerbyEpcForInStore" resultType="string">
select rifd_code from ledger_rfid where rifd_code = #{epc} limit 1
</select>
<insert id="submintInsertRecordIn">
INSERT ignore into record_in (epc_code, batch_code, location_code,manufacturer_id,
manufacturer_Name,
create_by,create_time)
VALUES
<foreach collection="inStore.epclist" item="item" separator=",">
(#{item},#{inStore.binchCode},#{inStore.selectLocationText},#{inStore.manufacturerId},#{inStore.selectManuText},#{inStore.submitUser},now())
</foreach>
</insert>
<insert id="submintInsertLedger">
INSERT ignore into ledger_rfid (manufacturer_id, rifd_code, batch_code, location_code)
VALUES
<foreach collection="inStore.epclist" item="item" separator=",">
(#{inStore.manufacturerId},#{item},#{inStore.binchCode},#{inStore.selectLocationText})
</foreach>
</insert>
<!-- -->
<insert id="submitInsertRecordOut">
INSERT INTO record_out (epc_code, location_code, use_user, create_by)
VALUES
<foreach collection="outStoreDto.epcList" item="epc" separator=",">
(
#{epc}, #{outStoreDto.areaCode}, #{outStoreDto.useUser}, #{outStoreDto.submitUser}
)
</foreach>
</insert>
<update id="updataLedger">
UPDATE ledger_rfid
SET
location_type = '2',
location_code = #{outStoreDto.areaCode},
update_time = now()
WHERE rifd_code in
<foreach collection="outStoreDto.epcList" item="epc" separator="," open="(" close=")">
#{epc}
</foreach>
</update>
<update id="updataLedgerFoyOut">
UPDATE ledger_rfid
SET
location_type = '2',
location_code = #{outStoreDto.areaCode},
is_scrap =1,
update_time = now()
WHERE rifd_code =#{epc}
</update>
<select id="storeCheckSelect" resultType="com.ruoyi.api.domain.StockDto">
select row_number() over (order by location_code) as 'index',
rifd_code as epcCode,
location_code as locationCode,
'N' as state
from ledger_rfid
where location_type = 1
and is_scrap = 1
</select>
<insert id="insertCheckInfo">
INSERT INTO record_store_check_info (check_id, epc_code, location_code, check_state)
VALUES
<foreach collection="list" item="item" separator=",">
(#{id}, #{item.epcCode},#{item.locationCode},#{item.state})
</foreach>
</insert>
<select id="xjSelect" resultType="com.ruoyi.api.domain.StockDto">
select row_number() over (order by lf.location_code) as 'index',
rifd_code as epcCode,
lf.location_code as locationCode,
lf.create_time as createTime,
'未检' as state
from ledger_rfid lf
left join base_location bl on lf.location_code = bl.location_code
left join base_area_user bau on bl.store_id = bau.area_id
where user_id = #{user}
and is_scrap = 1
</select>
<select id="bfSelect" resultMap="com.ruoyi.manage.mapper.LedgerRfidMapper.LedgerRfidResult">
select objid,
manufacturer_id,
rifd_code,
batch_code,
location_type,
location_code,
dict_label
from ledger_rfid lf
left join sys_dict_data sdd on sdd.dict_value = is_scrap and sdd.dict_type = 'bf_y_n'
where rifd_code = #{epc}
</select>
<update id="updataLedgerForBf">
UPDATE ledger_rfid
SET is_scrap = #{state},
update_time=now()
WHERE rifd_code = #{epc}
</update>
<select id="fpInSelect" resultMap="com.ruoyi.manage.mapper.LedgerRfidMapper.LedgerRfidResult">
select rifd_code,
batch_code,
sdd1.dict_label as location_type,
location_code,
sdd.dict_label,
ri.create_time
from ledger_rfid lf
left join sys_dict_data sdd on sdd.dict_value = is_scrap and sdd.dict_type = 'bf_y_n'
left join sys_dict_data sdd1 on sdd1.dict_value = location_type and sdd1.dict_type = 'store_tag'
left join record_invalidated ri on lf.rifd_code = ri.epc
where rifd_code = #{epc}
limit 1
</select>
<insert id="fpInSubmit">
INSERT INTO record_waste_in (epc, location_code, bf_time, in_code, create_by)
VALUES (#{epc}, #{localtionCode}, #{bf}, #{subCode}, #{user});
</insert>
<update id="updataLedgerIn">
UPDATE ledger_rfid
SET location_type = '1',
location_code = #{code},
update_time = now()
WHERE rifd_code = #{epc}
</update>
<insert id="insertInspectionInfo">
INSERT INTO record_inspection_info (inspection_id, epc_code, location_code, inspection_state,
inspection_remark)
VALUES
<foreach collection="list" item="item" separator=",">
(#{id}, #{item.epcCode},#{item.locationCode},#{item.state}, #{item.remark})
</foreach>
</insert>
<select id="fpOutSelect" resultType="com.ruoyi.api.domain.StockDto">
select row_number() over (order by location_code) as 'index',
rifd_code as epcCode,
location_code as locationCode,
'N' as state
from ledger_rfid
where location_type = 1
and is_scrap = 2
</select>
<insert id="insertWasreOutRecord">
INSERT INTO record_waste_out (epc_code, location_code, create_by) VALUES
<foreach collection="list" item="item" separator=",">
( #{item.epcCode},#{item.locationCode},#{user})
</foreach>
</insert>
<update id="updataLedgerForWasreOut">
UPDATE ledger_rfid
SET location_type = null,
location_code = null,
is_scrap = '3',
update_time = now()
<where>
rifd_code in
<foreach item="item" collection="list" open="(" separator="," close=")">
#{item.epcCode}
</foreach>
</where>
</update>
<resultMap id="checkTaskResultMap" type="com.ruoyi.api.domain.CheckTaskInfo">
<result column="index" property="index"/>
<result column="location_code" property="locationCode"/>
<result column="plane_position" property="locationCode"/>
<result column="store_name" property="areaName"/>
<result column="area_name" property="areaName"/>
<result column="task_state" property="taskState"/>
<result column="objid" property="id"/>
<result column="area_id" property="areaId"/>
<result column="store_id" property="areaId"/>
<result column="inspection_id" property="inspectionId"/>
</resultMap>
<select id="selectLocationByAreaUser" resultMap="checkTaskResultMap">
select bs.store_id as objid ,
bs.store_name,
location_code
from base_location bl
left join base_store bs on bl.store_id = bs.store_id
right join base_area_user bau on bau.area_id = bl.store_id
where bl.stote_tag = 2 and bau.user_id=#{user}
</select>
<insert id="insertCheckTask">
INSERT INTO record_inspection_task (inspection_id, area_id,area_name, plane_position) VALUES
<foreach collection="list" item="data" separator=",">
(#{id}, #{data.id}, #{data.areaName}, #{data.locationCode})
</foreach>
</insert>
<select id="inspectionSelectTask" resultMap="checkTaskResultMap">
select rit.objid,
area_id,
area_name,
plane_position,
row_number() over (order by rit.objid) as 'index',
task_state,
rit.inspection_id
from record_inspection_task rit
<where>
inspection_id=#{id}
<if test="state != null and state != '全部'">
AND task_state = #{state}
</if>
</where>
</select>
<select id="inspectionSelectLocation" resultType="com.ruoyi.api.domain.StockDto">
select row_number() over (order by location_code) as 'index',
rifd_code as epcCode,
location_code as locationCode,
create_time as createTime,
'未检' as state
from ledger_rfid
where is_scrap = 1
and location_code = #{code}
</select>
<!--完成任务-->
<update id="updataInspectionTaskByObjid">
UPDATE record_inspection_task SET task_state = #{state},remark = #{remark},update_time=now() WHERE objid = #{tableId};
</update>
<insert id="insertInspetionPictrue">
INSERT INTO record_inspection_img (inspection_id, task_id, img_path, create_by,location_code)
VALUES (#{inspetionId},#{tableId}, #{pathName}, #{user},#{locationCode});
</insert>
<insert id="insertBfImg">
INSERT INTO bg_wheel_chocks.record_invalidated_img (invalidated_id, epc, img_path, create_by)
VALUES (#{objid}, #{epc},#{pathName},#{user});
</insert>
<!--查询台账绑定RFID的机位信息-->
<select id="selectLocationFromLedger" resultMap="checkTaskResultMap">
select lr.location_code,
bs.store_name,
bs.store_id
from ledger_rfid lr
left join base_location bl on lr.location_code = bl.location_code
left join base_store bs on bl.store_id = bs.store_id
where lr.location_type = 2
and is_scrap = 1
group by bl.location_code
order by bl.location_code
</select>
<select id="selectCodeFromRecode" resultType="int">
select inspection_id
from record_inspection
-- where date(inspection_time) = date(now())
order by inspection_time desc
limit 1
</select>
<delete id="deleteInspectionInfo">
delete from bg_wheel_chocks.record_inspection_info where inspection_id = #{inspectionId} and location_code =#{locationCode}
</delete>
</mapper>

@ -0,0 +1,52 @@
<?xml version="1.0" encoding="UTF-8" ?>
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<mapper namespace="com.ruoyi.api.mapper.BroadApiMapper">
<select id="getArea" resultMap="com.ruoyi.manage.mapper.BaseStoreMapper.BaseStoreResult">
select store_name,store_id from base_store where store_tag=2
</select>
<resultMap id="BroadCountNumberMap" type="com.ruoyi.api.domain.BroadCountNumber">
<result property="areaName" column="store_name"/>
<result property="locationCode" column="location_code"/>
<result property="countNumber" column="conum"/>
</resultMap>
<select id="getCountNumberById" resultMap="BroadCountNumberMap">
select bs.store_name, bl.location_code, count(lr.objid) as conum
from base_location bl
left join base_store bs on bs.store_id = bl.store_id
left join ledger_rfid lr on bl.location_code = lr.location_code
where stote_tag = 2
and bl.store_id = #{id}
group by bl.location_code
</select>
<select id="getLedgerByCode" resultMap="com.ruoyi.manage.mapper.LedgerRfidMapper.LedgerRfidResult">
select manufacturer_name, rifd_code, batch_code, create_time
from ledger_rfid lr
left join base_manufacturer bm on lr.manufacturer_id = bm.manufacturer_id
where is_scrap = 1
and location_code = #{locationCode}
</select>
<resultMap id="DeviceResult" type="com.ruoyi.api.domain.NoPowerDevice">
<result property="deviceCode" column="device_code" />
<result property="deviceName" column="device_name" />
<result property="deviceType" column="device_type" />
<result property="useState" column="use_state" />
<result property="deviceState" column="device_state" />
<result property="locationName" column="location_name" />
</resultMap>
<select id="getDevice" resultMap="DeviceResult">
select device_code, device_name, use_state, device_state, location.air_location as location_name
from device_base_info info
left join device_base_location location on info.location_name=location.rfid_code
where location.air_location =#{storeName}
</select>
</mapper>

@ -0,0 +1,51 @@
<?xml version="1.0" encoding="UTF-8" ?>
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<mapper namespace="com.ruoyi.api.mapper.LoginMapper">
<!--登陆-->
<select id="login_getUser" resultType="java.lang.Integer">
SELECT user_id FROM sys_user where login_name=#{name} and `password`=#{passw} limit 1;
</select>
<select id="login_getUser1" resultMap="com.ruoyi.system.mapper.SysUserMapper.SysUserResult">
SELECT user_id,dept_id FROM sys_user where login_name=#{name} and `password`=#{passw} limit 1;
</select>
<select id="login_findSalt" resultType="java.lang.String">
SELECT salt FROM sys_user where login_name=#{name}
</select>
<select id="selectMenuName" resultType="java.lang.String">
select menu_name
from sys_menu where parent_id=2027 order by order_num
</select>
<select id="selectMenuNameByUserID" resultType="java.lang.String">
select menu_name
from sys_role_menu r
left join sys_menu m on r.menu_id = m.menu_id
where r.role_id in (select role_id from sys_user_role where user_id=#{userID})
and parent_id=2027
group by menu_name,m.menu_id,m.order_num
order by m.order_num;
</select>
<resultMap type="com.ruoyi.api.domain.APKVersion" id="PdaApkVersionResult">
<result property="VersionCode" column="version_code" />
<result property="VersionName" column="version_name" />
<result property="ModifyContent" column="modify_content" />
<result property="DownloadUrl" column="download_url" />
<result property="ApkSize" column="apk_size" />
<result property="ApkMd5" column="apk_md5" />
</resultMap>
<select id="getVersion" resultMap="PdaApkVersionResult">
select version_code, version_name, modify_content, download_url, apk_size, apk_md5 from pda_apk_version order by create_time desc limit 1
</select>
</mapper>

@ -0,0 +1,82 @@
<?xml version="1.0" encoding="UTF-8" ?>
<!DOCTYPE mapper
PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
"http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<mapper namespace="com.ruoyi.api.mapper.PdaApkVersionMapper">
<resultMap type="com.ruoyi.api.domain.PdaApkVersion" id="PdaApkVersionResult">
<result property="objid" column="objid"/>
<result property="versionCode" column="version_code"/>
<result property="versionName" column="version_name"/>
<result property="modifyContent" column="modify_content"/>
<result property="downloadUrl" column="download_url"/>
<result property="apkSize" column="apk_size"/>
<result property="apkMd5" column="apk_md5"/>
<result property="createTime" column="create_time"/>
</resultMap>
<sql id="selectPdaApkVersionVo">
select objid, version_code, version_name, modify_content, download_url, apk_size, apk_md5, create_time from pda_apk_version
</sql>
<select id="selectPdaApkVersionList" parameterType="PdaApkVersion" resultMap="PdaApkVersionResult">
<include refid="selectPdaApkVersionVo"/>
<where>
<if test="versionCode != null ">and version_code = #{versionCode}</if>
</where>
</select>
<select id="selectPdaApkVersionByObjid" parameterType="Long" resultMap="PdaApkVersionResult">
<include refid="selectPdaApkVersionVo"/>
where objid = #{objid}
</select>
<insert id="insertPdaApkVersion" parameterType="PdaApkVersion" useGeneratedKeys="true" keyProperty="objid">
insert into pda_apk_version
<trim prefix="(" suffix=")" suffixOverrides=",">
<if test="versionCode != null">version_code,</if>
<if test="versionName != null">version_name,</if>
<if test="modifyContent != null">modify_content,</if>
<if test="downloadUrl != null">download_url,</if>
<if test="apkSize != null">apk_size,</if>
<if test="apkMd5 != null">apk_md5,</if>
<if test="createTime != null">create_time,</if>
</trim>
<trim prefix="values (" suffix=")" suffixOverrides=",">
<if test="versionCode != null">#{versionCode},</if>
<if test="versionName != null">#{versionName},</if>
<if test="modifyContent != null">#{modifyContent},</if>
<if test="downloadUrl != null">#{downloadUrl},</if>
<if test="apkSize != null">#{apkSize},</if>
<if test="apkMd5 != null">#{apkMd5},</if>
<if test="createTime != null">#{createTime},</if>
</trim>
</insert>
<update id="updatePdaApkVersion" parameterType="PdaApkVersion">
update pda_apk_version
<trim prefix="SET" suffixOverrides=",">
<if test="versionCode != null">version_code = #{versionCode},</if>
<if test="versionName != null">version_name = #{versionName},</if>
<if test="modifyContent != null">modify_content = #{modifyContent},</if>
<if test="downloadUrl != null">download_url = #{downloadUrl},</if>
<if test="apkSize != null">apk_size = #{apkSize},</if>
<if test="apkMd5 != null">apk_md5 = #{apkMd5},</if>
<if test="createTime != null">create_time = #{createTime},</if>
</trim>
where objid = #{objid}
</update>
<delete id="deletePdaApkVersionByObjid" parameterType="Long">
delete from pda_apk_version where objid = #{objid}
</delete>
<delete id="deletePdaApkVersionByObjids" parameterType="String">
delete from pda_apk_version where objid in
<foreach item="objid" collection="array" open="(" separator="," close=")">
#{objid}
</foreach>
</delete>
</mapper>

@ -0,0 +1,125 @@
<!DOCTYPE html>
<html lang="zh" xmlns:th="http://www.thymeleaf.org" >
<head>
<th:block th:include="include :: header('新增手持版本升级')" />
<th:block th:include="include :: bootstrap-fileinput-css"/>
<th:block th:include="include :: summernote-css" />
</head>
<body class="white-bg">
<div class="wrapper wrapper-content animated fadeInRight ibox-content">
<form class="form-horizontal m" id="form-pda_version-add">
<div class="form-group">
<label class="col-sm-3 control-label">版本号:</label>
<div class="col-sm-8">
<input name="versionCode" class="form-control" type="text">
</div>
</div>
<div class="form-group">
<label class="col-sm-3 control-label">版本名:</label>
<div class="col-sm-8">
<input name="versionName" class="form-control" type="text">
</div>
</div>
<div class="form-group">
<label class="col-sm-3 control-label">信息:</label>
<div class="col-sm-8">
<input type="hidden" class="form-control" name="modifyContent">
<div class="summernote" id="modifyContent"></div>
</div>
</div>
<div class="form-group">
<label class="col-sm-3 control-label">位置:</label>
<div class="col-sm-8">
<!-- <input type="hidden" name="downloadUrl">-->
<!-- <div class="file-loading">-->
<!-- <input class="form-control file-upload" id="downloadUrl" name="file" type="file">-->
<input id="filePath" name="filePath" class="form-control" type="file">
<!-- </div>-->
</div>
</div>
</form>
</div>
<th:block th:include="include :: footer" />
<th:block th:include="include :: bootstrap-fileinput-js"/>
<th:block th:include="include :: summernote-js" />
<script th:inline="javascript">
var prefix = ctx + "pda/pda_version"
$("#form-pda_version-add").validate({
focusCleanup: true
});
function submitHandler() {
// if ($.validate.form()) {
// $.operate.save(prefix + "/add", $('#form-pda_version-add').serialize());
// }
var formData = new FormData();
if ($('#filePath')[0].files[0] == null) {
$.modal.alertWarning("请先选择文件路径");
return false;
}
formData.append('versionCode', $("input[name='versionCode']").val());
formData.append('versionName', $("input[name='versionName']").val());
formData.append('modifyContent', $("input[name='modifyContent']").val());
formData.append('file', $('#filePath')[0].files[0]);
$.ajax({
url: prefix + "/add",
type: 'post',
cache: false,
data: formData,
processData: false,
contentType: false,
dataType: "json",
success: function(result) {
$.operate.successCallback(result);
}
});
}
// $(".file-upload").fileinput({
// uploadUrl: ctx + 'common/upload',
// maxFileCount: 1,
// autoReplace: true
// }).on('fileuploaded', function (event, data, previewId, index) {
// $("input[name='" + event.currentTarget.id + "']").val(data.response.url)
// }).on('fileremoved', function (event, id, index) {
// $("input[name='" + event.currentTarget.id + "']").val('')
// })
$(function() {
$('.summernote').summernote({
lang: 'zh-CN',
dialogsInBody: true,
callbacks: {
onChange: function(contents, $edittable) {
$("input[name='" + this.id + "']").val(contents);
},
onImageUpload: function(files) {
var obj = this;
var data = new FormData();
data.append("file", files[0]);
$.ajax({
type: "post",
url: ctx + "common/upload",
data: data,
cache: false,
contentType: false,
processData: false,
dataType: 'json',
success: function(result) {
if (result.code == web_status.SUCCESS) {
$('#' + obj.id).summernote('insertImage', result.url);
} else {
$.modal.alertError(result.msg);
}
},
error: function(error) {
$.modal.alertWarning("图片上传失败。");
}
});
}
}
});
});
</script>
</body>
</html>

@ -0,0 +1,114 @@
<!DOCTYPE html>
<html lang="zh" xmlns:th="http://www.thymeleaf.org" >
<head>
<th:block th:include="include :: header('修改手持版本升级')" />
<th:block th:include="include :: bootstrap-fileinput-css"/>
<th:block th:include="include :: summernote-css" />
</head>
<body class="white-bg">
<div class="wrapper wrapper-content animated fadeInRight ibox-content">
<form class="form-horizontal m" id="form-pda_version-edit" th:object="${pdaApkVersion}">
<input name="objid" th:field="*{objid}" type="hidden">
<div class="form-group">
<label class="col-sm-3 control-label">版本号:</label>
<div class="col-sm-8">
<input name="versionCode" th:field="*{versionCode}" class="form-control" type="text">
</div>
</div>
<div class="form-group">
<label class="col-sm-3 control-label">版本名:</label>
<div class="col-sm-8">
<input name="versionName" th:field="*{versionName}" class="form-control" type="text">
</div>
</div>
<div class="form-group">
<label class="col-sm-3 control-label">信息:</label>
<div class="col-sm-8">
<input type="hidden" class="form-control" th:field="*{modifyContent}">
<div class="summernote" id="modifyContent"></div>
</div>
</div>
<div class="form-group">
<label class="col-sm-3 control-label">位置:</label>
<div class="col-sm-8">
<input type="hidden" name="downloadUrl" th:field="*{downloadUrl}">
<div class="file-loading">
<input class="form-control file-upload" id="downloadUrl" name="file" type="file">
</div>
</div>
</div>
</form>
</div>
<th:block th:include="include :: footer" />
<th:block th:include="include :: bootstrap-fileinput-js"/>
<th:block th:include="include :: summernote-js" />
<script th:inline="javascript">
var prefix = ctx + "pda/pda_version";
$("#form-pda_version-edit").validate({
focusCleanup: true
});
function submitHandler() {
if ($.validate.form()) {
$.operate.save(prefix + "/edit", $('#form-pda_version-edit').serialize());
}
}
$(".file-upload").each(function (i) {
var val = $("input[name='" + this.id + "']").val()
$(this).fileinput({
'uploadUrl': ctx + 'common/upload',
initialPreviewAsData: true,
initialPreview: [val],
maxFileCount: 1,
autoReplace: true
}).on('fileuploaded', function (event, data, previewId, index) {
$("input[name='" + event.currentTarget.id + "']").val(data.response.url)
}).on('fileremoved', function (event, id, index) {
$("input[name='" + event.currentTarget.id + "']").val('')
})
$(this).fileinput('_initFileActions');
});
$(function() {
$('.summernote').each(function(i) {
$('#' + this.id).summernote({
lang: 'zh-CN',
dialogsInBody: true,
callbacks: {
onChange: function(contents, $edittable) {
$("input[name='" + this.id + "']").val(contents);
},
onImageUpload: function(files) {
var obj = this;
var data = new FormData();
data.append("file", files[0]);
$.ajax({
type: "post",
url: ctx + "common/upload",
data: data,
cache: false,
contentType: false,
processData: false,
dataType: 'json',
success: function(result) {
if (result.code == web_status.SUCCESS) {
$('#' + obj.id).summernote('insertImage', result.url);
} else {
$.modal.alertError(result.msg);
}
},
error: function(error) {
$.modal.alertWarning("图片上传失败。");
}
});
}
}
});
var content = $("input[name='" + this.id + "']").val();
$('#' + this.id).summernote('code', content);
})
});
</script>
</body>
</html>

@ -0,0 +1,112 @@
<!DOCTYPE html>
<html lang="zh" xmlns:th="http://www.thymeleaf.org" xmlns:shiro="http://www.pollix.at/thymeleaf/shiro">
<head>
<th:block th:include="include :: header('手持版本升级列表')" />
</head>
<body class="gray-bg">
<div class="container-div">
<div class="row">
<div class="col-sm-12 search-collapse">
<form id="formId">
<div class="select-list">
<ul>
<li>
<label>版本号:</label>
<input type="text" name="versionCode"/>
</li>
<li>
<a class="btn btn-primary btn-rounded btn-sm" onclick="$.table.search()"><i class="fa fa-search"></i>&nbsp;搜索</a>
<a class="btn btn-warning btn-rounded btn-sm" onclick="$.form.reset()"><i class="fa fa-refresh"></i>&nbsp;重置</a>
</li>
</ul>
</div>
</form>
</div>
<div class="btn-group-sm" id="toolbar" role="group">
<a class="btn btn-success" onclick="$.operate.add()" shiro:hasPermission="pda:pda_version:add">
<i class="fa fa-plus"></i> 添加
</a>
<!-- <a class="btn btn-primary single disabled" onclick="$.operate.edit()" shiro:hasPermission="pda:pda_version:edit">-->
<!-- <i class="fa fa-edit"></i> 删除-->
<!-- </a>-->
<!-- <a class="btn btn-danger multiple disabled" onclick="$.operate.removeAll()" shiro:hasPermission="pda:pda_version:remove">-->
<!-- <i class="fa fa-remove"></i> 删除-->
<!-- </a>-->
<a class="btn btn-warning" onclick="$.table.exportExcel()" shiro:hasPermission="pda:pda_version:export">
<i class="fa fa-download"></i> 导出
</a>
</div>
<div class="col-sm-12 select-table table-striped">
<table id="bootstrap-table"></table>
</div>
</div>
</div>
<th:block th:include="include :: footer" />
<script th:inline="javascript">
var editFlag = [[${@permission.hasPermi('pda:pda_version:edit')}]];
var removeFlag = [[${@permission.hasPermi('pda:pda_version:remove')}]];
var prefix = ctx + "pda/pda_version";
$(function() {
var options = {
url: prefix + "/list",
createUrl: prefix + "/add",
updateUrl: prefix + "/edit/{id}",
removeUrl: prefix + "/remove",
exportUrl: prefix + "/export",
modalName: "手持版本升级",
sortName: "versionCode",
sortOrder: "desc",
columns: [{
checkbox: true
},
{
field: 'objid',
title: '主键标识',
visible: false
},
{
field: 'versionCode',
title: '版本号'
},
{
field: 'versionName',
title: '版本名'
},
{
field: 'modifyContent',
title: '信息'
},
{
field: 'downloadUrl',
title: '位置'
},
{
field: 'apkSize',
title: '文件大小'
},
{
field: 'apkMd5',
title: '文件标识'
},
{
field: 'createTime',
title: '创建时间'
},
{
title: '操作',
align: 'center',
formatter: function(value, row, index) {
var actions = [];
// actions.push('<a class="btn btn-success btn-xs ' + editFlag + '" href="javascript:void(0)" onclick="$.operate.edit(\'' + row.objid + '\')"><i class="fa fa-edit"></i>删除</a> ');
actions.push('<a class="btn btn-danger btn-xs ' + removeFlag + '" href="javascript:void(0)" onclick="$.operate.remove(\'' + row.objid + '\')"><i class="fa fa-remove"></i>删除</a>');
return actions.join('');
}
}]
};
$.table.init(options);
});
</script>
</body>
</html>

@ -0,0 +1,27 @@
<?xml version="1.0" encoding="UTF-8"?>
<project xmlns="http://maven.apache.org/POM/4.0.0"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
<modelVersion>4.0.0</modelVersion>
<parent>
<groupId>com.ruoyi</groupId>
<artifactId>ruoyi</artifactId>
<version>4.8.3</version>
</parent>
<artifactId>ruoyi-device</artifactId>
<properties>
<maven.compiler.source>8</maven.compiler.source>
<maven.compiler.target>8</maven.compiler.target>
<project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
</properties>
<dependencies>
<dependency>
<groupId>com.ruoyi</groupId>
<artifactId>ruoyi-common</artifactId>
</dependency>
</dependencies>
</project>

@ -0,0 +1,125 @@
package com.ruoyi.device.controller;
import com.ruoyi.common.annotation.Log;
import com.ruoyi.common.core.controller.BaseController;
import com.ruoyi.common.core.domain.AjaxResult;
import com.ruoyi.common.core.page.TableDataInfo;
import com.ruoyi.common.enums.BusinessType;
import com.ruoyi.common.utils.poi.ExcelUtil;
import com.ruoyi.device.domain.BaseDeviceLocation;
import com.ruoyi.device.service.IBaseDeviceLocationService;
import org.apache.shiro.authz.annotation.RequiresPermissions;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Controller;
import org.springframework.ui.ModelMap;
import org.springframework.web.bind.annotation.*;
import java.util.List;
/**
* Controller
*
* @author ruoyi
* @date 2025-05-28
*/
@Controller
@RequestMapping("/device/base_location")
public class BaseDeviceLocationController extends BaseController
{
private String prefix = "device/base_location";
@Autowired
private IBaseDeviceLocationService baseLocationService;
@RequiresPermissions("device:base_location:view")
@GetMapping()
public String base_location()
{
return prefix + "/base_location";
}
/**
*
*/
@RequiresPermissions("device:base_location:list")
@PostMapping("/list")
@ResponseBody
public TableDataInfo list(BaseDeviceLocation baseDeviceLocation)
{
startPage();
List<BaseDeviceLocation> list = baseLocationService.selectBaseLocationList(baseDeviceLocation);
return getDataTable(list);
}
/**
*
*/
@RequiresPermissions("device:base_location:export")
@Log(title = "桩位信息维护", businessType = BusinessType.EXPORT)
@PostMapping("/export")
@ResponseBody
public AjaxResult export(BaseDeviceLocation baseDeviceLocation)
{
List<BaseDeviceLocation> list = baseLocationService.selectBaseLocationList(baseDeviceLocation);
ExcelUtil<BaseDeviceLocation> util = new ExcelUtil<BaseDeviceLocation>(BaseDeviceLocation.class);
return util.exportExcel(list, "桩位信息维护数据");
}
/**
*
*/
@RequiresPermissions("device:base_location:add")
@GetMapping("/add")
public String add()
{
return prefix + "/add";
}
/**
*
*/
@RequiresPermissions("device:base_location:add")
@Log(title = "桩位信息维护", businessType = BusinessType.INSERT)
@PostMapping("/add")
@ResponseBody
public AjaxResult addSave(BaseDeviceLocation baseDeviceLocation)
{
return toAjax(baseLocationService.insertBaseLocation(baseDeviceLocation));
}
/**
*
*/
@RequiresPermissions("device:base_location:edit")
@GetMapping("/edit/{locationId}")
public String edit(@PathVariable("locationId") Long locationId, ModelMap mmap)
{
BaseDeviceLocation baseDeviceLocation = baseLocationService.selectBaseLocationByLocationId(locationId);
mmap.put("baseLocation", baseDeviceLocation);
return prefix + "/edit";
}
/**
*
*/
@RequiresPermissions("device:base_location:edit")
@Log(title = "桩位信息维护", businessType = BusinessType.UPDATE)
@PostMapping("/edit")
@ResponseBody
public AjaxResult editSave(BaseDeviceLocation baseDeviceLocation)
{
return toAjax(baseLocationService.updateBaseLocation(baseDeviceLocation));
}
/**
*
*/
@RequiresPermissions("device:base_location:remove")
@Log(title = "桩位信息维护", businessType = BusinessType.DELETE)
@PostMapping( "/remove")
@ResponseBody
public AjaxResult remove(String ids)
{
return toAjax(baseLocationService.deleteBaseLocationByLocationIds(ids));
}
}

@ -0,0 +1,124 @@
package com.ruoyi.device.controller;
import com.ruoyi.common.annotation.Log;
import com.ruoyi.common.core.controller.BaseController;
import com.ruoyi.common.core.domain.AjaxResult;
import com.ruoyi.common.core.page.TableDataInfo;
import com.ruoyi.common.enums.BusinessType;
import com.ruoyi.common.utils.poi.ExcelUtil;
import com.ruoyi.device.domain.BaseDeviceManufacturer;
import com.ruoyi.device.service.IBaseManufacturerService;
import org.apache.shiro.authz.annotation.RequiresPermissions;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Controller;
import org.springframework.ui.ModelMap;
import org.springframework.web.bind.annotation.*;
import java.util.List;
/**
* Controller
*
* @author wangh
* @date 2022-04-02
*/
@Controller
@RequestMapping("/device/base_manufacturer")
public class BaseDeviceManufacturerController extends BaseController {
private String prefix = "device/base_manufacturer";
@Autowired
private IBaseManufacturerService baseManufacturerService;
@RequiresPermissions("device:base_manufacturer:view")
@GetMapping()
public String base_manufacturer() {
return prefix + "/base_manufacturer";
}
/**
*
*/
@RequiresPermissions("device:base_manufacturer:list")
@PostMapping("/list")
@ResponseBody
public TableDataInfo list(BaseDeviceManufacturer baseDeviceManufacturer) {
startPage();
List<BaseDeviceManufacturer> list = baseManufacturerService.selectBaseManufacturerList(baseDeviceManufacturer);
return getDataTable(list);
}
/**
*
*/
@RequiresPermissions("device:base_manufacturer:export")
@Log(title = "设备生产厂家", businessType = BusinessType.EXPORT)
@PostMapping("/export")
@ResponseBody
public AjaxResult export(BaseDeviceManufacturer baseDeviceManufacturer) {
List<BaseDeviceManufacturer> list = baseManufacturerService.selectBaseManufacturerList(baseDeviceManufacturer);
ExcelUtil<BaseDeviceManufacturer> util = new ExcelUtil<BaseDeviceManufacturer>(BaseDeviceManufacturer.class);
return util.exportExcel(list, "设备生产厂家数据");
}
/**
*
*/
@GetMapping("/add")
public String add() {
return prefix + "/add";
}
/**
*
*/
@RequiresPermissions("device:base_manufacturer:add")
@Log(title = "设备生产厂家", businessType = BusinessType.INSERT)
@PostMapping("/add")
@ResponseBody
public AjaxResult addSave(BaseDeviceManufacturer baseDeviceManufacturer) {
BaseDeviceManufacturer tag = baseManufacturerService.selectBaseManufacturerByName(baseDeviceManufacturer.getManufacturerName());
if (tag==null){
return toAjax(baseManufacturerService.insertBaseManufacturer(baseDeviceManufacturer));
}
return error("设备生产厂家名称重复");
}
/**
*
*/
@RequiresPermissions("device:base_manufacturer:edit")
@GetMapping("/edit/{objid}")
public String edit(@PathVariable("objid") Long objid, ModelMap mmap) {
BaseDeviceManufacturer baseDeviceManufacturer = baseManufacturerService.selectBaseManufacturerByObjid(objid);
mmap.put("baseManufacturer", baseDeviceManufacturer);
return prefix + "/edit";
}
/**
*
*/
@RequiresPermissions("device:base_manufacturer:edit")
@Log(title = "设备生产厂家", businessType = BusinessType.UPDATE)
@PostMapping("/edit")
@ResponseBody
public AjaxResult editSave(BaseDeviceManufacturer baseDeviceManufacturer) {
BaseDeviceManufacturer tag = baseManufacturerService.selectBaseManufacturerByName(baseDeviceManufacturer.getManufacturerName());
if (tag==null||tag.getObjid().equals(baseDeviceManufacturer.getObjid())){
return toAjax(baseManufacturerService.updateBaseManufacturer(baseDeviceManufacturer));
}
return error("设备生产厂家名称重复");
}
/**
*
*/
@RequiresPermissions("device:base_manufacturer:remove")
@Log(title = "设备生产厂家", businessType = BusinessType.DELETE)
@PostMapping("/remove")
@ResponseBody
public AjaxResult remove(String ids) {
return toAjax(baseManufacturerService.deleteBaseManufacturerByObjids(ids));
}
}

@ -0,0 +1,134 @@
package com.ruoyi.device.controller;
import java.util.List;
import org.apache.shiro.authz.annotation.RequiresPermissions;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Controller;
import org.springframework.ui.ModelMap;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.PathVariable;
import org.springframework.web.bind.annotation.PostMapping;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.ResponseBody;
import com.ruoyi.common.annotation.Log;
import com.ruoyi.common.enums.BusinessType;
import com.ruoyi.device.domain.BaseInfo;
import com.ruoyi.device.service.IBaseInfoService;
import com.ruoyi.common.core.controller.BaseController;
import com.ruoyi.common.core.domain.AjaxResult;
import com.ruoyi.common.utils.poi.ExcelUtil;
import com.ruoyi.common.core.page.TableDataInfo;
/**
* Controller
*
* @author ruoyi
* @date 2025-05-19
*/
@Controller
@RequestMapping("/device/base_info")
public class BaseInfoController extends BaseController
{
private String prefix = "device/base_info";
@Autowired
private IBaseInfoService baseInfoService;
@RequiresPermissions("device:base_info:view")
@GetMapping()
public String base_info()
{
return prefix + "/base_info";
}
/**
*
*/
@RequiresPermissions("device:base_info:list")
@PostMapping("/list")
@ResponseBody
public TableDataInfo list(BaseInfo baseInfo)
{
startPage();
List<BaseInfo> list = baseInfoService.selectBaseInfoList(baseInfo);
return getDataTable(list);
}
/**
*
*/
@RequiresPermissions("device:base_info:export")
@Log(title = "设备基础信息", businessType = BusinessType.EXPORT)
@PostMapping("/export")
@ResponseBody
public AjaxResult export(BaseInfo baseInfo)
{
List<BaseInfo> list = baseInfoService.selectBaseInfoList(baseInfo);
ExcelUtil<BaseInfo> util = new ExcelUtil<BaseInfo>(BaseInfo.class);
return util.exportExcel(list, "设备基础信息数据");
}
/**
*
*/
@RequiresPermissions("device:base_info:add")
@GetMapping("/add")
public String add()
{
return prefix + "/add";
}
/**
*
*/
@RequiresPermissions("device:base_info:add")
@Log(title = "设备基础信息", businessType = BusinessType.INSERT)
@PostMapping("/add")
@ResponseBody
public AjaxResult addSave(BaseInfo baseInfo)
{
return toAjax(baseInfoService.insertBaseInfo(baseInfo));
}
/**
*
*/
@RequiresPermissions("device:base_info:edit")
@GetMapping("/edit/{objId}")
public String edit(@PathVariable("objId") Long objId, ModelMap mmap)
{
BaseInfo baseInfo = baseInfoService.selectBaseInfoByObjId(objId);
mmap.put("baseInfo", baseInfo);
return prefix + "/edit";
}
/**
*
*/
@RequiresPermissions("device:base_info:edit")
@Log(title = "设备基础信息", businessType = BusinessType.UPDATE)
@PostMapping("/edit")
@ResponseBody
public AjaxResult editSave(BaseInfo baseInfo)
{
return toAjax(baseInfoService.updateBaseInfo(baseInfo));
}
/**
*
*/
@RequiresPermissions("device:base_info:remove")
@Log(title = "设备基础信息", businessType = BusinessType.DELETE)
@PostMapping( "/remove")
@ResponseBody
public AjaxResult remove(String ids)
{
return toAjax(baseInfoService.deleteBaseInfoByObjIds(ids));
}
@PostMapping("/checkDeviceCode")
@ResponseBody
public boolean ccheckDeviceCode(BaseInfo baseInfo){
return baseInfoService.checkDeviceCode(baseInfo);
}
}

@ -0,0 +1,141 @@
package com.ruoyi.device.controller;
import java.util.List;
import org.apache.shiro.authz.annotation.RequiresPermissions;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Controller;
import org.springframework.ui.ModelMap;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.PathVariable;
import org.springframework.web.bind.annotation.PostMapping;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.ResponseBody;
import com.ruoyi.common.annotation.Log;
import com.ruoyi.common.enums.BusinessType;
import com.ruoyi.device.domain.BaseType;
import com.ruoyi.device.service.IBaseTypeService;
import com.ruoyi.common.core.controller.BaseController;
import com.ruoyi.common.core.domain.AjaxResult;
import com.ruoyi.common.utils.poi.ExcelUtil;
import com.ruoyi.common.core.page.TableDataInfo;
/**
* Controller
*
* @author ruoyi
* @date 2025-05-19
*/
@Controller
@RequestMapping("/device/base_type")
public class BaseTypeController extends BaseController
{
private String prefix = "device/base_type";
@Autowired
private IBaseTypeService baseTypeService;
@RequiresPermissions("device:base_type:view")
@GetMapping()
public String base_type()
{
return prefix + "/base_type";
}
/**
*
*/
@RequiresPermissions("device:base_type:list")
@PostMapping("/list")
@ResponseBody
public TableDataInfo list(BaseType baseType)
{
startPage();
List<BaseType> list = baseTypeService.selectBaseTypeList(baseType);
return getDataTable(list);
}
/**
*
*/
@RequiresPermissions("device:base_type:export")
@Log(title = "设备类型维护", businessType = BusinessType.EXPORT)
@PostMapping("/export")
@ResponseBody
public AjaxResult export(BaseType baseType)
{
List<BaseType> list = baseTypeService.selectBaseTypeList(baseType);
ExcelUtil<BaseType> util = new ExcelUtil<BaseType>(BaseType.class);
return util.exportExcel(list, "设备类型维护数据");
}
/**
*
*/
@RequiresPermissions("device:base_type:add")
@GetMapping("/add")
public String add()
{
return prefix + "/add";
}
/**
*
*/
@RequiresPermissions("device:base_type:add")
@Log(title = "设备类型维护", businessType = BusinessType.INSERT)
@PostMapping("/add")
@ResponseBody
public AjaxResult addSave(BaseType baseType)
{
return toAjax(baseTypeService.insertBaseType(baseType));
}
/**
*
*/
@RequiresPermissions("device:base_type:edit")
@GetMapping("/edit/{objId}")
public String edit(@PathVariable("objId") Long objId, ModelMap mmap)
{
BaseType baseType = baseTypeService.selectBaseTypeByObjId(objId);
mmap.put("baseType", baseType);
return prefix + "/edit";
}
/**
*
*/
@RequiresPermissions("device:base_type:edit")
@Log(title = "设备类型维护", businessType = BusinessType.UPDATE)
@PostMapping("/edit")
@ResponseBody
public AjaxResult editSave(BaseType baseType)
{
return toAjax(baseTypeService.updateBaseType(baseType));
}
/**
*
*/
@RequiresPermissions("device:base_type:remove")
@Log(title = "设备类型维护", businessType = BusinessType.DELETE)
@PostMapping( "/remove")
@ResponseBody
public AjaxResult remove(String ids)
{
return toAjax(baseTypeService.deleteBaseTypeByObjIds(ids));
}
/**
*
*/
@PostMapping("/checkDeviceTypeName")
@ResponseBody
public boolean checkDeviceTypeName(BaseType baseType) {
return baseTypeService.checkDeviceTypeName(baseType);
}
}

@ -0,0 +1,127 @@
package com.ruoyi.device.controller;
import java.util.List;
import org.apache.shiro.authz.annotation.RequiresPermissions;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Controller;
import org.springframework.ui.ModelMap;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.PathVariable;
import org.springframework.web.bind.annotation.PostMapping;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.ResponseBody;
import com.ruoyi.common.annotation.Log;
import com.ruoyi.common.enums.BusinessType;
import com.ruoyi.device.domain.DeviceBaseFault;
import com.ruoyi.device.service.IDeviceBaseFaultService;
import com.ruoyi.common.core.controller.BaseController;
import com.ruoyi.common.core.domain.AjaxResult;
import com.ruoyi.common.utils.poi.ExcelUtil;
import com.ruoyi.common.core.page.TableDataInfo;
/**
* Controller
*
* @author wangh
* @date 2025-09-24
*/
@Controller
@RequestMapping("/device/device_fault")
public class DeviceBaseFaultController extends BaseController
{
private String prefix = "device/device_fault";
@Autowired
private IDeviceBaseFaultService deviceBaseFaultService;
@RequiresPermissions("device:device_fault:view")
@GetMapping()
public String device_fault()
{
return prefix + "/device_fault";
}
/**
*
*/
@RequiresPermissions("device:device_fault:list")
@PostMapping("/list")
@ResponseBody
public TableDataInfo list(DeviceBaseFault deviceBaseFault)
{
startPage();
List<DeviceBaseFault> list = deviceBaseFaultService.selectDeviceBaseFaultList(deviceBaseFault);
return getDataTable(list);
}
/**
*
*/
@RequiresPermissions("device:device_fault:export")
@Log(title = "故障类别维护", businessType = BusinessType.EXPORT)
@PostMapping("/export")
@ResponseBody
public AjaxResult export(DeviceBaseFault deviceBaseFault)
{
List<DeviceBaseFault> list = deviceBaseFaultService.selectDeviceBaseFaultList(deviceBaseFault);
ExcelUtil<DeviceBaseFault> util = new ExcelUtil<DeviceBaseFault>(DeviceBaseFault.class);
return util.exportExcel(list, "故障类别维护数据");
}
/**
*
*/
@GetMapping("/add")
public String add()
{
return prefix + "/add";
}
/**
*
*/
@RequiresPermissions("device:device_fault:add")
@Log(title = "故障类别维护", businessType = BusinessType.INSERT)
@PostMapping("/add")
@ResponseBody
public AjaxResult addSave(DeviceBaseFault deviceBaseFault)
{
return toAjax(deviceBaseFaultService.insertDeviceBaseFault(deviceBaseFault));
}
/**
*
*/
@RequiresPermissions("device:device_fault:edit")
@GetMapping("/edit/{objid}")
public String edit(@PathVariable("objid") Long objid, ModelMap mmap)
{
DeviceBaseFault deviceBaseFault = deviceBaseFaultService.selectDeviceBaseFaultByObjid(objid);
mmap.put("deviceBaseFault", deviceBaseFault);
return prefix + "/edit";
}
/**
*
*/
@RequiresPermissions("device:device_fault:edit")
@Log(title = "故障类别维护", businessType = BusinessType.UPDATE)
@PostMapping("/edit")
@ResponseBody
public AjaxResult editSave(DeviceBaseFault deviceBaseFault)
{
return toAjax(deviceBaseFaultService.updateDeviceBaseFault(deviceBaseFault));
}
/**
*
*/
@RequiresPermissions("device:device_fault:remove")
@Log(title = "故障类别维护", businessType = BusinessType.DELETE)
@PostMapping( "/remove")
@ResponseBody
public AjaxResult remove(String ids)
{
return toAjax(deviceBaseFaultService.deleteDeviceBaseFaultByObjids(ids));
}
}

@ -0,0 +1,123 @@
package com.ruoyi.device.controller;
import com.ruoyi.common.annotation.Log;
import com.ruoyi.common.core.controller.BaseController;
import com.ruoyi.common.core.domain.AjaxResult;
import com.ruoyi.common.core.page.TableDataInfo;
import com.ruoyi.common.enums.BusinessType;
import com.ruoyi.common.utils.poi.ExcelUtil;
import com.ruoyi.device.domain.DeviceInspectProject;
import com.ruoyi.device.service.IDeviceInspectProjectService;
import org.apache.shiro.authz.annotation.RequiresPermissions;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Controller;
import org.springframework.ui.ModelMap;
import org.springframework.web.bind.annotation.*;
import java.util.List;
/**
* Controller
*
* @author wangh
* @date 2025-09-30
*/
@Controller
@RequestMapping("/device/inspect_project")
public class DeviceInspectProjectController extends BaseController {
private String prefix = "device/inspect_project";
@Autowired
private IDeviceInspectProjectService deviceInspectProjectService;
@RequiresPermissions("device:inspect_project:view")
@GetMapping()
public String inspect_project() {
return prefix + "/inspect_project";
}
@GetMapping("/open/{objId}")
public String open(@PathVariable("objId") Long objId, ModelMap mmap) {
mmap.put("objId", objId);
return prefix + "/inspect_project";
}
/**
*
*/
@RequiresPermissions("device:inspect_project:list")
@PostMapping("/list")
@ResponseBody
public TableDataInfo list(DeviceInspectProject deviceInspectProject) {
startPage();
List<DeviceInspectProject> list = deviceInspectProjectService.selectDeviceInspectProjectList(deviceInspectProject);
return getDataTable(list);
}
/**
*
*/
@RequiresPermissions("device:inspect_project:export")
@Log(title = "巡检项目管理", businessType = BusinessType.EXPORT)
@PostMapping("/export")
@ResponseBody
public AjaxResult export(DeviceInspectProject deviceInspectProject) {
List<DeviceInspectProject> list = deviceInspectProjectService.selectDeviceInspectProjectList(deviceInspectProject);
ExcelUtil<DeviceInspectProject> util = new ExcelUtil<DeviceInspectProject>(DeviceInspectProject.class);
return util.exportExcel(list, "巡检项目管理数据");
}
/**
*
*/
@GetMapping("/add/{manualId}")
public String add(@PathVariable("manualId") Long manualId, ModelMap mmap) {
mmap.put("manualId", manualId);
return prefix + "/add";
}
/**
*
*/
@RequiresPermissions("device:inspect_project:add")
@Log(title = "巡检项目管理", businessType = BusinessType.INSERT)
@PostMapping("/add")
@ResponseBody
public AjaxResult addSave(DeviceInspectProject deviceInspectProject) {
return toAjax(deviceInspectProjectService.insertDeviceInspectProject(deviceInspectProject));
}
/**
*
*/
@RequiresPermissions("device:inspect_project:edit")
@GetMapping("/edit/{objId}")
public String edit(@PathVariable("objId") Long objId, ModelMap mmap) {
DeviceInspectProject deviceInspectProject = deviceInspectProjectService.selectDeviceInspectProjectByObjId(objId);
mmap.put("deviceInspectProject", deviceInspectProject);
return prefix + "/edit";
}
/**
*
*/
@RequiresPermissions("device:inspect_project:edit")
@Log(title = "巡检项目管理", businessType = BusinessType.UPDATE)
@PostMapping("/edit")
@ResponseBody
public AjaxResult editSave(DeviceInspectProject deviceInspectProject) {
return toAjax(deviceInspectProjectService.updateDeviceInspectProject(deviceInspectProject));
}
/**
*
*/
@RequiresPermissions("device:inspect_project:remove")
@Log(title = "巡检项目管理", businessType = BusinessType.DELETE)
@PostMapping("/remove")
@ResponseBody
public AjaxResult remove(String ids) {
return toAjax(deviceInspectProjectService.deleteDeviceInspectProjectByObjIds(ids));
}
}

@ -0,0 +1,127 @@
package com.ruoyi.device.controller;
import java.util.List;
import org.apache.shiro.authz.annotation.RequiresPermissions;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Controller;
import org.springframework.ui.ModelMap;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.PathVariable;
import org.springframework.web.bind.annotation.PostMapping;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.ResponseBody;
import com.ruoyi.common.annotation.Log;
import com.ruoyi.common.enums.BusinessType;
import com.ruoyi.device.domain.DeviceInspectionManual;
import com.ruoyi.device.service.IDeviceInspectionManualService;
import com.ruoyi.common.core.controller.BaseController;
import com.ruoyi.common.core.domain.AjaxResult;
import com.ruoyi.common.utils.poi.ExcelUtil;
import com.ruoyi.common.core.page.TableDataInfo;
/**
* Controller
*
* @author wangh
* @date 2025-09-30
*/
@Controller
@RequestMapping("/device/inspection_manual")
public class DeviceInspectionManualController extends BaseController
{
private String prefix = "device/inspection_manual";
@Autowired
private IDeviceInspectionManualService deviceInspectionManualService;
@RequiresPermissions("device:inspection_manual:view")
@GetMapping()
public String inspection_manual()
{
return prefix + "/inspection_manual";
}
/**
*
*/
@RequiresPermissions("device:inspection_manual:list")
@PostMapping("/list")
@ResponseBody
public TableDataInfo list(DeviceInspectionManual deviceInspectionManual)
{
startPage();
List<DeviceInspectionManual> list = deviceInspectionManualService.selectDeviceInspectionManualList(deviceInspectionManual);
return getDataTable(list);
}
/**
*
*/
@RequiresPermissions("device:inspection_manual:export")
@Log(title = "巡检手册管理", businessType = BusinessType.EXPORT)
@PostMapping("/export")
@ResponseBody
public AjaxResult export(DeviceInspectionManual deviceInspectionManual)
{
List<DeviceInspectionManual> list = deviceInspectionManualService.selectDeviceInspectionManualList(deviceInspectionManual);
ExcelUtil<DeviceInspectionManual> util = new ExcelUtil<DeviceInspectionManual>(DeviceInspectionManual.class);
return util.exportExcel(list, "巡检手册管理数据");
}
/**
*
*/
@GetMapping("/add")
public String add()
{
return prefix + "/add";
}
/**
*
*/
@RequiresPermissions("device:inspection_manual:add")
@Log(title = "巡检手册管理", businessType = BusinessType.INSERT)
@PostMapping("/add")
@ResponseBody
public AjaxResult addSave(DeviceInspectionManual deviceInspectionManual)
{
return toAjax(deviceInspectionManualService.insertDeviceInspectionManual(deviceInspectionManual));
}
/**
*
*/
@RequiresPermissions("device:inspection_manual:edit")
@GetMapping("/edit/{objId}")
public String edit(@PathVariable("objId") Long objId, ModelMap mmap)
{
DeviceInspectionManual deviceInspectionManual = deviceInspectionManualService.selectDeviceInspectionManualByObjId(objId);
mmap.put("deviceInspectionManual", deviceInspectionManual);
return prefix + "/edit";
}
/**
*
*/
@RequiresPermissions("device:inspection_manual:edit")
@Log(title = "巡检手册管理", businessType = BusinessType.UPDATE)
@PostMapping("/edit")
@ResponseBody
public AjaxResult editSave(DeviceInspectionManual deviceInspectionManual)
{
return toAjax(deviceInspectionManualService.updateDeviceInspectionManual(deviceInspectionManual));
}
/**
*
*/
@RequiresPermissions("device:inspection_manual:remove")
@Log(title = "巡检手册管理", businessType = BusinessType.DELETE)
@PostMapping( "/remove")
@ResponseBody
public AjaxResult remove(String ids)
{
return toAjax(deviceInspectionManualService.deleteDeviceInspectionManualByObjIds(ids));
}
}

@ -0,0 +1,127 @@
package com.ruoyi.device.controller;
import java.util.List;
import org.apache.shiro.authz.annotation.RequiresPermissions;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Controller;
import org.springframework.ui.ModelMap;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.PathVariable;
import org.springframework.web.bind.annotation.PostMapping;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.ResponseBody;
import com.ruoyi.common.annotation.Log;
import com.ruoyi.common.enums.BusinessType;
import com.ruoyi.device.domain.DeviceInspectionRoute;
import com.ruoyi.device.service.IDeviceInspectionRouteService;
import com.ruoyi.common.core.controller.BaseController;
import com.ruoyi.common.core.domain.AjaxResult;
import com.ruoyi.common.utils.poi.ExcelUtil;
import com.ruoyi.common.core.page.TableDataInfo;
/**
* 线Controller
*
* @author wangh
* @date 2025-10-23
*/
@Controller
@RequestMapping("/device/inspection_route")
public class DeviceInspectionRouteController extends BaseController
{
private String prefix = "device/inspection_route";
@Autowired
private IDeviceInspectionRouteService deviceInspectionRouteService;
@RequiresPermissions("device:inspection_route:view")
@GetMapping()
public String inspection_route()
{
return prefix + "/inspection_route";
}
/**
* 线
*/
@RequiresPermissions("device:inspection_route:list")
@PostMapping("/list")
@ResponseBody
public TableDataInfo list(DeviceInspectionRoute deviceInspectionRoute)
{
startPage();
List<DeviceInspectionRoute> list = deviceInspectionRouteService.selectDeviceInspectionRouteList(deviceInspectionRoute);
return getDataTable(list);
}
/**
* 线
*/
@RequiresPermissions("device:inspection_route:export")
@Log(title = "巡检线路", businessType = BusinessType.EXPORT)
@PostMapping("/export")
@ResponseBody
public AjaxResult export(DeviceInspectionRoute deviceInspectionRoute)
{
List<DeviceInspectionRoute> list = deviceInspectionRouteService.selectDeviceInspectionRouteList(deviceInspectionRoute);
ExcelUtil<DeviceInspectionRoute> util = new ExcelUtil<DeviceInspectionRoute>(DeviceInspectionRoute.class);
return util.exportExcel(list, "巡检线路数据");
}
/**
* 线
*/
@GetMapping("/add")
public String add()
{
return prefix + "/add";
}
/**
* 线
*/
@RequiresPermissions("device:inspection_route:add")
@Log(title = "巡检线路", businessType = BusinessType.INSERT)
@PostMapping("/add")
@ResponseBody
public AjaxResult addSave(DeviceInspectionRoute deviceInspectionRoute)
{
return toAjax(deviceInspectionRouteService.insertDeviceInspectionRoute(deviceInspectionRoute));
}
/**
* 线
*/
@RequiresPermissions("device:inspection_route:edit")
@GetMapping("/edit/{routeId}")
public String edit(@PathVariable("routeId") Long routeId, ModelMap mmap)
{
DeviceInspectionRoute deviceInspectionRoute = deviceInspectionRouteService.selectDeviceInspectionRouteByRouteId(routeId);
mmap.put("deviceInspectionRoute", deviceInspectionRoute);
return prefix + "/edit";
}
/**
* 线
*/
@RequiresPermissions("device:inspection_route:edit")
@Log(title = "巡检线路", businessType = BusinessType.UPDATE)
@PostMapping("/edit")
@ResponseBody
public AjaxResult editSave(DeviceInspectionRoute deviceInspectionRoute)
{
return toAjax(deviceInspectionRouteService.updateDeviceInspectionRoute(deviceInspectionRoute));
}
/**
* 线
*/
@RequiresPermissions("device:inspection_route:remove")
@Log(title = "巡检线路", businessType = BusinessType.DELETE)
@PostMapping( "/remove")
@ResponseBody
public AjaxResult remove(String ids)
{
return toAjax(deviceInspectionRouteService.deleteDeviceInspectionRouteByRouteIds(ids));
}
}

@ -0,0 +1,210 @@
package com.ruoyi.device.controller;
import com.alibaba.fastjson.JSONObject;
import com.ruoyi.common.config.RuoYiConfig;
import com.ruoyi.common.core.domain.AjaxResult;
import com.ruoyi.common.utils.DateUtils;
import com.ruoyi.common.utils.file.FileUploadUtils;
import com.ruoyi.device.domain.*;
import com.ruoyi.device.service.*;
import org.springframework.beans.BeanUtils;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.http.ResponseEntity;
import org.springframework.http.client.SimpleClientHttpRequestFactory;
import org.springframework.web.bind.annotation.*;
import org.springframework.web.client.RestClientException;
import org.springframework.web.client.RestTemplate;
import org.springframework.web.multipart.MultipartFile;
import java.io.IOException;
import java.time.LocalDate;
import java.time.YearMonth;
import java.util.ArrayList;
import java.util.List;
import java.util.stream.Collectors;
import static com.ruoyi.common.core.domain.AjaxResult.error;
import static com.ruoyi.common.core.domain.AjaxResult.success;
@RestController
@RequestMapping("/api")
public class PdaApiController {
@Autowired
private IPdaApiService service;
@Autowired
private IBaseInfoService baseInfoService;
@Autowired
private IRecordUseService recordUseService;
@PostMapping("/home/selectDeviceInfo")
public AjaxResult selectDeviceInfo(String code) {
BaseInfo baseInfo = baseInfoService.selectDeviceInfo(code);
if (baseInfo == null) return error("查询失败,条码扫描错误");
String deviceState = baseInfo.getDeviceState();
String deviceName = baseInfo.getDeviceName();
if (deviceState.equals("0")) return error(deviceName + "已停用,使用其他设备吧");
if (deviceState.equals("2")) return error(deviceName + "正在维修,使用其他设备吧");
if (baseInfo.getUseState().equals("1")) return error(deviceName + "在使用中,更换其他设备吧");
return success(baseInfo);
}
@PostMapping("/home/closeDevice")
public AjaxResult closeDevice(String code) {
BaseInfo baseInfo = baseInfoService.selectDeviceInfo(code);
if (baseInfo == null) return error("查询失败,条码扫描错误");
String deviceState = baseInfo.getDeviceState();
String deviceName = baseInfo.getDeviceName();
ResponseEntity<String> response = null;
try {
SimpleClientHttpRequestFactory requestFactory = new SimpleClientHttpRequestFactory();
requestFactory.setConnectTimeout(3000); // 连接超时3秒
requestFactory.setReadTimeout(3000); // 读取超时3秒
RestTemplate restTemplate = new RestTemplate(requestFactory);
String url = "http://119.45.202.115:7789/devcontrolbusiness/unlock?idStr=" + baseInfo.getOpenCode() + "&password=" + baseInfo.getOpenPassword();
// 根据实际情况调整参数值
response = restTemplate.getForEntity(url, String.class);
if (response.getStatusCode().is2xxSuccessful()) {
MyResult myResult = JSONObject.parseObject(response.getBody(), MyResult.class);
System.out.println(myResult.toString());
if (myResult.getCode() == 200) {
// 修改设备状态
BaseInfo updateBaseInfo = new BaseInfo();
updateBaseInfo.setObjId(baseInfo.getObjId());
updateBaseInfo.setUseState("0");
updateBaseInfo.setLocationName("A455C1B8500104E0");
baseInfoService.updateBaseInfoForApi(updateBaseInfo);
// service.updateRecord(code);
return success("关锁,打开成功");
}else {
return error(myResult.getMsg());
}
}
}catch (Exception e){
e.printStackTrace();
return error("通讯失败");
}
return success("关锁,打开成功");
}
@PostMapping("/home/openDeviceLock")
public AjaxResult openDeviceLock(@RequestBody BaseInfo baseInfo) {
String openCode = baseInfo.getOpenCode();
String openPassword = baseInfo.getOpenPassword();
System.out.println("开锁:"+openCode+",密码:"+openPassword);
ResponseEntity<String> response = null;
try {
SimpleClientHttpRequestFactory requestFactory = new SimpleClientHttpRequestFactory();
requestFactory.setConnectTimeout(3000); // 连接超时3秒
requestFactory.setReadTimeout(3000); // 读取超时3秒
RestTemplate restTemplate = new RestTemplate(requestFactory);
String url = "http://119.45.202.115:7789/devcontrolbusiness/unlock?idStr=" + openCode + "&password=" + openPassword;
// 根据实际情况调整参数值
response = restTemplate.getForEntity(url, String.class);
if (response.getStatusCode().is2xxSuccessful()) {
// {"code":200/500,"isSuc":true,"msg":"开锁指令下发成功,已收到设备回复","buffer":null,"data":null}
MyResult myResult = JSONObject.parseObject(response.getBody(), MyResult.class);
System.out.println("返回值:"+myResult.toString());
if (myResult.getCode() == 200) {
/**
*
*/
RecordUse recordUse = new RecordUse();
BeanUtils.copyProperties(baseInfo, recordUse);
recordUse.setBaseDeviceCode(baseInfo.getDeviceCode());
recordUse.setDeviceCode(openCode);
recordUse.setDeviceId(String.valueOf(baseInfo.getObjId()));//设备ID
recordUse.setDeviceType(baseInfo.getTypeName());//设备类型
recordUse.setChargePrice(baseInfo.getDefaultPrice());//计费价格
recordUse.setUseState("1");
// 获取当前日期和时间
LocalDate now = LocalDate.now();
// 从LocalDate获取YearMonth
YearMonth currentYearMonth = YearMonth.from(now);
// 获取年份和月份
recordUse.setQueryYear(String.valueOf(currentYearMonth.getYear()));
recordUse.setQueryMonth(String.valueOf(currentYearMonth.getMonthValue()));
recordUseService.insertRecordUse(recordUse);
/**
*
*/
BaseInfo updateBaseInfo = new BaseInfo();
updateBaseInfo.setObjId(baseInfo.getObjId());
updateBaseInfo.setUseState("1");
updateBaseInfo.setLocationName("-");
baseInfoService.updateBaseInfoForApi(updateBaseInfo);
return success("开锁成功");
} else {
return error(myResult.getMsg());
}
}
} catch (RestClientException e) {
return error("通讯失败");
}
return success("开锁成功");
}
@PostMapping("/home/selectDeviceInfoList")
public AjaxResult selectDeviceInfoList() {
List<BaseInfo> list=baseInfoService.selectDeviceInfoList();
return success(list);
}
@PostMapping("/record/selectUseList")
public AjaxResult selectUseList() {
List<RecordUse> list=service.selectUseList();
return success(list);
}
@Autowired
private IDeviceBaseFaultService faultInfoService;
@PostMapping("/fault/selectFaultList")
public AjaxResult selectFaultList() {
List<DeviceBaseFault> list=faultInfoService.selectFaultList();
return success(list);
}
/**
*
*
* @param json
* @param file
* @return
*/
@PostMapping("/bx/subment")
private AjaxResult bx_subment(@RequestParam("json") String json, @RequestParam("file") List<MultipartFile> file) {
System.out.println("报修-生成记录");
String pictruePath = "";
try {
if (file != null && !file.isEmpty()) {
List<String> pictruePaths = new ArrayList<>(file.size());
String filePath = RuoYiConfig.getUploadPath() + "/fault";
for (MultipartFile multipartFile : file) {
System.out.println("上传图片路径:" + multipartFile.getOriginalFilename());
String pathName = FileUploadUtils.upload(filePath, multipartFile);
System.out.println("上传图片路径:" + pathName);
pictruePaths.add(pathName);
}
pictruePath = String.join(",", pictruePaths);
}
} catch (IOException e) {
e.printStackTrace();
}
String bills_code = "WX" + DateUtils.dateTimeNow();
DeviceRepartBills been = JSONObject.parseObject(json, DeviceRepartBills.class);
been.setWorkOrder(bills_code);
been.setPictures(pictruePath);
boolean b = deviceRepartBillsService.insertDeviceRepartBills(been) > 0;
return b ?success():error();
}
@Autowired
private IDeviceRepartBillsService deviceRepartBillsService;
}

@ -0,0 +1,128 @@
package com.ruoyi.device.controller;
import java.util.List;
import org.apache.shiro.authz.annotation.RequiresPermissions;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Controller;
import org.springframework.ui.ModelMap;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.PathVariable;
import org.springframework.web.bind.annotation.PostMapping;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.ResponseBody;
import com.ruoyi.common.annotation.Log;
import com.ruoyi.common.enums.BusinessType;
import com.ruoyi.device.domain.RecordUse;
import com.ruoyi.device.service.IRecordUseService;
import com.ruoyi.common.core.controller.BaseController;
import com.ruoyi.common.core.domain.AjaxResult;
import com.ruoyi.common.utils.poi.ExcelUtil;
import com.ruoyi.common.core.page.TableDataInfo;
/**
* 使Controller
*
* @author ruoyi
* @date 2025-05-19
*/
@Controller
@RequestMapping("/device/record_use")
public class RecordUseController extends BaseController
{
private String prefix = "device/record_use";
@Autowired
private IRecordUseService recordUseService;
@RequiresPermissions("device:record_use:view")
@GetMapping()
public String record_use()
{
return prefix + "/record_use";
}
/**
* 使
*/
@RequiresPermissions("device:record_use:list")
@PostMapping("/list")
@ResponseBody
public TableDataInfo list(RecordUse recordUse)
{
startPage();
List<RecordUse> list = recordUseService.selectRecordUseList(recordUse);
return getDataTable(list);
}
/**
* 使
*/
@RequiresPermissions("device:record_use:export")
@Log(title = "使用记录", businessType = BusinessType.EXPORT)
@PostMapping("/export")
@ResponseBody
public AjaxResult export(RecordUse recordUse)
{
List<RecordUse> list = recordUseService.selectRecordUseList(recordUse);
ExcelUtil<RecordUse> util = new ExcelUtil<RecordUse>(RecordUse.class);
return util.exportExcel(list, "使用记录数据");
}
/**
* 使
*/
@RequiresPermissions("device:record_use:add")
@GetMapping("/add")
public String add()
{
return prefix + "/add";
}
/**
* 使
*/
@RequiresPermissions("device:record_use:add")
@Log(title = "使用记录", businessType = BusinessType.INSERT)
@PostMapping("/add")
@ResponseBody
public AjaxResult addSave(RecordUse recordUse)
{
return toAjax(recordUseService.insertRecordUse(recordUse));
}
/**
* 使
*/
@RequiresPermissions("device:record_use:edit")
@GetMapping("/edit/{objId}")
public String edit(@PathVariable("objId") Long objId, ModelMap mmap)
{
RecordUse recordUse = recordUseService.selectRecordUseByObjId(objId);
mmap.put("recordUse", recordUse);
return prefix + "/edit";
}
/**
* 使
*/
@RequiresPermissions("device:record_use:edit")
@Log(title = "使用记录", businessType = BusinessType.UPDATE)
@PostMapping("/edit")
@ResponseBody
public AjaxResult editSave(RecordUse recordUse)
{
return toAjax(recordUseService.updateRecordUse(recordUse));
}
/**
* 使
*/
@RequiresPermissions("device:record_use:remove")
@Log(title = "使用记录", businessType = BusinessType.DELETE)
@PostMapping( "/remove")
@ResponseBody
public AjaxResult remove(String ids)
{
return toAjax(recordUseService.deleteRecordUseByObjIds(ids));
}
}

@ -0,0 +1,149 @@
package com.ruoyi.device.controller;
import com.ruoyi.common.annotation.Log;
import com.ruoyi.common.core.controller.BaseController;
import com.ruoyi.common.core.domain.AjaxResult;
import com.ruoyi.common.core.page.TableDataInfo;
import com.ruoyi.common.enums.BusinessType;
import com.ruoyi.common.utils.DateUtils;
import com.ruoyi.common.utils.poi.ExcelUtil;
import com.ruoyi.device.domain.BaseDeviceManufacturer;
import com.ruoyi.device.domain.BaseInfo;
import com.ruoyi.device.domain.DeviceRepartBills;
import com.ruoyi.device.domain.RepairOutsourcing;
import com.ruoyi.device.service.*;
import org.apache.shiro.authz.annotation.RequiresPermissions;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Controller;
import org.springframework.ui.ModelMap;
import org.springframework.web.bind.annotation.*;
import java.util.List;
/**
* Controller
*
* @author wh
* @date 2022-06-08
*/
@Controller
@RequestMapping("/device/repair_outsourcing")
public class RepairOutsourcingController extends BaseController {
private String prefix = "device/repair_outsourcing";
@Autowired
private IRepairOutsourcingService repairOutsourcingService;
@Autowired
private IBaseInfoService baseScadaDeviceInfoService;
private List<BaseInfo> baseScadaDeviceInfos;
@Autowired
private IBaseManufacturerService baseManufacturerService;
private List<BaseDeviceManufacturer> baseManufacturerList;
@RequiresPermissions("device:repair_outsourcing:view")
@GetMapping()
public String repair_outsourcing() {
return prefix + "/repair_outsourcing";
}
/**
*
*/
@RequiresPermissions("device:repair_outsourcing:list")
@PostMapping("/list")
@ResponseBody
public TableDataInfo list(RepairOutsourcing repairOutsourcing) {
startPage();
List<RepairOutsourcing> list = repairOutsourcingService.selectRepairOutsourcingList(repairOutsourcing);
return getDataTable(list);
}
/**
*
*/
@RequiresPermissions("device:repair_outsourcing:export")
@Log(title = "委外工单", businessType = BusinessType.EXPORT)
@PostMapping("/export")
@ResponseBody
public AjaxResult export(RepairOutsourcing repairOutsourcing) {
List<RepairOutsourcing> list = repairOutsourcingService.selectRepairOutsourcingList(repairOutsourcing);
ExcelUtil<RepairOutsourcing> util = new ExcelUtil<RepairOutsourcing>(RepairOutsourcing.class);
return util.exportExcel(list, "委外工单数据");
}
/**
*
*/
@GetMapping("/add")
public String add(ModelMap mmap) {
if (baseScadaDeviceInfos == null || baseScadaDeviceInfos.isEmpty()) {
baseScadaDeviceInfos = baseScadaDeviceInfoService.selectBaseInfoList(null);
}
mmap.put("baseScadaDeviceInfos", baseScadaDeviceInfos);
if (baseManufacturerList == null || baseManufacturerList.isEmpty()) {
baseManufacturerList = baseManufacturerService.selectBaseManufacturerList(null);
}
mmap.put("baseManufacturerList", baseManufacturerList);
return prefix + "/add";
}
@Autowired
IDeviceRepartBillsService deviceRepartBillsService;
/**
*
*/
@RequiresPermissions("device:repair_outsourcing:add")
@Log(title = "委外工单", businessType = BusinessType.INSERT)
@PostMapping("/add")
@ResponseBody
public AjaxResult addSave(RepairOutsourcing repairOutsourcing) {
repairOutsourcing.setBillsCode("WW" + DateUtils.dateTimeNow());
int i = repairOutsourcingService.insertRepairOutsourcing(repairOutsourcing);
if (i > 0 && repairOutsourcing.getRepairBillsCode() != null) {
DeviceRepartBills deviceRepartBills = new DeviceRepartBills();
deviceRepartBills.setObjid(repairOutsourcing.getRepairBillsCode());
deviceRepartBills.setOrderState(3L);
deviceRepartBillsService.updateDeviceRepartBills(deviceRepartBills);
}
return toAjax(i);
}
/**
*
*/
@RequiresPermissions("device:repair_outsourcing:edit")
@GetMapping("/edit/{objid}")
public String edit(@PathVariable("objid") Long objid, ModelMap mmap) {
RepairOutsourcing repairOutsourcing = repairOutsourcingService.selectRepairOutsourcingByObjid(objid);
mmap.put("repairOutsourcing", repairOutsourcing);
if (baseManufacturerList == null || baseManufacturerList.isEmpty()) {
baseManufacturerList = baseManufacturerService.selectBaseManufacturerList(null);
}
mmap.put("baseManufacturerList", baseManufacturerList);
return prefix + "/edit";
}
/**
*
*/
@RequiresPermissions("device:repair_outsourcing:edit")
@Log(title = "委外工单", businessType = BusinessType.UPDATE)
@PostMapping("/edit")
@ResponseBody
public AjaxResult editSave(RepairOutsourcing repairOutsourcing) {
return toAjax(repairOutsourcingService.updateRepairOutsourcing(repairOutsourcing));
}
/**
*
*/
@RequiresPermissions("device:repair_outsourcing:remove")
@Log(title = "委外工单", businessType = BusinessType.DELETE)
@PostMapping("/remove")
@ResponseBody
public AjaxResult remove(String ids) {
return toAjax(repairOutsourcingService.deleteRepairOutsourcingByObjids(ids));
}
}

@ -0,0 +1,130 @@
package com.ruoyi.device.controller;
import com.ruoyi.common.annotation.Log;
import com.ruoyi.common.core.controller.BaseController;
import com.ruoyi.common.core.domain.AjaxResult;
import com.ruoyi.common.core.page.TableDataInfo;
import com.ruoyi.common.enums.BusinessType;
import com.ruoyi.common.utils.poi.ExcelUtil;
import com.ruoyi.device.domain.BaseDeviceManufacturer;
import com.ruoyi.device.domain.DeviceRepartBills;
import com.ruoyi.device.service.IBaseManufacturerService;
import com.ruoyi.device.service.IDeviceRepartBillsService;
import org.apache.shiro.authz.annotation.RequiresPermissions;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Controller;
import org.springframework.ui.ModelMap;
import org.springframework.web.bind.annotation.*;
import java.util.List;
/**
* Controller
*
* @author ruoyi
* @date 2022-05-26
*/
@Controller
@RequestMapping("/device/repart_bills")
public class RepartBillsController extends BaseController {
private String prefix = "device/repart_bills";
@Autowired
private IDeviceRepartBillsService deviceRepartBillsService;
// @Autowired
// private IBaseScadaDeviceInfoService baseScadaDeviceInfoService;
// private List<BaseInfo> baseScadaDeviceInfos;
@Autowired
private IBaseManufacturerService baseManufacturerService;
private List<BaseDeviceManufacturer> baseDeviceManufacturerList;
@RequiresPermissions("device:repart_bills:view")
@GetMapping()
public String repart_bills() {
return prefix + "/repart_bills";
}
/**
*
*/
@RequiresPermissions("device:repart_bills:list")
@PostMapping({"/list"})
@ResponseBody
public TableDataInfo list(DeviceRepartBills deviceRepartBills) {
startPage();
List<DeviceRepartBills> list = deviceRepartBillsService.selectDeviceRepartBillsList(deviceRepartBills);
return getDataTable(list);
}
/**
*
*/
@RequiresPermissions("device:repart_bills:export")
@Log(title = "维修工单", businessType = BusinessType.EXPORT)
@PostMapping("/export")
@ResponseBody
public AjaxResult export(DeviceRepartBills deviceRepartBills) {
List<DeviceRepartBills> list = deviceRepartBillsService.selectDeviceRepartBillsList(deviceRepartBills);
ExcelUtil<DeviceRepartBills> util = new ExcelUtil<DeviceRepartBills>(DeviceRepartBills.class);
return util.exportExcel(list, "维修工单数据");
}
/**
*
*/
@GetMapping("/add")
public String add() {
return prefix + "/add";
}
/**
*
*/
@RequiresPermissions("device:repart_bills:add")
@Log(title = "维修工单", businessType = BusinessType.INSERT)
@PostMapping("/add")
@ResponseBody
public AjaxResult addSave(DeviceRepartBills deviceRepartBills) {
return toAjax(deviceRepartBillsService.insertDeviceRepartBills(deviceRepartBills));
}
/**
*
*/
@RequiresPermissions("device:repart_bills:edit")
@GetMapping("/edit/{objid}")
public String edit(@PathVariable("objid") Long objid, ModelMap mmap) {
DeviceRepartBills deviceRepartBills = deviceRepartBillsService.selectDeviceRepartBillsByObjid(objid);
mmap.put("deviceRepartBills", deviceRepartBills);
if (baseDeviceManufacturerList == null || baseDeviceManufacturerList.isEmpty()) {
baseDeviceManufacturerList = baseManufacturerService.selectBaseManufacturerList(null);
}
mmap.put("baseManufacturerList", baseDeviceManufacturerList);
return "device/repair_outsourcing/repair_add";
}
/**
*
*/
@RequiresPermissions("device:repart_bills:edit")
@Log(title = "维修工单", businessType = BusinessType.UPDATE)
@PostMapping("/edit")
@ResponseBody
public AjaxResult editSave(DeviceRepartBills deviceRepartBills) {
return toAjax(deviceRepartBillsService.updateDeviceRepartBills(deviceRepartBills));
}
/**
*
*/
@RequiresPermissions("device:repart_bills:remove")
@Log(title = "维修工单", businessType = BusinessType.DELETE)
@PostMapping("/remove")
@ResponseBody
public AjaxResult remove(String ids) {
return toAjax(deviceRepartBillsService.deleteDeviceRepartBillsByObjids(ids));
}
}

@ -0,0 +1,102 @@
package com.ruoyi.device.domain;
import com.ruoyi.common.annotation.Excel;
import com.ruoyi.common.core.domain.BaseEntity;
import org.apache.commons.lang3.builder.ToStringBuilder;
import org.apache.commons.lang3.builder.ToStringStyle;
/**
* device_base_location
*
* @author ruoyi
* @date 2025-05-28
*/
public class BaseDeviceLocation extends BaseEntity
{
private static final long serialVersionUID = 1L;
/** 桩位主键 */
private Long locationId;
/** 桩位编码 */
@Excel(name = "桩位编码")
private String rfidCode;
/** 桩位名称 */
@Excel(name = "桩位名称")
private String locationName;
/** 所属机坪 */
@Excel(name = "所属机坪")
private String airLocation;
/** 安装位置 */
@Excel(name = "安装位置")
private String installPosition;
public Long getLocationId()
{
return locationId;
}
public void setLocationId(Long locationId)
{
this.locationId = locationId;
}
public String getRfidCode()
{
return rfidCode;
}
public void setRfidCode(String rfidCode)
{
this.rfidCode = rfidCode;
}
public String getLocationName()
{
return locationName;
}
public void setLocationName(String locationName)
{
this.locationName = locationName;
}
public String getAirLocation()
{
return airLocation;
}
public void setAirLocation(String airLocation)
{
this.airLocation = airLocation;
}
public String getInstallPosition()
{
return installPosition;
}
public void setInstallPosition(String installPosition)
{
this.installPosition = installPosition;
}
@Override
public String toString() {
return new ToStringBuilder(this,ToStringStyle.MULTI_LINE_STYLE)
.append("locationId", getLocationId())
.append("rfidCode", getRfidCode())
.append("locationName", getLocationName())
.append("airLocation", getAirLocation())
.append("remark", getRemark())
.append("installPosition", getInstallPosition())
.append("createBy", getCreateBy())
.append("createTime", getCreateTime())
.append("updateBy", getUpdateBy())
.append("updateTime", getUpdateTime())
.toString();
}
}

@ -0,0 +1,125 @@
package com.ruoyi.device.domain;
import com.ruoyi.common.annotation.Excel;
import com.ruoyi.common.core.domain.BaseEntity;
import org.apache.commons.lang3.builder.ToStringBuilder;
import org.apache.commons.lang3.builder.ToStringStyle;
/**
* device_base_manufacturer
*
* @author wangh
* @date 2022-04-02
*/
public class BaseDeviceManufacturer extends BaseEntity
{
private static final long serialVersionUID = 1L;
/** 主键 */
private Long objid;
/** 厂商名称 */
@Excel(name = "厂商名称")
private String manufacturerName;
/** 联系电话 */
@Excel(name = "联系电话")
private String phone;
/** 联系人 */
@Excel(name = "联系人")
private String contacts;
/** 传真 */
@Excel(name = "传真")
private String fax;
/** 地址 */
@Excel(name = "地址")
private String address;
/** 邮箱 */
@Excel(name = "邮箱")
private String mail;
public void setObjid(Long objid)
{
this.objid = objid;
}
public Long getObjid()
{
return objid;
}
public void setManufacturerName(String manufacturerName)
{
this.manufacturerName = manufacturerName;
}
public String getManufacturerName()
{
return manufacturerName;
}
public void setPhone(String phone)
{
this.phone = phone;
}
public String getPhone()
{
return phone;
}
public void setContacts(String contacts)
{
this.contacts = contacts;
}
public String getContacts()
{
return contacts;
}
public void setFax(String fax)
{
this.fax = fax;
}
public String getFax()
{
return fax;
}
public void setAddress(String address)
{
this.address = address;
}
public String getAddress()
{
return address;
}
public void setMail(String mail)
{
this.mail = mail;
}
public String getMail()
{
return mail;
}
@Override
public String toString() {
return new ToStringBuilder(this,ToStringStyle.MULTI_LINE_STYLE)
.append("objid", getObjid())
.append("manufacturerName", getManufacturerName())
.append("phone", getPhone())
.append("contacts", getContacts())
.append("fax", getFax())
.append("address", getAddress())
.append("mail", getMail())
.append("createBy", getCreateBy())
.append("createTime", getCreateTime())
.append("updateBy", getUpdateBy())
.append("updateTime", getUpdateTime())
.toString();
}
}

@ -0,0 +1,230 @@
package com.ruoyi.device.domain;
import com.ruoyi.common.annotation.Excel;
import com.ruoyi.common.core.domain.BaseEntity;
import org.apache.commons.lang3.builder.ToStringBuilder;
import org.apache.commons.lang3.builder.ToStringStyle;
/**
* device_base_info
*
* @author ruoyi
* @date 2025-05-19
*/
public class BaseInfo extends BaseEntity {
private static final long serialVersionUID = 1L;
/**
*
*/
private Long objId;
/**
*
*/
@Excel(name = "设备编码")
private String deviceCode;
/**
*
*/
@Excel(name = "设备名称")
private String deviceName;
/**
*
*/
@Excel(name = "设备类型")
private Long deviceType;
/**
* 使
*/
@Excel(name = "使用状态")
private String useState;
/**
*
*/
@Excel(name = "设备状态")
private String deviceState;
/**
*
*/
@Excel(name = "摆放桩位")
private String locationName;
/**
*
*/
@Excel(name = "开锁密码")
private String openPassword;
private String typeName;
private Double defaultPrice;
/**
* 使
*/
@Excel(name = "默认使用时间")
private Double defaultTime;
// 锁编码
private String openCode;
/**
* ID
*/
private Long userId;
private String asName;
/**
* ID
*/
private Long deptId;
private String useUser;
public String getAsName() {
return asName;
}
public void setAsName(String asName) {
this.asName = asName;
}
public String getOpenCode() {
return openCode;
}
public void setOpenCode(String openCode) {
this.openCode = openCode;
}
public Long getUserId() {
return userId;
}
public void setUserId(Long userId) {
this.userId = userId;
}
public Long getDeptId() {
return deptId;
}
public void setDeptId(Long deptId) {
this.deptId = deptId;
}
public String getUseUser() {
return useUser;
}
public void setUseUser(String useUser) {
this.useUser = useUser;
}
public Double getDefaultPrice() {
return defaultPrice;
}
public void setDefaultPrice(Double defaultPrice) {
this.defaultPrice = defaultPrice;
}
public Double getDefaultTime() {
return defaultTime;
}
public void setDefaultTime(Double defaultTime) {
this.defaultTime = defaultTime;
}
public String getTypeName() {
return typeName;
}
public void setTypeName(String typeName) {
this.typeName = typeName;
}
public Long getObjId() {
return objId;
}
public void setObjId(Long objId) {
this.objId = objId;
}
public String getDeviceCode() {
return deviceCode;
}
public void setDeviceCode(String deviceCode) {
this.deviceCode = deviceCode;
}
public String getDeviceName() {
return deviceName;
}
public void setDeviceName(String deviceName) {
this.deviceName = deviceName;
}
public Long getDeviceType() {
return deviceType;
}
public void setDeviceType(Long deviceType) {
this.deviceType = deviceType;
}
public String getUseState() {
return useState;
}
public void setUseState(String useState) {
this.useState = useState;
}
public String getDeviceState() {
return deviceState;
}
public void setDeviceState(String deviceState) {
this.deviceState = deviceState;
}
public String getLocationName() {
return locationName;
}
public void setLocationName(String locationName) {
this.locationName = locationName;
}
public String getOpenPassword() {
return openPassword;
}
public void setOpenPassword(String openPassword) {
this.openPassword = openPassword;
}
@Override
public String toString() {
return new ToStringBuilder(this, ToStringStyle.MULTI_LINE_STYLE)
.append("objId", getObjId())
.append("deviceCode", getDeviceCode())
.append("deviceName", getDeviceName())
.append("deviceType", getDeviceType())
.append("useState", getUseState())
.append("deviceState", getDeviceState())
.append("locationName", getLocationName())
.append("createBy", getCreateBy())
.append("createTime", getCreateTime())
.append("updateBy", getUpdateBy())
.append("updateTime", getUpdateTime())
.append("openPassword", getOpenPassword())
.toString();
}
}

@ -0,0 +1,86 @@
package com.ruoyi.device.domain;
import org.apache.commons.lang3.builder.ToStringBuilder;
import org.apache.commons.lang3.builder.ToStringStyle;
import com.ruoyi.common.annotation.Excel;
import com.ruoyi.common.core.domain.BaseEntity;
/**
* device_base_type
*
* @author ruoyi
* @date 2025-05-19
*/
public class BaseType extends BaseEntity
{
private static final long serialVersionUID = 1L;
/** 主键 */
private Long objId;
/** 设备类型名称 */
@Excel(name = "设备类型名称")
private String deviceTypeName;
/** 默认计费价格(小时) */
@Excel(name = "默认计费价格(小时)")
private Double defaultPrice;
/** 默认使用时间 */
@Excel(name = "默认使用时间")
private Double defaultTime;
public void setObjId(Long objId)
{
this.objId = objId;
}
public Long getObjId()
{
return objId;
}
public void setDeviceTypeName(String deviceTypeName)
{
this.deviceTypeName = deviceTypeName;
}
public String getDeviceTypeName()
{
return deviceTypeName;
}
public void setDefaultPrice(Double defaultPrice)
{
this.defaultPrice = defaultPrice;
}
public Double getDefaultPrice()
{
return defaultPrice;
}
public void setDefaultTime(Double defaultTime)
{
this.defaultTime = defaultTime;
}
public Double getDefaultTime()
{
return defaultTime;
}
@Override
public String toString() {
return new ToStringBuilder(this,ToStringStyle.MULTI_LINE_STYLE)
.append("objId", getObjId())
.append("deviceTypeName", getDeviceTypeName())
.append("defaultPrice", getDefaultPrice())
.append("defaultTime", getDefaultTime())
.append("createBy", getCreateBy())
.append("createTime", getCreateTime())
.append("updateBy", getUpdateBy())
.append("updateTime", getUpdateTime())
.toString();
}
}

@ -0,0 +1,97 @@
package com.ruoyi.device.domain;
import org.apache.commons.lang3.builder.ToStringBuilder;
import org.apache.commons.lang3.builder.ToStringStyle;
import com.ruoyi.common.annotation.Excel;
import com.ruoyi.common.core.domain.BaseEntity;
/**
* device_base_fault
*
* @author wangh
* @date 2025-09-24
*/
public class DeviceBaseFault extends BaseEntity
{
private static final long serialVersionUID = 1L;
/** */
private Long objid;
/** 故障代码 */
@Excel(name = "故障代码")
private String faultCode;
/** 故障名称 */
@Excel(name = "故障名称")
private String faultName;
/** 故障说明 */
@Excel(name = "故障说明")
private String faultInfo;
/** 应急措施 */
@Excel(name = "应急措施")
private String emergencyMeasures;
public void setObjid(Long objid)
{
this.objid = objid;
}
public Long getObjid()
{
return objid;
}
public void setFaultCode(String faultCode)
{
this.faultCode = faultCode;
}
public String getFaultCode()
{
return faultCode;
}
public void setFaultName(String faultName)
{
this.faultName = faultName;
}
public String getFaultName()
{
return faultName;
}
public void setFaultInfo(String faultInfo)
{
this.faultInfo = faultInfo;
}
public String getFaultInfo()
{
return faultInfo;
}
public void setEmergencyMeasures(String emergencyMeasures)
{
this.emergencyMeasures = emergencyMeasures;
}
public String getEmergencyMeasures()
{
return emergencyMeasures;
}
@Override
public String toString() {
return new ToStringBuilder(this,ToStringStyle.MULTI_LINE_STYLE)
.append("objid", getObjid())
.append("faultcode", getFaultCode())
.append("faultName", getFaultName())
.append("faultInfo", getFaultInfo())
.append("emergencyMeasures", getEmergencyMeasures())
.append("createBy", getCreateBy())
.append("createTime", getCreateTime())
.append("updateBy", getUpdateBy())
.append("updateTime", getUpdateTime())
.toString();
}
}

@ -0,0 +1,125 @@
package com.ruoyi.device.domain;
import org.apache.commons.lang3.builder.ToStringBuilder;
import org.apache.commons.lang3.builder.ToStringStyle;
import com.ruoyi.common.annotation.Excel;
import com.ruoyi.common.core.domain.BaseEntity;
/**
* device_inspect_project
*
* @author wangh
* @date 2025-09-30
*/
public class DeviceInspectProject extends BaseEntity
{
private static final long serialVersionUID = 1L;
/** 主键 */
private Long objId;
/** 关联手册 */
@Excel(name = "关联手册")
private Long manualId;
/** 项目编号 */
@Excel(name = "项目编号")
private String inspectProjectCode;
/** 巡检项目 */
@Excel(name = "巡检项目")
private String inspectProject;
/** 巡检项目属性 */
@Excel(name = "巡检项目属性")
private String inspectProjectProperty;
/** 上限 */
@Excel(name = "上限")
private String upLimit;
/** 下限 */
@Excel(name = "下限")
private String lowLimit;
public void setObjId(Long objId)
{
this.objId = objId;
}
public Long getObjId()
{
return objId;
}
public void setManualId(Long manualId)
{
this.manualId = manualId;
}
public Long getManualId()
{
return manualId;
}
public void setInspectProjectCode(String inspectProjectCode)
{
this.inspectProjectCode = inspectProjectCode;
}
public String getInspectProjectCode()
{
return inspectProjectCode;
}
public void setInspectProject(String inspectProject)
{
this.inspectProject = inspectProject;
}
public String getInspectProject()
{
return inspectProject;
}
public void setInspectProjectProperty(String inspectProjectProperty)
{
this.inspectProjectProperty = inspectProjectProperty;
}
public String getInspectProjectProperty()
{
return inspectProjectProperty;
}
public void setUpLimit(String upLimit)
{
this.upLimit = upLimit;
}
public String getUpLimit()
{
return upLimit;
}
public void setLowLimit(String lowLimit)
{
this.lowLimit = lowLimit;
}
public String getLowLimit()
{
return lowLimit;
}
@Override
public String toString() {
return new ToStringBuilder(this,ToStringStyle.MULTI_LINE_STYLE)
.append("objId", getObjId())
.append("manualId", getManualId())
.append("inspectProjectCode", getInspectProjectCode())
.append("inspectProject", getInspectProject())
.append("inspectProjectProperty", getInspectProjectProperty())
.append("upLimit", getUpLimit())
.append("lowLimit", getLowLimit())
.append("createBy", getCreateBy())
.append("createTime", getCreateTime())
.append("updateBy", getUpdateBy())
.append("updateTime", getUpdateTime())
.toString();
}
}

@ -0,0 +1,69 @@
package com.ruoyi.device.domain;
import org.apache.commons.lang3.builder.ToStringBuilder;
import org.apache.commons.lang3.builder.ToStringStyle;
import com.ruoyi.common.annotation.Excel;
import com.ruoyi.common.core.domain.BaseEntity;
/**
* device_inspection_manual
*
* @author wangh
* @date 2025-09-30
*/
public class DeviceInspectionManual extends BaseEntity
{
private static final long serialVersionUID = 1L;
/** 主键 */
private Long objId;
/** 手册编码 */
@Excel(name = "手册编码")
private String manualCode;
/** 手册名称 */
@Excel(name = "手册名称")
private String manualName;
public void setObjId(Long objId)
{
this.objId = objId;
}
public Long getObjId()
{
return objId;
}
public void setManualCode(String manualCode)
{
this.manualCode = manualCode;
}
public String getManualCode()
{
return manualCode;
}
public void setManualName(String manualName)
{
this.manualName = manualName;
}
public String getManualName()
{
return manualName;
}
@Override
public String toString() {
return new ToStringBuilder(this,ToStringStyle.MULTI_LINE_STYLE)
.append("objId", getObjId())
.append("manualCode", getManualCode())
.append("manualName", getManualName())
.append("createBy", getCreateBy())
.append("createTime", getCreateTime())
.append("updateBy", getUpdateBy())
.append("updateTime", getUpdateTime())
.toString();
}
}

@ -0,0 +1,54 @@
package com.ruoyi.device.domain;
import org.apache.commons.lang3.builder.ToStringBuilder;
import org.apache.commons.lang3.builder.ToStringStyle;
import com.ruoyi.common.annotation.Excel;
import com.ruoyi.common.core.domain.BaseEntity;
/**
* 线 device_inspection_route
*
* @author wangh
* @date 2025-10-23
*/
public class DeviceInspectionRoute extends BaseEntity
{
private static final long serialVersionUID = 1L;
/** 线路ID */
private Long routeId;
/** 线路名称 */
@Excel(name = "线路名称")
private String routeName;
public void setRouteId(Long routeId)
{
this.routeId = routeId;
}
public Long getRouteId()
{
return routeId;
}
public void setRouteName(String routeName)
{
this.routeName = routeName;
}
public String getRouteName()
{
return routeName;
}
@Override
public String toString() {
return new ToStringBuilder(this,ToStringStyle.MULTI_LINE_STYLE)
.append("routeId", getRouteId())
.append("routeName", getRouteName())
.append("remark", getRemark())
.append("createBy", getCreateBy())
.append("createTime", getCreateTime())
.toString();
}
}

@ -0,0 +1,156 @@
package com.ruoyi.device.domain;
import com.ruoyi.common.annotation.Excel;
import com.ruoyi.common.core.domain.BaseEntity;
import org.apache.commons.lang3.builder.ToStringBuilder;
import org.apache.commons.lang3.builder.ToStringStyle;
/**
* device_repart_bills
*
* @author ruoyi
* @date 2022-05-26
*/
public class DeviceRepartBills extends BaseEntity {
private static final long serialVersionUID = 1L;
/**
*
*/
private Long objid;
/**
*
*/
@Excel(name = "维修单号")
private String workOrder;
/**
*
*/
@Excel(name = "设备编号")
private String deviceID;
/**
*
*/
@Excel(name = "故障类别")
private Long faultType;
/**
*
*/
@Excel(name = "涉及操作")
private String operation;
/**
*
*/
@Excel(name = "照片路径")
private String pictures;
/**
* 0-1-,2-,3-
*/
@Excel(name = "工单状态 0-待维修1-维修中,2-完成,3-转为外协")
private Long orderState;
/**
*
*/
@Excel(name = "工单来源")
private Long billsType;
private BaseInfo deviceInfo;
private DeviceBaseFault deviceBaseFault;
public DeviceBaseFault getDeviceBaseFault() {
return deviceBaseFault;
}
public void setDeviceBaseFault(DeviceBaseFault deviceBaseFault) {
this.deviceBaseFault = deviceBaseFault;
}
public BaseInfo getDeviceInfo() {
return deviceInfo;
}
public void setDeviceInfo(BaseInfo deviceInfo) {
this.deviceInfo = deviceInfo;
}
public Long getObjid() {
return objid;
}
public void setObjid(Long objid) {
this.objid = objid;
}
public String getWorkOrder() {
return workOrder;
}
public void setWorkOrder(String workOrder) {
this.workOrder = workOrder;
}
public String getDeviceID() {
return deviceID;
}
public void setDeviceID(String deviceID) {
this.deviceID = deviceID;
}
public Long getFaultType() {
return faultType;
}
public void setFaultType(Long faultType) {
this.faultType = faultType;
}
public String getOperation() {
return operation;
}
/**
*
*
* @param operation
*/
public void setOperation(String operation) {
this.operation = operation;
}
public String getPictures() {
return pictures;
}
public void setPictures(String pictures) {
this.pictures = pictures;
}
public Long getOrderState() {
return orderState;
}
public void setOrderState(Long orderState) {
this.orderState = orderState;
}
public Long getBillsType() {
return billsType;
}
public void setBillsType(Long billsType) {
this.billsType = billsType;
}
@Override
public String toString() {
return new ToStringBuilder(this, ToStringStyle.MULTI_LINE_STYLE).append("objid", getObjid()).append("workOrder", getWorkOrder()).append("deviceID", getDeviceID()).append("faultType", getFaultType()).append("operation", getOperation()).append("remark", getRemark()).append("pictures", getPictures()).append("orderState", getOrderState()).append("billsType", getBillsType()).append("createBy", getCreateBy()).append("createTime", getCreateTime()).toString();
}
}

@ -0,0 +1,41 @@
package com.ruoyi.device.domain;
import com.ruoyi.common.annotation.Excel;
public class LundangBaseStore {
/** 仓库id */
private Long storeId;
/** 仓库编号 */
@Excel(name = "仓库编号")
private String storeCode;
/** 仓库名称 */
@Excel(name = "仓库名称")
private String storeName;
public Long getStoreId() {
return storeId;
}
public void setStoreId(Long storeId) {
this.storeId = storeId;
}
public String getStoreCode() {
return storeCode;
}
public void setStoreCode(String storeCode) {
this.storeCode = storeCode;
}
public String getStoreName() {
return storeName;
}
public void setStoreName(String storeName) {
this.storeName = storeName;
}
}

@ -0,0 +1,41 @@
package com.ruoyi.device.domain;
public class MyResult {
private int code;
private String msg;
private Object data;
public int getCode() {
return code;
}
public void setCode(int code) {
this.code = code;
}
public String getMsg() {
return msg;
}
public void setMsg(String msg) {
this.msg = msg;
}
public Object getData() {
return data;
}
public void setData(Object data) {
this.data = data;
}
@Override
public String toString() {
return "MyResult{" +
"code=" + code +
", msg='" + msg + '\'' +
// ", data=" + data +
'}';
}
}

@ -0,0 +1,308 @@
package com.ruoyi.device.domain;
import com.fasterxml.jackson.annotation.JsonFormat;
import com.ruoyi.common.annotation.Excel;
import com.ruoyi.common.core.domain.BaseEntity;
import org.apache.commons.lang3.builder.ToStringBuilder;
import org.apache.commons.lang3.builder.ToStringStyle;
import java.util.Date;
/**
* 使 device_record_use
*
* @author ruoyi
* @date 2025-05-19
*/
public class RecordUse extends BaseEntity {
private static final long serialVersionUID = 1L;
/**
*
*/
private Long objId;
/**
* ID
*/
@Excel(name = "设备ID")
private String deviceId;
/**
*
*/
@Excel(name = "设备编码")
private String deviceCode;
/**
*
*/
@Excel(name = "设备编码")
private String baseDeviceCode;
/**
*
*/
@Excel(name = "设备名称")
private String deviceName;
/**
*
*/
@Excel(name = "设备类型")
private String deviceType;
/**
*
*/
@JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
@Excel(name = "开锁时间", width = 30, dateFormat = "yyyy-MM-dd HH:mm:ss")
private Date openTime;
/**
*
*/
@JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
@Excel(name = "关锁时间", width = 30, dateFormat = "yyyy-MM-dd HH:mm:ss")
private Date closeTime;
/**
* 使()
*/
@Excel(name = "使用时间(小时)")
private double useTime;
/**
* 使
*/
@Excel(name = "默认使用时间")
private double defaultTime;
/**
*
*/
@Excel(name = "计费价格")
private double chargePrice;
/**
*
*/
@Excel(name = "超时状态")
private String overtimeState;
/**
* 使
*/
@Excel(name = "使用状态")
private String useState;
/**
*
*/
@Excel(name = "借用人")
private String useUser;
/**
*
*/
@Excel(name = "借用单位")
private String useUnit;
/**
*
*/
private String queryYear;
/**
*
*/
private String queryMonth;
/**
* 1
*/
private String deptId;
/**
* 2
*/
private String userId;
public String getBaseDeviceCode() {
return baseDeviceCode;
}
public void setBaseDeviceCode(String baseDeviceCode) {
this.baseDeviceCode = baseDeviceCode;
}
public Long getObjId() {
return objId;
}
public void setObjId(Long objId) {
this.objId = objId;
}
public String getDeviceId() {
return deviceId;
}
public void setDeviceId(String deviceId) {
this.deviceId = deviceId;
}
public String getDeviceCode() {
return deviceCode;
}
public void setDeviceCode(String deviceCode) {
this.deviceCode = deviceCode;
}
public String getDeviceName() {
return deviceName;
}
public void setDeviceName(String deviceName) {
this.deviceName = deviceName;
}
public String getDeviceType() {
return deviceType;
}
public void setDeviceType(String deviceType) {
this.deviceType = deviceType;
}
public Date getOpenTime() {
return openTime;
}
public void setOpenTime(Date openTime) {
this.openTime = openTime;
}
public Date getCloseTime() {
return closeTime;
}
public void setCloseTime(Date closeTime) {
this.closeTime = closeTime;
}
public double getUseTime() {
return useTime;
}
public void setUseTime(double useTime) {
this.useTime = useTime;
}
public double getDefaultTime() {
return defaultTime;
}
public void setDefaultTime(double defaultTime) {
this.defaultTime = defaultTime;
}
public double getChargePrice() {
return chargePrice;
}
public void setChargePrice(double chargePrice) {
this.chargePrice = chargePrice;
}
public String getOvertimeState() {
return overtimeState;
}
public void setOvertimeState(String overtimeState) {
this.overtimeState = overtimeState;
}
public String getUseState() {
return useState;
}
public void setUseState(String useState) {
this.useState = useState;
}
public String getUseUser() {
return useUser;
}
public void setUseUser(String useUser) {
this.useUser = useUser;
}
public String getUseUnit() {
return useUnit;
}
public void setUseUnit(String useUnit) {
this.useUnit = useUnit;
}
public String getQueryYear() {
return queryYear;
}
public void setQueryYear(String queryYear) {
this.queryYear = queryYear;
}
public String getQueryMonth() {
return queryMonth;
}
public void setQueryMonth(String queryMonth) {
this.queryMonth = queryMonth;
}
public String getDeptId() {
return deptId;
}
public void setDeptId(String deptId) {
this.deptId = deptId;
}
public String getUserId() {
return userId;
}
public void setUserId(String userId) {
this.userId = userId;
}
@Override
public String toString() {
return new ToStringBuilder(this, ToStringStyle.MULTI_LINE_STYLE)
.append("objId", getObjId())
.append("deviceId", getDeviceId())
.append("deviceCode", getDeviceCode())
.append("deviceName", getDeviceName())
.append("deviceType", getDeviceType())
.append("openTime", getOpenTime())
.append("closeTime", getCloseTime())
.append("useTime", getUseTime())
.append("defaultTime", getDefaultTime())
.append("chargePrice", getChargePrice())
.append("overtimeState", getOvertimeState())
.append("useState", getUseState())
.append("useUser", getUseUser())
.append("useUnit", getUseUnit())
.append("createBy", getCreateBy())
.append("createTime", getCreateTime())
.append("queryYear", getQueryYear())
.append("queryMonth", getQueryMonth())
.append("deptId", getDeptId())
.append("userId", getUserId())
.toString();
}
}

@ -0,0 +1,154 @@
package com.ruoyi.device.domain;
import com.fasterxml.jackson.annotation.JsonFormat;
import com.ruoyi.common.annotation.Excel;
import com.ruoyi.common.core.domain.BaseEntity;
import org.apache.commons.lang3.builder.ToStringBuilder;
import org.apache.commons.lang3.builder.ToStringStyle;
import java.util.Date;
/**
* device_repair_outsourcing
*
* @author wh
* @date 2022-06-08
*/
public class RepairOutsourcing extends BaseEntity
{
private static final long serialVersionUID = 1L;
/** 主键 */
private Long objid;
/** 单号 */
@Excel(name = "单号")
private String billsCode;
/** 设备ID */
@Excel(name = "设备ID")
private Long deviceId;
/** 委外单位 */
@Excel(name = "委外单位")
private String manufacturerName;
/** 联系人 */
@Excel(name = "联系人")
private String contacts;
/** 联系方式 */
@Excel(name = "联系方式")
private String phone;
/** 申请原因 */
@Excel(name = "申请原因")
private String reason;
/** 结束时间 */
@JsonFormat(pattern = "yyyy-MM-dd")
@Excel(name = "结束时间", width = 30, dateFormat = "yyyy-MM-dd")
private Date endDay;
private BaseInfo deviceInfo;
private Long repairBillsCode;
public BaseInfo getDeviceInfo() {
return deviceInfo;
}
public Long getRepairBillsCode() {
return repairBillsCode;
}
public void setRepairBillsCode(Long repairBillsCode) {
this.repairBillsCode = repairBillsCode;
}
public void setDeviceInfo(BaseInfo deviceInfo) {
this.deviceInfo = deviceInfo;
}
public void setObjid(Long objid)
{
this.objid = objid;
}
public Long getObjid()
{
return objid;
}
public void setBillsCode(String billsCode)
{
this.billsCode = billsCode;
}
public String getBillsCode()
{
return billsCode;
}
public void setDeviceId(Long deviceId)
{
this.deviceId = deviceId;
}
public Long getDeviceId()
{
return deviceId;
}
public void setManufacturerName(String manufacturerName)
{
this.manufacturerName = manufacturerName;
}
public String getManufacturerName()
{
return manufacturerName;
}
public void setContacts(String contacts)
{
this.contacts = contacts;
}
public String getContacts()
{
return contacts;
}
public void setPhone(String phone)
{
this.phone = phone;
}
public String getPhone()
{
return phone;
}
public void setReason(String reason)
{
this.reason = reason;
}
public String getReason()
{
return reason;
}
public Date getEndDay() {
return endDay;
}
public void setEndDay(Date endDay) {
this.endDay = endDay;
}
@Override
public String toString() {
return new ToStringBuilder(this,ToStringStyle.MULTI_LINE_STYLE)
.append("objid", getObjid())
.append("billsCode", getBillsCode())
.append("deviceId", getDeviceId())
.append("manufacturerName", getManufacturerName())
.append("contacts", getContacts())
.append("phone", getPhone())
.append("reason", getReason())
.append("createBy", getCreateBy())
.append("createTime", getCreateTime())
.toString();
}
}

@ -0,0 +1,64 @@
package com.ruoyi.device.mapper;
import com.ruoyi.device.domain.BaseDeviceLocation;
import org.springframework.stereotype.Repository;
import java.util.List;
/**
* Mapper
*
* @author ruoyi
* @date 2025-05-28
*/
@Repository
public interface BaseDeviceLocationMapper
{
/**
*
*
* @param locationId
* @return
*/
public BaseDeviceLocation selectBaseLocationByLocationId(Long locationId);
/**
*
*
* @param baseDeviceLocation
* @return
*/
public List<BaseDeviceLocation> selectBaseLocationList(BaseDeviceLocation baseDeviceLocation);
/**
*
*
* @param baseDeviceLocation
* @return
*/
public int insertBaseLocation(BaseDeviceLocation baseDeviceLocation);
/**
*
*
* @param baseDeviceLocation
* @return
*/
public int updateBaseLocation(BaseDeviceLocation baseDeviceLocation);
/**
*
*
* @param locationId
* @return
*/
public int deleteBaseLocationByLocationId(Long locationId);
/**
*
*
* @param locationIds
* @return
*/
public int deleteBaseLocationByLocationIds(String[] locationIds);
}

@ -0,0 +1,66 @@
package com.ruoyi.device.mapper;
import com.ruoyi.device.domain.BaseDeviceManufacturer;
import org.springframework.stereotype.Repository;
import java.util.List;
/**
* Mapper
*
* @author wangh
* @date 2022-04-02
*/
@Repository
public interface BaseDeviceManufacturerMapper
{
/**
*
*
* @param objid
* @return
*/
public BaseDeviceManufacturer selectBaseManufacturerByObjid(Long objid);
/**
*
*
* @param baseDeviceManufacturer
* @return
*/
public List<BaseDeviceManufacturer> selectBaseManufacturerList(BaseDeviceManufacturer baseDeviceManufacturer);
/**
*
*
* @param baseDeviceManufacturer
* @return
*/
public int insertBaseManufacturer(BaseDeviceManufacturer baseDeviceManufacturer);
/**
*
*
* @param baseDeviceManufacturer
* @return
*/
public int updateBaseManufacturer(BaseDeviceManufacturer baseDeviceManufacturer);
/**
*
*
* @param objid
* @return
*/
public int deleteBaseManufacturerByObjid(Long objid);
/**
*
*
* @param objids
* @return
*/
public int deleteBaseManufacturerByObjids(String[] objids);
BaseDeviceManufacturer selectBaseManufacturerByName(String name);
}

@ -0,0 +1,71 @@
package com.ruoyi.device.mapper;
import java.util.List;
import com.ruoyi.device.domain.BaseType;
import org.springframework.stereotype.Repository;
import com.ruoyi.device.domain.BaseInfo;
/**
* Mapper
*
* @author ruoyi
* @date 2025-05-19
*/
@Repository
public interface BaseInfoMapper
{
/**
*
*
* @param objId
* @return
*/
public BaseInfo selectBaseInfoByObjId(Long objId);
/**
*
*
* @param baseInfo
* @return
*/
public List<BaseInfo> selectBaseInfoList(BaseInfo baseInfo);
/**
*
*
* @param baseInfo
* @return
*/
public int insertBaseInfo(BaseInfo baseInfo);
/**
*
*
* @param baseInfo
* @return
*/
public int updateBaseInfo(BaseInfo baseInfo);
/**
*
*
* @param objId
* @return
*/
public int deleteBaseInfoByObjId(Long objId);
/**
*
*
* @param objIds
* @return
*/
public int deleteBaseInfoByObjIds(String[] objIds);
BaseInfo checkDeviceCode(BaseInfo baseInfo);
BaseInfo selectDeviceInfo(String deviceCode);
List<BaseInfo> selectDeviceInfoList();
}

@ -0,0 +1,65 @@
package com.ruoyi.device.mapper;
import java.util.List;
import com.ruoyi.device.domain.BaseType;
import org.springframework.stereotype.Repository;
/**
* Mapper
*
* @author ruoyi
* @date 2025-05-19
*/
@Repository
public interface BaseTypeMapper
{
/**
*
*
* @param objId
* @return
*/
public BaseType selectBaseTypeByObjId(Long objId);
/**
*
*
* @param baseType
* @return
*/
public List<BaseType> selectBaseTypeList(BaseType baseType);
/**
*
*
* @param baseType
* @return
*/
public int insertBaseType(BaseType baseType);
/**
*
*
* @param baseType
* @return
*/
public int updateBaseType(BaseType baseType);
/**
*
*
* @param objId
* @return
*/
public int deleteBaseTypeByObjId(Long objId);
/**
*
*
* @param objIds
* @return
*/
public int deleteBaseTypeByObjIds(String[] objIds);
BaseType checkDeviceTypeName(BaseType baseType);
}

@ -0,0 +1,64 @@
package com.ruoyi.device.mapper;
import java.util.List;
import com.ruoyi.device.domain.DeviceBaseFault;
import org.springframework.stereotype.Repository;
/**
* Mapper
*
* @author wangh
* @date 2025-09-24
*/
@Repository
public interface DeviceBaseFaultMapper
{
/**
*
*
* @param objid
* @return
*/
public DeviceBaseFault selectDeviceBaseFaultByObjid(Long objid);
/**
*
*
* @param deviceBaseFault
* @return
*/
public List<DeviceBaseFault> selectDeviceBaseFaultList(DeviceBaseFault deviceBaseFault);
/**
*
*
* @param deviceBaseFault
* @return
*/
public int insertDeviceBaseFault(DeviceBaseFault deviceBaseFault);
/**
*
*
* @param deviceBaseFault
* @return
*/
public int updateDeviceBaseFault(DeviceBaseFault deviceBaseFault);
/**
*
*
* @param objid
* @return
*/
public int deleteDeviceBaseFaultByObjid(Long objid);
/**
*
*
* @param objids
* @return
*/
public int deleteDeviceBaseFaultByObjids(String[] objids);
List<DeviceBaseFault> selectFaultList();
}

@ -0,0 +1,62 @@
package com.ruoyi.device.mapper;
import java.util.List;
import com.ruoyi.device.domain.DeviceInspectProject;
import org.springframework.stereotype.Repository;
/**
* Mapper
*
* @author wangh
* @date 2025-09-30
*/
@Repository
public interface DeviceInspectProjectMapper
{
/**
*
*
* @param objId
* @return
*/
public DeviceInspectProject selectDeviceInspectProjectByObjId(Long objId);
/**
*
*
* @param deviceInspectProject
* @return
*/
public List<DeviceInspectProject> selectDeviceInspectProjectList(DeviceInspectProject deviceInspectProject);
/**
*
*
* @param deviceInspectProject
* @return
*/
public int insertDeviceInspectProject(DeviceInspectProject deviceInspectProject);
/**
*
*
* @param deviceInspectProject
* @return
*/
public int updateDeviceInspectProject(DeviceInspectProject deviceInspectProject);
/**
*
*
* @param objId
* @return
*/
public int deleteDeviceInspectProjectByObjId(Long objId);
/**
*
*
* @param objIds
* @return
*/
public int deleteDeviceInspectProjectByObjIds(String[] objIds);
}

@ -0,0 +1,62 @@
package com.ruoyi.device.mapper;
import java.util.List;
import com.ruoyi.device.domain.DeviceInspectionManual;
import org.springframework.stereotype.Repository;
/**
* Mapper
*
* @author wangh
* @date 2025-09-30
*/
@Repository
public interface DeviceInspectionManualMapper
{
/**
*
*
* @param objId
* @return
*/
public DeviceInspectionManual selectDeviceInspectionManualByObjId(Long objId);
/**
*
*
* @param deviceInspectionManual
* @return
*/
public List<DeviceInspectionManual> selectDeviceInspectionManualList(DeviceInspectionManual deviceInspectionManual);
/**
*
*
* @param deviceInspectionManual
* @return
*/
public int insertDeviceInspectionManual(DeviceInspectionManual deviceInspectionManual);
/**
*
*
* @param deviceInspectionManual
* @return
*/
public int updateDeviceInspectionManual(DeviceInspectionManual deviceInspectionManual);
/**
*
*
* @param objId
* @return
*/
public int deleteDeviceInspectionManualByObjId(Long objId);
/**
*
*
* @param objIds
* @return
*/
public int deleteDeviceInspectionManualByObjIds(String[] objIds);
}

@ -0,0 +1,62 @@
package com.ruoyi.device.mapper;
import java.util.List;
import com.ruoyi.device.domain.DeviceInspectionRoute;
import org.springframework.stereotype.Repository;
/**
* 线Mapper
*
* @author wangh
* @date 2025-10-23
*/
@Repository
public interface DeviceInspectionRouteMapper
{
/**
* 线
*
* @param routeId 线
* @return 线
*/
public DeviceInspectionRoute selectDeviceInspectionRouteByRouteId(Long routeId);
/**
* 线
*
* @param deviceInspectionRoute 线
* @return 线
*/
public List<DeviceInspectionRoute> selectDeviceInspectionRouteList(DeviceInspectionRoute deviceInspectionRoute);
/**
* 线
*
* @param deviceInspectionRoute 线
* @return
*/
public int insertDeviceInspectionRoute(DeviceInspectionRoute deviceInspectionRoute);
/**
* 线
*
* @param deviceInspectionRoute 线
* @return
*/
public int updateDeviceInspectionRoute(DeviceInspectionRoute deviceInspectionRoute);
/**
* 线
*
* @param routeId 线
* @return
*/
public int deleteDeviceInspectionRouteByRouteId(Long routeId);
/**
* 线
*
* @param routeIds
* @return
*/
public int deleteDeviceInspectionRouteByRouteIds(String[] routeIds);
}

@ -0,0 +1,64 @@
package com.ruoyi.device.mapper;
import com.ruoyi.device.domain.DeviceRepartBills;
import org.springframework.stereotype.Repository;
import java.util.List;
/**
* Mapper
*
* @author ruoyi
* @date 2022-05-26
*/
@Repository
public interface DeviceRepartBillsMapper
{
/**
*
*
* @param objid
* @return
*/
public DeviceRepartBills selectDeviceRepartBillsByObjid(Long objid);
/**
*
*
* @param deviceRepartBills
* @return
*/
public List<DeviceRepartBills> selectDeviceRepartBillsList(DeviceRepartBills deviceRepartBills);
/**
*
*
* @param deviceRepartBills
* @return
*/
public int insertDeviceRepartBills(DeviceRepartBills deviceRepartBills);
/**
*
*
* @param deviceRepartBills
* @return
*/
public int updateDeviceRepartBills(DeviceRepartBills deviceRepartBills);
/**
*
*
* @param objid
* @return
*/
public int deleteDeviceRepartBillsByObjid(Long objid);
/**
*
*
* @param objids
* @return
*/
public int deleteDeviceRepartBillsByObjids(String[] objids);
}

@ -0,0 +1,11 @@
package com.ruoyi.device.mapper;
import com.ruoyi.device.domain.LundangBaseStore;
import org.springframework.stereotype.Repository;
import java.util.List;
@Repository
public interface LundangMapper {
List<LundangBaseStore> selectLundangBaseStoreList();
}

@ -0,0 +1,13 @@
package com.ruoyi.device.mapper;
import com.ruoyi.device.domain.RecordUse;
import org.springframework.stereotype.Repository;
import java.util.List;
@Repository
public interface PdaApiMapper {
List<RecordUse> selectUseList();
void updateRecord(String code);
}

@ -0,0 +1,63 @@
package com.ruoyi.device.mapper;
import java.util.List;
import org.springframework.stereotype.Repository;
import com.ruoyi.device.domain.RecordUse;
/**
* 使Mapper
*
* @author ruoyi
* @date 2025-05-19
*/
@Repository
public interface RecordUseMapper
{
/**
* 使
*
* @param objId 使
* @return 使
*/
public RecordUse selectRecordUseByObjId(Long objId);
/**
* 使
*
* @param recordUse 使
* @return 使
*/
public List<RecordUse> selectRecordUseList(RecordUse recordUse);
/**
* 使
*
* @param recordUse 使
* @return
*/
public int insertRecordUse(RecordUse recordUse);
/**
* 使
*
* @param recordUse 使
* @return
*/
public int updateRecordUse(RecordUse recordUse);
/**
* 使
*
* @param objId 使
* @return
*/
public int deleteRecordUseByObjId(Long objId);
/**
* 使
*
* @param objIds
* @return
*/
public int deleteRecordUseByObjIds(String[] objIds);
}

@ -0,0 +1,62 @@
package com.ruoyi.device.mapper;
import com.ruoyi.device.domain.RepairOutsourcing;
import java.util.List;
/**
* Mapper
*
* @author wh
* @date 2022-06-08
*/
public interface RepairOutsourcingMapper
{
/**
*
*
* @param objid
* @return
*/
public RepairOutsourcing selectRepairOutsourcingByObjid(Long objid);
/**
*
*
* @param repairOutsourcing
* @return
*/
public List<RepairOutsourcing> selectRepairOutsourcingList(RepairOutsourcing repairOutsourcing);
/**
*
*
* @param repairOutsourcing
* @return
*/
public int insertRepairOutsourcing(RepairOutsourcing repairOutsourcing);
/**
*
*
* @param repairOutsourcing
* @return
*/
public int updateRepairOutsourcing(RepairOutsourcing repairOutsourcing);
/**
*
*
* @param objid
* @return
*/
public int deleteRepairOutsourcingByObjid(Long objid);
/**
*
*
* @param objids
* @return
*/
public int deleteRepairOutsourcingByObjids(String[] objids);
}

@ -0,0 +1,62 @@
package com.ruoyi.device.service;
import com.ruoyi.device.domain.BaseDeviceLocation;
import java.util.List;
/**
* Service
*
* @author ruoyi
* @date 2025-05-28
*/
public interface IBaseDeviceLocationService
{
/**
*
*
* @param locationId
* @return
*/
public BaseDeviceLocation selectBaseLocationByLocationId(Long locationId);
/**
*
*
* @param baseDeviceLocation
* @return
*/
public List<BaseDeviceLocation> selectBaseLocationList(BaseDeviceLocation baseDeviceLocation);
/**
*
*
* @param baseDeviceLocation
* @return
*/
public int insertBaseLocation(BaseDeviceLocation baseDeviceLocation);
/**
*
*
* @param baseDeviceLocation
* @return
*/
public int updateBaseLocation(BaseDeviceLocation baseDeviceLocation);
/**
*
*
* @param locationIds
* @return
*/
public int deleteBaseLocationByLocationIds(String locationIds);
/**
*
*
* @param locationId
* @return
*/
public int deleteBaseLocationByLocationId(Long locationId);
}

@ -0,0 +1,69 @@
package com.ruoyi.device.service;
import com.ruoyi.device.domain.BaseInfo;
import java.util.List;
/**
* Service
*
* @author ruoyi
* @date 2025-05-19
*/
public interface IBaseInfoService
{
/**
*
*
* @param objId
* @return
*/
public BaseInfo selectBaseInfoByObjId(Long objId);
/**
*
*
* @param baseInfo
* @return
*/
public List<BaseInfo> selectBaseInfoList(BaseInfo baseInfo);
/**
*
*
* @param baseInfo
* @return
*/
public int insertBaseInfo(BaseInfo baseInfo);
/**
*
*
* @param baseInfo
* @return
*/
public int updateBaseInfo(BaseInfo baseInfo);
public int updateBaseInfoForApi(BaseInfo baseInfo);
/**
*
*
* @param objIds
* @return
*/
public int deleteBaseInfoByObjIds(String objIds);
/**
*
*
* @param objId
* @return
*/
public int deleteBaseInfoByObjId(Long objId);
boolean checkDeviceCode(BaseInfo baseInfo);
BaseInfo selectDeviceInfo(String code);
List<BaseInfo> selectDeviceInfoList();
}

Some files were not shown because too many files have changed in this diff Show More

Loading…
Cancel
Save