From c6f3bd69690128fef7bc3c24b74995a293350d43 Mon Sep 17 00:00:00 2001
From: Houjie <714924425@qq.com>
Date: 星期一, 18 八月 2025 09:14:29 +0800
Subject: [PATCH] 我的安灯发起/我的安灯响应, 响应操作 接口编写

---
 src/main/java/org/jeecg/modules/andon/mapper/xml/AndonButtonConfigMapper.xml |  125 ++++++++++++++++++++++++++++++++++++++++-
 1 files changed, 121 insertions(+), 4 deletions(-)

diff --git a/src/main/java/org/jeecg/modules/andon/mapper/xml/AndonButtonConfigMapper.xml b/src/main/java/org/jeecg/modules/andon/mapper/xml/AndonButtonConfigMapper.xml
index 128f32a..fa2b139 100644
--- a/src/main/java/org/jeecg/modules/andon/mapper/xml/AndonButtonConfigMapper.xml
+++ b/src/main/java/org/jeecg/modules/andon/mapper/xml/AndonButtonConfigMapper.xml
@@ -2,7 +2,11 @@
 <!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
 <mapper namespace="org.jeecg.modules.andon.mapper.AndonButtonConfigMapper">
     <select id="getAndonButtonById" resultType="org.jeecg.modules.andon.entity.AndonButtonConfig">
-        SELECT * FROM andon_button_config WHERE id = #{id} and del_flag = 0 and button_status = '鍚敤'
+        SELECT *
+        FROM andon_button_config
+        WHERE id = #{id}
+          and del_flag = 0
+          and button_status = '鍚敤'
     </select>
     <select id="queryUserAndonButtonList" resultType="org.jeecg.modules.andon.dto.AndonButtonDTO">
         select arc.id,
@@ -13,15 +17,128 @@
                 from andon_order ao
                 where ao.button_id = arc.button_id
                   and ao.factory_id = arc.factory_id
-                  and ao.order_status != '3') as blinking_flag,
-            STUFF((SELECT ',' + CAST(ao.id AS VARCHAR)
+                  and ao.order_status != '3') as blinking_flag, STUFF((SELECT ',' + CAST (ao.id AS VARCHAR)
             FROM andon_order ao
             WHERE ao.button_id = arc.button_id
             and ao.factory_id = arc.factory_id
-            FOR XML PATH('')), 1, 1, '') as order_ids
+            FOR XML PATH ('')), 1, 1, '') as order_ids
         from andon_response_config arc
             left join andon_button_config abc
         on arc.button_id = abc.id
         where arc.factory_id=#{factoryId};
     </select>
+    <select id="queryUserAndonCallList" resultType="org.jeecg.modules.andon.dto.AndonButtonDTO">
+        select arc.id,
+               abc.id          as buttonId,
+               abc.button_name as buttonName,
+               abc.button_code as buttonCode,
+               (select count(1)
+                from andon_order ao
+                where ao.button_id = arc.button_id
+                  and ao.factory_id = arc.factory_id
+                  and ao.order_status = '1') as blinkingFlag,
+               STUFF((SELECT ',' + CAST (ao.id AS VARCHAR)
+                      FROM andon_order ao
+                      WHERE ao.button_id = arc.button_id
+                        and ao.factory_id = arc.factory_id
+                        and ao.order_status = '1'
+                   FOR XML PATH ('')), 1, 1, '') as orderIds,
+               bf.factory_name as factoryName,
+               parent_bf.factory_name as parentFactoryName,
+               abc.upgrade_response_duration as upgradeResponseDuration,
+               abc.second_upgrade_response_duration as secondUpgradeResponseDuration,
+               arc.firster_responder as responder,
+               arc.second_responder,
+               arc.third_responder,
+               STUFF((SELECT ',' + ao.order_status
+                      FROM andon_order ao
+                      WHERE ao.button_id = arc.button_id
+                        and ao.factory_id = arc.factory_id
+                        and ao.order_status = '1'
+                   FOR XML PATH ('')), 1, 1, '') as orderStatus
+        from andon_response_config arc
+                 left join andon_button_config abc
+                           on arc.button_id = abc.id
+                 left join base_factory bf on arc.factory_id = bf.id
+                 left join base_factory parent_bf on bf.parent_id = parent_bf.id
+        where arc.factory_id=#{factoryId}
+          and (select count (1)
+               from andon_order ao
+               where ao.button_id = arc.button_id
+                 and ao.factory_id = arc.factory_id
+                 and ao.order_status = '1') = 1
+    </select>
+<!--    <select id="queryUserAndonCallList" resultType="org.jeecg.modules.andon.dto.AndonButtonDTO">-->
+<!--        select arc.id,-->
+<!--               abc.id          as buttonId,-->
+<!--               abc.button_name as buttonName,-->
+<!--               abc.button_code as buttonCode,-->
+<!--               (select count(1)-->
+<!--                from andon_order ao-->
+<!--                where ao.button_id = arc.button_id-->
+<!--                  and ao.factory_id = arc.factory_id-->
+<!--                  and ao.order_status != '3') as blinkingFlag, STUFF((SELECT ',' + CAST (ao.id AS VARCHAR)-->
+<!--            FROM andon_order ao-->
+<!--            WHERE ao.button_id = arc.button_id-->
+<!--            and ao.factory_id = arc.factory_id-->
+<!--            FOR XML PATH ('')), 1, 1, '') as orderIds, bf.factory_name as factoryName, parent_bf.factory_name as parentFactoryName, abc.upgrade_response_duration as upgradeResponseDuration, abc.second_upgrade_response_duration as secondUpgradeResponseDuration, arc.firster_responder as responder, arc.second_responder, arc.third_responder, STUFF((SELECT ',' + ao.order_status-->
+<!--            FROM andon_order ao-->
+<!--            WHERE ao.button_id = arc.button_id-->
+<!--            and ao.factory_id = arc.factory_id-->
+<!--            and ao.order_status != '3'-->
+<!--            FOR XML PATH ('')), 1, 1, '') as orderStatus-->
+<!--        from andon_response_config arc-->
+<!--            left join andon_button_config abc-->
+<!--        on arc.button_id = abc.id-->
+<!--            left join base_factory bf on arc.factory_id = bf.id-->
+<!--            left join base_factory parent_bf on bf.parent_id = parent_bf.id-->
+<!--        where arc.factory_id=#{factoryId}-->
+<!--          and (select count (1)-->
+<!--            from andon_order ao-->
+<!--            where ao.button_id = arc.button_id-->
+<!--          and ao.factory_id = arc.factory_id-->
+<!--          and ao.order_status != '3') = 1-->
+<!--    </select>-->
+
+    <select id="queryUserAndonRespondList" resultType="org.jeecg.modules.andon.dto.AndonButtonDTO">
+        select arc.id,
+               abc.id                               as buttonId,
+               abc.button_name                      as buttonName,
+               abc.button_code                      as buttonCode,
+               (select count(1)
+                from andon_order ao
+                where ao.button_id = arc.button_id
+                  and ao.factory_id = arc.factory_id
+                  and ao.order_status = '2')        as blinkingFlag,
+               STUFF((SELECT ',' + CAST(ao.id AS VARCHAR)
+                      FROM andon_order ao
+                      WHERE ao.button_id = arc.button_id
+                        and ao.factory_id = arc.factory_id
+                        and ao.order_status = '2'
+                   FOR XML PATH ('')), 1, 1, '')    as orderIds,
+               bf.factory_name                      as factoryName,
+               parent_bf.factory_name               as parentFactoryName,
+               abc.upgrade_response_duration        as upgradeResponseDuration,
+               abc.second_upgrade_response_duration as secondUpgradeResponseDuration,
+               arc.firster_responder                as responder,
+               arc.second_responder,
+               arc.third_responder,
+               STUFF((SELECT ',' + ao.order_status
+                      FROM andon_order ao
+                      WHERE ao.button_id = arc.button_id
+                        and ao.factory_id = arc.factory_id
+                        and ao.order_status = '2'
+                   FOR XML PATH ('')), 1, 1, '')    as orderStatus
+        from andon_response_config arc
+                 left join andon_button_config abc
+                           on arc.button_id = abc.id
+                 left join base_factory bf on arc.factory_id = bf.id
+                 left join base_factory parent_bf on bf.parent_id = parent_bf.id
+        where arc.factory_id = #{factoryId}
+          and (select count(1)
+               from andon_order ao
+               where ao.button_id = arc.button_id
+                 and ao.factory_id = arc.factory_id
+                 and ao.order_status = '2') = 1
+    </select>
 </mapper>
\ No newline at end of file

--
Gitblit v1.9.3