Commit 2d5760056412060f5dc69ad220fdeae5552d71ec

Authored by 胡翰林
1 parent c274bd42

维修报修关联设备台账

... ... @@ -70,6 +70,7 @@ COMMENT ON COLUMN "public"."qg_repair_order"."creator" IS '创建用户';
70 70
71 71 CREATE TABLE "public"."qg_repair_record" (
72 72 "id" varchar(36) NOT NULL,
  73 + "code" varchar(50),
73 74 "order_id" varchar(36),
74 75 "repair_date" timestamp(6),
75 76 "repair_by" varchar(36),
... ...
... ... @@ -927,6 +927,7 @@ CREATE TABLE IF NOT EXISTS qg_repair_order (
927 927
928 928 CREATE TABLE IF NOT EXISTS qg_repair_record (
929 929 "id" varchar(36) NOT NULL,
  930 + "code" varchar(50),
930 931 "order_id" varchar(36),
931 932 "repair_date" timestamp(6),
932 933 "repair_by" varchar(36),
... ...
... ... @@ -53,13 +53,13 @@ public class TkRepairOrderController extends BaseController {
53 53
54 54 if (StringUtils.isBlank(dto.getId())) {
55 55 TkRepairOrderDTO roInfo = tkRepairOrderService.loadByDeviceId(dto.getDeviceId());
56   - if (roInfo != null && RepairOrderStatusEnum.valueOf(roInfo.getStatus()) == RepairOrderStatusEnum.SCHEDULING) {
  56 + if (roInfo != null && roInfo.getStatus().name().equals(RepairOrderStatusEnum.SCHEDULING.name())) {
57 57 throw new TkDataValidationException("该设备已报修!");
58 58 }
59 59 }
60 60
61   - if (StringUtils.isBlank(dto.getStatus())) {
62   - dto.setStatus(RepairOrderStatusEnum.DRAFT.name());
  61 + if (dto.getStatus() == null) {
  62 + dto.setStatus(RepairOrderStatusEnum.DRAFT);
63 63 }
64 64
65 65 TkRepairOrderDTO deviceDTO = tkRepairOrderService.save(dto);
... ... @@ -103,7 +103,7 @@ public class TkRepairOrderController extends BaseController {
103 103 throw new TkDataValidationException("工单不存在!");
104 104 }
105 105
106   - tkRepairOrderService.updateStatus(dto.getId(), dto.getStatus());
  106 + tkRepairOrderService.updateStatus(dto.getId(), dto.getStatus().name());
107 107 return ResponseEntity.ok(orderInfo);
108 108 }
109 109 }
... ...
... ... @@ -19,6 +19,8 @@ import org.thingsboard.server.dao.yunteng.service.TkRepairOrderService;
19 19 import org.thingsboard.server.dao.yunteng.service.TkRepairRecordService;
20 20 import org.thingsboard.server.queue.util.TbCoreComponent;
21 21
  22 +import java.util.Map;
  23 +
22 24 import static org.thingsboard.server.common.data.yunteng.constant.QueryConstant.PAGE;
23 25 import static org.thingsboard.server.common.data.yunteng.constant.QueryConstant.PAGE_SIZE;
24 26
... ... @@ -74,10 +76,10 @@ public class TkRepairRecordController extends BaseController {
74 76 public TkPageData<TkRepairRecordDTO> page(
75 77 @RequestParam(PAGE_SIZE) int pageSize,
76 78 @RequestParam(PAGE) int page,
77   - @RequestBody TkRepairRecordDTO params)
  79 + @RequestBody Map<String, Object> params)
78 80 throws ThingsboardException {
79   - params.setPage(page);
80   - params.setPageSize(pageSize);
81   - return tkRepairRecordService.page(getCurrentUser().getCurrentTenantId(), params);
  81 + params.put(PAGE, page);
  82 + params.put(PAGE_SIZE, pageSize);
  83 + return tkRepairRecordService.page(params);
82 84 }
83 85 }
... ...
... ... @@ -6,6 +6,7 @@ import com.fasterxml.jackson.datatype.jsr310.ser.LocalDateTimeSerializer;
6 6 import io.swagger.annotations.ApiModelProperty;
7 7 import lombok.Data;
8 8 import lombok.EqualsAndHashCode;
  9 +import org.thingsboard.server.common.data.yunteng.enums.RepairOrderStatusEnum;
9 10
10 11 import java.time.LocalDateTime;
11 12
... ... @@ -30,8 +31,8 @@ public class TkRepairOrderDTO extends TenantDTO {
30 31 @ApiModelProperty(value = "报修人")
31 32 private String reportByName;
32 33
33   - @ApiModelProperty(value = "状态(RepairOrderStatusEnum) SCHEDULING排期中 REPAIRFINISH维修完成 ACCEPTANCEPASSED验收通过")
34   - private String status;
  34 + @ApiModelProperty(value = "状态(DRAFT草稿 SCHEDULING排期中 REPAIRFINISH维修完成 ACCEPTANCEPASSED验收通过)")
  35 + private RepairOrderStatusEnum status;
35 36
36 37 @ApiModelProperty(value = "是否紧急")
37 38 private Boolean emergency;
... ... @@ -43,7 +44,7 @@ public class TkRepairOrderDTO extends TenantDTO {
43 44 private String description;
44 45
45 46 @ApiModelProperty(value = "关联设备")
46   - private DeviceDTO deviceInfo;
  47 + private TkDeviceAccountDTO deviceInfo;
47 48
48 49 @ApiModelProperty(value = "查询开始时间")
49 50 private LocalDateTime startDate;
... ...
... ... @@ -16,6 +16,9 @@ public class TkRepairRecordDTO extends TenantDTO {
16 16 @ApiModelProperty(value = "维修工单id")
17 17 private String orderId;
18 18
  19 + @ApiModelProperty(value = "维修编号")
  20 + private String code;
  21 +
19 22 @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
20 23 @ApiModelProperty(value = "维修时间")
21 24 @JsonSerialize(using = LocalDateTimeSerializer.class)
... ... @@ -33,6 +36,9 @@ public class TkRepairRecordDTO extends TenantDTO {
33 36 @ApiModelProperty(value = "维修工单")
34 37 private TkRepairOrderDTO tkRepairOrderDTO;
35 38
  39 + @ApiModelProperty(value = "设备名称")
  40 + private String deviceAccountName;
  41 +
36 42 @ApiModelProperty(value = "查询开始时间")
37 43 private LocalDateTime startDate;
38 44
... ...
... ... @@ -3,6 +3,7 @@ package org.thingsboard.server.dao.yunteng.entities;
3 3 import com.baomidou.mybatisplus.annotation.TableName;
4 4 import lombok.Data;
5 5 import lombok.EqualsAndHashCode;
  6 +import org.thingsboard.server.common.data.yunteng.enums.RepairOrderStatusEnum;
6 7 import org.thingsboard.server.dao.model.ModelConstants;
7 8
8 9 import java.time.LocalDateTime;
... ... @@ -23,7 +24,7 @@ public class TkRepairOrderEntity extends TenantBaseEntity {
23 24
24 25 private String reportBy;
25 26
26   - private String status;
  27 + private RepairOrderStatusEnum status;
27 28
28 29 private Boolean emergency;
29 30
... ...
... ... @@ -17,6 +17,8 @@ public class TkRepairRecordEntity extends TenantBaseEntity {
17 17
18 18 private String orderId;
19 19
  20 + private String code;
  21 +
20 22 private LocalDateTime repairDate;
21 23
22 24 private String repairBy;
... ...
... ... @@ -37,6 +37,7 @@ public class TkDeviceAccountServiceImpl extends AbstractBaseService<TkDeviceAcco
37 37
38 38 @Override
39 39 public TkPageData<TkDeviceAccountDTO> page(Map<String, Object> params) throws ThingsboardException {
  40 + params.put("tenantId", SpringBeanUtils.getTenantId().getId().toString());
40 41 TkPageData<TkDeviceAccountDTO> result = new TkPageData<>();
41 42 IPage<TkDeviceAccountEntity> page =
42 43 getPage(params, "create_time", false);
... ...
... ... @@ -12,6 +12,7 @@ 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 14 import org.thingsboard.server.common.data.yunteng.dto.DeviceDTO;
  15 +import org.thingsboard.server.common.data.yunteng.dto.TkDeviceAccountDTO;
15 16 import org.thingsboard.server.common.data.yunteng.dto.TkRepairOrderDTO;
16 17 import org.thingsboard.server.common.data.yunteng.enums.RepairOrderStatusEnum;
17 18 import org.thingsboard.server.common.data.yunteng.utils.SpringBeanUtils;
... ... @@ -20,6 +21,7 @@ import org.thingsboard.server.dao.yunteng.entities.TenantBaseEntity;
20 21 import org.thingsboard.server.dao.yunteng.entities.TkRepairOrderEntity;
21 22 import org.thingsboard.server.dao.yunteng.mapper.TkRepairOrderMapper;
22 23 import org.thingsboard.server.dao.yunteng.service.AbstractBaseService;
  24 +import org.thingsboard.server.dao.yunteng.service.TkDeviceAccountService;
23 25 import org.thingsboard.server.dao.yunteng.service.TkDeviceService;
24 26 import org.thingsboard.server.dao.yunteng.service.TkRepairOrderService;
25 27
... ... @@ -36,28 +38,16 @@ public class TkRepairOrderServiceImpl extends AbstractBaseService<TkRepairOrderM
36 38
37 39 private final TkDeviceService tkdeviceService;
38 40
  41 + private final TkDeviceAccountService tkDeviceAccountService;
  42 +
39 43 @Override
40   - public TkPageData<TkRepairOrderDTO> page(String tenantId, Map<String, Object> params) {
  44 + public TkPageData<TkRepairOrderDTO> page(String tenantId, Map<String, Object> params) throws ThingsboardException {
  45 + params.put("tenantId", SpringBeanUtils.getTenantId().getId().toString());
41 46 TkPageData<TkRepairOrderDTO> result = new TkPageData<>();
42 47 IPage<TkRepairOrderEntity> page =
43 48 getPage(params, "create_time", false);
44 49
45 50 IPage<TkRepairOrderDTO> pageData = baseMapper.getRepairOrderPage(page, params);
46   - if (pageData != null && CollectionUtils.isNotEmpty(pageData.getRecords())) {
47   - Map<String, DeviceDTO> deviceMap = new HashMap<>();
48   - pageData.getRecords().forEach(item -> {
49   - String deviceId = item.getDeviceId();
50   - if (StringUtils.isNotBlank(deviceId)) {
51   - DeviceDTO deviceDTO = deviceMap.get(tenantId);
52   - if (deviceDTO == null) {
53   - deviceDTO = tkdeviceService.checkDeviceByTenantIdAndDeviceId(UUID.fromString(tenantId), UUID.fromString(deviceId));
54   - deviceMap.put(tenantId, deviceDTO);
55   - }
56   -
57   - item.setDeviceInfo(deviceDTO);
58   - }
59   - });
60   - }
61 51 if (pageData != null) {
62 52 result.setItems(pageData.getRecords());
63 53 }
... ... @@ -65,34 +55,6 @@ public class TkRepairOrderServiceImpl extends AbstractBaseService<TkRepairOrderM
65 55 return result;
66 56 }
67 57
68   - private QueryWrapper<TkRepairOrderEntity> getCondition(String tenantId, TkRepairOrderDTO params) {
69   - QueryWrapper<TkRepairOrderEntity> queryWrapper = new QueryWrapper<>();
70   - LambdaQueryWrapper<TkRepairOrderEntity> lambda = queryWrapper.lambda();
71   - lambda.eq(TenantBaseEntity::getTenantId, tenantId);
72   - if (StringUtils.isNotBlank(params.getDeviceId())) {
73   - lambda.eq(TkRepairOrderEntity::getDeviceId, params.getDeviceId());
74   - }
75   - if (params.getStartDate() != null) {
76   - lambda.ge(TkRepairOrderEntity::getReportDate, params.getStartDate());
77   - }
78   - if (params.getEndDate() != null) {
79   - lambda.le(TkRepairOrderEntity::getReportDate, params.getEndDate());
80   - }
81   -
82   - if (StringUtils.isNotBlank(params.getReportBy())) {
83   - lambda.eq(TkRepairOrderEntity::getReportBy, params.getReportBy());
84   - }
85   -
86   - if (StringUtils.isNotBlank(params.getStatus())) {
87   - lambda.eq(TkRepairOrderEntity::getStatus, params.getStatus());
88   - }
89   -
90   - if (params.getEmergency() != null) {
91   - lambda.eq(TkRepairOrderEntity::getEmergency, params.getEmergency());
92   - }
93   - return queryWrapper;
94   - }
95   -
96 58
97 59 @Override
98 60 public TkRepairOrderDTO save(TkRepairOrderDTO dto) throws ThingsboardException {
... ... @@ -125,8 +87,7 @@ public class TkRepairOrderServiceImpl extends AbstractBaseService<TkRepairOrderM
125 87 entity.copyToDTO(detail);
126 88 String deviceId = entity.getDeviceId();
127 89 if (StringUtils.isNotBlank(deviceId)) {
128   - TenantId tenantInfo = SpringBeanUtils.getTenantId();
129   - DeviceDTO deviceDTO = tkdeviceService.checkDeviceByTenantIdAndDeviceId(tenantInfo.getId(), UUID.fromString(deviceId));
  90 + TkDeviceAccountDTO deviceDTO = tkDeviceAccountService.load(deviceId);
130 91 detail.setDeviceInfo(deviceDTO);
131 92 }
132 93
... ... @@ -138,7 +99,7 @@ public class TkRepairOrderServiceImpl extends AbstractBaseService<TkRepairOrderM
138 99 TkRepairOrderDTO result = null;
139 100 TkRepairOrderEntity entity = baseMapper.selectById(id);
140 101 if (entity != null) {
141   - result=new TkRepairOrderDTO();
  102 + result = new TkRepairOrderDTO();
142 103 entity.copyToDTO(result);
143 104 }
144 105 return result;
... ... @@ -153,7 +114,7 @@ public class TkRepairOrderServiceImpl extends AbstractBaseService<TkRepairOrderM
153 114 lambda.eq(TkRepairOrderEntity::getDeviceId, deviceId);
154 115 TkRepairOrderEntity entity = baseMapper.selectOne(queryWrapper);
155 116 if (entity != null) {
156   - result=new TkRepairOrderDTO();
  117 + result = new TkRepairOrderDTO();
157 118 entity.copyToDTO(result);
158 119 }
159 120 return result;
... ... @@ -171,7 +132,7 @@ public class TkRepairOrderServiceImpl extends AbstractBaseService<TkRepairOrderM
171 132 }
172 133 TkRepairOrderEntity entity = new TkRepairOrderEntity();
173 134 orderDTO.copyToEntity(entity);
174   - entity.setStatus(statusEnum.name());
  135 + entity.setStatus(statusEnum);
175 136 LambdaQueryWrapper<TkRepairOrderEntity> filter = new QueryWrapper<TkRepairOrderEntity>().lambda()
176 137 .eq(TkRepairOrderEntity::getId, entity.getId());
177 138 baseMapper.update(entity, filter);
... ...
... ... @@ -8,6 +8,7 @@ import lombok.extern.slf4j.Slf4j;
8 8 import org.apache.commons.lang3.StringUtils;
9 9 import org.springframework.stereotype.Service;
10 10 import org.thingsboard.server.common.data.exception.ThingsboardException;
  11 +import org.thingsboard.server.common.data.id.TenantId;
11 12 import org.thingsboard.server.common.data.yunteng.core.exception.TkDataValidationException;
12 13 import org.thingsboard.server.common.data.yunteng.dto.TkRepairOrderDTO;
13 14 import org.thingsboard.server.common.data.yunteng.dto.TkRepairRecordDTO;
... ... @@ -40,14 +41,12 @@ public class TkRepairRecordServiceImpl extends AbstractBaseService<TkRepairRecor
40 41 private final TkUserService tkUserService;
41 42
42 43 @Override
43   - public TkPageData<TkRepairRecordDTO> page(String tenantId, TkRepairRecordDTO params) {
  44 + public TkPageData<TkRepairRecordDTO> page(Map<String, Object> params) throws ThingsboardException {
  45 + params.put("tenantId", SpringBeanUtils.getTenantId().getId().toString());
44 46 TkPageData<TkRepairRecordDTO> result = new TkPageData<>();
45   - Map<String, Object> queryMap = new HashMap<>();
46   - queryMap.put(PAGE, params.getPage());
47   - queryMap.put(PAGE_SIZE, params.getPageSize());
48 47 IPage<TkRepairRecordEntity> page =
49   - getPage(queryMap, "rr.create_time", false);
50   - IPage<TkRepairRecordDTO> pageData = baseMapper.getRepairRecordPage(page, queryMap);
  48 + getPage(params, "rr.create_time", false);
  49 + IPage<TkRepairRecordDTO> pageData = baseMapper.getRepairRecordPage(page, params);
51 50 if (pageData != null) {
52 51 result.setItems(pageData.getRecords());
53 52 }
... ... @@ -103,6 +102,10 @@ public class TkRepairRecordServiceImpl extends AbstractBaseService<TkRepairRecor
103 102 String orderId = entity.getOrderId();
104 103 if (StringUtils.isNotBlank(orderId)) {
105 104 TkRepairOrderDTO repairOrderDTO = tkRepairOrderService.load(orderId);
  105 + if (StringUtils.isNotBlank(repairOrderDTO.getReportBy())) {
  106 + UserDTO reportInfo = tkUserService.findUserInfoById(repairOrderDTO.getReportBy());
  107 + repairOrderDTO.setReportByName(reportInfo.getRealName());
  108 + }
106 109 detail.setTkRepairOrderDTO(repairOrderDTO);
107 110 }
108 111 UserDTO userInfo = tkUserService.findUserInfoById(detail.getRepairBy());
... ...
... ... @@ -10,7 +10,7 @@ import java.util.Map;
10 10
11 11 public interface TkRepairOrderService extends BaseService<TkRepairOrderEntity> {
12 12
13   - TkPageData<TkRepairOrderDTO> page(String tenantId,Map<String, Object> params);
  13 + TkPageData<TkRepairOrderDTO> page(String tenantId,Map<String, Object> params) throws ThingsboardException;
14 14
15 15 TkRepairOrderDTO save(TkRepairOrderDTO dto) throws ThingsboardException;
16 16
... ...
... ... @@ -5,9 +5,11 @@ import org.thingsboard.server.common.data.yunteng.dto.TkRepairRecordDTO;
5 5 import org.thingsboard.server.common.data.yunteng.utils.tools.TkPageData;
6 6 import org.thingsboard.server.dao.yunteng.entities.TkRepairRecordEntity;
7 7
  8 +import java.util.Map;
  9 +
8 10 public interface TkRepairRecordService extends BaseService<TkRepairRecordEntity>{
9 11
10   - TkPageData<TkRepairRecordDTO> page(String tenantId, TkRepairRecordDTO params);
  12 + TkPageData<TkRepairRecordDTO> page(Map<String, Object> params) throws ThingsboardException;
11 13
12 14 TkRepairRecordDTO save(TkRepairRecordDTO dto) throws ThingsboardException;
13 15
... ...
... ... @@ -49,16 +49,16 @@
49 49 inner join qg_supplier sp on sp.id=o.supplier_id
50 50 inner join qg_device_cagegory dc on dc.id=o.category_id
51 51 <where>
52   - <if test="queryMap.tenantId !=null ">
  52 + <if test="queryMap.tenantId !=null and queryMap.tenantId !=''">
53 53 AND o.tenant_id = #{queryMap.tenantId}
54 54 </if>
55   - <if test="queryMap.code !=null ">
  55 + <if test="queryMap.code !=null and queryMap.code !=''">
56 56 AND o.code LIKE concat('%',#{queryMap.code}::TEXT,'%')
57 57 </if>
58   - <if test="queryMap.status !=null ">
  58 + <if test="queryMap.status !=null and queryMap.status !=''">
59 59 AND o.status = #{queryMap.status}
60 60 </if>
61   - <if test="queryMap.directorId !=null ">
  61 + <if test="queryMap.directorId !=null and queryMap.directorId !=''">
62 62 AND o.director_id = #{queryMap.directorId}
63 63 </if>
64 64 <if test="queryMap.categoryIds !=null">
... ...
... ... @@ -3,31 +3,69 @@
3 3
4 4 <mapper namespace="org.thingsboard.server.dao.yunteng.mapper.TkRepairOrderMapper">
5 5 <resultMap type="org.thingsboard.server.common.data.yunteng.dto.TkRepairOrderDTO" id="repairOrderMap">
  6 + <result property="orderCode" column="order_code"/>
  7 + <result property="deviceId" column="device_id"/>
  8 + <result property="reportDate" column="report_date"/>
  9 + <result property="reportBy" column="report_by"/>
  10 + <result property="status" column="status" typeHandler="org.apache.ibatis.type.EnumTypeHandler"/>
  11 + <result property="emergency" column="emergency"/>
  12 + <result property="situationImg" column="situation_img"/>
  13 + <result property="description" column="description"/>
  14 + <result property="tenantId" column="tenant_id"/>
  15 + <result property="createTime" column="create_time"/>
  16 + <result property="updater" column="updater"/>
  17 + <result property="updateTime" column="update_time"/>
  18 + <result property="creator" column="creator"/>
6 19 <result property="reportByName" column="reportByName"/>
  20 + <association property="deviceInfo" javaType="org.thingsboard.server.common.data.yunteng.dto.TkDeviceAccountDTO">
  21 + <id property="id" column="device_id"/>
  22 + <result property="name" column="daName"/>
  23 + <result property="code" column="daCode"/>
  24 + <result property="categoryId" column="category_id"/>
  25 + <result property="status" column="daStatus" typeHandler="org.apache.ibatis.type.EnumTypeHandler"/>
  26 + <result property="directorId" column="director_id"/>
  27 + <result property="isOnline" column="is_online"/>
  28 + <result property="deviceImg" column="device_img"/>
  29 + <result property="brand" column="brand"/>
  30 + <result property="modelNum" column="model_num"/>
  31 + <result property="specifications" column="specifications"/>
  32 + <result property="manufacturer" column="manufacturer"/>
  33 + <result property="buyDate" column="buy_date"/>
  34 + <result property="price" column="price"/>
  35 + <result property="productDate" column="product_date"/>
  36 + <result property="receiveDate" column="receive_date"/>
  37 + <result property="registeDate" column="registe_date"/>
  38 + <result property="supplierId" column="supplier_id"/>
  39 + <result property="description" column="daDescription"/>
  40 + </association>
7 41 </resultMap>
8 42 <select id="getRepairOrderPage" resultMap="repairOrderMap">
9 43 SELECT
10   - o.id,o.device_id,o.order_code,o.report_date,o.report_by,o.status,o.emergency,o.situation_img,o.description
11   - ,o.tenant_id,o.create_time,o.updater,o.update_time,o.creator,su.real_name as reportByName
  44 + o.id,o.device_id,o.order_code,o.report_date,o.report_by,o.status,o.emergency,o.situation_img,o.description,
  45 + da.name as daName,da.code as daCode,da.category_id,da.status as daStatus,da.director_id,da.is_online,
  46 + da.brand,da.model_num,da.specifications,da.manufacturer,da.buy_date,da.price,da.product_date,
  47 + da.receive_date,da.registe_date,da.supplier_id,da.device_img,da.description as daDescription,
  48 + o.tenant_id,o.create_time,o.updater,o.update_time,o.creator,su.real_name as reportByName
12 49 from qg_repair_order o
13 50 inner join sys_user su on su.id=o.report_by
  51 + inner join qg_device_account da on da.id=o.device_id
14 52 <where>
15   - <if test="queryMap.tenantId !=null ">
  53 + <if test="queryMap.tenantId !=null and queryMap.tenantId !=''">
16 54 AND o.tenant_id = #{queryMap.tenantId}
17 55 </if>
18   - <if test="queryMap.status !=null ">
  56 + <if test="queryMap.status !=null and queryMap.status !=''">
19 57 AND o.status = #{queryMap.status}
20 58 </if>
21   - <if test="queryMap.deviceId !=null ">
  59 + <if test="queryMap.deviceId !=null and queryMap.deviceId !=''">
22 60 AND o.device_id = #{queryMap.deviceId}
23 61 </if>
24   - <if test="queryMap.emergency !=null ">
  62 + <if test="queryMap.emergency !=null and queryMap.emergency !=''">
25 63 AND o.emergency = #{queryMap.emergency}
26 64 </if>
27   - <if test="queryMap.startDate !=null ">
  65 + <if test="queryMap.startDate !=null and queryMap.startDate !=''">
28 66 AND to_char(o.report_date, 'YYYY-MM-DD HH24:MI:SS') &gt;= #{queryMap.startDate}
29 67 </if>
30   - <if test="queryMap.endDate !=null ">
  68 + <if test="queryMap.endDate !=null and queryMap.endDate !=''">
31 69 AND to_char(o.report_date, 'YYYY-MM-DD HH24:MI:SS') &lt;= #{queryMap.endDate}
32 70 </if>
33 71 </where>
... ...
... ... @@ -3,17 +3,51 @@
3 3
4 4 <mapper namespace="org.thingsboard.server.dao.yunteng.mapper.TkRepairRecordMapper">
5 5 <resultMap type="org.thingsboard.server.common.data.yunteng.dto.TkRepairRecordDTO" id="repairRecordMap">
6   - <result property="id" column="id" />
7   - <result property="repairDate" column="repair_date" />
8   - <result property="orderId" column="order_id" />
9   - <result property="repairBy" column="repair_by" />
10   - <result property="description" column="description" />
11   - <result property="repairName" column="repairName" />
  6 + <result property="id" column="id"/>
  7 + <result property="code" column="code"/>
  8 + <result property="repairDate" column="repair_date"/>
  9 + <result property="orderId" column="order_id"/>
  10 + <result property="repairBy" column="repair_by"/>
  11 + <result property="description" column="description"/>
  12 + <result property="repairName" column="repairName"/>
  13 + <result property="deviceAccountName" column="deviceAccountName"/>
  14 + <association property="tkRepairOrderDTO"
  15 + javaType="org.thingsboard.server.common.data.yunteng.dto.TkRepairOrderDTO">
  16 + <id property="id" column="order_id"/>
  17 + <result property="orderCode" column="order_code"/>
  18 + <result property="deviceId" column="device_id"/>
  19 + <result property="reportDate" column="report_date"/>
  20 + <result property="reportBy" column="report_by"/>
  21 + <result property="status" column="roStatus" typeHandler="org.apache.ibatis.type.EnumTypeHandler"/>
  22 + <result property="emergency" column="emergency"/>
  23 + <result property="situationImg" column="situation_img"/>
  24 + <result property="description" column="roDescription"/>
  25 + <result property="reportByName" column="reportByName"/>
  26 + </association>
12 27 </resultMap>
13   - <select id="getRepairRecordPage" resultMap="repairRecordMap">
14   - SELECT rr.id,rr.order_id,rr.repair_date,rr.repair_by,rr.description
15   - ,rr.tenant_id,rr.create_time,rr.updater,rr.update_time,rr.creator,su.real_name as repairName
  28 + <select id="getRepairRecordPage" resultMap="repairRecordMap">
  29 + SELECT rr.id,rr.code,rr.order_id,rr.repair_date,rr.repair_by,rr.description,da.name as deviceAccountName,
  30 + ro.order_code,ro.device_id,ro.report_date,ro.report_by,ro.status as roStatus,
  31 + ro.emergency,ro.situation_img,ro.description as roDescription,su2.real_name as reportByName,
  32 + rr.tenant_id,rr.create_time,rr.updater,rr.update_time,rr.creator,su.real_name as repairName
16 33 from qg_repair_record rr
  34 + inner join qg_repair_order ro on ro.id=rr.order_id
17 35 inner join sys_user su on su.id=rr.repair_by
  36 + inner join sys_user su2 on su2.id=ro.report_by
  37 + inner join qg_device_account da on da.id=ro.device_id
  38 + <where>
  39 + <if test="queryMap.tenantId !=null and queryMap.tenantId !=''">
  40 + AND rr.tenant_id = #{queryMap.tenantId}
  41 + </if>
  42 + <if test="queryMap.repairBy !=null and queryMap.repairBy !=''">
  43 + AND rr.repair_by = #{queryMap.repairBy}
  44 + </if>
  45 + <if test="queryMap.reportBy !=null and queryMap.reportBy !=''">
  46 + AND ro.report_by = #{queryMap.reportBy}
  47 + </if>
  48 + <if test="queryMap.orderCode !=null and queryMap.orderCode !=''">
  49 + AND ro.order_code LIKE concat('%',#{queryMap.orderCode}::TEXT,'%')
  50 + </if>
  51 + </where>
18 52 </select>
19 53 </mapper>
\ No newline at end of file
... ...