Переглянути джерело

1.同步点位数据和创建、编辑点位的时候 以及关联查询点位和化验项目 均采用新表

王苗苗 5 днів тому
батько
коміт
2a96a63058

+ 1 - 0
ruoyi-admin/src/main/java/com/ruoyi/web/controller/business/HandleDataController.java

@@ -173,6 +173,7 @@ public class HandleDataController {
                 tPosition.setName(itemName);
                 tPosition.setCreateBy("sys");
                 tPosition.setCreateTime(DateUtils.getNowDate());
+                tPosition.setRemark(bizDevice.getDeviceSn());
                 this.positionMapper.insertTPosition(tPosition);
             }
         }

+ 10 - 0
ruoyi-system/src/main/java/com/ruoyi/business/service/impl/TPositionServiceImpl.java

@@ -3,8 +3,10 @@ package com.ruoyi.business.service.impl;
 import java.util.List;
 import java.util.Objects;
 
+import com.ruoyi.business.domain.BizDevice;
 import com.ruoyi.business.mapper.BizDeviceMapper;
 import com.ruoyi.business.mapper.TOrganizationMapper;
+import com.ruoyi.common.exception.ServiceException;
 import com.ruoyi.common.utils.DateUtils;
 import com.ruoyi.common.utils.SecurityUtils;
 import com.ruoyi.common.utils.StringUtils;
@@ -94,6 +96,14 @@ public class TPositionServiceImpl implements ITPositionService
         tPosition.setCreateTime(DateUtils.getNowDate());
         //存放的是用户ID
         tPosition.setCreateBy(String.valueOf(SecurityUtils.getUserId()));
+        //2025年03月26日13:27:52 因为化验记录存放的是设备编号,不是设备ID,所以需要把设备sn也存下来
+        Long deviceId = tPosition.getDeviceId();
+        if(Objects.isNull(deviceId))
+            throw new ServiceException("请输入设备信息");
+        BizDevice bizDevice = this.deviceMapper.selectBizDeviceByDeviceId(deviceId);
+        if(Objects.isNull(bizDevice))
+            throw new ServiceException("未查询到设备信息,请输入正确的设备信息");
+        tPosition.setRemark(bizDevice.getDeviceSn());
         return tPositionMapper.insertTPosition(tPosition);
     }
 

+ 4 - 4
ruoyi-system/src/main/resources/mapper/business/ZAssayResultMapper.xml

@@ -239,13 +239,13 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
             de.device_no deviceNo,
             r.assay_no AS assayNo,
             r.result_concentration AS resultConcentration,
-            ds.item_name itemName,
-            t.item_name AS assayName,
+            ds.name itemName,
+            t.name AS assayName,
             r.assay_item assayItem
         FROM
             z_assay_result AS r
-                INNER JOIN sys_assay_item AS t ON t.assay_item = r.assay_item
-                INNER JOIN z_device_sample AS ds ON r.device_no = ds.device_no AND r.sample_post = ds.assay_type
+                INNER JOIN t_assay_item AS t ON t.code = r.assay_item
+                INNER JOIN t_position AS ds ON  r.sample_post = ds.code and  r.device_no = ds.remark
                 LEFT OUTER JOIN biz_device de ON r.device_no = de.device_no
         WHERE <!-- todo 这里待确认是否只要连续监测的 并且是有点位的数据 -->
             r.sample_post IS NOT NULL