Commit 87973a0fd75f6a4976a16a5b6908b2f30a8020e5

Authored by 胡翰林
2 parents f1c05f92 14cfe3be

Merge remote-tracking branch 'origin/test_ymk_from_0102' into test_hhl_0102

# Conflicts:
#	application/src/main/data/sql/qg.sql
Showing 29 changed files with 689 additions and 3 deletions
@@ -103,6 +103,7 @@ CREATE TABLE "public"."qg_inspection_plan" @@ -103,6 +103,7 @@ CREATE TABLE "public"."qg_inspection_plan"
103 "status" varchar(50) NOT NULL, 103 "status" varchar(50) NOT NULL,
104 "start_time" timestamp(6), 104 "start_time" timestamp(6),
105 "end_time" timestamp(6), 105 "end_time" timestamp(6),
  106 + "tenant_id" varchar(36),
106 "create_time" timestamp(6), 107 "create_time" timestamp(6),
107 "creator" varchar(36), 108 "creator" varchar(36),
108 "updater" varchar(36), 109 "updater" varchar(36),
@@ -117,6 +118,7 @@ COMMENT ON COLUMN "public"."qg_inspection_plan"."name" IS '计划名称'; @@ -117,6 +118,7 @@ COMMENT ON COLUMN "public"."qg_inspection_plan"."name" IS '计划名称';
117 COMMENT ON COLUMN "public"."qg_inspection_plan"."status" IS '计划状态'; 118 COMMENT ON COLUMN "public"."qg_inspection_plan"."status" IS '计划状态';
118 COMMENT ON COLUMN "public"."qg_inspection_plan"."start_time" IS '开始日期'; 119 COMMENT ON COLUMN "public"."qg_inspection_plan"."start_time" IS '开始日期';
119 COMMENT ON COLUMN "public"."qg_inspection_plan"."end_time" IS '结束日期'; 120 COMMENT ON COLUMN "public"."qg_inspection_plan"."end_time" IS '结束日期';
  121 +COMMENT ON COLUMN "public"."qg_inspection_plan"."tenant_id" IS '租户ID';
120 COMMENT ON COLUMN "public"."qg_inspection_plan"."remark" IS '计划备注'; 122 COMMENT ON COLUMN "public"."qg_inspection_plan"."remark" IS '计划备注';
121 123
122 CREATE TABLE "public"."qg_check_plan" 124 CREATE TABLE "public"."qg_check_plan"
@@ -127,6 +129,7 @@ CREATE TABLE "public"."qg_check_plan" @@ -127,6 +129,7 @@ CREATE TABLE "public"."qg_check_plan"
127 "type" varchar(50), 129 "type" varchar(50),
128 "status" varchar(50), 130 "status" varchar(50),
129 "plan_details" varchar(255), 131 "plan_details" varchar(255),
  132 + "tenant_id" varchar(36),
130 "create_time" timestamp(6), 133 "create_time" timestamp(6),
131 "creator" varchar(36), 134 "creator" varchar(36),
132 "updater" varchar(36), 135 "updater" varchar(36),
@@ -140,6 +143,7 @@ COMMENT ON COLUMN "public"."qg_check_plan"."name" IS '方案名称'; @@ -140,6 +143,7 @@ COMMENT ON COLUMN "public"."qg_check_plan"."name" IS '方案名称';
140 COMMENT ON COLUMN "public"."qg_check_plan"."type" IS '方案类型'; 143 COMMENT ON COLUMN "public"."qg_check_plan"."type" IS '方案类型';
141 COMMENT ON COLUMN "public"."qg_check_plan"."status" IS '状态'; 144 COMMENT ON COLUMN "public"."qg_check_plan"."status" IS '状态';
142 COMMENT ON COLUMN "public"."qg_check_plan"."plan_details" IS '方案明细'; 145 COMMENT ON COLUMN "public"."qg_check_plan"."plan_details" IS '方案明细';
  146 +COMMENT ON COLUMN "public"."qg_check_plan"."tenant_id" IS '租户ID';
143 147
144 CREATE TABLE "public"."qg_check_details" 148 CREATE TABLE "public"."qg_check_details"
145 ( 149 (
@@ -149,6 +153,7 @@ CREATE TABLE "public"."qg_check_details" @@ -149,6 +153,7 @@ CREATE TABLE "public"."qg_check_details"
149 "check_plan_id" varchar(36), 153 "check_plan_id" varchar(36),
150 "inspection_plan_id" varchar(36), 154 "inspection_plan_id" varchar(36),
151 "plan_details" varchar(255), 155 "plan_details" varchar(255),
  156 + "tenant_id" varchar(36),
152 "create_time" timestamp(6), 157 "create_time" timestamp(6),
153 "creator" varchar(36), 158 "creator" varchar(36),
154 "updater" varchar(36), 159 "updater" varchar(36),
@@ -162,15 +167,17 @@ COMMENT ON COLUMN "public"."qg_check_details"."check_device_id" IS '巡检设备 @@ -162,15 +167,17 @@ COMMENT ON COLUMN "public"."qg_check_details"."check_device_id" IS '巡检设备
162 COMMENT ON COLUMN "public"."qg_check_details"."check_plan_id" IS '巡检方案'; 167 COMMENT ON COLUMN "public"."qg_check_details"."check_plan_id" IS '巡检方案';
163 COMMENT ON COLUMN "public"."qg_check_details"."inspection_plan_id" IS '巡检计划'; 168 COMMENT ON COLUMN "public"."qg_check_details"."inspection_plan_id" IS '巡检计划';
164 COMMENT ON COLUMN "public"."qg_check_details"."plan_details" IS '方案明细'; 169 COMMENT ON COLUMN "public"."qg_check_details"."plan_details" IS '方案明细';
  170 +COMMENT ON COLUMN "public"."qg_check_details"."tenant_id" IS '租户ID';
165 171
166 CREATE TABLE "public"."qg_inspection_record" 172 CREATE TABLE "public"."qg_inspection_record"
167 ( 173 (
168 "id" varchar(36) PRIMARY KEY, 174 "id" varchar(36) PRIMARY KEY,
169 "code" varchar(50) NOT NULL, 175 "code" varchar(50) NOT NULL,
170 "inspection_plan_id" varchar(36), 176 "inspection_plan_id" varchar(36),
171 - "tenant_id" varchar(36), 177 + "inspector_id" varchar(36),
172 "check_date" timestamp(6), 178 "check_date" timestamp(6),
173 "record_result" bool, 179 "record_result" bool,
  180 + "tenant_id" varchar(36),
174 "create_time" timestamp(6), 181 "create_time" timestamp(6),
175 "creator" varchar(36), 182 "creator" varchar(36),
176 "updater" varchar(36), 183 "updater" varchar(36),
@@ -181,9 +188,10 @@ COMMENT ON TABLE "public"."qg_inspection_record" IS '巡检记录'; @@ -181,9 +188,10 @@ COMMENT ON TABLE "public"."qg_inspection_record" IS '巡检记录';
181 COMMENT ON COLUMN "public"."qg_inspection_record"."id" IS '主键ID'; 188 COMMENT ON COLUMN "public"."qg_inspection_record"."id" IS '主键ID';
182 COMMENT ON COLUMN "public"."qg_inspection_record"."code" IS '记录编号'; 189 COMMENT ON COLUMN "public"."qg_inspection_record"."code" IS '记录编号';
183 COMMENT ON COLUMN "public"."qg_inspection_record"."inspection_plan_id" IS '巡检计划'; 190 COMMENT ON COLUMN "public"."qg_inspection_record"."inspection_plan_id" IS '巡检计划';
184 -COMMENT ON COLUMN "public"."qg_inspection_record"."tenant_id" IS '巡检人';  
185 -COMMENT ON COLUMN "public"."qg_inspection_record"."check_date" IS '巡检结果'; 191 +COMMENT ON COLUMN "public"."qg_inspection_record"."inspector_id" IS '巡检人';
  192 +COMMENT ON COLUMN "public"."qg_inspection_record"."check_date" IS '巡检日期';
186 COMMENT ON COLUMN "public"."qg_inspection_record"."record_result" IS '巡检结果'; 193 COMMENT ON COLUMN "public"."qg_inspection_record"."record_result" IS '巡检结果';
  194 +COMMENT ON COLUMN "public"."qg_inspection_record"."tenant_id" IS '租户ID';
187 195
188 CREATE TABLE "public"."qg_inspection_details" 196 CREATE TABLE "public"."qg_inspection_details"
189 ( 197 (
@@ -191,6 +199,7 @@ CREATE TABLE "public"."qg_inspection_details" @@ -191,6 +199,7 @@ CREATE TABLE "public"."qg_inspection_details"
191 "check_device_id" varchar(36), 199 "check_device_id" varchar(36),
192 "plan_details" varchar(255), 200 "plan_details" varchar(255),
193 "record_result" bool, 201 "record_result" bool,
  202 + "tenant_id" varchar(36),
194 "create_time" timestamp(6), 203 "create_time" timestamp(6),
195 "creator" varchar(36), 204 "creator" varchar(36),
196 "updater" varchar(36), 205 "updater" varchar(36),
  1 +package org.thingsboard.server.controller.yunteng;
  2 +
  3 +import io.swagger.annotations.Api;
  4 +import io.swagger.annotations.ApiOperation;
  5 +import lombok.RequiredArgsConstructor;
  6 +import lombok.extern.slf4j.Slf4j;
  7 +import org.apache.commons.lang3.StringUtils;
  8 +import org.springframework.http.ResponseEntity;
  9 +import org.springframework.security.access.prepost.PreAuthorize;
  10 +import org.springframework.web.bind.annotation.*;
  11 +import org.thingsboard.server.common.data.exception.ThingsboardException;
  12 +import org.thingsboard.server.common.data.yunteng.dto.TkCheckPlanDTO;
  13 +import org.thingsboard.server.common.data.yunteng.enums.TkCheckPlanStatusEnum;
  14 +import org.thingsboard.server.common.data.yunteng.enums.TkCheckPlanTypeEnum;
  15 +import org.thingsboard.server.common.data.yunteng.utils.tools.TkPageData;
  16 +import org.thingsboard.server.controller.BaseController;
  17 +import org.thingsboard.server.dao.yunteng.service.TkCheckPlanService;
  18 +import org.thingsboard.server.queue.util.TbCoreComponent;
  19 +
  20 +import java.util.HashMap;
  21 +import java.util.Map;
  22 +
  23 +import static org.thingsboard.server.common.data.yunteng.constant.QueryConstant.PAGE;
  24 +import static org.thingsboard.server.common.data.yunteng.constant.QueryConstant.PAGE_SIZE;
  25 +
  26 +@RestController
  27 +@TbCoreComponent
  28 +@RequiredArgsConstructor
  29 +@RequestMapping("api/yt/checkPlan")
  30 +@Api(tags = {"巡检/保养方案"})
  31 +@Slf4j
  32 +public class TkCheckPlanController extends BaseController {
  33 + private final TkCheckPlanService tkCheckPlanService;
  34 +
  35 + @GetMapping(params = {PAGE_SIZE, PAGE})
  36 + @ApiOperation("分页查询")
  37 + @PreAuthorize("hasAnyAuthority('TENANT_ADMIN','CUSTOMER_USER')")
  38 + public TkPageData<TkCheckPlanDTO> page(
  39 + @RequestParam(PAGE_SIZE) int pageSize,
  40 + @RequestParam(PAGE) int page,
  41 + @RequestParam(value = "name", required = false) String name,
  42 + @RequestParam(value = "type", required = false) TkCheckPlanTypeEnum type
  43 + ) throws ThingsboardException {
  44 + Map<String, Object> queryMap = new HashMap<>();
  45 + queryMap.put(PAGE_SIZE, pageSize);
  46 + queryMap.put(PAGE, page);
  47 + if (StringUtils.isNotBlank(name)) {
  48 + queryMap.put("name", name);
  49 + }
  50 +
  51 + if (type != null) {
  52 + queryMap.put("type", type);
  53 + }
  54 +
  55 + return tkCheckPlanService.page(queryMap, getCurrentUser().isTenantAdmin());
  56 + }
  57 +
  58 + @PostMapping("/save")
  59 + @PreAuthorize("hasAnyAuthority('TENANT_ADMIN','CUSTOMER_USER')")
  60 + public ResponseEntity<TkCheckPlanDTO> save(@RequestBody TkCheckPlanDTO tkCheckPlanDTO) throws ThingsboardException {
  61 + tkCheckPlanDTO.setTenantId(getCurrentUser().getCurrentTenantId());
  62 + if (tkCheckPlanDTO.getStatus() == null) {
  63 + tkCheckPlanDTO.setStatus(TkCheckPlanStatusEnum.ENABLE);
  64 + }
  65 +
  66 + TkCheckPlanDTO dto = tkCheckPlanService.save(tkCheckPlanDTO);
  67 + return ResponseEntity.ok(dto);
  68 + }
  69 +
  70 + @GetMapping("/delete")
  71 + @PreAuthorize("hasAnyAuthority('TENANT_ADMIN','CUSTOMER_USER')")
  72 + public ResponseEntity<Boolean> delete(@RequestParam("id") String id) throws ThingsboardException {
  73 + return ResponseEntity.ok(tkCheckPlanService.delete(id));
  74 + }
  75 +
  76 + @GetMapping("/get")
  77 + @PreAuthorize("hasAnyAuthority('TENANT_ADMIN','CUSTOMER_USER')")
  78 + public ResponseEntity<TkCheckPlanDTO> get(@RequestParam("id") String id) throws ThingsboardException {
  79 + return ResponseEntity.ok(tkCheckPlanService.get(id));
  80 + }
  81 +}
  1 +package org.thingsboard.server.controller.yunteng;
  2 +
  3 +import io.swagger.annotations.Api;
  4 +import lombok.RequiredArgsConstructor;
  5 +import lombok.extern.slf4j.Slf4j;
  6 +import org.springframework.web.bind.annotation.RequestMapping;
  7 +import org.springframework.web.bind.annotation.RestController;
  8 +import org.thingsboard.server.controller.BaseController;
  9 +import org.thingsboard.server.dao.yunteng.service.TkInspectionPlanService;
  10 +import org.thingsboard.server.queue.util.TbCoreComponent;
  11 +
  12 +@RestController
  13 +@TbCoreComponent
  14 +@RequiredArgsConstructor
  15 +@RequestMapping("api/yt/inspectionPlan")
  16 +@Api(tags = {"巡检计划"})
  17 +@Slf4j
  18 +public class TkInspectionPlanController extends BaseController {
  19 + private final TkInspectionPlanService tkInspectionPlanService;
  20 +
  21 +}
  1 +package org.thingsboard.server.controller.yunteng;
  2 +
  3 +import io.swagger.annotations.Api;
  4 +import lombok.RequiredArgsConstructor;
  5 +import lombok.extern.slf4j.Slf4j;
  6 +import org.springframework.web.bind.annotation.RequestMapping;
  7 +import org.springframework.web.bind.annotation.RestController;
  8 +import org.thingsboard.server.controller.BaseController;
  9 +import org.thingsboard.server.dao.yunteng.service.TkInspectionRecordService;
  10 +import org.thingsboard.server.queue.util.TbCoreComponent;
  11 +
  12 +@RestController
  13 +@TbCoreComponent
  14 +@RequiredArgsConstructor
  15 +@RequestMapping("api/yt/inspectionRecord")
  16 +@Api(tags = {"巡检记录"})
  17 +@Slf4j
  18 +public class TkInspectionRecordController extends BaseController {
  19 + private final TkInspectionRecordService tkInspectionRecordService;
  20 +
  21 +}
  1 +package org.thingsboard.server.common.data.yunteng.dto;
  2 +
  3 +import io.swagger.annotations.ApiModelProperty;
  4 +import lombok.Data;
  5 +import lombok.EqualsAndHashCode;
  6 +
  7 +/**
  8 + * 巡检明细
  9 + */
  10 +@EqualsAndHashCode(callSuper = true)
  11 +@Data
  12 +public class TkCheckDetailsDTO extends TenantDTO {
  13 +
  14 + @ApiModelProperty("明细编号")
  15 + private String code;
  16 +
  17 + @ApiModelProperty("巡检设备")
  18 + private String checkDeviceId;
  19 +
  20 + @ApiModelProperty("巡检方案")
  21 + private String checkPlanId;
  22 +
  23 + @ApiModelProperty("巡检计划")
  24 + private String inspectionPlanId;
  25 +
  26 + @ApiModelProperty("方案明细")
  27 + private String planDetails;
  28 +}
  1 +package org.thingsboard.server.common.data.yunteng.dto;
  2 +
  3 +import io.swagger.annotations.ApiModelProperty;
  4 +import lombok.Data;
  5 +import lombok.EqualsAndHashCode;
  6 +import org.thingsboard.server.common.data.yunteng.enums.TkCheckPlanStatusEnum;
  7 +import org.thingsboard.server.common.data.yunteng.enums.TkCheckPlanTypeEnum;
  8 +
  9 +/**
  10 + * 巡检/保养方案
  11 + */
  12 +@EqualsAndHashCode(callSuper = true)
  13 +@Data
  14 +public class TkCheckPlanDTO extends TenantDTO {
  15 +
  16 + @ApiModelProperty("方案编号")
  17 + private String code;
  18 +
  19 + @ApiModelProperty("方案名称")
  20 + private String name;
  21 +
  22 + @ApiModelProperty("方案类型")
  23 + private TkCheckPlanTypeEnum type;
  24 +
  25 + @ApiModelProperty("状态")
  26 + private TkCheckPlanStatusEnum status;
  27 +
  28 + @ApiModelProperty("方案明细")
  29 + private String planDetails;
  30 +}
  1 +package org.thingsboard.server.common.data.yunteng.dto;
  2 +
  3 +import io.swagger.annotations.ApiModelProperty;
  4 +import lombok.Data;
  5 +import lombok.EqualsAndHashCode;
  6 +
  7 +/**
  8 + * 巡检记录明细
  9 + */
  10 +@EqualsAndHashCode(callSuper = true)
  11 +@Data
  12 +public class TkInspectionDetailsDTO extends TenantDTO {
  13 +
  14 + @ApiModelProperty("巡检设备")
  15 + private String checkDeviceId;
  16 +
  17 + @ApiModelProperty("巡检内容")
  18 + private String planDetails;
  19 +
  20 + @ApiModelProperty("巡检结果")
  21 + private boolean recordResult;
  22 +}
  1 +package org.thingsboard.server.common.data.yunteng.dto;
  2 +
  3 +import com.fasterxml.jackson.annotation.JsonFormat;
  4 +import com.fasterxml.jackson.databind.annotation.JsonSerialize;
  5 +import com.fasterxml.jackson.datatype.jsr310.ser.LocalDateTimeSerializer;
  6 +import io.swagger.annotations.ApiModelProperty;
  7 +import lombok.Data;
  8 +import lombok.EqualsAndHashCode;
  9 +import org.thingsboard.server.common.data.yunteng.enums.TkInspectionPlanStatusEnum;
  10 +
  11 +import java.time.LocalDateTime;
  12 +
  13 +/**
  14 + * 巡检计划
  15 + */
  16 +@EqualsAndHashCode(callSuper = true)
  17 +@Data
  18 +public class TkInspectionPlanDTO extends TenantDTO {
  19 +
  20 + @ApiModelProperty("计划编号")
  21 + private String code;
  22 +
  23 + @ApiModelProperty("计划名称")
  24 + private String name;
  25 +
  26 + @ApiModelProperty("计划状态")
  27 + private TkInspectionPlanStatusEnum status;
  28 +
  29 + @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
  30 + @ApiModelProperty("开始日期")
  31 + @JsonSerialize(using = LocalDateTimeSerializer.class)
  32 + private LocalDateTime startTime;
  33 +
  34 + @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
  35 + @ApiModelProperty("结束日期")
  36 + @JsonSerialize(using = LocalDateTimeSerializer.class)
  37 + private LocalDateTime endTime;
  38 +
  39 + @ApiModelProperty("计划备注")
  40 + private String remark;
  41 +}
  1 +package org.thingsboard.server.common.data.yunteng.dto;
  2 +
  3 +import com.fasterxml.jackson.annotation.JsonFormat;
  4 +import com.fasterxml.jackson.databind.annotation.JsonSerialize;
  5 +import com.fasterxml.jackson.datatype.jsr310.ser.LocalDateTimeSerializer;
  6 +import io.swagger.annotations.ApiModelProperty;
  7 +import lombok.Data;
  8 +import lombok.EqualsAndHashCode;
  9 +
  10 +import java.time.LocalDateTime;
  11 +
  12 +/**
  13 + * 巡检记录
  14 + */
  15 +@EqualsAndHashCode(callSuper = true)
  16 +@Data
  17 +public class TkInspectionRecordDTO extends TenantDTO {
  18 +
  19 + @ApiModelProperty("记录编号")
  20 + private String code;
  21 +
  22 + @ApiModelProperty("巡检计划")
  23 + private String inspectionPlanId;
  24 +
  25 + @ApiModelProperty("巡检人")
  26 + private String inspectorId;
  27 +
  28 + @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
  29 + @ApiModelProperty(value = "巡检日期")
  30 + @JsonSerialize(using = LocalDateTimeSerializer.class)
  31 + private LocalDateTime checkDate;
  32 +
  33 + @ApiModelProperty("巡检结果")
  34 + private boolean recordResult;
  35 +}
  1 +package org.thingsboard.server.dao.yunteng.entities;
  2 +
  3 +import com.baomidou.mybatisplus.annotation.TableName;
  4 +import lombok.Data;
  5 +import lombok.EqualsAndHashCode;
  6 +import org.thingsboard.server.dao.model.ModelConstants;
  7 +
  8 +/**
  9 + * 巡检明细
  10 + */
  11 +@Data
  12 +@EqualsAndHashCode(callSuper = true)
  13 +@TableName(value = ModelConstants.TKCHECKDETAILS_TABLE_NAME, autoResultMap = true)
  14 +public class TkCheckDetailsEntity extends TenantBaseEntity {
  15 +
  16 + /**
  17 + * 明细编号
  18 + */
  19 + private String code;
  20 +
  21 + /**
  22 + * 巡检设备
  23 + */
  24 + private String checkDeviceId;
  25 +
  26 + /**
  27 + * 巡检方案
  28 + */
  29 + private String checkPlanId;
  30 +
  31 + /**
  32 + * 巡检计划
  33 + */
  34 + private String inspectionPlanId;
  35 +
  36 + /**
  37 + * 方案明细
  38 + */
  39 + private String planDetails;
  40 +}
1 package org.thingsboard.server.dao.yunteng.entities; 1 package org.thingsboard.server.dao.yunteng.entities;
2 2
  3 +import com.baomidou.mybatisplus.annotation.TableField;
3 import com.baomidou.mybatisplus.annotation.TableName; 4 import com.baomidou.mybatisplus.annotation.TableName;
4 import lombok.Data; 5 import lombok.Data;
5 import lombok.EqualsAndHashCode; 6 import lombok.EqualsAndHashCode;
  7 +import org.apache.ibatis.type.EnumTypeHandler;
6 import org.thingsboard.server.common.data.yunteng.enums.TkCheckPlanStatusEnum; 8 import org.thingsboard.server.common.data.yunteng.enums.TkCheckPlanStatusEnum;
7 import org.thingsboard.server.common.data.yunteng.enums.TkCheckPlanTypeEnum; 9 import org.thingsboard.server.common.data.yunteng.enums.TkCheckPlanTypeEnum;
8 import org.thingsboard.server.dao.model.ModelConstants; 10 import org.thingsboard.server.dao.model.ModelConstants;
@@ -14,9 +16,31 @@ import org.thingsboard.server.dao.model.ModelConstants; @@ -14,9 +16,31 @@ import org.thingsboard.server.dao.model.ModelConstants;
14 @EqualsAndHashCode(callSuper = true) 16 @EqualsAndHashCode(callSuper = true)
15 @TableName(value = ModelConstants.TKCHECKPLAN_TABLE_NAME, autoResultMap = true) 17 @TableName(value = ModelConstants.TKCHECKPLAN_TABLE_NAME, autoResultMap = true)
16 public class TkCheckPlanEntity extends TenantBaseEntity { 18 public class TkCheckPlanEntity extends TenantBaseEntity {
  19 +
  20 + /**
  21 + * 方案编号
  22 + */
17 private String code; 23 private String code;
  24 +
  25 + /**
  26 + * 方案名称
  27 + */
18 private String name; 28 private String name;
  29 +
  30 + /**
  31 + * 方案类型
  32 + */
  33 + @TableField(typeHandler = EnumTypeHandler.class)
19 private TkCheckPlanTypeEnum type; 34 private TkCheckPlanTypeEnum type;
  35 +
  36 + /**
  37 + * 状态
  38 + */
  39 + @TableField(typeHandler = EnumTypeHandler.class)
20 private TkCheckPlanStatusEnum status; 40 private TkCheckPlanStatusEnum status;
  41 +
  42 + /**
  43 + * 方案明细
  44 + */
21 private String planDetails; 45 private String planDetails;
22 } 46 }
  1 +package org.thingsboard.server.dao.yunteng.entities;
  2 +
  3 +import com.baomidou.mybatisplus.annotation.TableName;
  4 +import lombok.Data;
  5 +import lombok.EqualsAndHashCode;
  6 +import org.thingsboard.server.dao.model.ModelConstants;
  7 +
  8 +/**
  9 + * 巡检记录明细
  10 + */
  11 +@Data
  12 +@EqualsAndHashCode(callSuper = true)
  13 +@TableName(value = ModelConstants.TKINSPECTIONDETAILS_TABLE_NAME, autoResultMap = true)
  14 +public class TkInspectionDetailsEntity extends TenantBaseEntity {
  15 +
  16 + /**
  17 + * 巡检设备
  18 + */
  19 + private String checkDeviceId;
  20 +
  21 + /**
  22 + * 巡检内容
  23 + */
  24 + private String planDetails;
  25 +
  26 + /**
  27 + * 巡检结果
  28 + */
  29 + private boolean recordResult;
  30 +}
1 package org.thingsboard.server.dao.yunteng.entities; 1 package org.thingsboard.server.dao.yunteng.entities;
2 2
  3 +import com.baomidou.mybatisplus.annotation.TableField;
3 import com.baomidou.mybatisplus.annotation.TableName; 4 import com.baomidou.mybatisplus.annotation.TableName;
4 import lombok.Data; 5 import lombok.Data;
5 import lombok.EqualsAndHashCode; 6 import lombok.EqualsAndHashCode;
  7 +import org.apache.ibatis.type.EnumTypeHandler;
6 import org.thingsboard.server.common.data.yunteng.enums.TkInspectionPlanStatusEnum; 8 import org.thingsboard.server.common.data.yunteng.enums.TkInspectionPlanStatusEnum;
7 import org.thingsboard.server.dao.model.ModelConstants; 9 import org.thingsboard.server.dao.model.ModelConstants;
8 10
@@ -15,9 +17,35 @@ import java.time.LocalDateTime; @@ -15,9 +17,35 @@ import java.time.LocalDateTime;
15 @EqualsAndHashCode(callSuper = true) 17 @EqualsAndHashCode(callSuper = true)
16 @TableName(value = ModelConstants.TKINSPECTIONPLAN_TABLE_NAME, autoResultMap = true) 18 @TableName(value = ModelConstants.TKINSPECTIONPLAN_TABLE_NAME, autoResultMap = true)
17 public class TkInspectionPlanEntity extends TenantBaseEntity { 19 public class TkInspectionPlanEntity extends TenantBaseEntity {
  20 +
  21 + /**
  22 + * 计划编号
  23 + */
18 private String code; 24 private String code;
  25 +
  26 + /**
  27 + * 计划名称
  28 + */
19 private String name; 29 private String name;
  30 +
  31 + /**
  32 + * 计划状态
  33 + */
  34 + @TableField(typeHandler = EnumTypeHandler.class)
20 private TkInspectionPlanStatusEnum status; 35 private TkInspectionPlanStatusEnum status;
  36 +
  37 + /**
  38 + * 开始日期
  39 + */
21 private LocalDateTime startTime; 40 private LocalDateTime startTime;
  41 +
  42 + /**
  43 + * 结束日期
  44 + */
22 private LocalDateTime endTime; 45 private LocalDateTime endTime;
  46 +
  47 + /**
  48 + * 计划备注
  49 + */
  50 + private String remark;
23 } 51 }
  1 +package org.thingsboard.server.dao.yunteng.entities;
  2 +
  3 +import com.baomidou.mybatisplus.annotation.TableName;
  4 +import lombok.Data;
  5 +import lombok.EqualsAndHashCode;
  6 +import org.thingsboard.server.dao.model.ModelConstants;
  7 +
  8 +import java.time.LocalDateTime;
  9 +
  10 +/**
  11 + * 巡检记录
  12 + */
  13 +@Data
  14 +@EqualsAndHashCode(callSuper = true)
  15 +@TableName(value = ModelConstants.TKINSPECTIONRECORD_TABLE_NAME, autoResultMap = true)
  16 +public class TkInspectionRecordEntity extends TenantBaseEntity {
  17 +
  18 + /**
  19 + * 记录编号
  20 + */
  21 + private String code;
  22 +
  23 + /**
  24 + * 巡检计划
  25 + */
  26 + private String inspectionPlanId;
  27 +
  28 + /**
  29 + * 巡检人
  30 + */
  31 + private String inspectorId;
  32 +
  33 + /**
  34 + * 巡检日期
  35 + */
  36 + private LocalDateTime checkDate;
  37 +
  38 + /**
  39 + * 巡检结果
  40 + */
  41 + private boolean recordResult;
  42 +}
  1 +package org.thingsboard.server.dao.yunteng.impl;
  2 +
  3 +import lombok.RequiredArgsConstructor;
  4 +import lombok.extern.slf4j.Slf4j;
  5 +import org.springframework.stereotype.Service;
  6 +import org.thingsboard.server.dao.yunteng.entities.TkCheckDetailsEntity;
  7 +import org.thingsboard.server.dao.yunteng.mapper.TkCheckDetailsMapper;
  8 +import org.thingsboard.server.dao.yunteng.service.AbstractBaseService;
  9 +import org.thingsboard.server.dao.yunteng.service.TkCheckDetailsService;
  10 +
  11 +@Service
  12 +@RequiredArgsConstructor
  13 +@Slf4j
  14 +public class TkCheckDetailsServiceImpl extends AbstractBaseService<TkCheckDetailsMapper, TkCheckDetailsEntity>
  15 + implements TkCheckDetailsService {
  16 +}
  1 +package org.thingsboard.server.dao.yunteng.impl;
  2 +
  3 +import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
  4 +import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
  5 +import com.baomidou.mybatisplus.core.metadata.IPage;
  6 +import lombok.RequiredArgsConstructor;
  7 +import lombok.extern.slf4j.Slf4j;
  8 +import org.apache.commons.lang3.StringUtils;
  9 +import org.springframework.stereotype.Service;
  10 +import org.thingsboard.server.common.data.yunteng.core.exception.TkDataValidationException;
  11 +import org.thingsboard.server.common.data.yunteng.dto.TkCheckPlanDTO;
  12 +import org.thingsboard.server.common.data.yunteng.utils.tools.TkPageData;
  13 +import org.thingsboard.server.dao.yunteng.entities.TkCheckPlanEntity;
  14 +import org.thingsboard.server.dao.yunteng.mapper.TkCheckPlanMapper;
  15 +import org.thingsboard.server.dao.yunteng.service.AbstractBaseService;
  16 +import org.thingsboard.server.dao.yunteng.service.TkCheckPlanService;
  17 +
  18 +import java.util.Map;
  19 +
  20 +@Service
  21 +@RequiredArgsConstructor
  22 +@Slf4j
  23 +public class TkCheckPlanServiceImpl extends AbstractBaseService<TkCheckPlanMapper, TkCheckPlanEntity>
  24 + implements TkCheckPlanService {
  25 + @Override
  26 + public TkPageData<TkCheckPlanDTO> page(Map<String, Object> queryMap, boolean isTenantAdmin) {
  27 + QueryWrapper<TkCheckPlanEntity> wrapper = new QueryWrapper<>();
  28 + LambdaQueryWrapper<TkCheckPlanEntity> lambda = wrapper.lambda();
  29 + if (queryMap != null && queryMap.get("name") != null) {
  30 + lambda.eq(TkCheckPlanEntity::getName, queryMap.get("name").toString());
  31 + }
  32 +
  33 + if (queryMap != null && queryMap.get("type") != null) {
  34 + lambda.eq(TkCheckPlanEntity::getType, queryMap.get("type").toString());
  35 + }
  36 +
  37 + IPage<TkCheckPlanEntity> page = baseMapper.selectPage(getPage(queryMap, "create_time", false),
  38 + wrapper);
  39 +
  40 + return getPageData(page, TkCheckPlanDTO.class);
  41 + }
  42 +
  43 + @Override
  44 + public TkCheckPlanDTO save(TkCheckPlanDTO tkCheckPlanDTO) {
  45 + checkDto(tkCheckPlanDTO);
  46 + TkCheckPlanEntity entity = new TkCheckPlanEntity();
  47 + if (StringUtils.isBlank(tkCheckPlanDTO.getId())) {
  48 + tkCheckPlanDTO.copyToEntity(entity);
  49 + baseMapper.insert(entity);
  50 + } else {
  51 + LambdaQueryWrapper<TkCheckPlanEntity> filter = new QueryWrapper<TkCheckPlanEntity>().lambda()
  52 + .eq(TkCheckPlanEntity::getId, tkCheckPlanDTO.getId());
  53 + entity = tkCheckPlanDTO.getEntity(TkCheckPlanEntity.class);
  54 + baseMapper.update(entity, filter);
  55 + }
  56 +
  57 + entity.copyToDTO(tkCheckPlanDTO);
  58 + return tkCheckPlanDTO;
  59 + }
  60 +
  61 + private void checkDto(TkCheckPlanDTO dto) {
  62 + if (StringUtils.isBlank(dto.getTenantId())) {
  63 + throw new TkDataValidationException("租户id为空!");
  64 + }
  65 + }
  66 +
  67 + @Override
  68 + public boolean delete(String id) {
  69 + int count = baseMapper.deleteById(id);
  70 + return count > 0;
  71 + }
  72 +
  73 + @Override
  74 + public TkCheckPlanDTO get(String id) {
  75 + if (StringUtils.isBlank(id)) {
  76 + return new TkCheckPlanDTO();
  77 + }
  78 +
  79 + TkCheckPlanEntity entity = baseMapper.selectById(id);
  80 + TkCheckPlanDTO tkCheckPlanDTO = new TkCheckPlanDTO();
  81 + entity.copyToDTO(tkCheckPlanDTO);
  82 + return tkCheckPlanDTO;
  83 + }
  84 +}
  1 +package org.thingsboard.server.dao.yunteng.impl;
  2 +
  3 +import lombok.RequiredArgsConstructor;
  4 +import lombok.extern.slf4j.Slf4j;
  5 +import org.springframework.stereotype.Service;
  6 +import org.thingsboard.server.dao.yunteng.entities.TkInspectionDetailsEntity;
  7 +import org.thingsboard.server.dao.yunteng.mapper.TkInspectionDetailsMapper;
  8 +import org.thingsboard.server.dao.yunteng.service.AbstractBaseService;
  9 +import org.thingsboard.server.dao.yunteng.service.TkInspectionDetailsService;
  10 +
  11 +@Service
  12 +@RequiredArgsConstructor
  13 +@Slf4j
  14 +public class TkInspectionDetailsServiceImpl extends AbstractBaseService<TkInspectionDetailsMapper, TkInspectionDetailsEntity>
  15 + implements TkInspectionDetailsService {
  16 +}
  1 +package org.thingsboard.server.dao.yunteng.impl;
  2 +
  3 +import lombok.RequiredArgsConstructor;
  4 +import lombok.extern.slf4j.Slf4j;
  5 +import org.springframework.stereotype.Service;
  6 +import org.thingsboard.server.dao.yunteng.entities.TkInspectionPlanEntity;
  7 +import org.thingsboard.server.dao.yunteng.mapper.TkInspectionPlanMapper;
  8 +import org.thingsboard.server.dao.yunteng.service.AbstractBaseService;
  9 +import org.thingsboard.server.dao.yunteng.service.TkInspectionPlanService;
  10 +
  11 +@Service
  12 +@RequiredArgsConstructor
  13 +@Slf4j
  14 +public class TkInspectionPlanServiceImpl extends AbstractBaseService<TkInspectionPlanMapper, TkInspectionPlanEntity>
  15 + implements TkInspectionPlanService {
  16 +}
  1 +package org.thingsboard.server.dao.yunteng.impl;
  2 +
  3 +import lombok.RequiredArgsConstructor;
  4 +import lombok.extern.slf4j.Slf4j;
  5 +import org.springframework.stereotype.Service;
  6 +import org.thingsboard.server.dao.yunteng.entities.TkInspectionRecordEntity;
  7 +import org.thingsboard.server.dao.yunteng.mapper.TkInspectionRecordMapper;
  8 +import org.thingsboard.server.dao.yunteng.service.AbstractBaseService;
  9 +import org.thingsboard.server.dao.yunteng.service.TkInspectionRecordService;
  10 +
  11 +@Service
  12 +@RequiredArgsConstructor
  13 +@Slf4j
  14 +public class TkInspectionRecordServiceImpl extends AbstractBaseService<TkInspectionRecordMapper, TkInspectionRecordEntity>
  15 + implements TkInspectionRecordService {
  16 +}
  1 +package org.thingsboard.server.dao.yunteng.mapper;
  2 +
  3 +import com.baomidou.mybatisplus.core.mapper.BaseMapper;
  4 +import org.apache.ibatis.annotations.Mapper;
  5 +import org.thingsboard.server.dao.yunteng.entities.TkCheckDetailsEntity;
  6 +
  7 +@Mapper
  8 +public interface TkCheckDetailsMapper extends BaseMapper<TkCheckDetailsEntity> {
  9 +}
  1 +package org.thingsboard.server.dao.yunteng.mapper;
  2 +
  3 +import com.baomidou.mybatisplus.core.mapper.BaseMapper;
  4 +import org.apache.ibatis.annotations.Mapper;
  5 +import org.thingsboard.server.dao.yunteng.entities.TkCheckPlanEntity;
  6 +
  7 +@Mapper
  8 +public interface TkCheckPlanMapper extends BaseMapper<TkCheckPlanEntity> {
  9 +}
  1 +package org.thingsboard.server.dao.yunteng.mapper;
  2 +
  3 +import com.baomidou.mybatisplus.core.mapper.BaseMapper;
  4 +import org.apache.ibatis.annotations.Mapper;
  5 +import org.thingsboard.server.dao.yunteng.entities.TkInspectionDetailsEntity;
  6 +
  7 +@Mapper
  8 +public interface TkInspectionDetailsMapper extends BaseMapper<TkInspectionDetailsEntity> {
  9 +}
  1 +package org.thingsboard.server.dao.yunteng.mapper;
  2 +
  3 +import com.baomidou.mybatisplus.core.mapper.BaseMapper;
  4 +import org.apache.ibatis.annotations.Mapper;
  5 +import org.thingsboard.server.dao.yunteng.entities.TkInspectionPlanEntity;
  6 +
  7 +@Mapper
  8 +public interface TkInspectionPlanMapper extends BaseMapper<TkInspectionPlanEntity> {
  9 +}
  1 +package org.thingsboard.server.dao.yunteng.mapper;
  2 +
  3 +import com.baomidou.mybatisplus.core.mapper.BaseMapper;
  4 +import org.apache.ibatis.annotations.Mapper;
  5 +import org.thingsboard.server.dao.yunteng.entities.TkInspectionRecordEntity;
  6 +
  7 +@Mapper
  8 +public interface TkInspectionRecordMapper extends BaseMapper<TkInspectionRecordEntity> {
  9 +}
  1 +package org.thingsboard.server.dao.yunteng.service;
  2 +
  3 +import org.thingsboard.server.dao.yunteng.entities.TkCheckDetailsEntity;
  4 +
  5 +public interface TkCheckDetailsService extends BaseService<TkCheckDetailsEntity> {
  6 +}
  1 +package org.thingsboard.server.dao.yunteng.service;
  2 +
  3 +import org.thingsboard.server.common.data.yunteng.dto.TkCheckPlanDTO;
  4 +import org.thingsboard.server.common.data.yunteng.utils.tools.TkPageData;
  5 +import org.thingsboard.server.dao.yunteng.entities.TkCheckPlanEntity;
  6 +
  7 +import java.util.Map;
  8 +
  9 +public interface TkCheckPlanService extends BaseService<TkCheckPlanEntity> {
  10 + TkPageData<TkCheckPlanDTO> page(Map<String, Object> queryMap, boolean isTenantAdmin);
  11 +
  12 + TkCheckPlanDTO save(TkCheckPlanDTO tkCheckPlanDTO);
  13 +
  14 + boolean delete(String id);
  15 +
  16 + TkCheckPlanDTO get(String id);
  17 +}
  1 +package org.thingsboard.server.dao.yunteng.service;
  2 +
  3 +import org.thingsboard.server.dao.yunteng.entities.TkInspectionDetailsEntity;
  4 +
  5 +public interface TkInspectionDetailsService extends BaseService<TkInspectionDetailsEntity> {
  6 +}
  1 +package org.thingsboard.server.dao.yunteng.service;
  2 +
  3 +import org.thingsboard.server.dao.yunteng.entities.TkInspectionPlanEntity;
  4 +
  5 +public interface TkInspectionPlanService extends BaseService<TkInspectionPlanEntity> {
  6 +}
  1 +package org.thingsboard.server.dao.yunteng.service;
  2 +
  3 +import org.thingsboard.server.dao.yunteng.entities.TkInspectionRecordEntity;
  4 +
  5 +public interface TkInspectionRecordService extends BaseService<TkInspectionRecordEntity> {
  6 +}