From 1f72d4837bfc972b7b7febe591f2737ebc777ca8 Mon Sep 17 00:00:00 2001 From: zch Date: Fri, 15 May 2026 13:50:38 +0800 Subject: [PATCH] =?UTF-8?q?feat:=20=E6=96=B0=E5=A2=9E=E5=81=9C=E6=9C=BA?= =?UTF-8?q?=E5=8E=9F=E5=9B=A0=E6=8E=A8=E8=8D=90=E4=B8=8E=E6=A0=91=E7=BB=93?= =?UTF-8?q?=E6=9E=84=E5=8A=9F=E8=83=BD=EF=BC=8C=E4=BC=98=E5=8C=96=E5=88=97?= =?UTF-8?q?=E8=A1=A8=E6=8E=92=E5=BA=8F=E8=A7=84=E5=88=99?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit 1. 新增停机原因相关VO类与控制器接口,实现停机原因树查询和推荐列表功能 2. 重构停机记录批量更新逻辑,补充停机类型和原因名称字段同步 3. 全模块列表统一改为主键倒序排序,解决分页顺序不稳定问题 4. 增加停机原因使用频次统计,支持按设备/产线/全局维度排序展示 --- .../mapper/base/BaseOrderInfoMapper.xml | 6 +- .../mapper/base/OrderBomInfoMapper.xml | 3 +- .../DmsBaseShutReasonController.java | 18 ++ .../aucma/dms/domain/DmsBaseShutReason.java | 42 ++++ .../domain/vo/DmsShutReasonRecommendVo.java | 32 +++ .../dms/domain/vo/DmsShutReasonTreeVo.java | 36 +++ .../dms/mapper/DmsBaseShutReasonMapper.java | 18 ++ .../dms/mapper/DmsRecordShutDownMapper.java | 6 +- .../service/IDmsBaseShutReasonService.java | 18 ++ .../impl/DmsBaseShutReasonServiceImpl.java | 173 +++++++++++++ .../impl/DmsRecordShutDownServiceImpl.java | 41 ++- .../mapper/dms/DmsBaseShutReasonMapper.xml | 235 +++++++++++++++++- .../dms/DmsBillsFaultInstanceMapper.xml | 7 +- .../dms/DmsBillsInspectInstanceMapper.xml | 3 +- .../dms/DmsBillsMaintInstanceMapper.xml | 3 +- .../mapper/dms/DmsDispatchPlanMapper.xml | 3 +- .../mapper/dms/DmsRecordShutDownMapper.xml | 4 + .../mapper/dms/DmsRepairRecordMapper.xml | 3 +- .../production/AndonEventAssignmentMapper.xml | 4 +- .../mapper/production/AndonEventMapper.xml | 4 +- 20 files changed, 642 insertions(+), 17 deletions(-) create mode 100644 aucma-dms/src/main/java/com/aucma/dms/domain/vo/DmsShutReasonRecommendVo.java create mode 100644 aucma-dms/src/main/java/com/aucma/dms/domain/vo/DmsShutReasonTreeVo.java diff --git a/aucma-base/src/main/resources/mapper/base/BaseOrderInfoMapper.xml b/aucma-base/src/main/resources/mapper/base/BaseOrderInfoMapper.xml index e883565..229ed4f 100644 --- a/aucma-base/src/main/resources/mapper/base/BaseOrderInfoMapper.xml +++ b/aucma-base/src/main/resources/mapper/base/BaseOrderInfoMapper.xml @@ -116,7 +116,8 @@ to_date(#{params.endEndTime}, 'yyyy-mm-dd') - order by oi.material_name, order_code desc + + order by oi.obj_id desc - select a.shut_reason_id, a.reason_code, a.device_id, a.shut_type_id, a.shut_reason, a.is_flag, a.remark, a.create_by, a.create_time, a.update_by, a.update_time + select a.shut_reason_id, + a.reason_code, + a.device_id, + a.shut_type_id, + a.shut_reason, + a.is_flag, + nvl(df.freq, 0) as device_freq, + nvl(lf.freq, 0) as line_freq, + nvl(gf.freq, 0) as global_freq, + a.remark, + a.create_by, + a.create_time, + a.update_by, + a.update_time from dms_base_shut_reason a left join base_deviceledger b on a.device_id = b.OBJ_ID + left join ( + + + select r.shut_reason_id, + count(1) as freq + from dms_record_shut_down r + where r.machine_id = #{deviceId} + and r.shut_begin_time >= sysdate - 90 + and r.shut_reason_id is not null + and r.active_flag = 1 + group by r.shut_reason_id + + + select cast(null as number) as shut_reason_id, + 0 as freq + from dual + where 1 = 0 + + + ) df on df.shut_reason_id = a.shut_reason_id + left join ( + + + select r.shut_reason_id, + count(1) as freq + from dms_record_shut_down r + join base_deviceledger d + on d.obj_id = r.machine_id + join base_deviceledger current_device + on current_device.obj_id = #{deviceId} + where d.product_line_code = current_device.product_line_code + and r.shut_begin_time >= sysdate - 90 + and r.shut_reason_id is not null + and r.active_flag = 1 + group by r.shut_reason_id + + + select cast(null as number) as shut_reason_id, + 0 as freq + from dual + where 1 = 0 + + + ) lf on lf.shut_reason_id = a.shut_reason_id + left join ( + select r.shut_reason_id, + count(1) as freq + from dms_record_shut_down r + where r.shut_begin_time >= sysdate - 180 + and r.shut_reason_id is not null + and r.active_flag = 1 + group by r.shut_reason_id + ) gf on gf.shut_reason_id = a.shut_reason_id and a.reason_code = #{reasonCode} and a.device_id = #{deviceId} @@ -34,6 +103,170 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" and a.shut_reason = #{shutReason} and a.is_flag = #{isFlag} + + order by + + + nvl(df.freq, 0) desc, + nvl(lf.freq, 0) desc, + nvl(gf.freq, 0) desc, + + + nvl(gf.freq, 0) desc, + + + a.reason_code, + a.shut_reason_id + + + + + @@ -370,7 +372,8 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" and is_flag = #{isFlag} and device_id = #{deviceId} - order by create_time desc + + order by repair_instance_id desc