You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
219 lines
7.5 KiB
219 lines
7.5 KiB
5 months ago
|
package com.ruoyi.tc.controller;
|
||
|
|
||
|
|
||
|
import cn.hutool.core.bean.BeanUtil;
|
||
|
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
|
||
|
import com.ruoyi.common.core.controller.BaseController;
|
||
|
import com.ruoyi.common.core.domain.AjaxResult;
|
||
|
import com.ruoyi.common.utils.poi.ExcelUtil;
|
||
|
import com.ruoyi.tc.entity.*;
|
||
|
import com.ruoyi.tc.entity.request.AssetCurrentPageRequest;
|
||
|
import com.ruoyi.tc.service.AssetBasicNetworkService;
|
||
|
import com.ruoyi.tc.service.AssetCurrentService;
|
||
|
import com.ruoyi.tc.service.AssetSupplyChainService;
|
||
|
import io.swagger.annotations.Api;
|
||
|
import io.swagger.annotations.ApiOperation;
|
||
|
import org.springframework.web.bind.annotation.*;
|
||
|
import org.springframework.web.multipart.MultipartFile;
|
||
|
|
||
|
import javax.annotation.Resource;
|
||
|
import javax.servlet.http.HttpServletResponse;
|
||
|
import javax.validation.Valid;
|
||
|
import java.io.Serializable;
|
||
|
import java.util.ArrayList;
|
||
|
import java.util.List;
|
||
|
|
||
|
/**
|
||
|
* 现有资产表(AssetCurrent)表控制层
|
||
|
*
|
||
|
* @author makejava
|
||
|
* @since 2024-11-15 10:03:56
|
||
|
*/
|
||
|
@Api(tags = "现有资产表")
|
||
|
@RestController
|
||
|
@RequestMapping("/tc/assetCurrent")
|
||
|
public class AssetCurrentController extends BaseController {
|
||
|
/**
|
||
|
* 服务对象
|
||
|
*/
|
||
|
@Resource
|
||
|
private AssetCurrentService assetCurrentService;
|
||
|
@Resource
|
||
|
private AssetSupplyChainService assetSupplyChainService;
|
||
|
|
||
|
@Resource
|
||
|
private AssetBasicNetworkService assetBasicNetworkService;
|
||
|
|
||
|
|
||
|
/**
|
||
|
* 分页查询所有数据
|
||
|
*
|
||
|
* @param page 分页对象
|
||
|
* @param as 查询实体
|
||
|
* @return 所有数据
|
||
|
*/
|
||
|
@ApiOperation(value = "分页查询所有数据", response = AssetCurrent.class)
|
||
|
@GetMapping
|
||
|
public AjaxResult selectAll(Page<AssetCurrent> page, AssetCurrentPageRequest as) {
|
||
|
return success(assetCurrentService.page(page, as));
|
||
|
}
|
||
|
|
||
|
/**
|
||
|
* 通过主键查询单条数据
|
||
|
*
|
||
|
* @param id 主键
|
||
|
* @return 单条数据
|
||
|
*/
|
||
|
@ApiOperation(value = "通过主键查询单条数据", response = AssetCurrent.class)
|
||
|
@GetMapping("{id}")
|
||
|
public AjaxResult selectOne(@PathVariable Serializable id) {
|
||
|
return success(assetCurrentService.getById(id));
|
||
|
}
|
||
|
|
||
|
/**
|
||
|
* 新增数据
|
||
|
*
|
||
|
* @param assetCurrent 实体对象
|
||
|
* @return 新增结果
|
||
|
*/
|
||
|
@ApiOperation(value = "新增数据")
|
||
|
@PostMapping
|
||
|
public AjaxResult insert(@RequestBody @Valid AssetCurrent assetCurrent) {
|
||
|
return success(assetCurrentService.save(assetCurrent));
|
||
|
}
|
||
|
|
||
|
/**
|
||
|
* 修改数据
|
||
|
*
|
||
|
* @param assetCurrent 实体对象
|
||
|
* @return 修改结果
|
||
|
*/
|
||
|
@ApiOperation(value = "修改数据")
|
||
|
@PutMapping
|
||
|
public AjaxResult update(@RequestBody @Valid AssetCurrent assetCurrent) {
|
||
|
return success(assetCurrentService.updateById(assetCurrent));
|
||
|
}
|
||
|
|
||
|
/**
|
||
|
* 删除数据
|
||
|
*
|
||
|
* @param idList 主键结合
|
||
|
* @return 删除结果
|
||
|
*/
|
||
|
@ApiOperation(value = "删除数据")
|
||
|
@DeleteMapping
|
||
|
public AjaxResult delete(@RequestParam("idList") List<Long> idList) {
|
||
|
return success(assetCurrentService.removeByIds(idList));
|
||
|
}
|
||
|
|
||
|
/**
|
||
|
* 下载资产导入模板
|
||
|
*/
|
||
|
@ApiOperation(value = "下载资产导入模板")
|
||
|
@PostMapping("/importTemplate")
|
||
|
public void importTemplate(HttpServletResponse response) {
|
||
|
ExcelUtil<AssetExport> util = new ExcelUtil<>(AssetExport.class);
|
||
|
util.importTemplateExcel(response, "资产导入模板");
|
||
|
}
|
||
|
|
||
|
|
||
|
/**
|
||
|
* 导出现有资产
|
||
|
*/
|
||
|
@ApiOperation(value = "导出现有资产")
|
||
|
@PostMapping("/export")
|
||
|
public void exportProject(HttpServletResponse response, AssetCurrentPageRequest as) {
|
||
|
List<AssetCurrent> list = assetCurrentService.page(as);
|
||
|
List<AssetExport> proList = new ArrayList<>();
|
||
|
for (AssetCurrent x : list) {
|
||
|
//对应的资产
|
||
|
AssetExport assetExport = new AssetExport();
|
||
|
BeanUtil.copyProperties(x,assetExport);
|
||
|
//查找对应的系统建设单位
|
||
|
AssetSupplyChain jsdw = assetSupplyChainService.getJsdw(x.getId());
|
||
|
BeanUtil.copyProperties(jsdw,assetExport);
|
||
|
|
||
|
List<AssetBasicNetwork> byList = assetBasicNetworkService.getByAssetId(x.getId());
|
||
|
for (AssetBasicNetwork items : byList) {
|
||
|
if(items.getType() == 1){
|
||
|
//查找对应的服务器信息
|
||
|
BeanUtil.copyProperties(items,assetExport);
|
||
|
}
|
||
|
if(items.getType() == 2){
|
||
|
//查找对应网络设备
|
||
|
assetExport.setWlpp(items.getPp());
|
||
|
assetExport.setWlyjxh(items.getYjxh());
|
||
|
assetExport.setWlyjbsxx(items.getYjbsxx());
|
||
|
assetExport.setWlsblx(items.getSblx());
|
||
|
assetExport.setWlyjbbxx(items.getYjbbxx());
|
||
|
assetExport.setWlyjxlh(items.getYjxlh());
|
||
|
assetExport.setWlsbIp(items.getSbIp());
|
||
|
assetExport.setWlyjyt(items.getYjyt());
|
||
|
}
|
||
|
if(items.getType() == 3){
|
||
|
//查找对应安全设备
|
||
|
assetExport.setAqwlpp(items.getPp());
|
||
|
assetExport.setAqwlsblx(items.getSblx());
|
||
|
assetExport.setAqwlsbIp(items.getSbIp());
|
||
|
}
|
||
|
}
|
||
|
proList.add(assetExport);
|
||
|
}
|
||
|
ExcelUtil<AssetExport> util = new ExcelUtil<>(AssetExport.class);
|
||
|
util.exportExcel(response, proList, "现有资产记录");
|
||
|
}
|
||
|
|
||
|
/**
|
||
|
* 导入现有资产
|
||
|
*/
|
||
|
@ApiOperation(value = "导入现有资产")
|
||
|
@PostMapping(value = "/import", consumes = "multipart/form-data")
|
||
|
public AjaxResult export(@RequestPart("file") MultipartFile file) throws Exception {
|
||
|
//读取所有的字段
|
||
|
ExcelUtil<AssetExport> util = new ExcelUtil<>(AssetExport.class);
|
||
|
List<AssetExport> proList = util.importExcel(file.getInputStream());
|
||
|
for (AssetExport items : proList) {
|
||
|
AssetCurrent as = new AssetCurrent();
|
||
|
//copy新增到新的现有资产表里面
|
||
|
BeanUtil.copyProperties(items,as);
|
||
|
assetCurrentService.save(as);
|
||
|
//新增系统建设单位
|
||
|
AssetSupplyChain s1 = new AssetSupplyChain();
|
||
|
BeanUtil.copyProperties(items,s1);
|
||
|
s1.setType(5);
|
||
|
s1.setAssetId(as.getId());
|
||
|
assetSupplyChainService.save(s1);
|
||
|
//新增服务器信息
|
||
|
AssetBasicNetwork a1 = new AssetBasicNetwork();
|
||
|
BeanUtil.copyProperties(items,a1);
|
||
|
a1.setType(1);
|
||
|
a1.setAssetId(as.getId());
|
||
|
assetBasicNetworkService.save(a1);
|
||
|
//新增网络设备
|
||
|
AssetBasicNetwork a2 = new AssetBasicNetwork();
|
||
|
a2.setSblx(items.getWlsblx());
|
||
|
a2.setPp(items.getWlpp());
|
||
|
a2.setSbIp(items.getWlsbIp());
|
||
|
a2.setYjxh(items.getWlyjxh());
|
||
|
a2.setYjxlh(items.getWlyjxlh());
|
||
|
a2.setYjbbxx(items.getWlyjbbxx());
|
||
|
a2.setYjyt(items.getWlyjyt());
|
||
|
a2.setYjbsxx(items.getWlyjbsxx());
|
||
|
a2.setType(2);
|
||
|
a2.setAssetId(as.getId());
|
||
|
assetBasicNetworkService.save(a2);
|
||
|
//新增安全设备
|
||
|
AssetBasicNetwork a3 = new AssetBasicNetwork();
|
||
|
a3.setSblx(items.getAqwlsblx());
|
||
|
a3.setPp(items.getAqwlpp());
|
||
|
a3.setSbIp(items.getAqwlsbIp());
|
||
|
a3.setType(3);
|
||
|
a3.setAssetId(as.getId());
|
||
|
assetBasicNetworkService.save(a3);
|
||
|
}
|
||
|
return AjaxResult.success();
|
||
|
}
|
||
|
|
||
|
}
|
||
|
|