Showing
15 changed files
with
282 additions
and
9 deletions
... | ... | @@ -371,3 +371,18 @@ CREATE TABLE "public"."qg_supplier" ( |
371 | 371 | "update_time" timestamp(6), |
372 | 372 | CONSTRAINT "qg_supplier_pkey" PRIMARY KEY ("id") |
373 | 373 | ); |
374 | + | |
375 | +CREATE TABLE "public"."qg_preserve_detail_status" ( | |
376 | + "id" varchar(36) NOT NULL, | |
377 | + "preserve_record_id" varchar(36), | |
378 | + "preserve_detail_id" varchar(36), | |
379 | + "status" varchar(50), | |
380 | + "tenant_id" varchar(36), | |
381 | + "create_time" timestamp(6), | |
382 | + "creator" varchar(36), | |
383 | + "updater" varchar(36), | |
384 | + "update_time" timestamp(6), | |
385 | + CONSTRAINT "qg_preserve_detail_status_pkey" PRIMARY KEY ("id") | |
386 | +); | |
387 | + | |
388 | +COMMENT ON TABLE "public"."qg_preserve_detail_status" IS '保养记录明细状态'; | ... | ... |
... | ... | @@ -1119,3 +1119,16 @@ CREATE TABLE IF NOT EXISTS qg_supplier ( |
1119 | 1119 | "update_time" timestamp(6), |
1120 | 1120 | CONSTRAINT "qg_supplier_pkey" PRIMARY KEY ("id") |
1121 | 1121 | ); |
1122 | + | |
1123 | +CREATE TABLE IF NOT EXISTS qg_preserve_detail_status ( | |
1124 | + "id" varchar(36) NOT NULL, | |
1125 | + "preserve_record_id" varchar(36), | |
1126 | + "preserve_detail_id" varchar(36), | |
1127 | + "status" varchar(50), | |
1128 | + "tenant_id" varchar(36), | |
1129 | + "create_time" timestamp(6), | |
1130 | + "creator" varchar(36), | |
1131 | + "updater" varchar(36), | |
1132 | + "update_time" timestamp(6), | |
1133 | + CONSTRAINT "qg_preserve_detail_status_pkey" PRIMARY KEY ("id") | |
1134 | +); | |
\ No newline at end of file | ... | ... |
... | ... | @@ -26,7 +26,7 @@ public class TkPreserveDetailDTO extends TenantDTO { |
26 | 26 | @ApiModelProperty(value = "方案id") |
27 | 27 | private String checkPlanId; |
28 | 28 | |
29 | - @ApiModelProperty(value = "方案id") | |
29 | + @ApiModelProperty(value = "方案名称") | |
30 | 30 | private String checkPlanName; |
31 | 31 | |
32 | 32 | @ApiModelProperty(value = "执行状态(UNEXECUTED未执行,EXECUTED已执行)") | ... | ... |
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.PreserveDetailStatusEnum; | |
7 | + | |
8 | +@EqualsAndHashCode(callSuper = true) | |
9 | +@Data | |
10 | +public class TkPreserveDetailStatusDTO extends TenantDTO { | |
11 | + | |
12 | + @ApiModelProperty(value = "保养记录id") | |
13 | + private String preserveRecordId; | |
14 | + | |
15 | + @ApiModelProperty(value = "保养明细id") | |
16 | + private String preserveDetailId; | |
17 | + | |
18 | + @ApiModelProperty(value = "执行状态") | |
19 | + private PreserveDetailStatusEnum status; | |
20 | + | |
21 | + @ApiModelProperty(value = "方案明细") | |
22 | + private String preserveDetail; | |
23 | + | |
24 | + @ApiModelProperty(value = "设备信息") | |
25 | + private TkDeviceAccountDTO deviceInfo; | |
26 | +} | ... | ... |
... | ... | @@ -9,6 +9,7 @@ import lombok.EqualsAndHashCode; |
9 | 9 | import org.thingsboard.server.common.data.yunteng.enums.PreserveRecordStatusEnum; |
10 | 10 | |
11 | 11 | import java.time.LocalDateTime; |
12 | +import java.util.List; | |
12 | 13 | |
13 | 14 | @EqualsAndHashCode(callSuper = true) |
14 | 15 | @Data |
... | ... | @@ -36,6 +37,9 @@ public class TkPreserveRecordDTO extends TenantDTO { |
36 | 37 | @ApiModelProperty(value = "保养计划名称") |
37 | 38 | private String preservePlanName; |
38 | 39 | |
40 | + @ApiModelProperty(value = "保养明细执行状态") | |
41 | + private List<TkPreserveDetailStatusDTO> preserveDetailStatusList; | |
42 | + | |
39 | 43 | @ApiModelProperty(value = "查询开始时间") |
40 | 44 | private LocalDateTime startDate; |
41 | 45 | ... | ... |
... | ... | @@ -681,8 +681,9 @@ public class ModelConstants { |
681 | 681 | */ |
682 | 682 | public static final String TKREPAIRRECORD_TABLE_NAME = "qg_repair_record"; |
683 | 683 | public static final String TKPRESERVEPLAN_TABLE_NAME = "qg_preserve_plan";//保养计划 |
684 | - public static final String TKPRESERVEDETAIL_TABLE_NAME = "qg_preserve_detail";//保养详情 | |
684 | + public static final String TKPRESERVEDETAIL_TABLE_NAME = "qg_preserve_detail";//保养明细 | |
685 | 685 | public static final String TKPRESERVERECORD_TABLE_NAME = "qg_preserve_record";//保养记录 |
686 | + public static final String TKPRESERVEDETAILSTATUS_TABLE_NAME = "qg_preserve_detail_status";//保养明细状态 | |
686 | 687 | public static final String TKDEVICECAGEGORY_TABLE_NAME = "qg_device_cagegory";//设备类别 |
687 | 688 | public static final String TKDEVICEACCOUNT_TABLE_NAME = "qg_device_account";//设备台账 |
688 | 689 | public static final String TKINSTALLLOCATION_TABLE_NAME = "qg_install_location";//设备台账 | ... | ... |
dao/src/main/java/org/thingsboard/server/dao/yunteng/entities/TkPreserveDetailStatusEntity.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.common.data.yunteng.enums.PreserveDetailStatusEnum; | |
7 | +import org.thingsboard.server.dao.model.ModelConstants; | |
8 | + | |
9 | +/** | |
10 | + * 保养记录执行明细 | |
11 | + */ | |
12 | +@Data | |
13 | +@EqualsAndHashCode(callSuper = true) | |
14 | +@TableName(value = ModelConstants.TKPRESERVEDETAILSTATUS_TABLE_NAME, autoResultMap = true) | |
15 | +public class TkPreserveDetailStatusEntity extends TenantBaseEntity { | |
16 | + private String preserveRecordId; | |
17 | + private String preserveDetailId; | |
18 | + private PreserveDetailStatusEnum status; | |
19 | + | |
20 | + | |
21 | +} | ... | ... |
... | ... | @@ -100,10 +100,6 @@ public class TkPreserveDetailServiceImpl extends AbstractBaseService<TkPreserveD |
100 | 100 | if (StringUtils.isBlank(dto.getTenantId())) { |
101 | 101 | dto.setTenantId(SpringBeanUtils.getTenantId().getId().toString()); |
102 | 102 | } |
103 | - | |
104 | - if (dto.getDetailStatus() == null) { | |
105 | - dto.setDetailStatus(PreserveDetailStatusEnum.UNEXECUTED); | |
106 | - } | |
107 | 103 | } |
108 | 104 | |
109 | 105 | ... | ... |
dao/src/main/java/org/thingsboard/server/dao/yunteng/impl/TkPreserveDetailStatusServiceImpl.java
0 → 100644
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 lombok.RequiredArgsConstructor; | |
6 | +import lombok.extern.slf4j.Slf4j; | |
7 | +import org.apache.commons.collections4.CollectionUtils; | |
8 | +import org.apache.commons.lang3.StringUtils; | |
9 | +import org.springframework.stereotype.Service; | |
10 | +import org.thingsboard.server.common.data.exception.ThingsboardException; | |
11 | +import org.thingsboard.server.common.data.yunteng.core.exception.TkDataValidationException; | |
12 | +import org.thingsboard.server.common.data.yunteng.dto.TkPreserveDetailStatusDTO; | |
13 | +import org.thingsboard.server.common.data.yunteng.enums.PreserveDetailStatusEnum; | |
14 | +import org.thingsboard.server.common.data.yunteng.utils.SpringBeanUtils; | |
15 | +import org.thingsboard.server.dao.yunteng.entities.TkPreserveDetailStatusEntity; | |
16 | +import org.thingsboard.server.dao.yunteng.mapper.TkPreserveDetailStatusMapper; | |
17 | +import org.thingsboard.server.dao.yunteng.service.AbstractBaseService; | |
18 | +import org.thingsboard.server.dao.yunteng.service.TkPreserveDetailStatusService; | |
19 | + | |
20 | +import java.util.List; | |
21 | + | |
22 | +@Service | |
23 | +@RequiredArgsConstructor | |
24 | +@Slf4j | |
25 | +public class TkPreserveDetailStatusServiceImpl extends AbstractBaseService<TkPreserveDetailStatusMapper, TkPreserveDetailStatusEntity> | |
26 | + implements TkPreserveDetailStatusService { | |
27 | + | |
28 | + @Override | |
29 | + public TkPreserveDetailStatusDTO save(TkPreserveDetailStatusDTO dto) throws ThingsboardException { | |
30 | + checkDto(dto); | |
31 | + | |
32 | + TkPreserveDetailStatusEntity entity = new TkPreserveDetailStatusEntity(); | |
33 | + if (StringUtils.isBlank(dto.getId())) { | |
34 | + dto.copyToEntity(entity); | |
35 | + baseMapper.insert(entity); | |
36 | + } else { | |
37 | + LambdaQueryWrapper<TkPreserveDetailStatusEntity> filter = new QueryWrapper<TkPreserveDetailStatusEntity>().lambda() | |
38 | + .eq(TkPreserveDetailStatusEntity::getId, dto.getId()); | |
39 | + entity = dto.getEntity(TkPreserveDetailStatusEntity.class); | |
40 | + baseMapper.update(entity, filter); | |
41 | + } | |
42 | + entity.copyToDTO(dto); | |
43 | + return dto; | |
44 | + } | |
45 | + | |
46 | + @Override | |
47 | + public List<TkPreserveDetailStatusDTO> listByPreserveRecordId(List<String> preserveRecordId) throws ThingsboardException { | |
48 | + if (CollectionUtils.isEmpty(preserveRecordId)) { | |
49 | + throw new TkDataValidationException("保养记录id不能为空!"); | |
50 | + } | |
51 | + return baseMapper.listByPreserveRecordId(preserveRecordId, SpringBeanUtils.getTenantId().getId().toString()); | |
52 | + } | |
53 | + | |
54 | + private void checkDto(TkPreserveDetailStatusDTO dto) throws ThingsboardException { | |
55 | + | |
56 | + | |
57 | + if (StringUtils.isBlank(dto.getPreserveRecordId())) { | |
58 | + throw new TkDataValidationException("保养记录id不能为空!"); | |
59 | + } | |
60 | + | |
61 | + if (StringUtils.isBlank(dto.getPreserveDetailId())) { | |
62 | + throw new TkDataValidationException("保养明细id不能为空!"); | |
63 | + } | |
64 | + | |
65 | + if (StringUtils.isBlank(dto.getTenantId())) { | |
66 | + dto.setTenantId(SpringBeanUtils.getTenantId().getId().toString()); | |
67 | + } | |
68 | + | |
69 | + if (dto.getStatus() == null) { | |
70 | + dto.setStatus(PreserveDetailStatusEnum.UNEXECUTED); | |
71 | + } | |
72 | + } | |
73 | +} | ... | ... |
... | ... | @@ -11,17 +11,17 @@ import org.springframework.stereotype.Service; |
11 | 11 | import org.thingsboard.server.common.data.exception.ThingsboardException; |
12 | 12 | import org.thingsboard.server.common.data.id.TenantId; |
13 | 13 | import org.thingsboard.server.common.data.yunteng.core.exception.TkDataValidationException; |
14 | -import org.thingsboard.server.common.data.yunteng.dto.TkPreservePlanDTO; | |
15 | -import org.thingsboard.server.common.data.yunteng.dto.TkPreserveRecordDTO; | |
16 | -import org.thingsboard.server.common.data.yunteng.dto.UserDTO; | |
14 | +import org.thingsboard.server.common.data.yunteng.dto.*; | |
17 | 15 | import org.thingsboard.server.common.data.yunteng.enums.PreservePlanStatusEnum; |
18 | 16 | import org.thingsboard.server.common.data.yunteng.enums.PreserveRecordStatusEnum; |
19 | 17 | import org.thingsboard.server.common.data.yunteng.utils.SpringBeanUtils; |
20 | 18 | import org.thingsboard.server.common.data.yunteng.utils.tools.TkPageData; |
19 | +import org.thingsboard.server.dao.yunteng.entities.BaseEntity; | |
21 | 20 | import org.thingsboard.server.dao.yunteng.entities.TkPreserveRecordEntity; |
22 | 21 | import org.thingsboard.server.dao.yunteng.mapper.TkPreserveRecordMapper; |
23 | 22 | import org.thingsboard.server.dao.yunteng.service.*; |
24 | 23 | |
24 | +import javax.transaction.Transactional; | |
25 | 25 | import java.util.HashMap; |
26 | 26 | import java.util.List; |
27 | 27 | import java.util.Map; |
... | ... | @@ -36,6 +36,8 @@ public class TkPreserveRecordServcieImpl extends AbstractBaseService<TkPreserveR |
36 | 36 | |
37 | 37 | private final TkPreserveDetailService tkPreserveDetailService; |
38 | 38 | |
39 | + private final TkPreserveDetailStatusService tkPreserveDetailStatusService; | |
40 | + | |
39 | 41 | @Override |
40 | 42 | public TkPageData<TkPreserveRecordDTO> page(Map<String, Object> params) throws ThingsboardException { |
41 | 43 | TenantId tenantId = SpringBeanUtils.getTenantId(); |
... | ... | @@ -62,6 +64,20 @@ public class TkPreserveRecordServcieImpl extends AbstractBaseService<TkPreserveR |
62 | 64 | |
63 | 65 | IPage<TkPreserveRecordDTO> pageData = baseMapper.getPreserveRecordPage(page, params); |
64 | 66 | if (pageData != null) { |
67 | + if (CollectionUtils.isNotEmpty(pageData.getRecords())) { | |
68 | + List<String> recordIdList = pageData.getRecords().stream().map(BaseDTO::getId).collect(Collectors.toList()); | |
69 | + List<TkPreserveDetailStatusDTO> preserveDetailStatusList = tkPreserveDetailStatusService.listByPreserveRecordId(recordIdList); | |
70 | + if (CollectionUtils.isNotEmpty(preserveDetailStatusList)) { | |
71 | + Map<String, List<TkPreserveDetailStatusDTO>> detailStatusMap = preserveDetailStatusList.stream() | |
72 | + .collect(Collectors.groupingBy(e -> e.getPreserveRecordId())); | |
73 | + | |
74 | + pageData.getRecords().forEach(e -> { | |
75 | + List<TkPreserveDetailStatusDTO> currentDataList = detailStatusMap.get(e.getId()); | |
76 | + e.setPreserveDetailStatusList(currentDataList); | |
77 | + }); | |
78 | + | |
79 | + } | |
80 | + } | |
65 | 81 | result.setItems(pageData.getRecords()); |
66 | 82 | } |
67 | 83 | result.setTotal(Long.valueOf(pageData.getTotal()).intValue()); |
... | ... | @@ -69,6 +85,7 @@ public class TkPreserveRecordServcieImpl extends AbstractBaseService<TkPreserveR |
69 | 85 | } |
70 | 86 | |
71 | 87 | @Override |
88 | + @Transactional | |
72 | 89 | public TkPreserveRecordDTO save(TkPreserveRecordDTO dto) throws ThingsboardException { |
73 | 90 | checkDto(dto); |
74 | 91 | |
... | ... | @@ -83,6 +100,14 @@ public class TkPreserveRecordServcieImpl extends AbstractBaseService<TkPreserveR |
83 | 100 | baseMapper.update(entity, filter); |
84 | 101 | } |
85 | 102 | entity.copyToDTO(dto); |
103 | + String id = dto.getId(); | |
104 | + List<TkPreserveDetailStatusDTO> preserveDetailStatusList = dto.getPreserveDetailStatusList(); | |
105 | + if (CollectionUtils.isNotEmpty(preserveDetailStatusList)) { | |
106 | + for (TkPreserveDetailStatusDTO tkPreserveDetailStatusDTO : preserveDetailStatusList) { | |
107 | + tkPreserveDetailStatusDTO.setPreserveRecordId(id); | |
108 | + tkPreserveDetailStatusService.save(tkPreserveDetailStatusDTO); | |
109 | + } | |
110 | + } | |
86 | 111 | return dto; |
87 | 112 | } |
88 | 113 | |
... | ... | @@ -100,6 +125,10 @@ public class TkPreserveRecordServcieImpl extends AbstractBaseService<TkPreserveR |
100 | 125 | throw new TkDataValidationException("保养日期不能为空!"); |
101 | 126 | } |
102 | 127 | |
128 | + if (CollectionUtils.isEmpty(dto.getPreserveDetailStatusList())) { | |
129 | + throw new TkDataValidationException("保养明细执行状态不能为空!"); | |
130 | + } | |
131 | + | |
103 | 132 | if (StringUtils.isBlank(dto.getTenantId())) { |
104 | 133 | dto.setTenantId(SpringBeanUtils.getTenantId().getId().toString()); |
105 | 134 | } | ... | ... |
dao/src/main/java/org/thingsboard/server/dao/yunteng/mapper/TkPreserveDetailStatusMapper.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.apache.ibatis.annotations.Param; | |
6 | +import org.thingsboard.server.common.data.yunteng.dto.TkPreserveDetailStatusDTO; | |
7 | +import org.thingsboard.server.dao.yunteng.entities.TkPreserveDetailStatusEntity; | |
8 | + | |
9 | +import java.util.List; | |
10 | + | |
11 | +@Mapper | |
12 | +public interface TkPreserveDetailStatusMapper extends BaseMapper<TkPreserveDetailStatusEntity> { | |
13 | + List<TkPreserveDetailStatusDTO> listByPreserveRecordId(@Param("preserveRecordId") List<String> preserveRecordId, @Param("tenantId") String tenantId); | |
14 | +} | ... | ... |
dao/src/main/java/org/thingsboard/server/dao/yunteng/service/TkPreserveDetailStatusService.java
0 → 100644
1 | +package org.thingsboard.server.dao.yunteng.service; | |
2 | + | |
3 | +import org.thingsboard.server.common.data.exception.ThingsboardException; | |
4 | +import org.thingsboard.server.common.data.yunteng.dto.TkPreserveDetailStatusDTO; | |
5 | +import org.thingsboard.server.dao.yunteng.entities.TkPreserveDetailStatusEntity; | |
6 | + | |
7 | +import java.util.List; | |
8 | + | |
9 | +public interface TkPreserveDetailStatusService extends BaseService<TkPreserveDetailStatusEntity> { | |
10 | + TkPreserveDetailStatusDTO save(TkPreserveDetailStatusDTO dto) throws ThingsboardException; | |
11 | + | |
12 | + List<TkPreserveDetailStatusDTO> listByPreserveRecordId(List<String> preserveRecordId) throws ThingsboardException; | |
13 | +} | ... | ... |
... | ... | @@ -2,6 +2,7 @@ |
2 | 2 | <!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd"> |
3 | 3 | <mapper namespace="org.thingsboard.server.dao.yunteng.mapper.TkPreserveDetailMapper"> |
4 | 4 | <resultMap type="org.thingsboard.server.common.data.yunteng.dto.TkPreserveDetailDTO" id="preserveDetailMap"> |
5 | + <result property="id" column="id"/> | |
5 | 6 | <result property="detailCode" column="detail_code"/> |
6 | 7 | <result property="preserveDetail" column="preserve_detail"/> |
7 | 8 | <result property="preservePlanId" column="preserve_plan_id"/> | ... | ... |
1 | +<?xml version="1.0" encoding="UTF-8"?> | |
2 | +<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd"> | |
3 | +<mapper namespace="org.thingsboard.server.dao.yunteng.mapper.TkPreserveDetailStatusMapper"> | |
4 | + <resultMap type="org.thingsboard.server.common.data.yunteng.dto.TkPreserveDetailStatusDTO" | |
5 | + id="preserveDetailStatusMap"> | |
6 | + <result property="id" column="id"/> | |
7 | + <result property="preserveRecordId" column="preserve_record_id"/> | |
8 | + <result property="preserveDetailId" column="preserve_detail_id"/> | |
9 | + <result property="status" column="status" typeHandler="org.apache.ibatis.type.EnumTypeHandler"/> | |
10 | + <result property="preserveDetail" column="preserve_detail"/> | |
11 | + <association property="deviceInfo" javaType="org.thingsboard.server.common.data.yunteng.dto.TkDeviceAccountDTO"> | |
12 | + <id property="id" column="device_id"/> | |
13 | + <result property="name" column="daName"/> | |
14 | + <result property="code" column="daCode"/> | |
15 | + <result property="categoryId" column="category_id"/> | |
16 | + <result property="status" column="daStatus" typeHandler="org.apache.ibatis.type.EnumTypeHandler"/> | |
17 | + <result property="directorId" column="director_id"/> | |
18 | + <result property="isOnline" column="is_online"/> | |
19 | + <result property="deviceImg" column="device_img"/> | |
20 | + <result property="brand" column="brand"/> | |
21 | + <result property="modelNum" column="model_num"/> | |
22 | + <result property="specifications" column="specifications"/> | |
23 | + <result property="manufacturer" column="manufacturer"/> | |
24 | + <result property="buyDate" column="buy_date"/> | |
25 | + <result property="price" column="price"/> | |
26 | + <result property="productDate" column="product_date"/> | |
27 | + <result property="receiveDate" column="receive_date"/> | |
28 | + <result property="registeDate" column="registe_date"/> | |
29 | + <result property="supplierId" column="supplier_id"/> | |
30 | + <result property="description" column="daDescription"/> | |
31 | + </association> | |
32 | + </resultMap> | |
33 | + <select id="listByPreserveRecordId" resultMap="preserveDetailStatusMap"> | |
34 | + SELECT pds.id | |
35 | + , pds.preserve_record_id | |
36 | + , pds.preserve_detail_id | |
37 | + , pds.status | |
38 | + , pd.preserve_detail, | |
39 | + da.name as daName,da.code as daCode,da.category_id,da.status as daStatus,da.director_id,da.is_online, | |
40 | + da.brand,da.model_num,da.specifications,da.manufacturer,da.buy_date,da.price,da.product_date, | |
41 | + da.receive_date,da.registe_date,da.supplier_id,da.device_img,da.description as daDescription | |
42 | + , pds.tenant_id | |
43 | + , pds.create_time | |
44 | + , pds.updater | |
45 | + , pds.update_time | |
46 | + , pds.creator | |
47 | + from qg_preserve_detail_status pds | |
48 | + inner join qg_preserve_detail pd on pd.id = pds.preserve_detail_id | |
49 | + inner join qg_device_account da on da.id=pd.device_id | |
50 | + <where> | |
51 | + <if test="tenantId !=null and tenantId !=''"> | |
52 | + AND pds.tenant_id = #{tenantId} | |
53 | + </if> | |
54 | + <if test="preserveRecordId !=null"> | |
55 | + AND pds.preserve_record_id in | |
56 | + <foreach collection="preserveRecordId" item="item" index="index" | |
57 | + separator="," open="(" close=")"> | |
58 | + #{item} | |
59 | + </foreach> | |
60 | + </if> | |
61 | + </where> | |
62 | + | |
63 | + </select> | |
64 | +</mapper> | |
\ No newline at end of file | ... | ... |
... | ... | @@ -65,6 +65,9 @@ |
65 | 65 | <if test="queryMap.deviceId !=null and queryMap.deviceId !=''"> |
66 | 66 | AND o.device_id = #{queryMap.deviceId} |
67 | 67 | </if> |
68 | + <if test="queryMap.deviceName !=null and queryMap.deviceName !=''"> | |
69 | + AND da.name LIKE concat('%',#{queryMap.deviceName}::TEXT,'%') | |
70 | + </if> | |
68 | 71 | <if test="queryMap.emergency !=null"> |
69 | 72 | AND o.emergency = #{queryMap.emergency} |
70 | 73 | </if> | ... | ... |