package com.thhy.engineering.modules.biz.device.service.impl;
|
|
import cn.hutool.core.io.IoUtil;
|
import cn.hutool.poi.excel.ExcelWriter;
|
import com.github.pagehelper.PageHelper;
|
import com.github.pagehelper.PageInfo;
|
import com.thhy.engineering.modules.biz.device.entity.SysDevice;
|
import com.thhy.engineering.modules.biz.device.entity.TMouldRecord;
|
import com.thhy.engineering.modules.biz.device.entity.TSteam;
|
import com.thhy.engineering.modules.biz.device.entity.dto.SteamExportDto;
|
import com.thhy.engineering.modules.biz.device.mapper.SysDeviceMapper;
|
import com.thhy.engineering.modules.biz.device.service.SysDeviceService;
|
import com.thhy.general.common.BasicResult;
|
import com.thhy.general.config.SysUserInfo;
|
import com.thhy.general.utils.UserInfoUtils;
|
import org.springframework.stereotype.Service;
|
|
import javax.annotation.Resource;
|
import javax.servlet.http.HttpServletResponse;
|
import java.io.IOException;
|
import java.io.OutputStream;
|
import java.util.ArrayList;
|
import java.util.HashMap;
|
import java.util.List;
|
import java.util.Map;
|
|
@Service
|
public class SysDeviceServiceImpl implements SysDeviceService {
|
|
@Resource
|
private SysDeviceMapper deviceMapper;
|
|
|
@Override
|
public BasicResult deviceInsert(Map<String, Object> values) {
|
SysUserInfo sysUserInfo = UserInfoUtils.getInstance().getUserInfo();
|
String companyId = sysUserInfo.getCompanyId();
|
values.put("companyId",companyId);
|
//设备名称
|
String deviceName = values.get("deviceName").toString();
|
//设备SN码
|
String snCode = values.get("snCode").toString();
|
SysDevice sysDevice = deviceMapper.deviceNameOrSNByOne(deviceName,snCode,companyId);
|
if(sysDevice!=null){
|
return BasicResult.faild("11111","设备名称或者SN码重复","error");
|
}
|
values.put("deviceId","");
|
deviceMapper.deviceInsert(values);
|
return BasicResult.success("添加成功");
|
}
|
|
@Override
|
public BasicResult deviceList(Map<String, Object> values) {
|
SysUserInfo sysUserInfo = UserInfoUtils.getInstance().getUserInfo();
|
String companyId = sysUserInfo.getCompanyId();
|
values.put("companyId",companyId);
|
|
Integer pageSize = Integer.valueOf(values.get("pageSize").toString());
|
Integer pageNum = Integer.valueOf(values.get("pageNum").toString());
|
PageHelper.startPage(pageNum,pageSize);
|
List<SysDevice> devices = deviceMapper.deviceList(values);
|
PageInfo<SysDevice> sysDevicePageInfo = new PageInfo<>(devices);
|
return BasicResult.success(sysDevicePageInfo);
|
}
|
|
@Override
|
public BasicResult deviceInfo(String deviceId) {
|
SysDevice sysDevice = deviceMapper.deviceInfo(deviceId);
|
return BasicResult.success(sysDevice);
|
}
|
|
@Override
|
public BasicResult deviceUpdate(Map<String, Object> values) {
|
String deviceId = values.get("deviceId").toString();
|
|
SysUserInfo sysUserInfo = UserInfoUtils.getInstance().getUserInfo();
|
String companyId = sysUserInfo.getCompanyId();
|
values.put("companyId",companyId);
|
//设备名称
|
String deviceName = values.get("deviceName").toString();
|
//设备SN码
|
String snCode = values.get("snCode").toString();
|
SysDevice sysDevice = deviceMapper.deviceNameOrSNByOne(deviceName,snCode,companyId);
|
if(sysDevice!=null&&deviceId.equals(sysDevice.getDeviceId())){
|
return BasicResult.faild("11111","设备名称或者SN码重复","error");
|
}
|
deviceMapper.deviceUpdate(values);
|
return BasicResult.success("修改成功");
|
}
|
|
@Override
|
public BasicResult deviceDel(String deviceId) {
|
List<String> steamIds = deviceMapper.selectBySteamIds(deviceId);
|
if(steamIds!=null && steamIds.size()>0){
|
return BasicResult.faild("11111","设备已被占用,不能删除","error");
|
}
|
deviceMapper.deviceDel(deviceId);
|
return BasicResult.success("删除成功");
|
}
|
|
@Override
|
public BasicResult steamList(Map<String, Object> values) {
|
SysUserInfo sysUserInfo = UserInfoUtils.getInstance().getUserInfo();
|
String companyId = sysUserInfo.getCompanyId();
|
values.put("companyId",companyId);
|
Integer pageSize = Integer.valueOf(values.get("pageSize").toString());
|
Integer pageNum = Integer.valueOf(values.get("pageNum").toString());
|
PageHelper.startPage(pageNum,pageSize);
|
List<TSteam> tSteams = deviceMapper.steamList(values);
|
PageInfo<TSteam> tSteamPageInfo = new PageInfo<>(tSteams);
|
return BasicResult.success(tSteamPageInfo);
|
}
|
|
@Override
|
public void steamExport(Map<String, Object> values, HttpServletResponse response) {
|
SysUserInfo sysUserInfo = UserInfoUtils.getInstance().getUserInfo();
|
String companyId = sysUserInfo.getCompanyId();
|
values.put("companyId",companyId);
|
List<TSteam> tSteams = deviceMapper.steamList(values);
|
|
List<SteamExportDto> steamExportDtos = new ArrayList<>();
|
for (TSteam steam : tSteams){
|
SteamExportDto steamExportDto = new SteamExportDto();
|
steamExportDto.setDeviceName(steam.getDeviceName());
|
steamExportDto.setTemperature(steam.getTemperature());
|
steamExportDto.setHumidity(steam.getHumidity());
|
steamExportDto.setGatherTime(steam.getGatherTime());
|
steamExportDtos.add(steamExportDto);
|
}
|
ExcelWriter excel = new ExcelWriter();//定义excel
|
excel.addHeaderAlias("deviceName", "设备名称");
|
excel.addHeaderAlias("temperature", "温度");
|
excel.addHeaderAlias("humidity", "湿度");
|
excel.addHeaderAlias("gatherTime", "采集时间");
|
response.setContentType("application/vnd.ms-excel;charset=UTF-8");
|
response.setHeader("Content-Disposition", "attachment;filename=test.xls");
|
OutputStream out = null;
|
try {
|
out = response.getOutputStream();
|
excel.write(steamExportDtos);
|
excel.flush(out, true);
|
} catch (IOException e) {
|
e.printStackTrace();
|
} finally {
|
// 关闭writer,释放内存
|
excel.close();
|
}
|
IoUtil.close(out);
|
}
|
|
@Override
|
public BasicResult devicePull(String deviceType) {
|
SysUserInfo sysUserInfo = UserInfoUtils.getInstance().getUserInfo();
|
String companyId = sysUserInfo.getCompanyId();
|
List<SysDevice> sysDevices = deviceMapper.devicePull(deviceType,companyId);
|
return BasicResult.success(sysDevices);
|
}
|
|
@Override
|
public BasicResult mouldList(Map<String, Object> values) {
|
Integer pageSize = Integer.valueOf(values.get("pageSize").toString());
|
Integer pageNum = Integer.valueOf(values.get("pageNum").toString());
|
PageHelper.startPage(pageNum,pageSize);
|
List<TMouldRecord> mouldRecords =deviceMapper.mouldList(values);
|
PageInfo<TMouldRecord> tMouldRecordPageInfo = new PageInfo<>(mouldRecords);
|
return BasicResult.success(tMouldRecordPageInfo);
|
}
|
|
|
}
|