From 85fe23940786a3d368cb10ee38ed840be2301724 Mon Sep 17 00:00:00 2001 From: lSun <15893999301@qq.com> Date: Wed, 23 Jul 2025 19:04:33 +0800 Subject: [PATCH] =?UTF-8?q?bug=E4=BF=AE=E6=94=B9?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../person/PersonComprehensiveMapper.xml | 278 ++++++++++++++++-- .../AttendanceMachine/personEntryFrom.js | 16 +- .../AttendanceMachine/personEntryList.js | 18 ++ .../AttendanceMachine/personEntryUpd.js | 6 +- .../upload/controller/UploadController.java | 2 +- 5 files changed, 286 insertions(+), 34 deletions(-) diff --git a/modules/bmw/src/main/resources/mapper/person/PersonComprehensiveMapper.xml b/modules/bmw/src/main/resources/mapper/person/PersonComprehensiveMapper.xml index 5dcfc5f..9037802 100644 --- a/modules/bmw/src/main/resources/mapper/person/PersonComprehensiveMapper.xml +++ b/modules/bmw/src/main/resources/mapper/person/PersonComprehensiveMapper.xml @@ -768,20 +768,28 @@ WHEN bp.pro_status = 3 THEN '停工' WHEN bp.pro_status = 4 THEN '遗留(收尾)' END AS proStatusName, - COUNT(DISTINCT CASE WHEN bweh1.IS_ACTIVE = '1' THEN bweh1.id_number END) AS currentOnSiteNum, - COUNT(DISTINCT CASE WHEN bweh2.IS_ACTIVE = '0' THEN bweh2.id_number END) AS exitedNum, - COUNT(DISTINCT bweh3.id_number) AS totalEntryNum, - MIN(bweh3.ein_time) AS firstEntryTime +-- COUNT(DISTINCT CASE WHEN bweh1.IS_ACTIVE = '1' THEN bweh1.id_number END) AS currentOnSiteNum, +-- COUNT(DISTINCT CASE WHEN bweh2.IS_ACTIVE = '0' THEN bweh2.id_number END) AS exitedNum, +-- COUNT(DISTINCT bweh3.id_number) AS totalEntryNum, + COUNT(DISTINCT CASE WHEN weh.IS_ACTIVE = '1' THEN weh.id_number END) AS currentOnSiteNum, + COUNT(DISTINCT CASE WHEN weh.IS_ACTIVE = '0' THEN weh.id_number END) AS exitedNum, + COUNT(DISTINCT weh.id_number) AS totalEntryNum, + MIN(weh.ein_time) AS firstEntryTime FROM bm_project_general bpg LEFT JOIN bm_project bp ON bp.project_general_id = bpg.id AND bp.is_active = '1' - LEFT JOIN - bm_worker_ein_history bweh1 ON bweh1.project_id = bp.id AND bweh1.IS_ACTIVE = '1' - LEFT JOIN - bm_worker_ein_history bweh2 ON bweh2.project_id = bp.id AND bweh2.IS_ACTIVE = '0' - LEFT JOIN - bm_worker_ein_history bweh3 ON bweh3.project_id = bp.id + LEFT JOIN ( + SELECT project_id, id_number, ein_time, IS_ACTIVE + FROM bm_worker_ein_history + WHERE IS_ACTIVE IN ('0', '1') + ) weh ON weh.project_id = bp.id +-- LEFT JOIN +-- bm_worker_ein_history bweh1 ON bweh1.project_id = bp.id AND bweh1.IS_ACTIVE = '1' +-- LEFT JOIN +-- bm_worker_ein_history bweh2 ON bweh2.project_id = bp.id AND bweh2.IS_ACTIVE = '0' +-- LEFT JOIN +-- bm_worker_ein_history bweh3 ON bweh3.project_id = bp.id WHERE bpg.is_active = '1' AND bp.id is not null @@ -798,7 +806,113 @@