导入导出

detached
王宇航 2024-01-17 12:56:46 +08:00
parent 78870baf7d
commit 363f046374
47 changed files with 1583 additions and 444 deletions

View File

@ -66,6 +66,8 @@ public class SysDiscernController extends BaseController {
primaryRadarData1.setType("车架"); primaryRadarData1.setType("车架");
} else if (primaryRadarData1.getLadleNumber().contains("铁")) { } else if (primaryRadarData1.getLadleNumber().contains("铁")) {
primaryRadarData1.setType("铁包"); primaryRadarData1.setType("铁包");
}else {
primaryRadarData1.setType(null);
} }
} }

View File

@ -16,6 +16,7 @@ import com.ruoyi.framework.shiro.util.AuthorizationUtils;
import com.ruoyi.system.service.*; import com.ruoyi.system.service.*;
import org.apache.commons.lang3.ArrayUtils; import org.apache.commons.lang3.ArrayUtils;
import org.apache.shiro.authz.annotation.RequiresPermissions; import org.apache.shiro.authz.annotation.RequiresPermissions;
import org.springframework.beans.BeanUtils;
import org.springframework.beans.factory.annotation.Autowired; import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Controller; import org.springframework.stereotype.Controller;
import org.springframework.ui.ModelMap; import org.springframework.ui.ModelMap;
@ -100,4 +101,47 @@ public class NormalIdentifierController extends BaseController
identifier.setUpdateBy(getLoginName()); identifier.setUpdateBy(getLoginName());
return toAjax(identifierService.updateNormalIdentifier(identifier)); return toAjax(identifierService.updateNormalIdentifier(identifier));
} }
@PostMapping("/remove")
@ResponseBody
public AjaxResult remove(String ids)
{
return toAjax(identifierService.deleteRadarByIds(ids));
}
@PostMapping("/export")
@ResponseBody
public AjaxResult export(SysIdentifier sysIdentifier)
{
List<SysIdentifier> list = identifierService.selectNormalIdentifierList(sysIdentifier);;
List<NormalExcel> collect = list.stream().map(identifier -> {
NormalExcel normalExcel = new NormalExcel();
BeanUtils.copyProperties(identifier, normalExcel);
return normalExcel;
}
).collect(Collectors.toList());
ExcelUtil<NormalExcel> util = new ExcelUtil<NormalExcel>(NormalExcel.class);
return util.exportExcel(collect, "常温标识器配置");
}
@GetMapping("/importTemplate")
@ResponseBody
public AjaxResult importTemplate()
{
ExcelUtil<NormalExcel> util = new ExcelUtil<NormalExcel>(NormalExcel.class);
return util.importTemplateExcel("常温标识器配置");
}
@PostMapping("/importData")
@ResponseBody
public AjaxResult importData(MultipartFile file, boolean updateSupport) throws Exception
{
ExcelUtil<NormalExcel> util = new ExcelUtil<NormalExcel>(NormalExcel.class);
List<NormalExcel> normalList = util.importExcel(file.getInputStream());
String message = identifierService.importNormalData(normalList, updateSupport);
return AjaxResult.success(message);
}
} }

View File

@ -28,6 +28,7 @@ import org.springframework.web.bind.annotation.PostMapping;
import org.springframework.web.bind.annotation.RequestMapping; import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.ResponseBody; import org.springframework.web.bind.annotation.ResponseBody;
import java.net.Inet4Address;
import java.util.*; import java.util.*;
import java.util.concurrent.CompletableFuture; import java.util.concurrent.CompletableFuture;
@ -80,6 +81,7 @@ public class RadarStatusController
public void run() { public void run() {
try { try {
for (SysRadar radar : radarList) { for (SysRadar radar : radarList) {
// ModbusResponse modbusResponse = new ModbusResponse();
ModbusMaster master = ModbusUtils.getSlave(radar.getRadarIp(), 23); ModbusMaster master = ModbusUtils.getSlave(radar.getRadarIp(), 23);
System.out.println(radar.getRadarIp()); System.out.println(radar.getRadarIp());
ModbusResponse modbusResponse = ModbusUtils.holdingRegister(); ModbusResponse modbusResponse = ModbusUtils.holdingRegister();
@ -87,14 +89,19 @@ public class RadarStatusController
System.out.println(modbusResponse); System.out.println(modbusResponse);
String tag = modbusResponse.getTagId(); String tag = modbusResponse.getTagId();
PrimaryRadarData primaryRadarData = new PrimaryRadarData(); PrimaryRadarData primaryRadarData = new PrimaryRadarData();
if (!"0".equals(modbusResponse.getTagId())) { SysIdentifier sysIdentifier = new SysIdentifier();
SysIdentifier sysIdentifier = identifierService.selectIdentifierByTag(tag);
primaryRadarData.setLadleNumber(sysIdentifier.getLadleNumber());
}
BeanUtils.copyProperties(modbusResponse,primaryRadarData); BeanUtils.copyProperties(modbusResponse,primaryRadarData);
if (!"0".equals(modbusResponse.getTagId())) {
sysIdentifier = identifierService.selectIdentifierByTag(tag);
primaryRadarData.setLadleNumber(sysIdentifier.getLadleNumber());
primaryRadarData.setRadarLocation(radar.getRadarLocation()); primaryRadarData.setRadarLocation(radar.getRadarLocation());
primaryRadarData.setRadarIp(radar.getRadarIp()); primaryRadarData.setRadarIp(radar.getRadarIp());
}else {
primaryRadarData.setLadleNumber(null);
primaryRadarData.setRadarLocation(null);
primaryRadarData.setRadarIp(radar.getRadarIp());
}
String ip = Inet4Address.getLocalHost().getHostAddress();
if (modbusResponse.getValue4()!=null && !"0".equals(modbusResponse.getValue4())) { if (modbusResponse.getValue4()!=null && !"0".equals(modbusResponse.getValue4())) {
primaryRadarDataService.insertPrimaryRadarData(primaryRadarData); primaryRadarDataService.insertPrimaryRadarData(primaryRadarData);
} }
@ -105,11 +112,10 @@ public class RadarStatusController
System.err.println("从串口读取失败:" + "连接超时"); System.err.println("从串口读取失败:" + "连接超时");
} }
e.printStackTrace(); e.printStackTrace();
connectionStatus.connected= false;
} }
} }
}; };
timer.scheduleAtFixedRate(task, 1, 100); timer.scheduleAtFixedRate(task, 1, 1000);
return responses; return responses;
}); });
@ -128,6 +134,8 @@ public class RadarStatusController
} }
rspData.setRows(radarList.subList(pageNum, pageSize)); rspData.setRows(radarList.subList(pageNum, pageSize));
rspData.setTotal(radarList.size()); rspData.setTotal(radarList.size());
// RadarStatusWebSocket.sendToAll(rspData);
return rspData; return rspData;
} }

View File

@ -16,6 +16,7 @@ import com.ruoyi.framework.shiro.util.AuthorizationUtils;
import com.ruoyi.system.service.*; import com.ruoyi.system.service.*;
import org.apache.commons.lang3.ArrayUtils; import org.apache.commons.lang3.ArrayUtils;
import org.apache.shiro.authz.annotation.RequiresPermissions; import org.apache.shiro.authz.annotation.RequiresPermissions;
import org.springframework.beans.BeanUtils;
import org.springframework.beans.factory.annotation.Autowired; import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Controller; import org.springframework.stereotype.Controller;
import org.springframework.ui.ModelMap; import org.springframework.ui.ModelMap;
@ -100,4 +101,46 @@ public class SysIdentifierController extends BaseController
identifier.setUpdateBy(getLoginName()); identifier.setUpdateBy(getLoginName());
return toAjax(iSysIdentifierService.updateUser(identifier)); return toAjax(iSysIdentifierService.updateUser(identifier));
} }
@PostMapping("/remove")
@ResponseBody
public AjaxResult remove(String ids)
{
return toAjax(iSysIdentifierService.deleteRadarByIds(ids));
}
@PostMapping("/export")
@ResponseBody
public AjaxResult export(SysIdentifier sysIdentifier)
{
List<SysIdentifier> list = iSysIdentifierService.selectIdentifierList(sysIdentifier);;
List<IdentifierExcel> collect = list.stream().map(identifier -> {
IdentifierExcel normalExcel = new IdentifierExcel();
BeanUtils.copyProperties(identifier, normalExcel);
return normalExcel;
}
).collect(Collectors.toList());
ExcelUtil<IdentifierExcel> util = new ExcelUtil<IdentifierExcel>(IdentifierExcel.class);
return util.exportExcel(collect, "高温标识器配置");
}
@GetMapping("/importTemplate")
@ResponseBody
public AjaxResult importTemplate()
{
ExcelUtil<IdentifierExcel> util = new ExcelUtil<IdentifierExcel>(IdentifierExcel.class);
return util.importTemplateExcel("常温标识器配置");
}
@PostMapping("/importData")
@ResponseBody
public AjaxResult importData(MultipartFile file, boolean updateSupport) throws Exception
{
ExcelUtil<IdentifierExcel> util = new ExcelUtil<IdentifierExcel>(IdentifierExcel.class);
List<IdentifierExcel> identifierList = util.importExcel(file.getInputStream());
String message = iSysIdentifierService.importData(identifierList, updateSupport);
return AjaxResult.success(message);
}
} }

View File

@ -0,0 +1,49 @@
package com.ruoyi.web.controller.system;
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.domain.entity.SysRadar;
import com.ruoyi.common.core.domain.entity.SysUser;
import com.ruoyi.common.core.page.TableDataInfo;
import com.ruoyi.common.enums.BusinessType;
import com.ruoyi.system.service.ISysRadarService;
import com.ruoyi.system.service.ISysUserService;
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.validation.annotation.Validated;
import org.springframework.web.bind.annotation.*;
import java.util.List;
/**
*
*
* @author ruoyi
*/
@Controller
@RequestMapping("/system/logo")
public class SysLogoController extends BaseController
{
private String prefix = "system/logo";
@Autowired
private ISysUserService userService;
@GetMapping()
public String user()
{
return prefix + "/logo";
}
@PostMapping("/list")
@ResponseBody
public TableDataInfo list(SysUser user)
{
startPage();
List<SysUser> list = userService.selectUserList(user);
return getDataTable(list);
}
}

View File

@ -73,10 +73,10 @@ public class SysPoliceController extends BaseController
*/ */
@PostMapping("/add") @PostMapping("/add")
@ResponseBody @ResponseBody
public AjaxResult addSave(@Validated SysPolice sysPolice) public AjaxResult addSave(@Validated SysRadar sysPolice)
{ {
sysPolice.setCreateBy(getLoginName()); sysPolice.setCreateBy(getLoginName());
return toAjax(sysPoliceService.insertSysPolice(sysPolice)); return toAjax(radarService.insertRadar(sysPolice));
} }
/** /**

View File

@ -130,17 +130,10 @@ public class SysProfileController extends BaseController
{ {
SysUser currentUser = getSysUser(); SysUser currentUser = getSysUser();
currentUser.setUserName(user.getUserName()); currentUser.setUserName(user.getUserName());
currentUser.setLoginName(user.getLoginName());
currentUser.setEmail(user.getEmail()); currentUser.setEmail(user.getEmail());
currentUser.setPhonenumber(user.getPhonenumber()); currentUser.setPhonenumber(user.getPhonenumber());
currentUser.setSex(user.getSex()); currentUser.setSex(user.getSex());
if (StringUtils.isNotEmpty(user.getPhonenumber()) && !userService.checkPhoneUnique(currentUser))
{
return error("修改用户'" + currentUser.getLoginName() + "'失败,手机号码已存在");
}
else if (StringUtils.isNotEmpty(user.getEmail()) && !userService.checkEmailUnique(currentUser))
{
return error("修改用户'" + currentUser.getLoginName() + "'失败,邮箱账号已存在");
}
if (userService.updateUserInfo(currentUser) > 0) if (userService.updateUserInfo(currentUser) > 0)
{ {
setSysUser(userService.selectUserById(currentUser.getUserId())); setSysUser(userService.selectUserById(currentUser.getUserId()));

View File

@ -0,0 +1,177 @@
package com.ruoyi.web.controller.system;
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.domain.entity.SysUser;
import com.ruoyi.common.enums.BusinessType;
import com.ruoyi.common.utils.DateUtils;
import com.ruoyi.common.utils.ShiroUtils;
import com.ruoyi.common.utils.StringUtils;
import com.ruoyi.common.utils.file.FileUploadUtils;
import com.ruoyi.common.utils.file.MimeTypeUtils;
import com.ruoyi.framework.shiro.service.SysPasswordService;
import com.ruoyi.system.service.ISysUserService;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Controller;
import org.springframework.ui.ModelMap;
import org.springframework.web.bind.annotation.*;
import org.springframework.web.multipart.MultipartFile;
/**
*
*
* @author ruoyi
*/
@Controller
@RequestMapping("/system/user/profileEdit")
public class SysProfileEditController extends BaseController
{
private static final Logger log = LoggerFactory.getLogger(SysProfileEditController.class);
private String prefix = "system/user/profileEdit";
@Autowired
private ISysUserService userService;
@Autowired
private SysPasswordService passwordService;
/**
*
*/
@GetMapping()
public String profile(ModelMap mmap)
{
SysUser user = getSysUser();
mmap.put("user", user);
mmap.put("roleGroup", userService.selectUserRoleGroup(user.getUserId()));
mmap.put("postGroup", userService.selectUserPostGroup(user.getUserId()));
return prefix + "/profileEdit";
}
@GetMapping("/checkPassword")
@ResponseBody
public boolean checkPassword(String password)
{
SysUser user = getSysUser();
return passwordService.matches(user, password);
}
@GetMapping("/resetPwd")
public String resetPwd(ModelMap mmap)
{
SysUser user = getSysUser();
mmap.put("user", userService.selectUserById(user.getUserId()));
return prefix + "/resetPwd";
}
@Log(title = "重置密码", businessType = BusinessType.UPDATE)
@PostMapping("/resetPwd")
@ResponseBody
public AjaxResult resetPwd(String oldPassword, String newPassword)
{
SysUser user = getSysUser();
if (!passwordService.matches(user, oldPassword))
{
return error("修改密码失败,旧密码错误");
}
if (passwordService.matches(user, newPassword))
{
return error("新密码不能与旧密码相同");
}
user.setSalt(ShiroUtils.randomSalt());
user.setPassword(passwordService.encryptPassword(user.getLoginName(), newPassword, user.getSalt()));
user.setPwdUpdateDate(DateUtils.getNowDate());
if (userService.resetUserPwd(user) > 0)
{
setSysUser(userService.selectUserById(user.getUserId()));
return success();
}
return error("修改密码异常,请联系管理员");
}
/**
*
*/
@GetMapping("/edit")
public String edit(ModelMap mmap)
{
SysUser user = getSysUser();
mmap.put("user", userService.selectUserById(user.getUserId()));
return prefix + "/edit";
}
/**
*
*/
@GetMapping("/avatar")
public String avatar(ModelMap mmap)
{
SysUser user = getSysUser();
mmap.put("user", userService.selectUserById(user.getUserId()));
return prefix + "/avatar";
}
/**
*
*/
@Log(title = "个人信息", businessType = BusinessType.UPDATE)
@PostMapping("/update")
@ResponseBody
public AjaxResult update(SysUser user)
{
SysUser currentUser = getSysUser();
currentUser.setUserName(user.getUserName());
currentUser.setEmail(user.getEmail());
currentUser.setPhonenumber(user.getPhonenumber());
currentUser.setSex(user.getSex());
if (StringUtils.isNotEmpty(user.getPhonenumber()) && !userService.checkPhoneUnique(currentUser))
{
return error("修改用户'" + currentUser.getLoginName() + "'失败,手机号码已存在");
}
else if (StringUtils.isNotEmpty(user.getEmail()) && !userService.checkEmailUnique(currentUser))
{
return error("修改用户'" + currentUser.getLoginName() + "'失败,邮箱账号已存在");
}
if (userService.updateUserInfo(currentUser) > 0)
{
setSysUser(userService.selectUserById(currentUser.getUserId()));
return success();
}
return error();
}
/**
*
*/
@Log(title = "个人信息", businessType = BusinessType.UPDATE)
@PostMapping("/updateAvatar")
@ResponseBody
public AjaxResult updateAvatar(@RequestParam("avatarfile") MultipartFile file)
{
SysUser currentUser = getSysUser();
try
{
if (!file.isEmpty())
{
String avatar = FileUploadUtils.upload(RuoYiConfig.getAvatarPath(), file, MimeTypeUtils.IMAGE_EXTENSION);
currentUser.setAvatar(avatar);
if (userService.updateUserInfo(currentUser) > 0)
{
setSysUser(userService.selectUserById(currentUser.getUserId()));
return success();
}
}
return error();
}
catch (Exception e)
{
log.error("修改头像失败!", e);
return error(e.getMessage());
}
}
}

View File

@ -4,10 +4,7 @@ import com.ruoyi.common.annotation.Log;
import com.ruoyi.common.core.controller.BaseController; import com.ruoyi.common.core.controller.BaseController;
import com.ruoyi.common.core.domain.AjaxResult; import com.ruoyi.common.core.domain.AjaxResult;
import com.ruoyi.common.core.domain.Ztree; import com.ruoyi.common.core.domain.Ztree;
import com.ruoyi.common.core.domain.entity.SysDept; import com.ruoyi.common.core.domain.entity.*;
import com.ruoyi.common.core.domain.entity.SysRadar;
import com.ruoyi.common.core.domain.entity.SysRole;
import com.ruoyi.common.core.domain.entity.SysUser;
import com.ruoyi.common.core.page.TableDataInfo; import com.ruoyi.common.core.page.TableDataInfo;
import com.ruoyi.common.core.text.Convert; import com.ruoyi.common.core.text.Convert;
import com.ruoyi.common.enums.BusinessType; import com.ruoyi.common.enums.BusinessType;
@ -19,6 +16,7 @@ import com.ruoyi.framework.shiro.util.AuthorizationUtils;
import com.ruoyi.system.service.*; import com.ruoyi.system.service.*;
import org.apache.commons.lang3.ArrayUtils; import org.apache.commons.lang3.ArrayUtils;
import org.apache.shiro.authz.annotation.RequiresPermissions; import org.apache.shiro.authz.annotation.RequiresPermissions;
import org.springframework.beans.BeanUtils;
import org.springframework.beans.factory.annotation.Autowired; import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Controller; import org.springframework.stereotype.Controller;
import org.springframework.ui.ModelMap; import org.springframework.ui.ModelMap;
@ -105,4 +103,46 @@ public class SysRadarController extends BaseController
return toAjax(radarService.updateUser(radar)); return toAjax(radarService.updateUser(radar));
} }
@PostMapping("/remove")
@ResponseBody
public AjaxResult remove(String ids)
{
return toAjax(radarService.deleteRadarByIds(ids));
}
@PostMapping("/export")
@ResponseBody
public AjaxResult export(SysRadar sysRadar)
{
List<SysRadar> list = radarService.selectRadarList(sysRadar);;
List<RadarExcel> collect = list.stream().map(identifier -> {
RadarExcel normalExcel = new RadarExcel();
BeanUtils.copyProperties(identifier, normalExcel);
return normalExcel;
}
).collect(Collectors.toList());
ExcelUtil<RadarExcel> util = new ExcelUtil<RadarExcel>(RadarExcel.class);
return util.exportExcel(collect, "雷达配置");
}
@GetMapping("/importTemplate")
@ResponseBody
public AjaxResult importTemplate()
{
ExcelUtil<RadarExcel> util = new ExcelUtil<RadarExcel>(RadarExcel.class);
return util.importTemplateExcel("雷达配置");
}
@PostMapping("/importData")
@ResponseBody
public AjaxResult importData(MultipartFile file, boolean updateSupport) throws Exception
{
ExcelUtil<RadarExcel> util = new ExcelUtil<RadarExcel>(RadarExcel.class);
List<RadarExcel> radarList = util.importExcel(file.getInputStream());
String message = radarService.importData(radarList, updateSupport);
return AjaxResult.success(message);
}
} }

View File

@ -1,12 +1,15 @@
package com.ruoyi.web.core.config; package com.ruoyi.web.core.config;
import com.ruoyi.common.core.domain.entity.DataResponse;
import com.ruoyi.common.core.domain.entity.PrimaryRadarData; import com.ruoyi.common.core.domain.entity.PrimaryRadarData;
import com.ruoyi.common.core.page.TableDataInfo;
import org.springframework.stereotype.Component; import org.springframework.stereotype.Component;
import javax.websocket.*; import javax.websocket.*;
import javax.websocket.server.ServerEndpoint; import javax.websocket.server.ServerEndpoint;
import java.io.IOException; import java.io.IOException;
import java.util.HashSet; import java.util.HashSet;
import java.util.List;
import java.util.Set; import java.util.Set;
@ServerEndpoint(value="/websocket",configurator = WebSocketConfig.class) @ServerEndpoint(value="/websocket",configurator = WebSocketConfig.class)
@ -35,10 +38,10 @@ public class RadarStatusWebSocket {
} }
} }
public static void sendToAll(PrimaryRadarData primaryRadarData) { public static void sendToAll(TableDataInfo dataResponse) {
for (Session session : sessions) { for (Session session : sessions) {
try { try {
session.getBasicRemote().sendObject(primaryRadarData); session.getBasicRemote().sendObject(dataResponse);
} catch (IOException | EncodeException e) { } catch (IOException | EncodeException e) {
e.printStackTrace(); e.printStackTrace();
} }

View File

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

View File

@ -1,7 +1,7 @@
<?xml version="1.0" encoding="UTF-8"?> <?xml version="1.0" encoding="UTF-8"?>
<configuration> <configuration>
<!-- 日志存放路径 --> <!-- 日志存放路径 -->
<property name="log.path" value="/Users/wyh/Documents/code/RuoYi-master/logs" /> <property name="log.path" value="D:/project/logs" />
<!-- 日志输出格式 --> <!-- 日志输出格式 -->
<property name="log.pattern" value="%d{HH:mm:ss.SSS} [%thread] %-5level %logger{20} - [%method,%line] - %msg%n" /> <property name="log.pattern" value="%d{HH:mm:ss.SSS} [%thread] %-5level %logger{20} - [%method,%line] - %msg%n" />

Binary file not shown.

After

Width:  |  Height:  |  Size: 6.1 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 2.3 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 2.3 KiB

View File

@ -28,8 +28,10 @@
</div> </div>
<a th:href="@{/index}"> <a th:href="@{/index}">
<li class="logo hidden-xs"> <li class="logo hidden-xs">
<img th:src="@{/img/favicon.ico}" class="logo-img"> <a class="menuItem noactive" title="个人中心" th:href="@{/system/user/profile}">
<span class="logo-lg">第一钢铁厂</span> <img th:src="(${#strings.isEmpty(user.avatar)}) ? @{/img/favicon.ico} : @{${user.avatar}}" class="logo-img">
</a>
<span class="logo-lg">[[${user.userName}]]</span>
</li> </li>
</a> </a>
<div class="sidebar-collapse"> <div class="sidebar-collapse">
@ -74,113 +76,6 @@
</li> </li>
</ul> </ul>
</li> </li>
<!-- <li th:if="${demoEnabled}">-->
<!-- <a href="javascript:;"><i class="fa fa-desktop"></i><span class="nav-label">实例演示</span><span class="fa arrow"></span></a>-->
<!-- <ul class="nav nav-second-level collapse">-->
<!-- <li> <a>表单<span class="fa arrow"></span></a>-->
<!-- <ul class="nav nav-third-level">-->
<!-- <li><a class="menuItem" th:href="@{/demo/form/button}">按钮</a></li>-->
<!-- <li><a class="menuItem" th:href="@{/demo/form/grid}">栅格</a></li>-->
<!-- <li><a class="menuItem" th:href="@{/demo/form/select}">下拉框</a></li>-->
<!-- <li><a class="menuItem" th:href="@{/demo/form/timeline}">时间轴</a></li>-->
<!-- <li><a class="menuItem" th:href="@{/demo/form/progress_bars}">进度条</a></li>-->
<!-- <li><a class="menuItem" th:href="@{/demo/form/basic}">基本表单</a></li>-->
<!-- <li><a class="menuItem" th:href="@{/demo/form/cards}">卡片列表</a></li>-->
<!-- <li><a class="menuItem" th:href="@{/demo/form/jasny}">功能扩展</a></li>-->
<!-- <li><a class="menuItem" th:href="@{/demo/form/sortable}">拖动排序</a></li>-->
<!-- <li><a class="menuItem" th:href="@{/demo/form/invoice}">单据打印</a></li>-->
<!-- <li><a class="menuItem" th:href="@{/demo/form/labels_tips}">标签 & 提示</a></li>-->
<!-- <li><a class="menuItem" th:href="@{/demo/form/tabs_panels}">选项卡 & 面板</a></li>-->
<!-- <li><a class="menuItem" th:href="@{/demo/form/validate}">表单校验</a></li>-->
<!-- <li><a class="menuItem" th:href="@{/demo/form/wizard}">表单向导</a></li>-->
<!-- <li><a class="menuItem" th:href="@{/demo/form/upload}">文件上传</a></li>-->
<!-- <li><a class="menuItem" th:href="@{/demo/form/datetime}">日期和时间</a></li>-->
<!-- <li><a class="menuItem" th:href="@{/demo/form/summernote}">富文本编辑器</a></li>-->
<!-- <li><a class="menuItem" th:href="@{/demo/form/duallistbox}">左右互选组件</a></li>-->
<!-- <li><a class="menuItem" th:href="@{/demo/form/autocomplete}">搜索自动补全</a></li>-->
<!-- <li><a class="menuItem" th:href="@{/demo/form/cxselect}">多级联动下拉</a></li>-->
<!-- <li><a class="menuItem" th:href="@{/demo/form/localrefresh}">Ajax局部刷新</a></li>-->
<!-- </ul>-->
<!-- </li>-->
<!-- <li> <a>表格<span class="fa arrow"></span></a>-->
<!-- <ul class="nav nav-third-level">-->
<!-- <li><a class="menuItem" th:href="@{/demo/table/search}">查询条件</a></li>-->
<!-- <li><a class="menuItem" th:href="@{/demo/table/footer}">数据汇总</a></li>-->
<!-- <li><a class="menuItem" th:href="@{/demo/table/groupHeader}">组合表头</a></li>-->
<!-- <li><a class="menuItem" th:href="@{/demo/table/export}">表格导出</a></li>-->
<!-- <li><a class="menuItem" th:href="@{/demo/table/exportSelected}">导出选择列</a></li>-->
<!-- <li><a class="menuItem" th:href="@{/demo/table/remember}">翻页记住选择</a></li>-->
<!-- <li><a class="menuItem" th:href="@{/demo/table/pageGo}">跳转至指定页</a></li>-->
<!-- <li><a class="menuItem" th:href="@{/demo/table/params}">自定义查询参数</a></li>-->
<!-- <li><a class="menuItem" th:href="@{/demo/table/multi}">初始多表格</a></li>-->
<!-- <li><a class="menuItem" th:href="@{/demo/table/button}">点击按钮加载表格</a></li>-->
<!-- <li><a class="menuItem" th:href="@{/demo/table/data}">直接加载表格数据</a></li>-->
<!-- <li><a class="menuItem" th:href="@{/demo/table/fixedColumns}">表格冻结列</a></li>-->
<!-- <li><a class="menuItem" th:href="@{/demo/table/event}">自定义触发事件</a></li>-->
<!-- <li><a class="menuItem" th:href="@{/demo/table/headerStyle}">表格标题格式化</a></li>-->
<!-- <li><a class="menuItem" th:href="@{/demo/table/detail}">表格细节视图</a></li>-->
<!-- <li><a class="menuItem" th:href="@{/demo/table/child}">表格父子视图</a></li>-->
<!-- <li><a class="menuItem" th:href="@{/demo/table/image}">表格图片预览</a></li>-->
<!-- <li><a class="menuItem" th:href="@{/demo/table/curd}">动态增删改查</a></li>-->
<!-- <li><a class="menuItem" th:href="@{/demo/table/reorderRows}">表格行拖拽操作</a></li>-->
<!-- <li><a class="menuItem" th:href="@{/demo/table/reorderColumns}">表格列拖拽操作</a></li>-->
<!-- <li><a class="menuItem" th:href="@{/demo/table/resizable}">表格列宽拖动</a></li>-->
<!-- <li><a class="menuItem" th:href="@{/demo/table/editable}">表格行内编辑</a></li>-->
<!-- <li><a class="menuItem" th:href="@{/demo/table/subdata}">主子表提交</a></li>-->
<!-- <li><a class="menuItem" th:href="@{/demo/table/refresh}">表格自动刷新</a></li>-->
<!-- <li><a class="menuItem" th:href="@{/demo/table/print}">表格打印配置</a></li>-->
<!-- <li><a class="menuItem" th:href="@{/demo/table/dynamicColumns}">表格动态列</a></li>-->
<!-- <li><a class="menuItem" th:href="@{/demo/table/customView}">自定义视图分页</a></li>-->
<!-- <li><a class="menuItem" th:href="@{/demo/table/asynTree}">异步加载表格树</a></li>-->
<!-- <li><a class="menuItem" th:href="@{/demo/table/other}">表格其他操作</a></li>-->
<!-- </ul>-->
<!-- </li>-->
<!-- <li> <a>弹框<span class="fa arrow"></span></a>-->
<!-- <ul class="nav nav-third-level">-->
<!-- <li><a class="menuItem" th:href="@{/demo/modal/dialog}">模态窗口</a></li>-->
<!-- <li><a class="menuItem" th:href="@{/demo/modal/layer}">弹层组件</a></li>-->
<!-- <li><a class="menuItem" th:href="@{/demo/modal/table}">弹层表格</a></li>-->
<!-- </ul>-->
<!-- </li>-->
<!-- <li> <a>操作<span class="fa arrow"></span></a>-->
<!-- <ul class="nav nav-third-level">-->
<!-- <li><a class="menuItem" th:href="@{/demo/operate/table}">表格</a></li>-->
<!-- <li><a class="menuItem" th:href="@{/demo/operate/other}">其他</a></li>-->
<!-- </ul>-->
<!-- </li>-->
<!-- <li> <a>报表<span class="fa arrow"></span></a>-->
<!-- <ul class="nav nav-third-level">-->
<!-- <li><a class="menuItem" th:href="@{/demo/report/echarts}">百度ECharts</a></li>-->
<!-- <li><a class="menuItem" th:href="@{/demo/report/peity}">peity</a></li>-->
<!-- <li><a class="menuItem" th:href="@{/demo/report/sparkline}">sparkline</a></li>-->
<!-- <li><a class="menuItem" th:href="@{/demo/report/metrics}">图表组合</a></li>-->
<!-- </ul>-->
<!-- </li>-->
<!-- <li> <a>图标<span class="fa arrow"></span></a>-->
<!-- <ul class="nav nav-third-level">-->
<!-- <li><a class="menuItem" th:href="@{/demo/icon/fontawesome}">Font Awesome</a></li>-->
<!-- <li><a class="menuItem" th:href="@{/demo/icon/glyphicons}">Glyphicons</a></li>-->
<!-- </ul>-->
<!-- </li>-->
<!-- <li>-->
<!-- <a href="javascript:;"><i class="fa fa-sitemap"></i>四层菜单<span class="fa arrow"></span></a>-->
<!-- <ul class="nav nav-third-level collapse">-->
<!-- <li>-->
<!-- <a href="javascript:;" id="damian">三级菜单1<span class="fa arrow"></span></a>-->
<!-- <ul class="nav nav-third-level">-->
<!-- <li>-->
<!-- <a href="javascript:;">四级菜单1</a>-->
<!-- </li>-->
<!-- <li>-->
<!-- <a href="javascript:;">四级菜单2</a>-->
<!-- </li>-->
<!-- </ul>-->
<!-- </li>-->
<!-- <li><a href="javascript:;">三级菜单2</a></li>-->
<!-- </ul>-->
<!-- </li>-->
<!-- </ul>-->
<!-- </li>-->
</ul> </ul>
</div> </div>
</nav> </nav>
@ -196,38 +91,6 @@
</a> </a>
</div> </div>
<ul class="nav navbar-top-links navbar-right welcome-message"> <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="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 user-menu">-->
<!-- <a href="javascript:void(0)" class="dropdown-toggle" data-hover="dropdown">-->
<!-- <img th:src="(${#strings.isEmpty(user.avatar)}) ? @{/img/profile.jpg} : @{${user.avatar}}" th:onerror="this.src='img/profile.jpg'" class="user-image">-->
<!-- <span class="hidden-xs">[[${#strings.defaultString(user.userName, '-')}]]</span>-->
<!-- </a>-->
<!-- <ul class="dropdown-menu">-->
<!-- <li class="mt5">-->
<!-- <a th:href="@{/system/user/profile}" class="menuItem noactive">-->
<!-- <i class="fa fa-user"></i> 个人中心</a>-->
<!-- </li>-->
<!-- <li>-->
<!-- <a onclick="resetPwd()">-->
<!-- <i class="fa fa-key"></i> 修改密码</a>-->
<!-- </li>-->
<!-- <li>-->
<!-- <a onclick="switchSkin()">-->
<!-- <i class="fa fa-dashboard"></i> 切换主题</a>-->
<!-- </li>-->
<!-- <li>-->
<!-- <a onclick="toggleMenu()">-->
<!-- <i class="fa fa-toggle-off"></i> 横向菜单</a>-->
<!-- </li>-->
<!-- <li class="divider"></li>-->
<!-- <li>-->
<!-- <a th:href="@{logout}">-->
<!-- <i class="fa fa-sign-out"></i> 退出登录</a>-->
<!-- </li>-->
<!-- </ul>-->
<!-- </li>-->
</ul> </ul>
</nav> </nav>
</div> </div>

View File

@ -42,22 +42,6 @@
</div> </div>
</form> </form>
</div> </div>
<!-- <div class="btn-group-sm" id="toolbar" role="group">-->
<!--&lt;!&ndash; <a class="btn btn-success" onclick="$.operate.add()" shiro:hasPermission="monitor:job:add">&ndash;&gt;-->
<!--&lt;!&ndash; <i class="fa fa-plus"></i> 新增&ndash;&gt;-->
<!--&lt;!&ndash; </a>&ndash;&gt;-->
<!--&lt;!&ndash; <a class="btn btn-primary single disabled" onclick="$.operate.edit()" shiro:hasPermission="monitor:job:edit">&ndash;&gt;-->
<!--&lt;!&ndash; <i class="fa fa-edit"></i> 修改&ndash;&gt;-->
<!--&lt;!&ndash; </a>&ndash;&gt;-->
<!--&lt;!&ndash; <a class="btn btn-danger multiple disabled" onclick="$.operate.removeAll()" shiro:hasPermission="monitor:job:remove">&ndash;&gt;-->
<!--&lt;!&ndash; <i class="fa fa-remove"></i> 删除&ndash;&gt;-->
<!--&lt;!&ndash; </a>&ndash;&gt;-->
<!-- <a class="btn btn-warning" onclick="$.table.exportExcel()" shiro:hasPermission="monitor:job:export">-->
<!-- <i class="fa fa-download"></i> 导出-->
<!-- </a>-->
<!-- </div>-->
<div class="col-sm-12 select-table table-striped"> <div class="col-sm-12 select-table table-striped">
<table id="bootstrap-table"></table> <table id="bootstrap-table"></table>
</div> </div>
@ -91,10 +75,14 @@
title: '序号' title: '序号'
}, },
{ {
field: 'updateTime', field: 'createTime',
title: '时间', title: '时间',
sortable: true sortable: true
}, },
{
field: 'tagId',
title: '标识器ID',
},
{ {
field: 'value4', field: 'value4',
title: '信号值', title: '信号值',

View File

@ -12,7 +12,7 @@
<div class="form-group"> <div class="form-group">
<label class="col-sm-4 control-label is-required">标识器ID1</label> <label class="col-sm-4 control-label is-required">标识器ID1</label>
<div class="col-sm-8"> <div class="col-sm-8">
<input name="identifierId" placeholder="请输入高温标识器ID1" class="form-control" type="text" maxlength="30" required> <input name="identifierId" placeholder="请输入高温标识器ID1" class="form-control" type="text" maxlength="30">
</div> </div>
</div> </div>
</div> </div>
@ -22,7 +22,7 @@
<div class="form-group"> <div class="form-group">
<label class="col-sm-4 control-label is-required">标识器ID2</label> <label class="col-sm-4 control-label is-required">标识器ID2</label>
<div class="col-sm-8"> <div class="col-sm-8">
<input name="identifierTwo" placeholder="请输入高温标识器ID2" class="form-control" type="text" maxlength="30" required> <input name="identifierTwo" placeholder="请输入高温标识器ID2" class="form-control" type="text" maxlength="30">
</div> </div>
</div> </div>
</div> </div>
@ -68,7 +68,7 @@
$.operate.saveTab(prefix + "/add", data); $.operate.saveTab(prefix + "/add", data);
} }
//关闭弹窗 //关闭弹窗
closeItem(); // closeItem();
//刷新父页面 //刷新父页面
parent.location.reload(); parent.location.reload();
} }

View File

@ -13,7 +13,7 @@
<div class="form-group"> <div class="form-group">
<label class="col-sm-4 control-label is-required">标识器ID1</label> <label class="col-sm-4 control-label is-required">标识器ID1</label>
<div class="col-sm-8"> <div class="col-sm-8">
<input name="identifierId" placeholder="请输入标识器ID1" class="form-control" type="text" maxlength="30" th:field="*{identifierId}" required> <input name="identifierId" placeholder="请输入标识器ID1" class="form-control" type="text" maxlength="30" th:field="*{identifierId}">
</div> </div>
</div> </div>
</div> </div>
@ -23,7 +23,7 @@
<div class="form-group"> <div class="form-group">
<label class="col-sm-4 control-label is-required">标识器ID2</label> <label class="col-sm-4 control-label is-required">标识器ID2</label>
<div class="col-sm-8"> <div class="col-sm-8">
<input name="identifierTwo" placeholder="请输入标识器ID2" class="form-control" type="text" maxlength="30" th:field="*{identifierTwo}"required> <input name="identifierTwo" placeholder="请输入标识器ID2" class="form-control" type="text" maxlength="30" th:field="*{identifierTwo}">
</div> </div>
</div> </div>
</div> </div>
@ -33,7 +33,7 @@
<div class="form-group"> <div class="form-group">
<label class="col-sm-4 control-label is-required">铁包号:</label> <label class="col-sm-4 control-label is-required">铁包号:</label>
<div class="col-sm-8"> <div class="col-sm-8">
<input name="ladleNumber" placeholder="请输入铁包号" class="form-control" type="text" maxlength="30" th:field="*{ladleNumber}" required> <input name="ladleNumber" placeholder="请输入铁包号" class="form-control" type="text" maxlength="30" th:field="*{ladleNumber}">
</div> </div>
</div> </div>
</div> </div>
@ -61,7 +61,7 @@
var data = $("#form-user-edit").serializeArray(); var data = $("#form-user-edit").serializeArray();
$.operate.saveTab(prefix + "/edit", data); $.operate.saveTab(prefix + "/edit", data);
} }
closeItem(); // closeItem();
//刷新父页面 //刷新父页面
parent.location.reload(); parent.location.reload();
} }

View File

@ -53,6 +53,12 @@
<a class="btn btn-success" onclick="$.operate.add()" > <a class="btn btn-success" onclick="$.operate.add()" >
<i class="fa fa-plus"></i> 新增 <i class="fa fa-plus"></i> 新增
</a> </a>
<a class="btn btn-info" onclick="$.table.importExcel()" >
<i class="fa fa-upload"></i> 导入
</a>
<a class="btn btn-warning" onclick="$.table.exportExcel()">
<i class="fa fa-download"></i> 导出
</a>
</div> </div>
<div class="col-sm-12 select-table table-striped"> <div class="col-sm-12 select-table table-striped">
@ -101,7 +107,7 @@
importTemplateUrl: prefix + "/importTemplate", importTemplateUrl: prefix + "/importTemplate",
sortName: "createTime", sortName: "createTime",
sortOrder: "desc", sortOrder: "desc",
modalName: "雷达", modalName: "高温标识器配置",
columns: [{ columns: [{
checkbox: true checkbox: true
}, },
@ -129,7 +135,7 @@
if (row.userId != 1) { if (row.userId != 1) {
var actions = []; var actions = [];
actions.push('<a class="btn btn-success btn-xs ' + editFlag + '" href="javascript:void(0)" onclick="$.operate.edit(\'' + row.id + '\')"><i class="fa fa-edit"></i>编辑</a> '); actions.push('<a class="btn btn-success btn-xs ' + editFlag + '" href="javascript:void(0)" onclick="$.operate.edit(\'' + row.id + '\')"><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.userId + '\')"><i class="fa fa-remove"></i>删除</a> '); actions.push('<a class="btn btn-danger btn-xs ' + removeFlag + '" href="javascript:void(0)" onclick="$.operate.remove(\'' + row.id + '\')"><i class="fa fa-remove"></i>删除</a> ');
// var more = []; // var more = [];
// more.push("<a class='btn btn-default btn-xs " + resetPwdFlag + "' href='javascript:void(0)' onclick='resetPwd(" + row.userId + ")'><i class='fa fa-key'></i>重置密码</a> "); // more.push("<a class='btn btn-default btn-xs " + resetPwdFlag + "' href='javascript:void(0)' onclick='resetPwd(" + row.userId + ")'><i class='fa fa-key'></i>重置密码</a> ");
// more.push("<a class='btn btn-default btn-xs " + editFlag + "' href='javascript:void(0)' onclick='authRole(" + row.userId + ")'><i class='fa fa-check-square-o'></i>分配角色</a>"); // more.push("<a class='btn btn-default btn-xs " + editFlag + "' href='javascript:void(0)' onclick='authRole(" + row.userId + ")'><i class='fa fa-check-square-o'></i>分配角色</a>");
@ -235,7 +241,7 @@
<div class="col-xs-offset-1"> <div class="col-xs-offset-1">
<input type="file" id="file" name="file"/> <input type="file" id="file" name="file"/>
<div class="mt10 pt5"> <div class="mt10 pt5">
<input type="checkbox" id="updateSupport" name="updateSupport" title="如果登录账户已经存在,更新这条数据。"> 是否更新已经存在的用户数据 <input type="checkbox" id="updateSupport" name="updateSupport" title="如果数据已经存在,更新这条数据。"> 是否更新已经存在的数据
&nbsp; <a onclick="$.table.importTemplate()" class="btn btn-default btn-xs"><i class="fa fa-file-excel-o"></i> 下载模板</a> &nbsp; <a onclick="$.table.importTemplate()" class="btn btn-default btn-xs"><i class="fa fa-file-excel-o"></i> 下载模板</a>
</div> </div>
<font color="red" class="pull-left mt10"> <font color="red" class="pull-left mt10">

View File

@ -0,0 +1,35 @@
<!DOCTYPE html>
<html lang="zh" xmlns:th="http://www.thymeleaf.org" >
<head>
<th:block th:include="include :: header('用户个人信息')" />
<style type="text/css">.user-info-head{position:relative;display:inline-block;}.user-info-head:hover:after{content:'\f030';position:absolute;left:0;right:0;top:0;bottom:0;color:#eee;background:rgba(0,0,0,0.5);font-family:FontAwesome;font-size:24px;font-style:normal;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;cursor:pointer;line-height:110px;border-radius:50%;}</style>
</head>
<body class="fixed-sidebar full-height-layout gray-bg" th:classappend="${isMobile} ? 'canvas-menu'" style="overflow: hidden">
<div id="wrapper">
<nav class="navbar-default navbar-static-side" role="navigation">
<div class="sidebar-collapse">
<li>-->
<div class="user-panel">
<a class="menuItem noactive" title="个人中心" th:href="@{/system/user/profile}">
<div class="hide" th:text="个人中心"></div>
<div class="pull-left image">
<img th:src="(${#strings.isEmpty(user.avatar)}) ? @{/img/profile.jpg} : @{${user.avatar}}" th:onerror="this.src='img/profile.jpg'" class="img-circle" alt="User Image">
</div>
</a>
<div class="pull-left info">
<p>[[${user.loginName}]]</p>
<a href="javascript:;"><i class="fa fa-circle text-success"></i> 在线</a>
<a th:href="@{logout}" style="padding-left:5px;"><i class="fa fa-sign-out text-danger"></i> 注销</a>
</div>
</div>
</li>
<li>
<a class="menuItem" th:href="@{/system/main}"><i class="fa fa-home"></i> <span class="nav-label">状态</span> </a>
</li>
</div>
</nav>
</div>
<th:block th:include="include :: footer" />
</body>
</html>

View File

@ -12,7 +12,7 @@
<div class="form-group"> <div class="form-group">
<label class="col-sm-4 control-label is-required">标识器ID1</label> <label class="col-sm-4 control-label is-required">标识器ID1</label>
<div class="col-sm-8"> <div class="col-sm-8">
<input name="identifierId" placeholder="请输入常温标识器ID1" class="form-control" type="text" maxlength="30" required> <input name="identifierId" placeholder="请输入常温标识器ID1" class="form-control" type="text" maxlength="30">
</div> </div>
</div> </div>
</div> </div>
@ -22,7 +22,7 @@
<div class="form-group"> <div class="form-group">
<label class="col-sm-4 control-label is-required">标识器ID2</label> <label class="col-sm-4 control-label is-required">标识器ID2</label>
<div class="col-sm-8"> <div class="col-sm-8">
<input name="identifierTwo" placeholder="请输入常温标识器ID2" class="form-control" type="text" maxlength="30" required> <input name="identifierTwo" placeholder="请输入常温标识器ID2" class="form-control" type="text" maxlength="30">
</div> </div>
</div> </div>
</div> </div>
@ -32,7 +32,7 @@
<div class="form-group"> <div class="form-group">
<label class="col-sm-4 control-label is-required">标识器ID3</label> <label class="col-sm-4 control-label is-required">标识器ID3</label>
<div class="col-sm-8"> <div class="col-sm-8">
<input name="identifierThree" placeholder="请输入常温标识器ID3" class="form-control" type="text" maxlength="30" required> <input name="identifierThree" placeholder="请输入常温标识器ID3" class="form-control" type="text" maxlength="30">
</div> </div>
</div> </div>
</div> </div>
@ -42,7 +42,7 @@
<div class="form-group"> <div class="form-group">
<label class="col-sm-4 control-label is-required">标识器ID4</label> <label class="col-sm-4 control-label is-required">标识器ID4</label>
<div class="col-sm-8"> <div class="col-sm-8">
<input name="identifierFour" placeholder="请输入常温标识器ID4" class="form-control" type="text" maxlength="30" required> <input name="identifierFour" placeholder="请输入常温标识器ID4" class="form-control" type="text" maxlength="30">
</div> </div>
</div> </div>
</div> </div>
@ -52,7 +52,7 @@
<div class="form-group"> <div class="form-group">
<label class="col-sm-4 control-label is-required">铁包号:</label> <label class="col-sm-4 control-label is-required">铁包号:</label>
<div class="col-sm-8"> <div class="col-sm-8">
<input name="ladleNumber" placeholder="请输入铁包号" class="form-control" type="text" maxlength="30" required> <input name="ladleNumber" placeholder="请输入铁包号" class="form-control" type="text" maxlength="30">
</div> </div>
</div> </div>
</div> </div>
@ -88,7 +88,7 @@
$.operate.saveTab(prefix + "/add", data); $.operate.saveTab(prefix + "/add", data);
} }
//关闭弹窗 //关闭弹窗
closeItem(); // closeItem();
//刷新父页面 //刷新父页面
parent.location.reload(); parent.location.reload();
} }

View File

@ -13,7 +13,7 @@
<div class="form-group"> <div class="form-group">
<label class="col-sm-4 control-label is-required">标识器ID1</label> <label class="col-sm-4 control-label is-required">标识器ID1</label>
<div class="col-sm-8"> <div class="col-sm-8">
<input name="identifierId" placeholder="请输入常温标识器ID1" class="form-control" type="text" maxlength="30" th:field="*{identifierId}" required> <input name="identifierId" placeholder="请输入常温标识器ID1" class="form-control" type="text" maxlength="30" th:field="*{identifierId}">
</div> </div>
</div> </div>
</div> </div>
@ -23,7 +23,7 @@
<div class="form-group"> <div class="form-group">
<label class="col-sm-4 control-label is-required">标识器ID2</label> <label class="col-sm-4 control-label is-required">标识器ID2</label>
<div class="col-sm-8"> <div class="col-sm-8">
<input name="identifierTwo" placeholder="请输入常温标识器ID2" class="form-control" type="text" maxlength="30" th:field="*{identifierTwo}" required> <input name="identifierTwo" placeholder="请输入常温标识器ID2" class="form-control" type="text" maxlength="30" th:field="*{identifierTwo}">
</div> </div>
</div> </div>
</div> </div>
@ -33,7 +33,7 @@
<div class="form-group"> <div class="form-group">
<label class="col-sm-4 control-label is-required">标识器ID3</label> <label class="col-sm-4 control-label is-required">标识器ID3</label>
<div class="col-sm-8"> <div class="col-sm-8">
<input name="identifierThree" placeholder="请输入常温标识器ID3" class="form-control" type="text" maxlength="30" th:field="*{identifierThree}" required> <input name="identifierThree" placeholder="请输入常温标识器ID3" class="form-control" type="text" maxlength="30" th:field="*{identifierThree}">
</div> </div>
</div> </div>
</div> </div>
@ -43,7 +43,7 @@
<div class="form-group"> <div class="form-group">
<label class="col-sm-4 control-label is-required">标识器ID4</label> <label class="col-sm-4 control-label is-required">标识器ID4</label>
<div class="col-sm-8"> <div class="col-sm-8">
<input name="identifierFour" placeholder="请输入常温标识器ID4" class="form-control" type="text" maxlength="30" th:field="*{identifierFour}" required> <input name="identifierFour" placeholder="请输入常温标识器ID4" class="form-control" type="text" maxlength="30" th:field="*{identifierFour}">
</div> </div>
</div> </div>
</div> </div>
@ -53,7 +53,7 @@
<div class="form-group"> <div class="form-group">
<label class="col-sm-4 control-label is-required">铁包号:</label> <label class="col-sm-4 control-label is-required">铁包号:</label>
<div class="col-sm-8"> <div class="col-sm-8">
<input name="ladleNumber" placeholder="请输入铁包号" class="form-control" type="text" maxlength="30" th:field="*{ladleNumber}" required> <input name="ladleNumber" placeholder="请输入铁包号" class="form-control" type="text" maxlength="30" th:field="*{ladleNumber}">
</div> </div>
</div> </div>
</div> </div>
@ -77,8 +77,8 @@
var data = $("#form-user-edit").serializeArray(); var data = $("#form-user-edit").serializeArray();
$.operate.saveTab(prefix + "/edit", data); $.operate.saveTab(prefix + "/edit", data);
} }
closeItem(); // closeItem();
//刷新父页面 // 刷新父页面
parent.location.reload(); parent.location.reload();
} }
</script> </script>

View File

@ -31,6 +31,12 @@
<a class="btn btn-success" onclick="$.operate.add()" shiro:hasPermission="system:user:add"> <a class="btn btn-success" onclick="$.operate.add()" shiro:hasPermission="system:user:add">
<i class="fa fa-plus"></i> 新增 <i class="fa fa-plus"></i> 新增
</a> </a>
<a class="btn btn-info" onclick="$.table.importExcel()" >
<i class="fa fa-upload"></i> 导入
</a>
<a class="btn btn-warning" onclick="$.table.exportExcel()">
<i class="fa fa-download"></i> 导出
</a>
</div> </div>
<div class="col-sm-12 select-table table-striped"> <div class="col-sm-12 select-table table-striped">
<table id="bootstrap-table"></table> <table id="bootstrap-table"></table>
@ -78,7 +84,7 @@
importTemplateUrl: prefix + "/importTemplate", importTemplateUrl: prefix + "/importTemplate",
sortName: "createTime", sortName: "createTime",
sortOrder: "desc", sortOrder: "desc",
modalName: "用户", modalName: "常温标识器配置",
columns: [{ columns: [{
checkbox: true checkbox: true
}, },
@ -114,6 +120,7 @@
if (row.userId != 1) { if (row.userId != 1) {
var actions = []; var actions = [];
actions.push('<a class="btn btn-success btn-xs ' + editFlag + '" href="javascript:void(0)" onclick="$.operate.edit(\'' + row.id + '\')"><i class="fa fa-edit"></i>编辑</a> '); actions.push('<a class="btn btn-success btn-xs ' + editFlag + '" href="javascript:void(0)" onclick="$.operate.edit(\'' + row.id + '\')"><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.id + '\')"><i class="fa fa-remove"></i>删除</a> ');
return actions.join(''); return actions.join('');
} else { } else {
return ""; return "";
@ -124,22 +131,6 @@
$.table.init(options); $.table.init(options);
} }
function queryDeptTree()
{
var url = ctx + "system/user/deptTreeData";
var options = {
url: url,
expandLevel: 2,
onClick : zOnClick
};
$.tree.init(options);
function zOnClick(event, treeId, treeNode) {
$("#deptId").val(treeNode.id);
$("#parentId").val(treeNode.pId);
$.table.search();
}
}
$('#btnExpand').click(function() { $('#btnExpand').click(function() {
$._tree.expandAll(true); $._tree.expandAll(true);
@ -157,34 +148,6 @@
queryDeptTree(); queryDeptTree();
}); });
/* 自定义重置-表单重置/隐藏框/树节点选择色/搜索 */
function resetPre() {
resetDate();
$("#user-form")[0].reset();
$("#deptId").val("");
$("#parentId").val("");
$(".curSelectedNode").removeClass("curSelectedNode");
$.table.search();
}
/* 用户管理-部门 */
function dept() {
var url = ctx + "system/dept";
$.modal.openTab("部门管理", url);
}
/* 用户管理-重置密码 */
function resetPwd(userId) {
var url = prefix + '/resetPwd/' + userId;
$.modal.open("重置密码", url, '800', '300');
}
/* 用户管理-分配角色 */
function authRole(userId) {
var url = prefix + '/authRole/' + userId;
$.modal.openTab("用户分配角色", url);
}
/* 用户状态显示 */ /* 用户状态显示 */
function statusTools(row) { function statusTools(row) {
if (row.status == 1) { if (row.status == 1) {
@ -194,19 +157,6 @@
} }
} }
/* 用户管理-停用 */
function disable(userId) {
$.modal.confirm("确认要停用用户吗?", function() {
$.operate.post(prefix + "/changeStatus", { "userId": userId, "status": 1 });
})
}
/* 用户管理启用 */
function enable(userId) {
$.modal.confirm("确认要启用用户吗?", function() {
$.operate.post(prefix + "/changeStatus", { "userId": userId, "status": 0 });
})
}
</script> </script>
</body> </body>
<!-- 导入区域 --> <!-- 导入区域 -->
@ -215,7 +165,7 @@
<div class="col-xs-offset-1"> <div class="col-xs-offset-1">
<input type="file" id="file" name="file"/> <input type="file" id="file" name="file"/>
<div class="mt10 pt5"> <div class="mt10 pt5">
<input type="checkbox" id="updateSupport" name="updateSupport" title="如果登录账户已经存在,更新这条数据。"> 是否更新已经存在的用户数据 <input type="checkbox" id="updateSupport" name="updateSupport" title="如果数据已经存在,更新这条数据。"> 是否更新已经存在的数据
&nbsp; <a onclick="$.table.importTemplate()" class="btn btn-default btn-xs"><i class="fa fa-file-excel-o"></i> 下载模板</a> &nbsp; <a onclick="$.table.importTemplate()" class="btn btn-default btn-xs"><i class="fa fa-file-excel-o"></i> 下载模板</a>
</div> </div>
<font color="red" class="pull-left mt10"> <font color="red" class="pull-left mt10">

View File

@ -12,7 +12,7 @@
<div class="form-group"> <div class="form-group">
<label class="col-sm-4 control-label is-required">工位:</label> <label class="col-sm-4 control-label is-required">工位:</label>
<div class="col-sm-8"> <div class="col-sm-8">
<input name="station" placeholder="请输入工位" class="form-control" type="text" maxlength="30" required> <input name="station" placeholder="请输入工位" class="form-control" type="text" maxlength="30" >
</div> </div>
</div> </div>
</div> </div>
@ -20,9 +20,9 @@
<div class="row"> <div class="row">
<div class="col-sm-6"> <div class="col-sm-6">
<div class="form-group"> <div class="form-group">
<label class="col-sm-4 control-label is-required">报警值:</label> <label class="col-sm-4 control-label is-required">报警值A</label>
<div class="col-sm-8"> <div class="col-sm-8">
<input name="alarmValue" placeholder="请输入报警值" class="form-control" type="text" maxlength="30" required> <input name="alarmValue1" placeholder="请输入报警值A" class="form-control" type="text" maxlength="30" >
</div> </div>
</div> </div>
</div> </div>
@ -30,9 +30,29 @@
<div class="row"> <div class="row">
<div class="col-sm-6"> <div class="col-sm-6">
<div class="form-group"> <div class="form-group">
<label class="col-sm-4 control-label is-required">预设报警值:</label> <label class="col-sm-4 control-label is-required">报警值B</label>
<div class="col-sm-8"> <div class="col-sm-8">
<input name="presetValue" placeholder="请输入预设报警值" class="form-control" type="text" maxlength="30" required> <input name="alarmValue2" placeholder="请输入报警值B" class="form-control" type="text" maxlength="30" >
</div>
</div>
</div>
</div>
<div class="row">
<div class="col-sm-6">
<div class="form-group">
<label class="col-sm-4 control-label is-required">报警值C</label>
<div class="col-sm-8">
<input name="alarmValue3" placeholder="请输入报警值C" class="form-control" type="text" maxlength="30" >
</div>
</div>
</div>
</div>
<div class="row">
<div class="col-sm-6">
<div class="form-group">
<label class="col-sm-4 control-label is-required">报警值D</label>
<div class="col-sm-8">
<input name="alarmValue4" placeholder="请输入报警值D" class="form-control" type="text" maxlength="30" required>
</div> </div>
</div> </div>
</div> </div>
@ -68,7 +88,7 @@
$.operate.saveTab(prefix + "/add", data); $.operate.saveTab(prefix + "/add", data);
} }
//关闭弹窗 //关闭弹窗
closeItem(); // closeItem();
//刷新父页面 //刷新父页面
parent.location.reload(); parent.location.reload();
} }

View File

@ -77,7 +77,7 @@
var data = $("#form-user-edit").serializeArray(); var data = $("#form-user-edit").serializeArray();
$.operate.saveTab(prefix + "/edit", data); $.operate.saveTab(prefix + "/edit", data);
} }
closeItem(); // closeItem();
//刷新父页面 //刷新父页面
parent.location.reload(); parent.location.reload();
} }

View File

@ -11,9 +11,9 @@
<div class="row"> <div class="row">
<div class="btn-group-sm" id="toolbar" role="group"> <div class="btn-group-sm" id="toolbar" role="group">
<a class="btn btn-success" onclick="$.operate.add()" > <!-- <a class="btn btn-success" onclick="$.operate.add()" >-->
<i class="fa fa-plus"></i> 新增 <!-- <i class="fa fa-plus"></i> 新增-->
</a> <!-- </a>-->
<!-- <a class="btn btn-primary single disabled" onclick="$.operate.edit()" shiro:hasPermission="system:user:edit">--> <!-- <a class="btn btn-primary single disabled" onclick="$.operate.edit()" shiro:hasPermission="system:user:edit">-->
<!-- <i class="fa fa-edit"></i> 修改--> <!-- <i class="fa fa-edit"></i> 修改-->
<!-- </a>--> <!-- </a>-->

View File

@ -12,7 +12,7 @@
<div class="form-group"> <div class="form-group">
<label class="col-sm-4 control-label is-required">雷达IP</label> <label class="col-sm-4 control-label is-required">雷达IP</label>
<div class="col-sm-8"> <div class="col-sm-8">
<input name="radarIp" placeholder="请输入雷达IP" class="form-control" type="text" maxlength="30" required> <input name="radarIp" placeholder="请输入雷达IP" class="form-control" type="text" maxlength="30">
</div> </div>
</div> </div>
</div> </div>
@ -22,7 +22,7 @@
<div class="form-group"> <div class="form-group">
<label class="col-sm-4 control-label is-required">雷达位置/工位:</label> <label class="col-sm-4 control-label is-required">雷达位置/工位:</label>
<div class="col-sm-8"> <div class="col-sm-8">
<input name="radarLocation" placeholder="请输入雷达位置/工位" class="form-control" type="text" maxlength="30" required> <input name="radarLocation" placeholder="请输入雷达位置/工位" class="form-control" type="text" maxlength="30">
</div> </div>
</div> </div>
</div> </div>
@ -32,7 +32,7 @@
<div class="form-group"> <div class="form-group">
<label class="col-sm-4 control-label is-required">工位代号:</label> <label class="col-sm-4 control-label is-required">工位代号:</label>
<div class="col-sm-8"> <div class="col-sm-8">
<input name="stationCode" placeholder="请输入工位代号" class="form-control" type="text" maxlength="30" required> <input name="stationCode" placeholder="请输入工位代号" class="form-control" type="text" maxlength="30">
</div> </div>
</div> </div>
</div> </div>
@ -42,7 +42,35 @@
<div class="form-group"> <div class="form-group">
<label class="col-sm-4 control-label is-required">工序:</label> <label class="col-sm-4 control-label is-required">工序:</label>
<div class="col-sm-8"> <div class="col-sm-8">
<input name="sort" placeholder="请输入工序" class="form-control" type="text" maxlength="30" required> <input name="sort" placeholder="请输入工序" class="form-control" type="text" maxlength="30">
</div>
</div>
</div>
</div>
<div class="row">
<div class="col-sm-6">
<div class="form-group">
<label class="col-sm-4 control-label is-required">雷达ID</label>
<div class="col-sm-8">
<input name="radarId" placeholder="请输入雷达ID" class="form-control" type="text" maxlength="30">
</div>
</div>
</div>
</div>
<div class="row">
<div class="col-sm-6">
<div class="form-group">
<label class="col-sm-4 control-label is-required">雷达天线号:</label>
<div class="col-sm-8">
<!-- <input name="radarNum" placeholder="请输入雷达天线号" class="form-control" type="text" maxlength="30">-->
<div class="col-sm-12">
<label class="check-box">
<input type="checkbox" name="radarNum" value="1" id="v1">1</label>
<label class="check-box">
<input type="checkbox" name="radarNum" value="2" id="v2">2</label>
<label class="check-box">
<input type="checkbox" name="radarNum" value="1,2" id="v3">全部</label>
</div>
</div> </div>
</div> </div>
</div> </div>
@ -59,6 +87,9 @@
<th:block th:include="include :: footer" /> <th:block th:include="include :: footer" />
<th:block th:include="include :: select2-js" /> <th:block th:include="include :: select2-js" />
<script> <script>
var prefix = ctx + "system/radar"; var prefix = ctx + "system/radar";
$("#form-radar-add").validate({ $("#form-radar-add").validate({
@ -78,7 +109,7 @@
$.operate.saveTab(prefix + "/add", data); $.operate.saveTab(prefix + "/add", data);
} }
//关闭弹窗 //关闭弹窗
closeItem(); // closeItem();
//刷新父页面 //刷新父页面
parent.location.reload(); parent.location.reload();
} }
@ -104,12 +135,54 @@
$.modal.close(index); $.modal.close(index);
} }
$(function() { const checkboxAll = document.getElementById("v3");
$('#post').select2({ const checkbox1 = document.getElementById("v1");
placeholder: "请选择岗位", const checkbox2 = document.getElementById("v2");
allowClear: true
checkboxAll.addEventListener("change", function() {
checkbox1.checked = checkboxAll.checked;
checkbox2.checked = checkboxAll.checked;
// 将选中的复选框的值作为参数传递给后端
const selectedValues = [];
if (checkbox1.checked) {
selectedValues.push(checkbox1.value);
}
if (checkbox2.checked) {
selectedValues.push(checkbox2.value);
}
// 将selectedValues作为参数传递给后端
// 例如使用fetch发送POST请求
// fetch("your-backend-url", {
// method: "POST",
// body: JSON.stringify(selectedValues),
// headers: {
// "Content-Type": "application/json"
// }
// })
// .then(response => response.json())
// .then(data => {
// // 处理后端返回的数据
// console.log(data);
// })
// .catch(error => {
// // 处理错误
// console.error(error);
// });
});
checkbox1.addEventListener("change", function() {
if (!checkbox1.checked) {
checkboxAll.checked = false;
}
});
checkbox2.addEventListener("change", function() {
if (!checkbox2.checked) {
checkboxAll.checked = false;
}
}); });
})
</script> </script>
</body> </body>
</html> </html>

View File

@ -13,7 +13,7 @@
<div class="form-group"> <div class="form-group">
<label class="col-sm-4 control-label is-required">雷达Ip</label> <label class="col-sm-4 control-label is-required">雷达Ip</label>
<div class="col-sm-8"> <div class="col-sm-8">
<input name="radarIp" placeholder="请输入雷达Ip" class="form-control" type="text" maxlength="30" th:field="*{radarIp}" required> <input name="radarIp" placeholder="请输入雷达Ip" class="form-control" type="text" maxlength="30" th:field="*{radarIp}">
</div> </div>
</div> </div>
</div> </div>
@ -23,7 +23,7 @@
<div class="form-group"> <div class="form-group">
<label class="col-sm-4 control-label is-required">雷达位置/工位:</label> <label class="col-sm-4 control-label is-required">雷达位置/工位:</label>
<div class="col-sm-8"> <div class="col-sm-8">
<input name="radarLocation" placeholder="请输入雷达位置/工位" class="form-control" type="text" maxlength="30" th:field="*{radarLocation}"required> <input name="radarLocation" placeholder="请输入雷达位置/工位" class="form-control" type="text" maxlength="30" th:field="*{radarLocation}">
</div> </div>
</div> </div>
</div> </div>
@ -33,7 +33,7 @@
<div class="form-group"> <div class="form-group">
<label class="col-sm-4 control-label is-required">工位代号:</label> <label class="col-sm-4 control-label is-required">工位代号:</label>
<div class="col-sm-8"> <div class="col-sm-8">
<input name="stationCode" placeholder="请输入工位代号" class="form-control" type="text" maxlength="30" th:field="*{stationCode}" required> <input name="stationCode" placeholder="请输入工位代号" class="form-control" type="text" maxlength="30" th:field="*{stationCode}">
</div> </div>
</div> </div>
</div> </div>
@ -43,12 +43,31 @@
<div class="form-group"> <div class="form-group">
<label class="col-sm-4 control-label is-required">工序:</label> <label class="col-sm-4 control-label is-required">工序:</label>
<div class="col-sm-8"> <div class="col-sm-8">
<input name="sort" placeholder="请输入工序" class="form-control" type="text" maxlength="30" th:field="*{sort}" required> <input name="sort" placeholder="请输入工序" class="form-control" type="text" maxlength="30" th:field="*{sort}">
</div>
</div>
</div>
</div>
<div class="row">
<div class="col-sm-6">
<div class="form-group">
<label class="col-sm-4 control-label is-required">雷达ID</label>
<div class="col-sm-8">
<input name="radarId" placeholder="请输入雷达ID" class="form-control" type="text" maxlength="30" th:field="*{radarId}">
</div>
</div>
</div>
</div>
<div class="row">
<div class="col-sm-6">
<div class="form-group">
<label class="col-sm-4 control-label is-required">雷达天线号:</label>
<div class="col-sm-8">
<input name="radarNum" placeholder="请输入雷达天线号" class="form-control" type="text" maxlength="30" th:field="*{radarNum}">
</div> </div>
</div> </div>
</div> </div>
</div> </div>
</form> </form>
</div> </div>
<!-- <div class="row">--> <!-- <div class="row">-->
@ -72,7 +91,7 @@
var data = $("#form-user-edit").serializeArray(); var data = $("#form-user-edit").serializeArray();
$.operate.saveTab(prefix + "/edit", data); $.operate.saveTab(prefix + "/edit", data);
} }
closeItem(); // closeItem();
//刷新父页面 //刷新父页面
parent.location.reload(); parent.location.reload();
} }

View File

@ -71,12 +71,12 @@
<!-- <a class="btn btn-danger multiple disabled" onclick="$.operate.removeAll()" shiro:hasPermission="system:user:remove">--> <!-- <a class="btn btn-danger multiple disabled" onclick="$.operate.removeAll()" shiro:hasPermission="system:user:remove">-->
<!-- <i class="fa fa-remove"></i> 删除--> <!-- <i class="fa fa-remove"></i> 删除-->
<!-- </a>--> <!-- </a>-->
<!-- <a class="btn btn-info" onclick="$.table.importExcel()" shiro:hasPermission="system:user:import">--> <a class="btn btn-info" onclick="$.table.importExcel()" >
<!-- <i class="fa fa-upload"></i> 导入--> <i class="fa fa-upload"></i> 导入
<!-- </a>--> </a>
<!-- <a class="btn btn-warning" onclick="$.table.exportExcel()" shiro:hasPermission="system:user:export">--> <a class="btn btn-warning" onclick="$.table.exportExcel()" >
<!-- <i class="fa fa-download"></i> 导出--> <i class="fa fa-download"></i> 导出
<!-- </a>--> </a>
</div> </div>
<div class="col-sm-12 select-table table-striped"> <div class="col-sm-12 select-table table-striped">
@ -146,6 +146,14 @@
field: 'stationCode', field: 'stationCode',
title: '工位代号' title: '工位代号'
}, },
{
field: 'radarId',
title: '雷达ID'
},
{
field: 'radarNum',
title: '雷达天线号'
},
{ {
field: 'sort', field: 'sort',
title: '工序', title: '工序',
@ -157,7 +165,7 @@
if (row.userId != 1) { if (row.userId != 1) {
var actions = []; var actions = [];
actions.push('<a class="btn btn-success btn-xs ' + editFlag + '" href="javascript:void(0)" onclick="$.operate.edit(\'' + row.id + '\')"><i class="fa fa-edit"></i>编辑</a> '); actions.push('<a class="btn btn-success btn-xs ' + editFlag + '" href="javascript:void(0)" onclick="$.operate.edit(\'' + row.id + '\')"><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.userId + '\')"><i class="fa fa-remove"></i>删除</a> '); actions.push('<a class="btn btn-danger btn-xs ' + removeFlag + '" href="javascript:void(0)" onclick="$.operate.remove(\'' + row.id + '\')"><i class="fa fa-remove"></i>删除</a> ');
// var more = []; // var more = [];
// more.push("<a class='btn btn-default btn-xs " + resetPwdFlag + "' href='javascript:void(0)' onclick='resetPwd(" + row.userId + ")'><i class='fa fa-key'></i>重置密码</a> "); // more.push("<a class='btn btn-default btn-xs " + resetPwdFlag + "' href='javascript:void(0)' onclick='resetPwd(" + row.userId + ")'><i class='fa fa-key'></i>重置密码</a> ");
// more.push("<a class='btn btn-default btn-xs " + editFlag + "' href='javascript:void(0)' onclick='authRole(" + row.userId + ")'><i class='fa fa-check-square-o'></i>分配角色</a>"); // more.push("<a class='btn btn-default btn-xs " + editFlag + "' href='javascript:void(0)' onclick='authRole(" + row.userId + ")'><i class='fa fa-check-square-o'></i>分配角色</a>");
@ -263,7 +271,7 @@
<div class="col-xs-offset-1"> <div class="col-xs-offset-1">
<input type="file" id="file" name="file"/> <input type="file" id="file" name="file"/>
<div class="mt10 pt5"> <div class="mt10 pt5">
<input type="checkbox" id="updateSupport" name="updateSupport" title="如果登录账户已经存在,更新这条数据。"> 是否更新已经存在的用户数据 <input type="checkbox" id="updateSupport" name="updateSupport" title="如果数据已经存在,更新这条数据。"> 是否更新已经存在的数据
&nbsp; <a onclick="$.table.importTemplate()" class="btn btn-default btn-xs"><i class="fa fa-file-excel-o"></i> 下载模板</a> &nbsp; <a onclick="$.table.importTemplate()" class="btn btn-default btn-xs"><i class="fa fa-file-excel-o"></i> 下载模板</a>
</div> </div>
<font color="red" class="pull-left mt10"> <font color="red" class="pull-left mt10">

View File

@ -79,7 +79,7 @@
$.table.init(options); $.table.init(options);
}); });
var socket = new WebSocket("ws://192.168.120.15/websocket"); var socket = new WebSocket("ws://localhost/websocket");
socket.onopen = function(event) { socket.onopen = function(event) {
console.log("WebSocket连接已打开"); console.log("WebSocket连接已打开");
@ -99,18 +99,19 @@
var view = '' var view = ''
$.each(data, function (i, row) { $.each(data, function (i, row) {
view += template view += template
.replace('%IMAGE%', getImageUrl(row.radarIp)) .replace('%IMAGE%', getImageUrl(row.status))
.replace('%radarIp%', row.radarIp) .replace('%radarIp%', row.radarIp)
.replace('%radarLocation%', row.radarLocation) .replace('%radarLocation%', row.radarLocation)
}) })
return `<div class="row mx-0">${view}</div>` return `<div class="row mx-0">${view}</div>`
} }
function getImageUrl(radarIp) { function getImageUrl(status) {
if (radarIp === '192.168.0.7') { if (status === 1) {
return "https://xjl559.oss-cn-shanghai.aliyuncs.com/2023/12/11/%E6%88%AA%E5%B1%8F2024-01-08%2013.57.36.png";
} else if (radarIp === '192.168.0.8') { return "http://localhost/img/radarGreen.png";
return "https://xjl559.oss-cn-shanghai.aliyuncs.com/2023/12/11/%E6%88%AA%E5%B1%8F2024-01-08%2013.57.36.png"; } else if (status === 0) {
return "http://localhost/img/radarRed.jpg";
} }
} }
</script> </script>

View File

@ -134,7 +134,7 @@
<div class="row container"> <div class="row container">
<div class="col-md-10"> <div class="col-md-10">
<div class="imageBox"> <div class="imageBox">
<img id="avatar" th:src="(${#strings.isEmpty(user.avatar)}) ? @{/img/profile.jpg} : @{${user.avatar}}" th:onerror="'this.src=\'' + @{'/img/profile.jpg'} + '\''"> <img id="avatar" th:src="(${#strings.isEmpty(user.avatar)}) ? @{/img/favicon.ico} : @{${user.avatar}}" th:onerror="'this.src=\'' + @{'/img/profile.jpg'} + '\''">
</div> </div>
<div class="action"> <div class="action">
<div class="new-contentarea tc"> <div class="new-contentarea tc">

View File

@ -12,34 +12,18 @@
<div class="col-sm-3 pr5"> <div class="col-sm-3 pr5">
<div class="ibox float-e-margins"> <div class="ibox float-e-margins">
<div class="ibox-title ibox-title-gray dashboard-header gray-bg"> <div class="ibox-title ibox-title-gray dashboard-header gray-bg">
<h5>个人资料</h5> <h5>工厂资料</h5>
</div> </div>
<div class="ibox-content"> <div class="ibox-content">
<div class="text-center"> <div class="text-center">
<p class="user-info-head" onclick="avatar()"><img class="img-circle img-lg" th:src="(${#strings.isEmpty(user.avatar)}) ? @{/img/profile.jpg} : @{${user.avatar}}" th:onerror="'this.src=\'' + @{'/img/profile.jpg'} + '\''"></p> <p class="user-info-head" onclick="avatar()"><img class="img-circle img-lg" th:src="(${#strings.isEmpty(user.avatar)}) ? @{/img/favicon.ico} : @{${user.avatar}}" th:onerror="'this.src=\'' + @{'/img/profile.jpg'} + '\''"></p>
<p><a href="javascript:avatar()">修改头像</a></p> <p><a href="javascript:avatar()">修改图标</a></p>
</div> </div>
<ul class="list-group list-group-striped"> <ul class="list-group list-group-striped">
<li class="list-group-item"><i class="fa fa-user"></i> <li class="list-group-item"><i class="fa fa-user"></i>
<b class="font-noraml">登录名称:</b> <b class="font-noraml">工厂名称:</b>
<p class="pull-right">[[${user.loginName}]]</p> <p class="pull-right">[[${user.loginName}]]</p>
</li> </li>
<li class="list-group-item"><i class="fa fa-phone"></i>
<b class="font-noraml">手机号码:</b>
<p class="pull-right">[[${user.phonenumber}]]</p>
</li>
<li class="list-group-item" th:if="${user.dept?.deptName != null}"><i class="fa fa-group"></i>
<b class="font-noraml">所属部门:</b>
<p class="pull-right" style="overflow: hidden; white-space: nowrap; text-overflow: ellipsis;width:120px;">[[${user.dept?.deptName}]] / [[${#strings.defaultString(postGroup,'无岗位')}]]</p>
</li>
<li class="list-group-item"><i class="fa fa-envelope-o"></i>
<b class="font-noraml">邮箱地址:</b>
<p class="pull-right" th:title="${user.email}">[[${#strings.abbreviate(user.email, 16)}]]</p>
</li>
<li class="list-group-item"><i class="fa fa-calendar"></i>
<b class="font-noraml">创建时间:</b>
<p class="pull-right">[[${#dates.format(user.createTime, 'yyyy-MM-dd')}]]</p>
</li>
</ul> </ul>
</div> </div>
</div> </div>
@ -54,7 +38,6 @@
<div class="nav-tabs-custom"> <div class="nav-tabs-custom">
<ul class="nav nav-tabs"> <ul class="nav nav-tabs">
<li class="active"><a href="#user_info" data-toggle="tab" aria-expanded="true">基本资料</a></li> <li class="active"><a href="#user_info" data-toggle="tab" aria-expanded="true">基本资料</a></li>
<li><a href="#modify_password" data-toggle="tab" aria-expanded="false">修改密码</a></li>
</ul> </ul>
<div class="tab-content"> <div class="tab-content">
<!--用户信息--> <!--用户信息-->
@ -63,36 +46,36 @@
<!--隐藏ID--> <!--隐藏ID-->
<input name="id" id="id" type="hidden"> <input name="id" id="id" type="hidden">
<div class="form-group"> <div class="form-group">
<label class="col-sm-2 control-label">用户名称:</label> <label class="col-sm-2 control-label">工厂名称:</label>
<div class="col-sm-10"> <div class="col-sm-10">
<input type="text" class="form-control" name="userName" th:field="*{userName}" placeholder="请输入用户名称"> <input type="text" class="form-control" name="userName" th:field="*{userName}" placeholder="请输入工厂名称">
</div>
</div>
<div class="form-group">
<label class="col-sm-2 control-label">手机号码:</label>
<div class="col-sm-10">
<input type="text" class="form-control" name="phonenumber" maxlength="11" th:field="*{phonenumber}" placeholder="请输入手机号码">
</div>
</div>
<div class="form-group">
<label class="col-sm-2 control-label">邮箱:</label>
<div class="col-sm-10">
<input type="text" maxlength="50" class="form-control" name="email" th:field="*{email}" placeholder="请输入邮箱">
</div>
</div>
<div class="form-group">
<label class="col-sm-2 control-label">性别:</label>
<div class="col-sm-10">
<div class="radio-box">
<input type="radio" id="radio1" th:field="*{sex}" name="sex" value="0">
<label for="radio1"></label>
</div>
<div class="radio-box">
<input type="radio" id="radio2" th:field="*{sex}" name="sex" value="1">
<label for="radio2"></label>
</div>
</div> </div>
</div> </div>
<!-- <div class="form-group">-->
<!-- <label class="col-sm-2 control-label">手机号码:</label>-->
<!-- <div class="col-sm-10">-->
<!-- <input type="text" class="form-control" name="phonenumber" maxlength="11" th:field="*{phonenumber}" placeholder="请输入手机号码">-->
<!-- </div>-->
<!-- </div>-->
<!-- <div class="form-group">-->
<!-- <label class="col-sm-2 control-label">邮箱:</label>-->
<!-- <div class="col-sm-10">-->
<!-- <input type="text" maxlength="50" class="form-control" name="email" th:field="*{email}" placeholder="请输入邮箱">-->
<!-- </div>-->
<!-- </div>-->
<!-- <div class="form-group">-->
<!-- <label class="col-sm-2 control-label">性别:</label>-->
<!-- <div class="col-sm-10">-->
<!-- <div class="radio-box">-->
<!-- <input type="radio" id="radio1" th:field="*{sex}" name="sex" value="0">-->
<!-- <label for="radio1">男</label>-->
<!-- </div>-->
<!-- <div class="radio-box">-->
<!-- <input type="radio" id="radio2" th:field="*{sex}" name="sex" value="1">-->
<!-- <label for="radio2">女</label>-->
<!-- </div>-->
<!-- </div>-->
<!-- </div>-->
<div class="form-group"> <div class="form-group">
<div class="col-sm-offset-2 col-sm-10"> <div class="col-sm-offset-2 col-sm-10">
<button type="button" class="btn btn-sm btn-primary" onclick="submitUserInfo()"><i class="fa fa-check"></i>保 存</button>&nbsp; <button type="button" class="btn btn-sm btn-primary" onclick="submitUserInfo()"><i class="fa fa-check"></i>保 存</button>&nbsp;
@ -102,45 +85,7 @@
</form> </form>
</div> </div>
<!--修改密码-->
<div class="tab-pane" id="modify_password">
<form class="form-horizontal" id="form-user-resetPwd">
<div class="form-group">
<label class="col-sm-2 control-label">旧密码:</label>
<div class="col-sm-10">
<input type="password" class="form-control" name="oldPassword" placeholder="请输入旧密码">
</div>
</div>
<div class="form-group">
<label class="col-sm-2 control-label">新密码:</label>
<div class="col-sm-10">
<input type="password" class="form-control" name="newPassword" id="newPassword" placeholder="请输入新密码">
<th:block th:with="chrtype=${@config.getKey('sys.account.chrtype')}">
<th:block th:if="${chrtype != '0'}">
<span class="help-block m-b-none">
<th:block th:if="${chrtype == '1'}"><i class="fa fa-info-circle" style="color: red;"></i> 密码只能为0-9数字 </th:block>
<th:block th:if="${chrtype == '2'}"><i class="fa fa-info-circle" style="color: red;"></i> 密码只能为a-z和A-Z字母</th:block>
<th:block th:if="${chrtype == '3'}"><i class="fa fa-info-circle" style="color: red;"></i> 密码必须包含(字母,数字)</th:block>
<th:block th:if="${chrtype == '4'}"><i class="fa fa-info-circle" style="color: red;"></i> 密码必须包含(字母,数字,特殊字符!@#$%^&*()-=_+</th:block>
</span>
</th:block>
</th:block>
</div>
</div>
<div class="form-group">
<label class="col-sm-2 control-label">确认密码:</label>
<div class="col-sm-10">
<input type="password" class="form-control" name="confirmPassword" placeholder="请确认密码">
</div>
</div>
<div class="form-group">
<div class="col-sm-offset-2 col-sm-10">
<button type="button" class="btn btn-sm btn-primary" onclick="submitChangPassword()"><i class="fa fa-check"></i>保 存</button>&nbsp;
<button type="button" class="btn btn-sm btn-danger" onclick="closeItem()"><i class="fa fa-reply-all"></i>关 闭 </button>
</div>
</div>
</form>
</div>
</div> </div>
</div> </div>
</div> </div>
@ -161,7 +106,7 @@
//不固定 //不固定
maxmin: true, maxmin: true,
shade: 0.3, shade: 0.3,
title: "修改头像", title: "修改图标",
content: url, content: url,
btn: ['确定', '关闭'], btn: ['确定', '关闭'],
// 弹层外区域关闭 // 弹层外区域关闭

View File

@ -0,0 +1,298 @@
<!DOCTYPE html>
<html lang="zh" xmlns:th="http://www.thymeleaf.org" >
<head>
<th:block th:include="include :: header('用户个人信息')" />
<style type="text/css">.user-info-head{position:relative;display:inline-block;}.user-info-head:hover:after{content:'\f030';position:absolute;left:0;right:0;top:0;bottom:0;color:#eee;background:rgba(0,0,0,0.5);font-family:FontAwesome;font-size:24px;font-style:normal;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;cursor:pointer;line-height:110px;border-radius:50%;}</style>
</head>
<body class="gray-bg" style="font: 14px Helvetica Neue, Helvetica, PingFang SC, 微软雅黑, Tahoma, Arial, sans-serif !important;">
<input id="userId" name="userId" type="hidden" th:value="${user.userId}" />
<section class="section-content">
<div class="row">
<div class="col-sm-3 pr5">
<div class="ibox float-e-margins">
<div class="ibox-title ibox-title-gray dashboard-header gray-bg">
<h5>个人资料</h5>
</div>
<div class="ibox-content">
<div class="text-center">
<p class="user-info-head" onclick="avatar()"><img class="img-circle img-lg" th:src="(${#strings.isEmpty(user.avatar)}) ? @{/img/profile.jpg} : @{${user.avatar}}" th:onerror="'this.src=\'' + @{'/img/profile.jpg'} + '\''"></p>
<p><a href="javascript:avatar()">修改头像</a></p>
</div>
<ul class="list-group list-group-striped">
<li class="list-group-item"><i class="fa fa-user"></i>
<b class="font-noraml">登录名称:</b>
<p class="pull-right">[[${user.loginName}]]</p>
</li>
<li class="list-group-item"><i class="fa fa-phone"></i>
<b class="font-noraml">手机号码:</b>
<p class="pull-right">[[${user.phonenumber}]]</p>
</li>
<li class="list-group-item" th:if="${user.dept?.deptName != null}"><i class="fa fa-group"></i>
<b class="font-noraml">所属部门:</b>
<p class="pull-right" style="overflow: hidden; white-space: nowrap; text-overflow: ellipsis;width:120px;">[[${user.dept?.deptName}]] / [[${#strings.defaultString(postGroup,'无岗位')}]]</p>
</li>
<li class="list-group-item"><i class="fa fa-envelope-o"></i>
<b class="font-noraml">邮箱地址:</b>
<p class="pull-right" th:title="${user.email}">[[${#strings.abbreviate(user.email, 16)}]]</p>
</li>
<li class="list-group-item"><i class="fa fa-calendar"></i>
<b class="font-noraml">创建时间:</b>
<p class="pull-right">[[${#dates.format(user.createTime, 'yyyy-MM-dd')}]]</p>
</li>
</ul>
</div>
</div>
</div>
<div class="col-sm-9 about">
<div class="ibox float-e-margins">
<div class="ibox-title ibox-title-gray dashboard-header">
<h5>基本资料</h5>
</div>
<div class="ibox-content">
<div class="nav-tabs-custom">
<ul class="nav nav-tabs">
<li class="active"><a href="#user_info" data-toggle="tab" aria-expanded="true">基本资料</a></li>
<li><a href="#modify_password" data-toggle="tab" aria-expanded="false">修改密码</a></li>
</ul>
<div class="tab-content">
<!--用户信息-->
<div class="tab-pane active" id="user_info" th:object="${user}">
<form class="form-horizontal" id="form-user-edit">
<!--隐藏ID-->
<input name="id" id="id" type="hidden">
<div class="form-group">
<label class="col-sm-2 control-label">用户名称:</label>
<div class="col-sm-10">
<input type="text" class="form-control" name="userName" th:field="*{userName}" placeholder="请输入用户名称">
</div>
</div>
<div class="form-group">
<label class="col-sm-2 control-label">手机号码:</label>
<div class="col-sm-10">
<input type="text" class="form-control" name="phonenumber" maxlength="11" th:field="*{phonenumber}" placeholder="请输入手机号码">
</div>
</div>
<div class="form-group">
<label class="col-sm-2 control-label">邮箱:</label>
<div class="col-sm-10">
<input type="text" maxlength="50" class="form-control" name="email" th:field="*{email}" placeholder="请输入邮箱">
</div>
</div>
<div class="form-group">
<label class="col-sm-2 control-label">性别:</label>
<div class="col-sm-10">
<div class="radio-box">
<input type="radio" id="radio1" th:field="*{sex}" name="sex" value="0">
<label for="radio1"></label>
</div>
<div class="radio-box">
<input type="radio" id="radio2" th:field="*{sex}" name="sex" value="1">
<label for="radio2"></label>
</div>
</div>
</div>
<div class="form-group">
<div class="col-sm-offset-2 col-sm-10">
<button type="button" class="btn btn-sm btn-primary" onclick="submitUserInfo()"><i class="fa fa-check"></i>保 存</button>&nbsp;
<button type="button" class="btn btn-sm btn-danger" onclick="closeItem()"><i class="fa fa-reply-all"></i>关 闭 </button>
</div>
</div>
</form>
</div>
<!--修改密码-->
<div class="tab-pane" id="modify_password">
<form class="form-horizontal" id="form-user-resetPwd">
<div class="form-group">
<label class="col-sm-2 control-label">旧密码:</label>
<div class="col-sm-10">
<input type="password" class="form-control" name="oldPassword" placeholder="请输入旧密码">
</div>
</div>
<div class="form-group">
<label class="col-sm-2 control-label">新密码:</label>
<div class="col-sm-10">
<input type="password" class="form-control" name="newPassword" id="newPassword" placeholder="请输入新密码">
<th:block th:with="chrtype=${@config.getKey('sys.account.chrtype')}">
<th:block th:if="${chrtype != '0'}">
<span class="help-block m-b-none">
<th:block th:if="${chrtype == '1'}"><i class="fa fa-info-circle" style="color: red;"></i> 密码只能为0-9数字 </th:block>
<th:block th:if="${chrtype == '2'}"><i class="fa fa-info-circle" style="color: red;"></i> 密码只能为a-z和A-Z字母</th:block>
<th:block th:if="${chrtype == '3'}"><i class="fa fa-info-circle" style="color: red;"></i> 密码必须包含(字母,数字)</th:block>
<th:block th:if="${chrtype == '4'}"><i class="fa fa-info-circle" style="color: red;"></i> 密码必须包含(字母,数字,特殊字符!@#$%^&*()-=_+</th:block>
</span>
</th:block>
</th:block>
</div>
</div>
<div class="form-group">
<label class="col-sm-2 control-label">确认密码:</label>
<div class="col-sm-10">
<input type="password" class="form-control" name="confirmPassword" placeholder="请确认密码">
</div>
</div>
<div class="form-group">
<div class="col-sm-offset-2 col-sm-10">
<button type="button" class="btn btn-sm btn-primary" onclick="submitChangPassword()"><i class="fa fa-check"></i>保 存</button>&nbsp;
<button type="button" class="btn btn-sm btn-danger" onclick="closeItem()"><i class="fa fa-reply-all"></i>关 闭 </button>
</div>
</div>
</form>
</div>
</div>
</div>
</div>
</div>
</div>
</div>
</section>
<th:block th:include="include :: footer" />
<script>
/*用户管理-头像*/
function avatar() {
var url = ctx + 'system/user/profileEdit/avatar';
top.layer.open({
type: 2,
area: [$(window).width() + 'px', $(window).height() + 'px'],
fix: false,
//不固定
maxmin: true,
shade: 0.3,
title: "修改头像",
content: url,
btn: ['确定', '关闭'],
// 弹层外区域关闭
shadeClose: true,
yes: function(index, layero) {
var iframeWin = layero.find('iframe')[0];
iframeWin.contentWindow.submitHandler(index, layero);
},
cancel: function(index) {
return true;
}
});
}
/*用户信息-修改*/
$("#form-user-edit").validate({
onkeyup: false,
rules:{
userName:{
required:true,
},
email:{
required:true,
email:true,
remote: {
url: ctx + "system/user/checkEmailUnique",
type: "post",
dataType: "json",
data: {
"userId": function() {
return $("#userId").val();
},
"email": function() {
return $.common.trim($("#email").val());
}
}
}
},
phonenumber:{
required:true,
isPhone:true,
remote: {
url: ctx + "system/user/checkPhoneUnique",
type: "post",
dataType: "json",
data: {
"userId": function() {
return $("#userId").val();
},
"phonenumber": function() {
return $.common.trim($("#phonenumber").val());
}
}
}
},
},
messages: {
"userName": {
required: "请输入用户名称",
},
"email": {
required: "请输入邮箱",
remote: "Email已经存在"
},
"phonenumber":{
required: "请输入手机号码",
remote: "手机号码已经存在"
}
},
focusCleanup: true
});
function submitUserInfo() {
if ($.validate.form()) {
$.operate.saveModal(ctx + "system/user/profileEdit/update", $('#form-user-edit').serialize());
}
}
/*用户管理-修改密码*/
$("#form-user-resetPwd").validate({
onkeyup: false,
rules:{
oldPassword:{
required:true,
remote: {
url: ctx + "system/user/profileEdit/checkPassword",
type: "get",
dataType: "json",
data: {
password: function() {
return $("input[name='oldPassword']").val();
}
}
}
},
newPassword: {
required: true,
minlength: 6,
maxlength: 20
},
confirmPassword: {
required: true,
equalTo: "#newPassword"
}
},
messages: {
oldPassword: {
required: "请输入原密码",
remote: "原密码错误"
},
newPassword: {
required: "请输入新密码",
minlength: "密码不能小于6个字符",
maxlength: "密码不能大于20个字符"
},
confirmPassword: {
required: "请再次输入新密码",
equalTo: "两次密码输入不一致"
}
},
focusCleanup: true
});
function submitChangPassword () {
var chrtype = [[${#strings.defaultString(@config.getKey('sys.account.chrtype'), 0)}]];
var password = $("#newPassword").val();
if ($.validate.form("form-user-resetPwd") && checkpwd(chrtype, password)) {
$.operate.saveModal(ctx + "system/user/profileEdit/resetPwd", $('#form-user-resetPwd').serialize());
}
}
</script>
</body>
</html>

View File

@ -0,0 +1,93 @@
package com.ruoyi.common.core.domain.entity;
import com.ruoyi.common.annotation.Excel;
import com.ruoyi.common.annotation.Excel.ColumnType;
import com.ruoyi.common.core.domain.BaseEntity;
import org.apache.commons.lang3.builder.ToStringBuilder;
import org.apache.commons.lang3.builder.ToStringStyle;
/**
* sys_identifier
*
* @author ruoyi
*/
public class IdentifierExcel extends BaseEntity
{
private static final long serialVersionUID = 1L;
/** 用户ID */
@Excel(name = "高温标识器序号", cellType = ColumnType.NUMERIC, prompt = "序号")
private Long id;
@Excel(name = "高温标识器ID1")
private String identifierId;
@Excel(name = "高温标识器ID2")
private String identifierTwo;
@Excel(name = "铁包号")
private String ladleNumber;
/** 删除标志0代表存在 2代表删除 */
private String delFlag;
public IdentifierExcel() {
}
public Long getId() {
return id;
}
public void setId(Long id) {
this.id = id;
}
public String getIdentifierId() {
return identifierId;
}
public void setIdentifierId(String identifierId) {
this.identifierId = identifierId;
}
public String getIdentifierTwo() {
return identifierTwo;
}
public void setIdentifierTwo(String identifierTwo) {
this.identifierTwo = identifierTwo;
}
public String getLadleNumber() {
return ladleNumber;
}
public void setLadleNumber(String ladleNumber) {
this.ladleNumber = ladleNumber;
}
public String getDelFlag() {
return delFlag;
}
public void setDelFlag(String delFlag) {
this.delFlag = delFlag;
}
@Override
public String toString() {
return new ToStringBuilder(this,ToStringStyle.MULTI_LINE_STYLE)
.append("id", getId())
.append("identifierId", getIdentifierId())
.append("identifierTwo", getIdentifierTwo())
.append("ladleNumber", getLadleNumber())
.append("delFlag", getDelFlag())
.append("createBy", getCreateBy())
.append("createTime", getCreateTime())
.append("updateBy", getUpdateBy())
.append("updateTime", getUpdateTime())
.append("remark", getRemark())
.toString();
}
}

View File

@ -0,0 +1,117 @@
package com.ruoyi.common.core.domain.entity;
import com.ruoyi.common.annotation.Excel;
import com.ruoyi.common.annotation.Excel.ColumnType;
import com.ruoyi.common.core.domain.BaseEntity;
import org.apache.commons.lang3.builder.ToStringBuilder;
import org.apache.commons.lang3.builder.ToStringStyle;
/**
* sys_identifier
*
* @author ruoyi
*/
public class NormalExcel extends BaseEntity
{
private static final long serialVersionUID = 1L;
/** 用户ID */
@Excel(name = "常温标识器序号", cellType = ColumnType.NUMERIC, prompt = "序号")
private Long id;
@Excel(name = "常温标识器ID1")
private String identifierId;
@Excel(name = "常温标识器ID2")
private String identifierTwo;
@Excel(name = "常温标识器ID3")
private String identifierThree;
@Excel(name = "常温标识器ID4")
private String identifierFour;
@Excel(name = "铁包号")
private String ladleNumber;
/** 删除标志0代表存在 2代表删除 */
private String delFlag;
public NormalExcel() {
}
public Long getId() {
return id;
}
public void setId(Long id) {
this.id = id;
}
public String getIdentifierId() {
return identifierId;
}
public void setIdentifierId(String identifierId) {
this.identifierId = identifierId;
}
public String getIdentifierTwo() {
return identifierTwo;
}
public void setIdentifierTwo(String identifierTwo) {
this.identifierTwo = identifierTwo;
}
public String getIdentifierThree() {
return identifierThree;
}
public void setIdentifierThree(String identifierThree) {
this.identifierThree = identifierThree;
}
public String getIdentifierFour() {
return identifierFour;
}
public void setIdentifierFour(String identifierFour) {
this.identifierFour = identifierFour;
}
public String getLadleNumber() {
return ladleNumber;
}
public void setLadleNumber(String ladleNumber) {
this.ladleNumber = ladleNumber;
}
public String getDelFlag() {
return delFlag;
}
public void setDelFlag(String delFlag) {
this.delFlag = delFlag;
}
@Override
public String toString() {
return new ToStringBuilder(this,ToStringStyle.MULTI_LINE_STYLE)
.append("id", getId())
.append("identifierId", getIdentifierId())
.append("identifierTwo", getIdentifierTwo())
.append("ladleNumber", getLadleNumber())
.append("identifierThree", getIdentifierThree())
.append("identifierFour",getIdentifierFour())
.append("delFlag", getDelFlag())
.append("createBy", getCreateBy())
.append("createTime", getCreateTime())
.append("updateBy", getUpdateBy())
.append("updateTime", getUpdateTime())
.append("remark", getRemark())
.toString();
}
}

View File

@ -0,0 +1,142 @@
package com.ruoyi.common.core.domain.entity;
import com.ruoyi.common.annotation.Excel;
import com.ruoyi.common.annotation.Excel.ColumnType;
import com.ruoyi.common.core.domain.BaseEntity;
import org.apache.commons.lang3.builder.ToStringBuilder;
import org.apache.commons.lang3.builder.ToStringStyle;
/**
* sys_radar
*
* @author ruoyi
*/
public class RadarExcel extends BaseEntity
{
private static final long serialVersionUID = 1L;
/** 用户ID */
@Excel(name = "雷达序号", cellType = ColumnType.NUMERIC, prompt = "雷达编号")
private Long id;
@Excel(name = "雷达IP")
private String radarIp;
@Excel(name = "雷达位置/工位")
private String radarLocation;
@Excel(name = "工位代号")
private Integer stationCode;
@Excel(name = "工序")
private Integer sort;
private Integer status;
@Excel(name = "雷达ID")
private Integer radarId;
@Excel(name = "雷达天线号")
private String radarNum;
/** 删除标志0代表存在 2代表删除 */
private String delFlag;
public RadarExcel() {
}
public String getDelFlag() {
return delFlag;
}
public void setDelFlag(String delFlag) {
this.delFlag = delFlag;
}
public Long getId() {
return id;
}
public void setId(Long id) {
this.id = id;
}
public String getRadarIp() {
return radarIp;
}
public void setRadarIp(String radarIp) {
this.radarIp = radarIp;
}
public String getRadarLocation() {
return radarLocation;
}
public void setRadarLocation(String radarLocation) {
this.radarLocation = radarLocation;
}
public Integer getStationCode() {
return stationCode;
}
public void setStationCode(Integer stationCode) {
this.stationCode = stationCode;
}
public Integer getSort() {
return sort;
}
public void setSort(Integer sort) {
this.sort = sort;
}
public Integer getStatus() {
return status;
}
public void setStatus(Integer status) {
this.status = status;
}
public Integer getRadarId() {
return radarId;
}
public void setRadarId(Integer radarId) {
this.radarId = radarId;
}
public String getRadarNum() {
return radarNum;
}
public void setRadarNum(String radarNum) {
this.radarNum = radarNum;
}
@Override
public String toString() {
return new ToStringBuilder(this,ToStringStyle.MULTI_LINE_STYLE)
.append("id", getId())
.append("radarIp", getRadarIp())
.append("radarLocation", getRadarLocation())
.append("stationCode", getStationCode())
.append("sort", getSort())
.append("status", getStatus())
.append("radarId", getRadarId())
.append("radarNum", getRadarNum())
.append("delFlag", getDelFlag())
.append("createBy", getCreateBy())
.append("createTime", getCreateTime())
.append("updateBy", getUpdateBy())
.append("updateTime", getUpdateTime())
.append("remark", getRemark())
.toString();
}
}

View File

@ -44,6 +44,10 @@ public class SysRadar extends BaseEntity
private Integer status; private Integer status;
private Integer radarId;
private String radarNum;
/** 删除标志0代表存在 2代表删除 */ /** 删除标志0代表存在 2代表删除 */
private String delFlag; private String delFlag;
@ -140,6 +144,22 @@ public class SysRadar extends BaseEntity
this.status = status; this.status = status;
} }
public Integer getRadarId() {
return radarId;
}
public void setRadarId(Integer radarId) {
this.radarId = radarId;
}
public String getRadarNum() {
return radarNum;
}
public void setRadarNum(String radarNum) {
this.radarNum = radarNum;
}
@Override @Override
public String toString() { public String toString() {
return new ToStringBuilder(this,ToStringStyle.MULTI_LINE_STYLE) return new ToStringBuilder(this,ToStringStyle.MULTI_LINE_STYLE)
@ -153,6 +173,8 @@ public class SysRadar extends BaseEntity
.append("alarmValue3", getAlarmValue3()) .append("alarmValue3", getAlarmValue3())
.append("alarmValue4", getAlarmValue4()) .append("alarmValue4", getAlarmValue4())
.append("status", getStatus()) .append("status", getStatus())
.append("radarId", getRadarId())
.append("radarNum", getRadarNum())
.append("delFlag", getDelFlag()) .append("delFlag", getDelFlag())
.append("createBy", getCreateBy()) .append("createBy", getCreateBy())
.append("createTime", getCreateTime()) .append("createTime", getCreateTime())

View File

@ -34,4 +34,6 @@ public interface SysIdentifierMapper
List<SysIdentifier> selectAllIdentifierList(); List<SysIdentifier> selectAllIdentifierList();
SysIdentifier selectIdentifierByTag(String tag); SysIdentifier selectIdentifierByTag(String tag);
int deleteRadarByIds(String ids);
} }

View File

@ -41,4 +41,5 @@ public interface SysRadarMapper
public int updateRadarValue(SysRadar radar); public int updateRadarValue(SysRadar radar);
public int updateStatus(SysRadar radar); public int updateStatus(SysRadar radar);
int deleteRadarByIds(String ids);
} }

View File

@ -1,8 +1,6 @@
package com.ruoyi.system.service; package com.ruoyi.system.service;
import com.ruoyi.common.core.domain.entity.SysIdentifier; import com.ruoyi.common.core.domain.entity.*;
import com.ruoyi.common.core.domain.entity.SysRadar;
import com.ruoyi.common.core.domain.entity.SysUser;
import com.ruoyi.system.domain.SysUserRole; import com.ruoyi.system.domain.SysUserRole;
import java.util.List; import java.util.List;
@ -31,4 +29,10 @@ public interface ISysIdentifierService
int updateNormalIdentifier(SysIdentifier identifier); int updateNormalIdentifier(SysIdentifier identifier);
SysIdentifier selectIdentifierByTag(String tag); SysIdentifier selectIdentifierByTag(String tag);
int deleteRadarByIds(String ids);
String importNormalData(List<NormalExcel> normalList, boolean isUpdateSupport);
String importData(List<IdentifierExcel> identifierList, boolean isUpdateSupport);
} }

View File

@ -1,5 +1,6 @@
package com.ruoyi.system.service; package com.ruoyi.system.service;
import com.ruoyi.common.core.domain.entity.RadarExcel;
import com.ruoyi.common.core.domain.entity.SysRadar; import com.ruoyi.common.core.domain.entity.SysRadar;
import com.ruoyi.common.core.domain.entity.SysUser; import com.ruoyi.common.core.domain.entity.SysUser;
import com.ruoyi.system.domain.SysUserRole; import com.ruoyi.system.domain.SysUserRole;
@ -32,4 +33,8 @@ public interface ISysRadarService
public int updateRadarValue(SysRadar radar); public int updateRadarValue(SysRadar radar);
int changeStatus(SysRadar radar); int changeStatus(SysRadar radar);
int deleteRadarByIds(String ids);
String importData(List<RadarExcel> radarList, boolean isUpdateSupport);
} }

View File

@ -1,14 +1,12 @@
package com.ruoyi.system.service.impl; package com.ruoyi.system.service.impl;
import com.ruoyi.common.constant.UserConstants; import com.ruoyi.common.constant.UserConstants;
import com.ruoyi.common.core.domain.entity.SysIdentifier; import com.ruoyi.common.core.domain.entity.*;
import com.ruoyi.common.core.domain.entity.SysRadar;
import com.ruoyi.common.core.domain.entity.SysRole;
import com.ruoyi.common.core.domain.entity.SysUser;
import com.ruoyi.common.core.text.Convert; import com.ruoyi.common.core.text.Convert;
import com.ruoyi.common.exception.ServiceException; import com.ruoyi.common.exception.ServiceException;
import com.ruoyi.common.utils.ShiroUtils; import com.ruoyi.common.utils.ShiroUtils;
import com.ruoyi.common.utils.StringUtils; import com.ruoyi.common.utils.StringUtils;
import com.ruoyi.common.utils.bean.BeanUtils;
import com.ruoyi.common.utils.bean.BeanValidators; import com.ruoyi.common.utils.bean.BeanValidators;
import com.ruoyi.common.utils.security.Md5Utils; import com.ruoyi.common.utils.security.Md5Utils;
import com.ruoyi.system.domain.SysPost; import com.ruoyi.system.domain.SysPost;
@ -96,6 +94,138 @@ public class SysIdentifierServiceImpl implements ISysIdentifierService
return identifierMapper.selectIdentifierByTag(tag); return identifierMapper.selectIdentifierByTag(tag);
} }
@Override
public int deleteRadarByIds(String ids) {
return identifierMapper.deleteRadarByIds(ids);
}
@Override
public String importNormalData(List<NormalExcel> normalList, boolean isUpdateSupport) {
if (StringUtils.isNull(normalList) || normalList.size() == 0)
{
throw new ServiceException("导入数据不能为空!");
}
int successNum = 0;
int failureNum = 0;
StringBuilder successMsg = new StringBuilder();
StringBuilder failureMsg = new StringBuilder();
List<SysIdentifier> sysIdentifiers = normalList.stream().map(normalExcel -> {
SysIdentifier sysIdentifier = new SysIdentifier();
BeanUtils.copyProperties(normalExcel, sysIdentifier);
sysIdentifier.setId(normalExcel.getId());
return sysIdentifier;
}).collect(Collectors.toList());
for (SysIdentifier sysIdentifier : sysIdentifiers)
{
try
{
// 验证是否存在
SysIdentifier u = identifierMapper.selectNormalIdentifierById(sysIdentifier.getId());
if (StringUtils.isNull(u))
{
BeanValidators.validateWithException(validator, sysIdentifier);
identifierMapper.insertNormalIdentifier(sysIdentifier);
successNum++;
successMsg.append("<br/>" + successNum + "、高温标识器 " + sysIdentifier.getId() + " 导入成功");
}
else if (isUpdateSupport)
{
BeanValidators.validateWithException(validator, sysIdentifier);
sysIdentifier.setId(u.getId());
identifierMapper.updateNormalIdentifier(sysIdentifier);
successNum++;
successMsg.append("<br/>" + successNum + "、高温标识器 " + sysIdentifier.getId() + " 更新成功");
}
else
{
failureNum++;
failureMsg.append("<br/>" + failureNum + "、高温标识器 " + sysIdentifier.getId() + " 已存在");
}
}
catch (Exception e)
{
failureNum++;
String msg = "<br/>" + failureNum + "、高温标识器 " + sysIdentifier.getId() + " 导入失败:";
failureMsg.append(msg + e.getMessage());
log.error(msg, e);
}
}
if (failureNum > 0)
{
failureMsg.insert(0, "很抱歉,导入失败!共 " + failureNum + " 条数据格式不正确,错误如下:");
throw new ServiceException(failureMsg.toString());
}
else
{
successMsg.insert(0, "恭喜您,数据已全部导入成功!共 " + successNum + " 条,数据如下:");
}
return successMsg.toString();
}
@Override
public String importData(List<IdentifierExcel> identifierList, boolean isUpdateSupport) {
if (StringUtils.isNull(identifierList) || identifierList.size() == 0)
{
throw new ServiceException("导入数据不能为空!");
}
int successNum = 0;
int failureNum = 0;
StringBuilder successMsg = new StringBuilder();
StringBuilder failureMsg = new StringBuilder();
List<SysIdentifier> sysIdentifiers = identifierList.stream().map(identifierExcel -> {
SysIdentifier sysIdentifier = new SysIdentifier();
BeanUtils.copyProperties(identifierExcel, sysIdentifier);
sysIdentifier.setId(identifierExcel.getId());
return sysIdentifier;
}).collect(Collectors.toList());
for (SysIdentifier sysIdentifier : sysIdentifiers)
{
try
{
// 验证是否存在
SysIdentifier u = identifierMapper.selectIdentifierById(sysIdentifier.getId());
if (StringUtils.isNull(u))
{
BeanValidators.validateWithException(validator, sysIdentifier);
identifierMapper.insertIdentifier(sysIdentifier);
successNum++;
successMsg.append("<br/>" + successNum + "、高温标识器 " + sysIdentifier.getId() + " 导入成功");
}
else if (isUpdateSupport)
{
BeanValidators.validateWithException(validator, sysIdentifier);
sysIdentifier.setId(u.getId());
identifierMapper.updateIdentifier(sysIdentifier);
successNum++;
successMsg.append("<br/>" + successNum + "、高温标识器 " + sysIdentifier.getId() + " 更新成功");
}
else
{
failureNum++;
failureMsg.append("<br/>" + failureNum + "、高温标识器 " + sysIdentifier.getId() + " 已存在");
}
}
catch (Exception e)
{
failureNum++;
String msg = "<br/>" + failureNum + "、高温标识器 " + sysIdentifier.getId() + " 导入失败:";
failureMsg.append(msg + e.getMessage());
log.error(msg, e);
}
}
if (failureNum > 0)
{
failureMsg.insert(0, "很抱歉,导入失败!共 " + failureNum + " 条数据格式不正确,错误如下:");
throw new ServiceException(failureMsg.toString());
}
else
{
successMsg.insert(0, "恭喜您,数据已全部导入成功!共 " + successNum + " 条,数据如下:");
}
return successMsg.toString();
}
@Override @Override
public SysIdentifier selectIdentifierById(Long id) { public SysIdentifier selectIdentifierById(Long id) {

View File

@ -2,6 +2,7 @@ package com.ruoyi.system.service.impl;
import com.ruoyi.common.annotation.DataScope; import com.ruoyi.common.annotation.DataScope;
import com.ruoyi.common.constant.UserConstants; import com.ruoyi.common.constant.UserConstants;
import com.ruoyi.common.core.domain.entity.RadarExcel;
import com.ruoyi.common.core.domain.entity.SysRadar; import com.ruoyi.common.core.domain.entity.SysRadar;
import com.ruoyi.common.core.domain.entity.SysRole; import com.ruoyi.common.core.domain.entity.SysRole;
import com.ruoyi.common.core.domain.entity.SysUser; import com.ruoyi.common.core.domain.entity.SysUser;
@ -9,6 +10,7 @@ import com.ruoyi.common.core.text.Convert;
import com.ruoyi.common.exception.ServiceException; import com.ruoyi.common.exception.ServiceException;
import com.ruoyi.common.utils.ShiroUtils; import com.ruoyi.common.utils.ShiroUtils;
import com.ruoyi.common.utils.StringUtils; import com.ruoyi.common.utils.StringUtils;
import com.ruoyi.common.utils.bean.BeanUtils;
import com.ruoyi.common.utils.bean.BeanValidators; import com.ruoyi.common.utils.bean.BeanValidators;
import com.ruoyi.common.utils.security.Md5Utils; import com.ruoyi.common.utils.security.Md5Utils;
import com.ruoyi.common.utils.spring.SpringUtils; import com.ruoyi.common.utils.spring.SpringUtils;
@ -101,6 +103,77 @@ public class SysRadarServiceImpl implements ISysRadarService
return radarMapper.updateStatus(radar); return radarMapper.updateStatus(radar);
} }
@Override
public int deleteRadarByIds(String ids) {
return radarMapper.deleteRadarByIds(ids);
}
@Override
public String importData(List<RadarExcel> radarList, boolean isUpdateSupport) {
if (StringUtils.isNull(radarList) || radarList.size() == 0)
{
throw new ServiceException("导入数据不能为空!");
}
int successNum = 0;
int failureNum = 0;
StringBuilder successMsg = new StringBuilder();
StringBuilder failureMsg = new StringBuilder();
String password = configService.selectConfigByKey("sys.user.initPassword");
List<SysRadar> sysRadarList = radarList.stream().map(radarExcel -> {
SysRadar sysRadar = new SysRadar();
BeanUtils.copyProperties(radarExcel, sysRadar);
return sysRadar;
}).collect(Collectors.toList());
for (SysRadar radar : sysRadarList)
{
try
{
// 验证是否存在这个用户
SysRadar u = radarMapper.selectRadarById(radar.getId());
if (StringUtils.isNull(u))
{
BeanValidators.validateWithException(validator, radar);
radarMapper.insertRadar(radar);
successNum++;
successMsg.append("<br/>" + successNum + "、雷达 " + radar.getRadarIp() + " 导入成功");
}
else if (isUpdateSupport)
{
BeanValidators.validateWithException(validator, radar);
radar.setId(u.getId());
radarMapper.updateRadar(radar);
successNum++;
successMsg.append("<br/>" + successNum + "、雷达 " + radar.getRadarIp() + " 更新成功");
}
else
{
failureNum++;
failureMsg.append("<br/>" + failureNum + "、雷达 " + radar.getRadarIp() + " 已存在");
}
}
catch (Exception e)
{
failureNum++;
String msg = "<br/>" + failureNum + "、雷达 " + radar.getRadarIp() + " 导入失败:";
failureMsg.append(msg + e.getMessage());
log.error(msg, e);
}
}
if (failureNum > 0)
{
failureMsg.insert(0, "很抱歉,导入失败!共 " + failureNum + " 条数据格式不正确,错误如下:");
throw new ServiceException(failureMsg.toString());
}
else
{
successMsg.insert(0, "恭喜您,数据已全部导入成功!共 " + successNum + " 条,数据如下:");
}
return successMsg.toString();
}
} }

View File

@ -110,40 +110,5 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
</if> </if>
</select> </select>
<!-- <insert id="insertPrimaryRadarData">-->
<!-- insert into sys_normalIdentifier(-->
<!-- <if test="id != null and id != 0">id,</if>-->
<!-- <if test="value1 != null and value1 != ''">value1,</if>-->
<!-- <if test="value2 != null and value2 != ''">value2,</if>-->
<!-- <if test="value3 != null and value3 != ''">value3,</if>-->
<!-- <if test="value4 != null and value4 != ''">value4,</if>-->
<!-- <if test="value5 != null and value5 != ''">value5,</if>-->
<!-- <if test="baseLine != null and baseLine != ''">base_line,</if>-->
<!-- <if test="queryFre != null and queryFre != ''">query_fre,</if>-->
<!-- <if test="number != null and number != ''">number,</if>-->
<!-- <if test="radarLocation != null and radarLocation != ''">radar_location,</if>-->
<!-- <if test="ladleNumber != null and ladleNumber != ''">ladle_number,</if>-->
<!-- <if test="createBy != null and createBy != ''">create_by,</if>-->
<!-- <if test="remark != null and remark != ''">remark,</if>-->
<!-- create_time-->
<!-- )values(-->
<!-- <if test="id != null and id != 0">#{id},</if>-->
<!-- <if test="value1 != null and value1 != ''">#{value1},</if>-->
<!-- <if test="value2 != null and value2 != ''">#{value2},</if>-->
<!-- <if test="value3 != null and value3 != ''">#{value3},</if>-->
<!-- <if test="value4 != null and value4 != ''">#{value4},</if>-->
<!-- <if test="value5 != null and value5 != ''">#{value5},</if>-->
<!-- <if test="baseLine != null and baseLine != ''">#{baseLine},</if>-->
<!-- <if test="queryFre != null and queryFre != ''">#{queryFre},</if>-->
<!-- <if test="number != null and number != ''">#{number},</if>-->
<!-- <if test="radarLocation != null and radarLocation != ''">#{radarLocation},</if>-->
<!-- <if test="ladleNumber != null and ladleNumber != ''">#{ladleNumber},</if>-->
<!-- <if test="createBy!= null and createBy!= ''">#{createBy},</if>-->
<!-- <if test="remark != null and remark != ''">#{remark},</if>-->
<!-- sysdate()-->
<!-- )-->
<!-- </insert>-->
</mapper> </mapper>

View File

@ -141,4 +141,8 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
from sys_identifier i where i.identifier_id = #{tag} or identifier_two = #{tag} or identifier_three = #{tag} or identifier_four = #{tag} from sys_identifier i where i.identifier_id = #{tag} or identifier_two = #{tag} or identifier_three = #{tag} or identifier_four = #{tag}
</select> </select>
<delete id="deleteRadarByIds">
delete from sys_identifier where id in (#{ids})
</delete>
</mapper> </mapper>

View File

@ -15,6 +15,8 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
<result property="alarmValue3" column="alarm_value3"/> <result property="alarmValue3" column="alarm_value3"/>
<result property="alarmValue4" column="alarm_value4"/> <result property="alarmValue4" column="alarm_value4"/>
<result property="status" column="status" /> <result property="status" column="status" />
<result property="radarId" column="radar_id" />
<result property="radarNum" column="radar_num" />
<result property="createBy" column="create_by" /> <result property="createBy" column="create_by" />
<result property="createTime" column="create_time" /> <result property="createTime" column="create_time" />
<result property="updateBy" column="update_by" /> <result property="updateBy" column="update_by" />
@ -25,7 +27,7 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
<select id="selectRadarList" parameterType="com.ruoyi.common.core.domain.entity.SysRadar" resultMap="SysRadarResult"> <select id="selectRadarList" parameterType="com.ruoyi.common.core.domain.entity.SysRadar" resultMap="SysRadarResult">
select r.id,r.radar_ip,r.radar_location,r.station_code,r.sort,r.alarm_value1,r.alarm_value2,r.alarm_value3,r.alarm_value4,r.status,r.create_by,r.create_time,r.update_by,r.update_time,r.remark from sys_radar r select r.id,r.radar_ip,r.radar_location,r.station_code,r.sort,r.alarm_value1,r.alarm_value2,r.alarm_value3,r.alarm_value4,r.status,r.radar_id,r.radar_num,r.create_by,r.create_time,r.update_by,r.update_time,r.remark from sys_radar r
where r.del_flag = '0' where r.del_flag = '0'
<if test="radarLocation != null and radarLocation != ''"> <if test="radarLocation != null and radarLocation != ''">
AND r.radar_location like concat('%',#{radarLocation}, '%') AND r.radar_location like concat('%',#{radarLocation}, '%')
@ -43,6 +45,8 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
<if test="radarLocation != null and radarLocation != ''">radar_location,</if> <if test="radarLocation != null and radarLocation != ''">radar_location,</if>
<if test="stationCode != null and stationCode != ''">station_code,</if> <if test="stationCode != null and stationCode != ''">station_code,</if>
<if test="sort != null and sort != ''">sort,</if> <if test="sort != null and sort != ''">sort,</if>
<if test="radarId != null and radarId != ''">radar_id,</if>
<if test="radarNum != null and radarNum != ''">radar_num,</if>
<if test="createBy != null and createBy != ''">create_by,</if> <if test="createBy != null and createBy != ''">create_by,</if>
<if test="remark != null and remark != ''">remark,</if> <if test="remark != null and remark != ''">remark,</if>
alarm_value1, alarm_value1,
@ -57,6 +61,8 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
<if test="radarLocation != null and radarLocation != ''">#{radarLocation},</if> <if test="radarLocation != null and radarLocation != ''">#{radarLocation},</if>
<if test="stationCode != null and stationCode != ''">#{stationCode},</if> <if test="stationCode != null and stationCode != ''">#{stationCode},</if>
<if test="sort != null and sort != ''">#{sort},</if> <if test="sort != null and sort != ''">#{sort},</if>
<if test="radarId != null and radarId != ''">#{radarId},</if>
<if test="radarNum != null and radarNum != ''">#{radarNum},</if>
<if test="createBy != null and createBy != ''">#{createBy},#,</if> <if test="createBy != null and createBy != ''">#{createBy},#,</if>
<if test="remark != null and remark != ''">#{remark},</if> <if test="remark != null and remark != ''">#{remark},</if>
0, 0,
@ -69,7 +75,7 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
</insert> </insert>
<select id="selectRadarById" parameterType="Long" resultMap="SysRadarResult"> <select id="selectRadarById" parameterType="Long" resultMap="SysRadarResult">
select r.id,r.radar_ip,r.radar_location,r.station_code,r.alarm_value1,r.alarm_value2,r.alarm_value3,r.alarm_value4,r.status,r.sort,r.create_by,r.create_time,r.update_by,r.update_time,r.remark from sys_radar r select r.id,r.radar_ip,r.radar_location,r.station_code,r.alarm_value1,r.alarm_value2,r.alarm_value3,r.alarm_value4,r.radar_id,r.radar_num,r.status,r.sort,r.create_by,r.create_time,r.update_by,r.update_time,r.remark from sys_radar r
where r.id = #{id} where r.id = #{id}
</select> </select>
@ -81,6 +87,8 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
<if test="radarLocation != null and radarLocation != ''">radar_location = #{radarLocation},</if> <if test="radarLocation != null and radarLocation != ''">radar_location = #{radarLocation},</if>
<if test="stationCode != null and stationCode != ''">station_code = #{stationCode},</if> <if test="stationCode != null and stationCode != ''">station_code = #{stationCode},</if>
<if test="sort != null and sort != 0">sort = #{sort},</if> <if test="sort != null and sort != 0">sort = #{sort},</if>
<if test="radarId != null and radarId != 0">radar_id = #{radarId},</if>
<if test="radarNum != null and radarNum != 0">radar_num = #{radarNum},</if>
<if test="updateBy != null and updateBy != ''">update_by = #{updateBy},</if> <if test="updateBy != null and updateBy != ''">update_by = #{updateBy},</if>
<if test="remark != null">remark = #{remark},</if> <if test="remark != null">remark = #{remark},</if>
update_time = sysdate() update_time = sysdate()
@ -108,4 +116,12 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
</set> </set>
where id = #{id} where id = #{id}
</update> </update>
<delete id="deleteRadarByIds">
delete from sys_radar where id in (#{ids})
</delete>
</mapper> </mapper>