mqtt通讯修改 增加模板 计算属性

This commit is contained in:
LEED
2025-03-09 12:39:52 +08:00
parent 20c17b772d
commit 6a8cbff440
41 changed files with 2359 additions and 31 deletions

View File

@@ -84,6 +84,7 @@ public class CategoryController extends BaseController
return AjaxResult.success(categoryService.selectCategoryShortList(category));
}
/**
* 导出产品分类列表
*/

View File

@@ -0,0 +1,144 @@
package com.xinda.data.controller;
import com.xinda.common.annotation.Log;
import com.xinda.common.core.controller.BaseController;
import com.xinda.common.core.domain.AjaxResult;
import com.xinda.common.core.page.TableDataInfo;
import com.xinda.common.enums.BusinessType;
import com.xinda.common.utils.SecurityUtils;
import com.xinda.common.utils.poi.ExcelUtil;
import com.xinda.iot.domain.Standard;
import com.xinda.iot.service.IStandardService;
import io.swagger.annotations.Api;
import io.swagger.annotations.ApiOperation;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.security.access.prepost.PreAuthorize;
import org.springframework.web.bind.annotation.*;
import javax.servlet.http.HttpServletResponse;
import java.util.List;
import java.util.Objects;
/**
* 产品分类Controller
*
* @author kerwincui
* @date 2021-12-16
*/
@Api(tags = "产品分类")
@RestController
@RequestMapping("/iot/standard")
public class StandardController extends BaseController
{
@Autowired
private IStandardService standardService;
/**
* 查询产品分类列表
*/
@PreAuthorize("@ss.hasPermi('iot:standard:list')")
@GetMapping("/list")
@ApiOperation("分类分页列表")
public TableDataInfo list(Standard standard)
{
Boolean showSenior = standard.getShowSenior();
if (Objects.isNull(showSenior)){
standard.setShowSenior(true); //默认展示上级品类
}
Long deptUserId = getLoginUser().getUser().getDept().getDeptUserId();
standard.setAdmin(SecurityUtils.isAdmin(deptUserId));
standard.setDeptId(getLoginUser().getDeptId());
standard.setTenantId(deptUserId);
startPage();
return getDataTable(standardService.selectStandardList(standard));
}
/**
* 查询产品简短分类列表
*/
@PreAuthorize("@ss.hasPermi('iot:standard:list')")
@GetMapping("/shortlist")
@ApiOperation("分类简短列表")
public AjaxResult shortlist(Standard standard)
{
Boolean showSenior = standard.getShowSenior();
if (Objects.isNull(showSenior)){
standard.setShowSenior(true); //默认展示上级品类
}
Long deptUserId = getLoginUser().getUser().getDept().getDeptUserId();
standard.setAdmin(SecurityUtils.isAdmin(deptUserId));
standard.setDeptId(getLoginUser().getDeptId());
standard.setTenantId(deptUserId);
startPage();
return AjaxResult.success(standardService.selectStandardShortList(standard));
}
/**
* 导出产品分类列表
*/
@PreAuthorize("@ss.hasPermi('iot:standard:export')")
@Log(title = "产品分类", businessType = BusinessType.EXPORT)
@PostMapping("/export")
@ApiOperation("导出分类")
public void export(HttpServletResponse response, Standard standard)
{
List<Standard> list = standardService.selectStandardList(standard);
ExcelUtil<Standard> util = new ExcelUtil<Standard>(Standard.class);
util.exportExcel(response, list, "产品分类数据");
}
/**
* 获取产品分类详细信息
*/
@ApiOperation("获取分类详情")
@PreAuthorize("@ss.hasPermi('iot:standard:query')")
@GetMapping(value = "/{standardId}")
public AjaxResult getInfo(@PathVariable("standardId") Long standardId)
{
return AjaxResult.success(standardService.selectStandardByStandardId(standardId));
}
/**
* 新增产品分类
*/
@PreAuthorize("@ss.hasPermi('iot:standard:add')")
@Log(title = "产品分类", businessType = BusinessType.INSERT)
@PostMapping
@ApiOperation("添加分类")
public AjaxResult add(@RequestBody Standard standard)
{
return toAjax(standardService.insertStandard(standard));
}
@PostMapping("/clone")
@ApiOperation("克隆分类")
public AjaxResult clone(@RequestBody Standard standard)
{
return toAjax(standardService.cloneStandard(standard));
}
/**
* 修改产品分类
*/
@PreAuthorize("@ss.hasPermi('iot:standard:edit')")
@Log(title = "产品分类", businessType = BusinessType.UPDATE)
@PutMapping
@ApiOperation("修改分类")
public AjaxResult edit(@RequestBody Standard standard)
{
return toAjax(standardService.updateStandard(standard));
}
/**
* 删除产品分类
*/
@PreAuthorize("@ss.hasPermi('iot:standard:remove')")
@Log(title = "产品分类", businessType = BusinessType.DELETE)
@DeleteMapping("/{standardIds}")
@ApiOperation("批量删除分类")
public AjaxResult remove(@PathVariable Long[] standardIds)
{
return standardService.deleteStandardByStandardIds(standardIds);
}
}

View File

@@ -10,11 +10,13 @@ import com.xinda.common.utils.StringUtils;
import com.xinda.common.utils.poi.ExcelUtil;
import com.xinda.iot.cache.ITSLCache;
import com.xinda.iot.domain.ThingsModel;
import com.xinda.iot.model.ImportStandardModelInput;
import com.xinda.iot.model.ImportThingsModelInput;
import com.xinda.iot.model.ThingsModelPerm;
import com.xinda.iot.model.modbus.ModbusAndThingsVO;
import com.xinda.iot.model.varTemp.SyncModel;
import com.xinda.iot.service.IThingsModelService;
import com.xinda.iot.service.IThingsModelStandardService;
import io.swagger.annotations.Api;
import io.swagger.annotations.ApiOperation;
import org.springframework.beans.factory.annotation.Autowired;
@@ -40,6 +42,7 @@ public class ThingsModelController extends BaseController
{
@Autowired
private IThingsModelService thingsModelService;
@Resource
private ITSLCache itslCache;
@@ -111,6 +114,18 @@ public class ThingsModelController extends BaseController
}
}
@PostMapping("/importStandard")
@ApiOperation("导入标准模型")
public AjaxResult ImportByTemplateIds(@RequestBody ImportStandardModelInput input){
int repeatCount=thingsModelService.importByStandardId(input);
if(repeatCount==0){
return AjaxResult.success(MessageUtils.message("import.success"));
}else{
return AjaxResult.success(StringUtils.format(MessageUtils.message("things.model.import.failed.identifier.repeat"), repeatCount));
}
}
/**
* 修改物模型
*/

View File

@@ -0,0 +1,140 @@
package com.xinda.data.controller;
import com.xinda.common.annotation.Log;
import com.xinda.common.core.controller.BaseController;
import com.xinda.common.core.domain.AjaxResult;
import com.xinda.common.core.page.TableDataInfo;
import com.xinda.common.enums.BusinessType;
import com.xinda.common.utils.poi.ExcelUtil;
import com.xinda.iot.domain.ThingsModelJsonTemplate;
import com.xinda.iot.domain.ThingsModelStandard;
import com.xinda.iot.service.IThingsModelStandardService;
import io.swagger.annotations.Api;
import io.swagger.annotations.ApiOperation;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.security.access.prepost.PreAuthorize;
import org.springframework.web.bind.annotation.*;
import org.springframework.web.multipart.MultipartFile;
import javax.servlet.http.HttpServletResponse;
import java.util.List;
/**
* 通用物模型Controller
*
* @author kerwincui
* @date 2021-12-16
*/
@RestController
@RequestMapping("/iot/modelStandard")
@Api(tags = "通用物模型")
public class ThingsModelStandardController extends BaseController {
@Autowired
private IThingsModelStandardService thingsModelStandardService;
/**
* 查询通用物模型列表
*/
@PreAuthorize("@ss.hasPermi('iot:standard:list')")
@GetMapping("/list")
@ApiOperation("通用物模型分页列表")
public TableDataInfo list(ThingsModelStandard thingsModelStandard) {
startPage();
return getDataTable(thingsModelStandardService.selectThingsModelStandardList(thingsModelStandard));
}
/**
* 导出通用物模型列表
*/
@PreAuthorize("@ss.hasPermi('iot:standard:export')")
@Log(title = "通用物模型", businessType = BusinessType.EXPORT)
@PostMapping("/export")
@ApiOperation("导出通用物模型")
public void export(HttpServletResponse response, ThingsModelStandard thingsModelStandard) {
List<ThingsModelStandard> list = thingsModelStandardService.selectThingsModelStandardList(thingsModelStandard);
ExcelUtil<ThingsModelStandard> util = new ExcelUtil<ThingsModelStandard>(ThingsModelStandard.class);
util.exportExcel(response, list, "通用物模型数据");
}
/**
* 获取通用物模型详细信息
*/
@PreAuthorize("@ss.hasPermi('iot:standard:query')")
@GetMapping(value = "/{templateId}")
@ApiOperation("获取通用物模型详情")
public AjaxResult getInfo(@PathVariable("templateId") Long templateId) {
return AjaxResult.success(thingsModelStandardService.selectThingsModelStandardByTemplateId(templateId));
}
/**
* 新增通用物模型
*/
@PreAuthorize("@ss.hasPermi('iot:standard:add')")
@Log(title = "通用物模型", businessType = BusinessType.INSERT)
@PostMapping
@ApiOperation("添加通用物模型")
public AjaxResult add(@RequestBody ThingsModelStandard thingsModelStandard) {
return toAjax(thingsModelStandardService.insertThingsModelStandard(thingsModelStandard));
}
/**
* 修改通用物模型
*/
@PreAuthorize("@ss.hasPermi('iot:standard:edit')")
@Log(title = "通用物模型", businessType = BusinessType.UPDATE)
@PutMapping
@ApiOperation("修改通用物模型")
public AjaxResult edit(@RequestBody ThingsModelStandard thingsModelStandard) {
return toAjax(thingsModelStandardService.updateThingsModelStandard(thingsModelStandard));
}
/**
* 删除通用物模型
*/
@PreAuthorize("@ss.hasPermi('iot:standard:remove')")
@Log(title = "通用物模型", businessType = BusinessType.DELETE)
@DeleteMapping("/{templateIds}")
@ApiOperation("批量删除通用物模型")
public AjaxResult remove(@PathVariable Long[] templateIds) {
return toAjax(thingsModelStandardService.deleteThingsModelStandardByTemplateIds(templateIds));
}
@ApiOperation(value = "物模型导入模板")
@PostMapping("/temp")
public void temp(HttpServletResponse response) {
ExcelUtil<ThingsModelStandard> excelUtil = new ExcelUtil<>(ThingsModelStandard.class);
excelUtil.importTemplateExcel(response, "采集点");
}
@ApiOperation(value = "物模型导入模板")
@RequestMapping(value = "/temp-json",method = RequestMethod.POST)
public void tempJson(HttpServletResponse response) {
ExcelUtil<ThingsModelJsonTemplate> excelUtil = new ExcelUtil<>(ThingsModelJsonTemplate.class);
excelUtil.importTemplateExcel(response, "JSON采集点模板");
}
/**
* 导入采集点
*/
@PreAuthorize("@ss.hasPermi('iot:standard:add')")
@ApiOperation(value = "采集点导入")
@PostMapping(value = "/importData")
public AjaxResult importData(MultipartFile file, String tempSlaveId) throws Exception {
ExcelUtil<ThingsModelStandard> excelUtil = new ExcelUtil<>(ThingsModelStandard.class);
List<ThingsModelStandard> list = excelUtil.importExcel(file.getInputStream());
String result = thingsModelStandardService.importData(list, tempSlaveId);
return AjaxResult.success(result);
}
@ApiOperation("导出采集点")
@PreAuthorize("@ss.hasPermi('iot:standard:query')")
@PostMapping("/exportJson")
public void exportJson(HttpServletResponse response, ThingsModelStandard template)
{
List<ThingsModelStandard> thingsModelStandards = thingsModelStandardService.selectThingsModelStandardExport(template);
ExcelUtil<ThingsModelStandard> util = new ExcelUtil<ThingsModelStandard>(ThingsModelStandard.class);
util.exportExcel(response, thingsModelStandards, "采集点");
}
}