|
|
|
@ -0,0 +1,341 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
package jnpf.monitorItem.controller;
|
|
|
|
|
|
|
|
|
|
import cn.afterturn.easypoi.excel.ExcelExportUtil;
|
|
|
|
|
import cn.afterturn.easypoi.excel.entity.ExportParams;
|
|
|
|
|
import cn.afterturn.easypoi.excel.entity.enmus.ExcelType;
|
|
|
|
|
import cn.afterturn.easypoi.excel.entity.params.ExcelExportEntity;
|
|
|
|
|
import io.swagger.annotations.Api;
|
|
|
|
|
import io.swagger.annotations.ApiOperation;
|
|
|
|
|
import jnpf.base.ActionResult;
|
|
|
|
|
import jnpf.base.UserInfo;
|
|
|
|
|
import jnpf.base.vo.DownloadVO;
|
|
|
|
|
import jnpf.base.vo.PageListVO;
|
|
|
|
|
import jnpf.base.vo.PaginationVO;
|
|
|
|
|
import jnpf.config.ConfigValueUtil;
|
|
|
|
|
import jnpf.exception.DataException;
|
|
|
|
|
import jnpf.monitorItem.entity.Monitoring_itemEntity;
|
|
|
|
|
import jnpf.monitorItem.model.monitoring_item.*;
|
|
|
|
|
import jnpf.monitorItem.service.Monitoring_itemService;
|
|
|
|
|
import jnpf.util.*;
|
|
|
|
|
import jnpf.util.enums.FileTypeEnum;
|
|
|
|
|
import jnpf.util.file.UploadUtil;
|
|
|
|
|
import lombok.Cleanup;
|
|
|
|
|
import lombok.extern.slf4j.Slf4j;
|
|
|
|
|
import org.apache.poi.hssf.usermodel.HSSFWorkbook;
|
|
|
|
|
import org.apache.poi.ss.usermodel.Workbook;
|
|
|
|
|
import org.springframework.beans.factory.annotation.Autowired;
|
|
|
|
|
import org.springframework.transaction.annotation.Transactional;
|
|
|
|
|
import org.springframework.web.bind.annotation.*;
|
|
|
|
|
|
|
|
|
|
import javax.validation.Valid;
|
|
|
|
|
import java.io.FileOutputStream;
|
|
|
|
|
import java.io.IOException;
|
|
|
|
|
import java.util.ArrayList;
|
|
|
|
|
import java.util.List;
|
|
|
|
|
import java.util.Map;
|
|
|
|
|
|
|
|
|
|
/**
|
|
|
|
|
*
|
|
|
|
|
* 监控管理
|
|
|
|
|
* @版本: V3.2.0
|
|
|
|
|
* @版权: LINKAGE-BOOT
|
|
|
|
|
* @作者: LINKAGE-BOOT研发团队
|
|
|
|
|
* @日期: 2023-02-07
|
|
|
|
|
*/
|
|
|
|
|
@Slf4j
|
|
|
|
|
@RestController
|
|
|
|
|
@Api(tags = "监控管理" , value = "example")
|
|
|
|
|
@RequestMapping("/api/example/monitoringItem")
|
|
|
|
|
public class Monitoring_itemController {
|
|
|
|
|
|
|
|
|
|
@Autowired
|
|
|
|
|
private GeneraterSwapUtil generaterSwapUtil;
|
|
|
|
|
|
|
|
|
|
@Autowired
|
|
|
|
|
private ConfigValueUtil configValueUtil;
|
|
|
|
|
|
|
|
|
|
@Autowired
|
|
|
|
|
private UserProvider userProvider;
|
|
|
|
|
|
|
|
|
|
@Autowired
|
|
|
|
|
private Monitoring_itemService monitoring_itemService;
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
/**
|
|
|
|
|
* 列表
|
|
|
|
|
*
|
|
|
|
|
* @param monitoring_itemPagination
|
|
|
|
|
* @return
|
|
|
|
|
*/
|
|
|
|
|
@PostMapping("/getList")
|
|
|
|
|
public ActionResult list(@RequestBody Monitoring_itemPagination monitoring_itemPagination)throws IOException{
|
|
|
|
|
List<Monitoring_itemEntity> list= monitoring_itemService.getList(monitoring_itemPagination);
|
|
|
|
|
//处理id字段转名称,若无需转或者为空可删除
|
|
|
|
|
for(Monitoring_itemEntity entity:list){
|
|
|
|
|
entity.setMonitoringId(generaterSwapUtil.getDynName("370933183241262469" ,"m_name" ,"id","" ,entity.getMonitoringId()));
|
|
|
|
|
}
|
|
|
|
|
List<Monitoring_itemListVO> listVO=JsonUtil.getJsonToList(list,Monitoring_itemListVO.class);
|
|
|
|
|
for(Monitoring_itemListVO monitoring_itemVO:listVO){
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
PageListVO vo=new PageListVO();
|
|
|
|
|
vo.setList(listVO);
|
|
|
|
|
PaginationVO page=JsonUtil.getJsonToBean(monitoring_itemPagination,PaginationVO.class);
|
|
|
|
|
vo.setPagination(page);
|
|
|
|
|
return ActionResult.success(vo);
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
/**
|
|
|
|
|
* 创建
|
|
|
|
|
*
|
|
|
|
|
* @param monitoring_itemCrForm
|
|
|
|
|
* @return
|
|
|
|
|
*/
|
|
|
|
|
@PostMapping
|
|
|
|
|
@Transactional
|
|
|
|
|
public ActionResult create(@RequestBody @Valid Monitoring_itemCrForm monitoring_itemCrForm) throws DataException {
|
|
|
|
|
String mainId =RandomUtil.uuId();
|
|
|
|
|
UserInfo userInfo=userProvider.get();
|
|
|
|
|
Monitoring_itemEntity entity = JsonUtil.getJsonToBean(monitoring_itemCrForm, Monitoring_itemEntity.class);
|
|
|
|
|
entity.setId(mainId);
|
|
|
|
|
monitoring_itemService.save(entity);
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
return ActionResult.success("创建成功");
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
/**
|
|
|
|
|
* 模板下载
|
|
|
|
|
*
|
|
|
|
|
* @return
|
|
|
|
|
*/
|
|
|
|
|
@ApiOperation("模板下载")
|
|
|
|
|
@GetMapping("/templateDownload")
|
|
|
|
|
public ActionResult<DownloadVO> TemplateDownload(){
|
|
|
|
|
UserInfo userInfo=userProvider.get();
|
|
|
|
|
DownloadVO vo=DownloadVO.builder().build();
|
|
|
|
|
try{
|
|
|
|
|
vo.setName("职员信息.xlsx");
|
|
|
|
|
vo.setUrl(UploaderUtil.uploaderFile("/api/Common/DownloadModel?encryption=" ,userInfo.getId()+"#"+"职员信息.xlsx"+"#"+"Temporary"));
|
|
|
|
|
}catch(Exception e){
|
|
|
|
|
log.error("信息导出Excel错误:{}" ,e.getMessage());
|
|
|
|
|
}
|
|
|
|
|
return ActionResult.success(vo);
|
|
|
|
|
}
|
|
|
|
|
/**
|
|
|
|
|
* 导出Excel
|
|
|
|
|
*
|
|
|
|
|
* @return
|
|
|
|
|
*/
|
|
|
|
|
@ApiOperation("导出Excel")
|
|
|
|
|
@GetMapping("/Actions/Export")
|
|
|
|
|
public ActionResult Export(Monitoring_itemPaginationExportModel monitoring_itemPaginationExportModel) throws IOException {
|
|
|
|
|
if (StringUtil.isEmpty(monitoring_itemPaginationExportModel.getSelectKey())){
|
|
|
|
|
return ActionResult.fail("请选择导出字段");
|
|
|
|
|
}
|
|
|
|
|
Monitoring_itemPagination monitoring_itemPagination=JsonUtil.getJsonToBean(monitoring_itemPaginationExportModel, Monitoring_itemPagination.class);
|
|
|
|
|
List<Monitoring_itemEntity> list= monitoring_itemService.getTypeList(monitoring_itemPagination,monitoring_itemPaginationExportModel.getDataType());
|
|
|
|
|
//处理id字段转名称,若无需转或者为空可删除
|
|
|
|
|
for(Monitoring_itemEntity entity:list){
|
|
|
|
|
entity.setMonitoringId(generaterSwapUtil.getDynName("370933183241262469" ,"m_name" ,"id","" ,entity.getMonitoringId()));
|
|
|
|
|
}
|
|
|
|
|
List<Monitoring_itemListVO> listVO=JsonUtil.getJsonToList(list,Monitoring_itemListVO.class);
|
|
|
|
|
for(Monitoring_itemListVO monitoring_itemVO:listVO){
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
//转换为map输出
|
|
|
|
|
List<Map<String, Object>>mapList=JsonUtil.getJsonToListMap(JsonUtil.getObjectToStringDateFormat(listVO,"yyyy-MM-dd HH:mm:ss"));
|
|
|
|
|
String[]keys=!StringUtil.isEmpty(monitoring_itemPaginationExportModel.getSelectKey())?monitoring_itemPaginationExportModel.getSelectKey().split(","):new String[0];
|
|
|
|
|
UserInfo userInfo=userProvider.get();
|
|
|
|
|
DownloadVO vo=this.creatModelExcel(configValueUtil.getTemporaryFilePath(),mapList,keys,userInfo);
|
|
|
|
|
return ActionResult.success(vo);
|
|
|
|
|
}
|
|
|
|
|
//导出表格
|
|
|
|
|
public DownloadVO creatModelExcel(String path,List<Map<String, Object>>list,String[]keys,UserInfo userInfo){
|
|
|
|
|
DownloadVO vo=DownloadVO.builder().build();
|
|
|
|
|
List<ExcelExportEntity> entitys=new ArrayList<>();
|
|
|
|
|
if(keys.length>0){
|
|
|
|
|
for(String key:keys){
|
|
|
|
|
switch(key){
|
|
|
|
|
case "mName" :
|
|
|
|
|
entitys.add(new ExcelExportEntity("设备名称" ,"mName"));
|
|
|
|
|
break;
|
|
|
|
|
case "monitoringId" :
|
|
|
|
|
entitys.add(new ExcelExportEntity("区域" ,"monitoringId"));
|
|
|
|
|
break;
|
|
|
|
|
case "serialnumber" :
|
|
|
|
|
entitys.add(new ExcelExportEntity("设备序列号" ,"serialnumber"));
|
|
|
|
|
break;
|
|
|
|
|
case "mStatus" :
|
|
|
|
|
entitys.add(new ExcelExportEntity("设备状态:" ,"mStatus"));
|
|
|
|
|
break;
|
|
|
|
|
case "flvAddress" :
|
|
|
|
|
entitys.add(new ExcelExportEntity("标清flv直播地址" ,"flvAddress"));
|
|
|
|
|
break;
|
|
|
|
|
case "flvHdAddress" :
|
|
|
|
|
entitys.add(new ExcelExportEntity("高清flv直播地址" ,"flvHdAddress"));
|
|
|
|
|
break;
|
|
|
|
|
case "channelNumber" :
|
|
|
|
|
entitys.add(new ExcelExportEntity("设备通道号" ,"channelNumber"));
|
|
|
|
|
break;
|
|
|
|
|
case "isEnable" :
|
|
|
|
|
entitys.add(new ExcelExportEntity("是否显示" ,"isEnable"));
|
|
|
|
|
break;
|
|
|
|
|
case "lastmodifytime" :
|
|
|
|
|
entitys.add(new ExcelExportEntity("修改时间" ,"lastmodifytime"));
|
|
|
|
|
break;
|
|
|
|
|
case "deleteUserId" :
|
|
|
|
|
entitys.add(new ExcelExportEntity("修改人id" ,"deleteUserId"));
|
|
|
|
|
break;
|
|
|
|
|
case "creatorUserName" :
|
|
|
|
|
entitys.add(new ExcelExportEntity("创建人名称" ,"creatorUserName"));
|
|
|
|
|
break;
|
|
|
|
|
case "creatorTime" :
|
|
|
|
|
entitys.add(new ExcelExportEntity("创建时间" ,"creatorTime"));
|
|
|
|
|
break;
|
|
|
|
|
default:
|
|
|
|
|
break;
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
ExportParams exportParams = new ExportParams(null, "表单信息");
|
|
|
|
|
exportParams.setType(ExcelType.XSSF);
|
|
|
|
|
try{
|
|
|
|
|
@Cleanup Workbook workbook = new HSSFWorkbook();
|
|
|
|
|
if (entitys.size()>0){
|
|
|
|
|
workbook = ExcelExportUtil.exportExcel(exportParams, entitys, list);
|
|
|
|
|
}
|
|
|
|
|
String name = "表单信息" + DateUtil.dateNow("yyyyMMdd") + "_" + RandomUtil.uuId() + ".xlsx";
|
|
|
|
|
|
|
|
|
|
String fileName = configValueUtil.getTemporaryFilePath() + name;
|
|
|
|
|
@Cleanup FileOutputStream output = new FileOutputStream(XSSEscape.escapePath(fileName));
|
|
|
|
|
workbook.write(output);
|
|
|
|
|
//上传文件
|
|
|
|
|
UploadUtil.uploadFile(configValueUtil.getFileType(), fileName, FileTypeEnum.TEMPORARY, name);
|
|
|
|
|
|
|
|
|
|
vo.setName(name);
|
|
|
|
|
vo.setUrl(UploaderUtil.uploaderFile(userInfo.getId() + "#" + name + "#" + "Temporary"));
|
|
|
|
|
} catch (Exception e) {
|
|
|
|
|
log.error("信息导出Excel错误:{}", e.getMessage());
|
|
|
|
|
e.printStackTrace();
|
|
|
|
|
}
|
|
|
|
|
return vo;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
/**
|
|
|
|
|
* 批量删除
|
|
|
|
|
*
|
|
|
|
|
* @param ids
|
|
|
|
|
* @return
|
|
|
|
|
*/
|
|
|
|
|
@DeleteMapping("/batchRemove/{ids}")
|
|
|
|
|
@Transactional
|
|
|
|
|
public ActionResult batchRemove(@PathVariable("ids") String ids){
|
|
|
|
|
String[] idList = ids.split(",");
|
|
|
|
|
int i =0;
|
|
|
|
|
for (String allId : idList){
|
|
|
|
|
this.delete(allId);
|
|
|
|
|
i++;
|
|
|
|
|
}
|
|
|
|
|
if (i == 0 ){
|
|
|
|
|
return ActionResult.fail("删除失败");
|
|
|
|
|
}
|
|
|
|
|
return ActionResult.success("删除成功");
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
/**
|
|
|
|
|
* 信息
|
|
|
|
|
*
|
|
|
|
|
* @param id
|
|
|
|
|
* @return
|
|
|
|
|
*/
|
|
|
|
|
@GetMapping("/{id}")
|
|
|
|
|
public ActionResult<Monitoring_itemInfoVO> info(@PathVariable("id") String id){
|
|
|
|
|
Monitoring_itemEntity entity= monitoring_itemService.getInfo(id);
|
|
|
|
|
Monitoring_itemInfoVO vo=JsonUtil.getJsonToBean(entity, Monitoring_itemInfoVO.class);
|
|
|
|
|
|
|
|
|
|
//子表
|
|
|
|
|
//副表
|
|
|
|
|
return ActionResult.success(vo);
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
/**
|
|
|
|
|
* 表单信息(详情页)
|
|
|
|
|
*
|
|
|
|
|
* @param id
|
|
|
|
|
* @return
|
|
|
|
|
*/
|
|
|
|
|
@GetMapping("/detail/{id}")
|
|
|
|
|
public ActionResult<Monitoring_itemInfoVO> detailInfo(@PathVariable("id") String id){
|
|
|
|
|
Monitoring_itemEntity entity= monitoring_itemService.getInfo(id);
|
|
|
|
|
Monitoring_itemInfoVO vo=JsonUtil.getJsonToBean(entity, Monitoring_itemInfoVO.class);
|
|
|
|
|
|
|
|
|
|
//子表数据转换
|
|
|
|
|
|
|
|
|
|
//附表数据转换
|
|
|
|
|
|
|
|
|
|
//添加到详情表单对象中
|
|
|
|
|
vo.setMonitoringId(generaterSwapUtil.getDynName("370933183241262469" ,"m_name" ,"id","" ,vo.getMonitoringId()));
|
|
|
|
|
|
|
|
|
|
return ActionResult.success(vo);
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
/**
|
|
|
|
|
* 更新
|
|
|
|
|
*
|
|
|
|
|
* @param id
|
|
|
|
|
* @return
|
|
|
|
|
*/
|
|
|
|
|
@PutMapping("/{id}")
|
|
|
|
|
@Transactional
|
|
|
|
|
public ActionResult update(@PathVariable("id") String id,@RequestBody @Valid Monitoring_itemUpForm monitoring_itemUpForm) throws DataException {
|
|
|
|
|
UserInfo userInfo=userProvider.get();
|
|
|
|
|
Monitoring_itemEntity entity= monitoring_itemService.getInfo(id);
|
|
|
|
|
if(entity!=null){
|
|
|
|
|
Monitoring_itemEntity subentity=JsonUtil.getJsonToBean(monitoring_itemUpForm, Monitoring_itemEntity.class);
|
|
|
|
|
monitoring_itemService.update(id, subentity);
|
|
|
|
|
return ActionResult.success("更新成功");
|
|
|
|
|
}else{
|
|
|
|
|
return ActionResult.fail("更新失败,数据不存在");
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
/**
|
|
|
|
|
* 删除
|
|
|
|
|
*
|
|
|
|
|
* @param id
|
|
|
|
|
* @return
|
|
|
|
|
*/
|
|
|
|
|
@DeleteMapping("/{id}")
|
|
|
|
|
@Transactional
|
|
|
|
|
public ActionResult delete(@PathVariable("id") String id){
|
|
|
|
|
Monitoring_itemEntity entity= monitoring_itemService.getInfo(id);
|
|
|
|
|
if(entity!=null){
|
|
|
|
|
monitoring_itemService.delete(entity);
|
|
|
|
|
|
|
|
|
|
}
|
|
|
|
|
return ActionResult.success("删除成功");
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
}
|