From 74205424049d169a8d3bbabb74b4c8c9adf1ec99 Mon Sep 17 00:00:00 2001 From: zhuo <2089219845@qq.com> Date: 星期六, 15 二月 2025 16:05:51 +0800 Subject: [PATCH] 设备列表查询接口修改 --- cnas-server/src/main/resources/mapper/DeviceMapper.xml | 136 +++++++++++++++++++++++++++++++------------- 1 files changed, 95 insertions(+), 41 deletions(-) diff --git a/cnas-server/src/main/resources/mapper/DeviceMapper.xml b/cnas-server/src/main/resources/mapper/DeviceMapper.xml index e5740f4..6d1de4a 100644 --- a/cnas-server/src/main/resources/mapper/DeviceMapper.xml +++ b/cnas-server/src/main/resources/mapper/DeviceMapper.xml @@ -3,7 +3,6 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd"> <mapper namespace="com.yuanchu.mom.mapper.DeviceMapper"> - <select id="selectDeviceParameter" resultType="com.yuanchu.mom.pojo.Device"> select * from( select id, @@ -79,46 +78,6 @@ </where> </select> - <update id="upDeviceParameter" parameterType="com.yuanchu.mom.pojo.Device"> - - UPDATE device - <set> - <if test="largeCategory!=null and largeCategory!='' ">large_category=#{largeCategory},</if> - <if test="dateProduction!=null ">date_production=#{dateProduction},</if> - <if test="equipmentManager!=null ">equipment_manager=#{equipmentManager},</if> - <if test="authorizedPerson!=null ">authorized_person=#{authorizedPerson}</if> - <if test="deviceName!=null ">device_name=#{deviceName}</if> - <if test="internalCode!=null ">internal_code=#{internalCode}</if> - <if test="assetCode!=null ">asset_code=#{assetCode}</if> - <if test="calibrationDate!=null ">calibration_date=#{calibrationDate}</if> - <if test="scrapTime!=null ">scrap_time=#{scrapTime}</if> - <if test="acceptanceRecords!=null ">acceptance_records=#{acceptanceRecords}</if> - <if test="subclass!=null ">subclass=#{subclass}</if> - <if test="factoryNo!=null ">factory_no=#{factoryNo}</if> - <if test="acquisitionDate!=null ">create_time=#{acquisition_date}</if> - <if test="factoryNo!=null ">create_time=#{factory_no}</if> - <if test="acquisitionDate!=null ">acquisition_date=#{acquisitionDate}</if> - <if test="accurateMeasurement!=null ">accurate_measurement=#{accurateMeasurement}</if> - <if test="notes!=null ">notes=#{notes}</if> - <if test="specificationModel!=null ">specification_model=#{specificationModel}</if> - <if test="deviceStatus!=null ">device_status=#{deviceStatus}</if> - <if test="storagePoint!=null ">storage_point=#{storagePoint}</if> - <if test="latestTraceability!=null ">latest_traceability=#{latestTraceability}</if> - <if test="downTime!=null ">down_time=#{downTime}</if> - <if test="maintenanceRecords!=null ">maintenance_records=#{maintenanceRecords}</if> - <if test="manufacturer!=null ">manufacturer=#{manufacturer}</if> - <if test="detectionType!=null ">detection_type=#{detectionType}</if> - <if test="procurementCosts!=null ">procurement_costs=#{procurementCosts}</if> - <if test="calibrationCerticate!=null ">calibration_certicate=#{calibrationCerticate}</if> - <if test="status!=null ">status=#{status}</if> - <if test="imageUpload!=null ">image_upload=#{imageUpload}</if> - <if test="imageName!=null ">image_name=#{imageName}</if> - </set> - <where> - id=#{id} - </where> - </update> - <select id="selectDeviceImage" resultType="com.yuanchu.mom.pojo.Device"> select (image_upload, create_user, create_time) values (#{image_upload} , #{createUser} @@ -129,4 +88,99 @@ equipment_manager from device </select> + + <select id="selectDeviceParameterPage" resultType="com.yuanchu.mom.dto.DeviceDto"> + select * from( + SELECT + d.*, + GROUP_CONCAT( + CONCAT_WS(', ', + TRIM(BOTH '["]' FROM SUBSTRING_INDEX(REPLACE(sample, '[["', ''), '"]]', 1)), + inspection_item, + inspection_item_subclass + ) + SEPARATOR ';' + ) AS insProductItem, + u.name , + l.laboratory_name + FROM + device d + LEFT JOIN `user` u ON u.id = d.equipment_manager + LEFT JOIN laboratory l ON l.id = d.subordinate_departments_id + LEFT JOIN device_metric_record cmr ON d.id = cmr.device_id + LEFT JOIN structure_item_parameter sip ON FIND_IN_SET(sip.id, d.ins_product_ids) + <where> + <if test="laboratoryNameIsNull != null and laboratoryNameIsNull == true"> + l.laboratory_name is null + </if> + AND cmr.type = 'calibrate' or cmr.type is null or cmr.type = '' + </where> + GROUP BY + d.id, + u.name, l.laboratory_name + ) a + <if test="ew.customSqlSegment != null and ew.customSqlSegment != ''"> + ${ew.customSqlSegment} + </if> + </select> + + <select id="getInspectionItemSubclass" resultType="map"> + SELECT ip.inspection_item, + if(ip.inspection_item_subclass is not null and ip.inspection_item_subclass != '', + ip.inspection_item_subclass, ip.inspection_item) inspection_item_subclass + FROM ins_product ip + where ip.ins_sample_id = #{id} + </select> + + + <resultMap id="treeDeviceDto" type="map"> + <result property="label" column="laboratory_name"/> + <result property="value" column="value" /> + <collection property="children" resultMap="storagePointMap" javaType="List"/> + </resultMap> + + <resultMap id="storagePointMap" type="map"> + <result property="value" column="value"/> + <result property="label" column="storage_point"/> + <collection property="children" resultMap="deviceNameMap" javaType="List"/> + </resultMap> + + <resultMap id="deviceNameMap" type="map"> + <result property="value" column="id"/> + <result property="label" column="device_name"/> + </resultMap> + <select id="treeDevice" resultMap="treeDeviceDto"> + select + d.id, + case when l.laboratory_name is null || l.laboratory_name ='' then '鍏朵粬' else l.laboratory_name end as laboratory_name, + case when d.large_category is null || d.large_category ='' then '鍏朵粬' else d.large_category end as storage_point, + d.device_name, + null as value + from device d + LEFT JOIN laboratory l ON l.id = d.subordinate_departments_id + <where> + <if test="deviceName!=null and deviceName!=''"> + and device_name like concat('%',#{deviceName},'%') + </if> + </where> + order by l.laboratory_name desc, d.large_category desc + </select> + <select id="selectDeviceByCode" resultType="com.yuanchu.mom.dto.DeviceDto"> + SELECT d.*, + GROUP_CONCAT(DISTINCT inspection_item SEPARATOR ';') AS ins_product_item, + l.laboratory_name, + u1.name equipmentManager_name, + u2.name authorized_person_name + FROM device d + LEFT JOIN structure_item_parameter sip ON FIND_IN_SET(sip.id, d.ins_product_ids) + LEFT JOIN laboratory l ON d.subordinate_departments_id = l.id + LEFT JOIN user u1 ON u1.id = d.equipment_manager + LEFT JOIN user u2 ON u2.id = d.authorized_person + WHERE d.id = #{id} + + GROUP BY d.id, + l.laboratory_name, + u1.name, + u2.name + </select> </mapper> -- Gitblit v1.9.3