From d0a6fc23f31f924cb1744397478dc4c7c57c04e1 Mon Sep 17 00:00:00 2001
From: XiaoRuby <3114200645@qq.com>
Date: 星期六, 19 八月 2023 09:58:40 +0800
Subject: [PATCH] Merge remote-tracking branch 'origin/master'

---
 laboratory-server/src/main/resources/mapper/MeteringPlanMapper.xml |  183 ++++++++++++++++++++++++++++++++++++++++++++-
 1 files changed, 179 insertions(+), 4 deletions(-)

diff --git a/laboratory-server/src/main/resources/mapper/MeteringPlanMapper.xml b/laboratory-server/src/main/resources/mapper/MeteringPlanMapper.xml
index ca6ab6b..f1af9c6 100644
--- a/laboratory-server/src/main/resources/mapper/MeteringPlanMapper.xml
+++ b/laboratory-server/src/main/resources/mapper/MeteringPlanMapper.xml
@@ -3,9 +3,184 @@
 <mapper namespace="com.yuanchu.limslaboratory.mapper.MeteringPlanMapper">
 
     <select id="pagingQueryOfMeasurementLedger" resultType="map">
-        SELECT i.`equipment_code`, i.`equipment_name`, i.`specifications_models`, m.`create_time`, m.`uncertainty`,
-               m.`end_date`, i.`term_validity`, i.`storage_place`, i.`conditions`
-        FROM instrument i, metrical_information m
-        WHERE i.`id` = m.`instrument_id`
+        SELECT
+        i.`equipment_code` equipmentCode,
+        i.`equipment_name` equipmentName,
+        m.measurement_unit measurementUnit,
+        i.measuring_range measuringRange,
+        i.term_validity termValidity,
+        m.result result,
+        m.end_date endDate,
+        u.NAME name ,
+        m.`create_time` createTime,
+        m.code code
+        FROM
+        metrical_information m
+        LEFT JOIN `user` u ON u.id = m.user_id
+        LEFT JOIN instrument i ON i.`id` = m.`instrument_id`
+        WHERE 1=1
+        and (m.state=1 and i.state=1 and m.result is not null)
+        <if test="dto.code!=null and dto.code!=''">
+            and i.`equipment_code` like concat('%',#{dto.code},'%')
+        </if>
+        <if test="dto.name!=null and dto.name!=''">
+            and i.`equipment_name` like concat('%',#{dto.name},'%')
+        </if>
+        <if test="dto.name!=null and dto.name!=''">
+            and i.measurement_unit like concat('%',#{dto.unit},'%')
+        </if>
     </select>
+
+    <select id="limitConditionMeteringPlan" resultMap="MeteringPlanAndInfoMap">
+        SELECT p.id id,
+        u.`name` createName,
+        p.planned_order_number plannedOrderNumber,
+        p.begin_time beginTime,
+        p.end_time endTime,
+        IF(IFNULL(i.result, 0) > 0, 1, 0) status,
+        (SELECT name FROM `user` u WHERE p.measure_person = u.id) measureName,
+        i.`code` iCode,
+        p.unit unit,
+        p.create_time createTime
+        FROM (SELECT id, unit ,measure_person, create_Person, begin_Time, end_Time, planned_order_number, create_time
+        from metering_plan
+        where 1=1
+        <if test="dto.plannedOrderNumber!=null and dto.plannedOrderNumber!=''">
+            and planned_order_number=#{plannedOrderNumber}
+        </if>
+        LIMIT #{limitPage.start},#{limitPage.end}) p
+        LEFT JOIN metrical_information i ON p.id = i.plan
+        LEFT JOIN `user` u ON p.create_Person = u.id
+        where 1 = 1
+    </select>
+    <select id="getTotal" resultType="java.util.Map">
+        select count(id) num from metering_plan where 1=1
+        <if test="dto.plannedOrderNumber!=null and dto.plannedOrderNumber!=''">
+            and planned_order_number=#{plannedOrderNumber}
+        </if>
+    </select>
+    <select id="getPlanMeasureInstrument"
+            resultMap="measureInsAndPlanMap">
+        SELECT m.planned_order_number                              plannedOrderNumber,
+               (SELECT NAME FROM USER WHERE id = m.measure_person) measureName,
+               m.begin_time                                        beginTime,
+               m.end_time                                          endTime,
+               m.unit                                              unit,
+               u.`name`                                            createName,
+               m.create_time                                       createTime,
+               im.equipment_code                                   equipmentCode,
+               im.equipment_name                                   equipmentName,
+               im.measuring_range                                  measuringRange,
+               im.term_validity                                    termValidity,
+               im.result                                           result,
+               im.end_date                                         endDate,
+               im.imName                                           imName,
+               im.create_time                                      imCreateTime,
+               im.measurement_unit                                 imUnit,
+               im.`code`                                           imCode
+        FROM metering_plan m
+                 LEFT JOIN `user` u ON m.create_Person = u.id
+                 LEFT JOIN (
+            SELECT i.equipment_code,
+                   i.equipment_name,
+                   i.measuring_range,
+                   i.term_validity,
+                   im.result,
+                   im.end_date,
+                   (SELECT NAME FROM USER WHERE id = im.user_id) imName,
+                   im.create_time,
+                   im.measurement_unit,
+                   im.`code`,
+                   im.plan
+            FROM metrical_information im,
+                 metering_plan m,
+                 instrument i
+            WHERE im.instrument_id = i.id
+              and m.id = im.plan
+              and im.plan = #{id}
+              LIMIT #{limitPage.start}
+                , #{limitPage.end}
+        ) im ON m.id = im.plan
+        WHERE 1 = 1
+          AND m.id = #{id}
+    </select>
+    <select id="limitGetPlanMeasureInstrument" resultMap="MetricalInfoAndInsMap">
+        SELECT i.equipment_code                              equipmentCode,
+               i.equipment_name                              equipmentName,
+               i.measuring_range                             measuringRange,
+               i.term_validity                               termValidity,
+               im.result                                     result,
+               im.end_date                                   endDate,
+               (SELECT NAME FROM USER WHERE id = im.user_id) imName,
+               im.create_time                                imCreateTime,
+               im.measurement_unit                           imUnit,
+               im.`code`                                     imCode
+        FROM metrical_information im,
+             metering_plan m,
+             instrument i
+        WHERE im.instrument_id = i.id
+          and m.id = im.plan
+          and im.plan = #{id} LIMIT #{limitPage.start}
+            , #{limitPage.end}
+    </select>
+    <select id="countPlanMeasurIns" resultType="java.util.Map">
+        SELECT count(im.id) total
+        FROM metrical_information im,
+             metering_plan m,
+             instrument i
+        WHERE im.instrument_id = i.id
+          and m.id = im.plan
+          and im.plan = #{id}
+    </select>
+
+    <resultMap id="MetricalInfoAndInsMap" type="MetricalInfoAndIns">
+        <result property="code" column="imCode"/>
+        <result property="measurementUnit" column="imUnit"/>
+        <result property="imCreateTime" column="imCreateTime"/>
+        <result property="measurementName" column="imName"/>
+        <result property="endDate" column="endDate"/>
+        <result property="result" column="result"/>
+        <result property="termValidity" column="termValidity"/>
+        <result property="measuringRange" column="measuringRange"/>
+        <result property="equipmentName" column="equipmentName"/>
+        <result property="equipmentCode" column="equipmentCode"/>
+    </resultMap>
+
+    <resultMap id="measureInsAndPlanMap" type="meteringPlanAndInfoAndIns">
+        <result property="id" column="id"/>
+        <result property="createPerson" column="createName"/>
+        <result property="beginTime" column="beginTime"/>
+        <result property="endTime" column="endTime"/>
+        <result property="plannedOrderNumber" column="plannedOrderNumber"/>
+        <result property="measurePerson" column="measureName"/>
+        <result property="createTime" column="createTime"/>
+        <result property="unit" column="unit"/>
+        <collection property="metricalInfoAndInsList" ofType="metricalInfoAndIns">
+            <result property="code" column="imCode"/>
+            <result property="measurementUnit" column="imUnit"/>
+            <result property="imCreateTime" column="imCreateTime"/>
+            <result property="measurementName" column="imName"/>
+            <result property="endDate" column="endDate"/>
+            <result property="result" column="result"/>
+            <result property="termValidity" column="termValidity"/>
+            <result property="measuringRange" column="measuringRange"/>
+            <result property="equipmentName" column="equipmentName"/>
+            <result property="equipmentCode" column="equipmentCode"/>
+        </collection>
+    </resultMap>
+
+    <resultMap id="MeteringPlanAndInfoMap" type="meteringPlanAndInfo">
+        <result property="id" column="id"/>
+        <result property="createPerson" column="createName"/>
+        <result property="beginTime" column="beginTime"/>
+        <result property="endTime" column="endTime"/>
+        <result property="plannedOrderNumber" column="plannedOrderNumber"/>
+        <result property="measurePerson" column="measureName"/>
+        <result property="createTime" column="createTime"/>
+        <result property="unit" column="unit"/>
+        <collection property="resultList" ofType="MetricalInformation">
+            <result property="code" column="iCode"/>
+            <result property="result" column="status"/>
+        </collection>
+    </resultMap>
 </mapper>

--
Gitblit v1.9.3