Commit 87973a0fd75f6a4976a16a5b6908b2f30a8020e5
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), |
application/src/main/java/org/thingsboard/server/controller/yunteng/TkCheckPlanController.java
0 → 100644
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 | +} |
application/src/main/java/org/thingsboard/server/controller/yunteng/TkInspectionPlanController.java
0 → 100644
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 | +} |
common/data/src/main/java/org/thingsboard/server/common/data/yunteng/dto/TkCheckDetailsDTO.java
0 → 100644
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 | +} |
common/data/src/main/java/org/thingsboard/server/common/data/yunteng/dto/TkCheckPlanDTO.java
0 → 100644
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 | +} |
common/data/src/main/java/org/thingsboard/server/common/data/yunteng/dto/TkInspectionDetailsDTO.java
0 → 100644
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 | +} |
common/data/src/main/java/org/thingsboard/server/common/data/yunteng/dto/TkInspectionPlanDTO.java
0 → 100644
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 | +} |
common/data/src/main/java/org/thingsboard/server/common/data/yunteng/dto/TkInspectionRecordDTO.java
0 → 100644
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 | } |
dao/src/main/java/org/thingsboard/server/dao/yunteng/entities/TkInspectionDetailsEntity.java
0 → 100644
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 | } |
dao/src/main/java/org/thingsboard/server/dao/yunteng/entities/TkInspectionRecordEntity.java
0 → 100644
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 | +} |
dao/src/main/java/org/thingsboard/server/dao/yunteng/impl/TkInspectionDetailsServiceImpl.java
0 → 100644
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 | +} |
dao/src/main/java/org/thingsboard/server/dao/yunteng/impl/TkInspectionPlanServiceImpl.java
0 → 100644
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 | +} |
dao/src/main/java/org/thingsboard/server/dao/yunteng/impl/TkInspectionRecordServiceImpl.java
0 → 100644
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 | +} |
dao/src/main/java/org/thingsboard/server/dao/yunteng/mapper/TkInspectionDetailsMapper.java
0 → 100644
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 | +} |
dao/src/main/java/org/thingsboard/server/dao/yunteng/mapper/TkInspectionRecordMapper.java
0 → 100644
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.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 | +} |