From aac7aca6726237d1ad3df1ff1953236a5dda9ed1 Mon Sep 17 00:00:00 2001 From: linfso Date: Thu, 20 Jun 2024 02:22:32 +0800 Subject: [PATCH] md --- .../emis/domain/stat/ScanStatDataInfo.java | 4 +- .../mapper/EmisTmsScanRecordMapper.xml | 124 ++++++++++-------- 2 files changed, 74 insertions(+), 54 deletions(-) diff --git a/emis-biz/src/main/java/com/xdadan/erp/emis/domain/stat/ScanStatDataInfo.java b/emis-biz/src/main/java/com/xdadan/erp/emis/domain/stat/ScanStatDataInfo.java index de8de02dd..8f731ade3 100644 --- a/emis-biz/src/main/java/com/xdadan/erp/emis/domain/stat/ScanStatDataInfo.java +++ b/emis-biz/src/main/java/com/xdadan/erp/emis/domain/stat/ScanStatDataInfo.java @@ -18,10 +18,10 @@ import java.util.Map; public class ScanStatDataInfo implements Serializable { private static final long serialVersionUID = 1L; - // 扫描记录数,已签收数量 + // 扫描记录数,已签收数量,签收率 private Integer scanCount; private Integer signCount; - + private BigDecimal signRate; // private String billCodeStr; private String scanSiteCode; diff --git a/emis-biz/src/main/resources/mapper/EmisTmsScanRecordMapper.xml b/emis-biz/src/main/resources/mapper/EmisTmsScanRecordMapper.xml index 319794d65..37a15445d 100644 --- a/emis-biz/src/main/resources/mapper/EmisTmsScanRecordMapper.xml +++ b/emis-biz/src/main/resources/mapper/EmisTmsScanRecordMapper.xml @@ -65,14 +65,9 @@ - - - + + - - - - + select t1.scan_site_code,t1.scan_count,t2.sign_count,round(round(t2.sign_count/t1.scan_count,3)*100,1) as sign_rate + from ( + select a.scan_site_code ,count(DISTINCT a.main_bill_code) as scan_count + from emis_tms_scan_record a,emis_waybill b + where a.del_flag='0' and b.del_flag='0' and a.main_bill_code=b.bill_code + and a.scan_type=#{scanType} + and a.scan_site_code=#{scanSiteCode} + and a.pre_or_next_station_code=#{preOrNextStationCode} + and a.scan_man_code=#{scanManCode} + and a.scan_date = ]]> #{params.beginScanDate} + and a.scan_date #{params.endScanDate} + + and a.scan_site_code in ( + SELECT t1.site_code FROM ( + SELECT * FROM emis_site WHERE parent_site_code IS NOT NULL ) t1,( SELECT @pid := + #{params.privSiteCode} ) pd + WHERE FIND_IN_SET( parent_site_code, @pid ) > 0 AND @pid := concat(@pid,',',site_code) + UNION + SELECT #{params.privSiteCode} FROM dual ) - ) - - - GROUP BY a.scan_site_code asc + + GROUP BY a.scan_site_code + ) t1, + ( + select a.scan_site_code ,count(DISTINCT a.main_bill_code) as sign_count + from emis_tms_scan_record a,emis_waybill b + where a.del_flag='0' and b.del_flag='0' and a.main_bill_code=b.bill_code and b.bl_sign='1' + and a.scan_type=#{scanType} + and a.scan_site_code=#{scanSiteCode} + and a.pre_or_next_station_code=#{preOrNextStationCode} + and a.scan_man_code=#{scanManCode} + and a.scan_date = ]]> #{params.beginScanDate} + and a.scan_date #{params.endScanDate} + + and a.scan_site_code in ( + SELECT t1.site_code FROM ( + SELECT * FROM emis_site WHERE parent_site_code IS NOT NULL ) t1,( SELECT @pid := + #{params.privSiteCode} ) pd + WHERE FIND_IN_SET( parent_site_code, @pid ) > 0 AND @pid := concat(@pid,',',site_code) + UNION + SELECT #{params.privSiteCode} FROM dual + ) + + GROUP BY a.scan_site_code + ) t2 + where t1.scan_site_code=t2.scan_site_code + + +