From d343170a091011a91ad8f5a3801235a820f16dcc Mon Sep 17 00:00:00 2001 From: revisit Date: Tue, 7 Apr 2026 00:43:00 +0800 Subject: [PATCH] 20260407 --- build/classes/.gitignore | 2 - .../control/report/DSDSReportControl.class | Bin 7899 -> 8704 bytes .../dsds/service/dict/DictDataService.class | Bin 2859 -> 2898 bytes .../service/dict/DictPlatformService.class | Bin 2911 -> 2950 bytes .../dsds/mapper/dict/IDictDataMapper.class | Bin 1277 -> 1390 bytes .../dsds/mapper/dict/IDictDataMapper.xml | 6 +- .../mapper/dict/IDictEquipmentMapper.class | Bin 1297 -> 1420 bytes .../dsds/mapper/dict/IDictEquipmentMapper.xml | 9 +- .../mapper/dict/IDictPlatformMapper.class | Bin 1293 -> 1414 bytes .../dsds/mapper/dict/IDictPlatformMapper.xml | 5 +- .../mapper/voyage/IVoyageRegReportMapper.xml | 95 +++++++++++++----- .../control/report/DSDSReportControl.java | 22 +++- .../dsds/service/dict/DictDataService.java | 2 + .../service/dict/DictPlatformService.java | 2 + .../dsds/mapper/dict/IDictDataMapper.java | 3 + .../dsds/mapper/dict/IDictDataMapper.xml | 6 +- .../mapper/dict/IDictEquipmentMapper.java | 3 + .../dsds/mapper/dict/IDictEquipmentMapper.xml | 9 +- .../dsds/mapper/dict/IDictPlatformMapper.java | 3 + .../dsds/mapper/dict/IDictPlatformMapper.xml | 5 +- .../mapper/voyage/IVoyageRegReportMapper.xml | 95 +++++++++++++----- 21 files changed, 205 insertions(+), 62 deletions(-) diff --git a/build/classes/.gitignore b/build/classes/.gitignore index d36383e..8fe2033 100644 --- a/build/classes/.gitignore +++ b/build/classes/.gitignore @@ -1,3 +1 @@ -/app.properties /cn/ -/jdbc.properties diff --git a/build/classes/cn/tsy/cas/idsse/dsds/control/report/DSDSReportControl.class b/build/classes/cn/tsy/cas/idsse/dsds/control/report/DSDSReportControl.class index 65187bdaf1e90ebff0183b05b9a23059cb05d9ae..ea301378beefcf881bed60449b2bcd661ad49863 100644 GIT binary patch literal 8704 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 PdW6RRr1A8l#=rgtm#k_r literal 7899 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 diff --git a/build/classes/cn/tsy/cas/idsse/dsds/service/dict/DictDataService.class b/build/classes/cn/tsy/cas/idsse/dsds/service/dict/DictDataService.class index 1ee5da0c98fde416286b061bd863c71961c9dcf5..eabbc495c5b392badd1baaa46b3cb60f339f7699 100644 GIT binary patch delta 538 zcmX|-J5N+m6otQg=RUZX69&`_DlowT6deL2&wrcWfitYF$0@(Np5t6F z46@(BEEXnn#r#liwlI_5hr`*JHiitBxng_#zF?TqkP$oWw``iB$%o!d~u-m~g@1bGAHis+0GAkj^?8h+ctlA&pC+}$;FYHv^fcM&=%Wj2T zLC9N&w92$iL<>K~c**9x1vk5h@32K30CB(;&7a{Ja)lii?F` J>A~+f^dFBqSxEo@ delta 455 zcmX|-%T7~K6o$W3&N;j1c%VW|i_(@-O(aws6LF4-A&rBo2$bSoxmhlXH!c-w74-o& z14kr`7!U^yq-h({2XF%M1$+i(CK|&EG!FK^*811_*ZQ-62DgLmkAJl~aGlR3H)sXg zFu36o;kL&e26W2mbp{z$3>k#^dJAa6TqZNoP5>aobyJ% z-gEj2Tf{FV%ABc@h6=Y574DYF_UsZ*RC(YdQxb(qi(rydg6%k*6Z;)pAWTZKEK$bj zWRe(f=ps*?FVYRjbnN6Jr)iZ+Zu6KY@&gfaJmuLnd?E$!KQ%7QgfK2mf5|GYHb-SK zScWK(u_>PGx*H1Ts?0U)`Ht`ad7tDYwf-ES?By{T4+wb{8{}B9OUIyc6H!6aV@q*WhQc9k2}9Jf@NSYf(u z+O3&RYVF;s_teZZ3EME8Ia+2`o9b)JTH$e9(d7=Ia-im2<$F3Au@&LR_4rg=BK%Cx He8J|weI;0E delta 475 zcmX|+O-~b16o#Lf&di;ej*Jr1rfEu`O(QynE^LBJO^C8mQM96{h@TWt>Ni#`ezg98 z%i68$2Gg`9apR7V_!ImECbBogV`*62^PcmbbKdjbM)Fs}-`eed2ToIO`X}vh5Q7Py z3>N~XxTwo^(VOOq;<7-W%lgkeiPwKI($E?uA&y#Ls8F?d6O! z`j2<2@RjWGsKwzf=b+8`sLiDoGsnJ>jXK;gDK%xoVnE^;alPQDYr{NXglA-_lA}SM zP`bl=+8pGNRC0wmZp)7|l$qxaCU=Dm_L+Oa+!w|t_LmvOi33BT3$`JP$k;;`WF#*6 zSwT}U{BJ8=Yg6v3z%CJQplY}C2TG})W^10&O98 select * from dict_data where 1=1 - and (data_name like concat('%',#{page_query},'%') or data_remark like concat('%',#{page_query},'%') or data_alias like concat('%',#{page_query},'%')) + and (data_name like concat('%',#{page_query},'%') or data_eng like concat('%',#{page_query},'%') or data_alias like concat('%',#{page_query},'%')) ORDER BY ${page_order} @@ -56,4 +56,8 @@ + + + update sample_dataset set data_type=#{data.data_name},data_alias=#{data.data_alias} where data_id=#{data.tsy_id} + \ No newline at end of file diff --git a/build/classes/cn/tsy/data/cas/idsse/dsds/mapper/dict/IDictEquipmentMapper.class b/build/classes/cn/tsy/data/cas/idsse/dsds/mapper/dict/IDictEquipmentMapper.class index 415823c26fb0db8c5e3e546b391e1caa7bd440e1..91e643bffff8584b45714c4ba8bbbc2f5cfe4d0f 100644 GIT binary patch delta 138 zcmbQp)x*to>ff$?3=9m845}Ns{xb>jloq5UmZSzJ<`(3nGBQ|b_)HX#nLM3Yf=@Gy zk%2R{ur#wEH#M(hGCT7hM&`*ZEbpCJ7#U<3WEq$kIDzKyFfuSQZ~-xQF@qd~1W<&P f5y)U*U}lg9l1vN=42ob{i9s1ivjJ7AFfafBM`jp1 delta 70 zcmeC-p2#I|>ff$?3=9m83`*<_OpFZHlP@yMY}C2SG&!F67bDZ;D3 and (equipment_name like concat('%',#{page_query},'%') - or equipment_remark like concat('%',#{page_query},'%') + or equipment_eng like concat('%',#{page_query},'%') or equipment_alias like concat('%',#{page_query},'%')) @@ -58,4 +58,11 @@ order by v.equipment_name + + + + + update sample_dataset set equipment_type=#{equipment.equipment_name},equipment_alias=#{equipment.equipment_alias} where equipment_id=#{equipment.tsy_id} + + \ No newline at end of file diff --git a/build/classes/cn/tsy/data/cas/idsse/dsds/mapper/dict/IDictPlatformMapper.class b/build/classes/cn/tsy/data/cas/idsse/dsds/mapper/dict/IDictPlatformMapper.class index 8648d6485884570414f99c10c9f2f32aa48bb313..4f1d6b9875e6ee11fabfa862d1422f9a1f632aeb 100644 GIT binary patch delta 135 zcmeC>YUAcQ^>5cc1_lO42GxyRf0=}MN()jFOHzXqa|?1(85ztqd?pIWOrF9l&Z8N| z$iPvMlUS0LUo@G8`8Ol;B$oHiEQ|~?46+PN44gnico-QN8MuI$yO=?aK>{ek$_QjI bFfcR714$+Z1qMYht;C=Vq}hNfRTvlmzE2lE delta 60 zcmZqU?&ab-^>5cc1_lO42BnQ$f0-snGyh;@njFINUXFp8K?W$n#30Kc2d3p26o51v K10#bX0|Nl-6AL*2 diff --git a/build/classes/cn/tsy/data/cas/idsse/dsds/mapper/dict/IDictPlatformMapper.xml b/build/classes/cn/tsy/data/cas/idsse/dsds/mapper/dict/IDictPlatformMapper.xml index 86b28bd..38cf990 100644 --- a/build/classes/cn/tsy/data/cas/idsse/dsds/mapper/dict/IDictPlatformMapper.xml +++ b/build/classes/cn/tsy/data/cas/idsse/dsds/mapper/dict/IDictPlatformMapper.xml @@ -8,7 +8,7 @@ + + update sample_dataset set platform_type=#{platform.platform_name},platform_alias=#{platform.platform_alias} where platform_id=#{platform.tsy_id} + \ No newline at end of file diff --git a/build/classes/cn/tsy/data/cas/idsse/dsds/mapper/voyage/IVoyageRegReportMapper.xml b/build/classes/cn/tsy/data/cas/idsse/dsds/mapper/voyage/IVoyageRegReportMapper.xml index 0a7b7c3..e1bd74f 100644 --- a/build/classes/cn/tsy/data/cas/idsse/dsds/mapper/voyage/IVoyageRegReportMapper.xml +++ b/build/classes/cn/tsy/data/cas/idsse/dsds/mapper/voyage/IVoyageRegReportMapper.xml @@ -6,6 +6,7 @@ SELECT - date_part('year', voyage_start_date) as year, + date_part('year', r.voyage_start_date) as year, - sum(water_minutes) water_total,sum(job_minutes) job_total, - COUNT ( DISTINCT diving_sn ) diving_total, - COUNT ( DISTINCT driver_left ) + COUNT ( DISTINCT driver_left ) driver_member_total, - COUNT ( DISTINCT ds.driver_unit_left ) unit_left, - COUNT ( DISTINCT ds.driver_unit_right ) unit_right, - COUNT ( DISTINCT ds.driver_unit_left ) + COUNT ( DISTINCT ds.driver_unit_right ) unit_total, - COUNT ( DISTINCT dataset_name ) dataset_total + sum(ds.water_minutes) water_total, + sum(ds.job_minutes) job_total, + COUNT(DISTINCT ds.diving_sn) diving_total, + COUNT(DISTINCT all_drivers.person_name) driver_member_total, + COUNT(DISTINCT all_drivers.unit_name) unit_total, + COUNT(DISTINCT ds.dataset_name) dataset_total FROM sample_dataset ds, - voyage_reg r + voyage_reg r, + ( + SELECT + voyage_id, + driver_left AS person_name, + driver_unit_left AS unit_name + FROM + sample_dataset s, + voyage_reg r + WHERE + r.tsy_id = s.voyage_id + AND platform_type IN (${platform_type}) + AND driver_left IS NOT NULL + + AND platform_name = #{platform_name} + + + AND voyage_start_date >= #{start} + + + AND voyage_start_date <= #{end} + + + UNION + + SELECT + voyage_id, + driver_right AS person_name, + driver_unit_right AS unit_name + FROM + sample_dataset s, + voyage_reg r + WHERE + r.tsy_id = s.voyage_id + AND platform_type IN (${platform_type}) + AND driver_right IS NOT NULL + + AND platform_name = #{platform_name} + + + AND voyage_start_date >= #{start} + + + AND voyage_start_date <= #{end} + + ) all_drivers WHERE ds.voyage_id = r.tsy_id - and platform_type in - (${platform_type}) + AND ds.voyage_id = all_drivers.voyage_id + AND platform_type IN (${platform_type}) - and platform_name = #{platform_name} + AND platform_name = #{platform_name} - and voyage_start_date >= #{start} + AND voyage_start_date >= #{start} - and voyage_start_date <= #{end} + AND voyage_start_date <= #{end} - group by date_part('year', voyage_start_date) + GROUP BY date_part('year', r.voyage_start_date) @@ -309,7 +354,7 @@ SELECT m.member_unit, m.member_name, - COUNT(1) drving_total, + COUNT(distinct diving_sn) drving_total, MIN(voyage_start_date) min_drving_date FROM voyage_reg r, @@ -319,10 +364,10 @@ r.tsy_id = m.voyage_id AND d.voyage_id = r.tsy_id AND ( - d.driver_unit_left = m.member_unit - AND d.driver_left = m.member_name - OR d.driver_unit_right = m.member_unit - AND d.driver_right = m.member_name + (d.driver_unit_left = m.member_unit + AND d.driver_left = m.member_name) + OR (d.driver_unit_right = m.member_unit + AND d.driver_right = m.member_name) ) GROUP BY m.member_unit, @@ -422,7 +467,7 @@ SELECT m.member_unit, m.member_name, - COUNT(1) drving_total, + COUNT(distinct diving_sn) drving_total, MIN(voyage_start_date) min_drving_date FROM voyage_reg r, @@ -432,10 +477,10 @@ r.tsy_id = m.voyage_id AND d.voyage_id = r.tsy_id AND ( - d.driver_unit_left = m.member_unit - AND d.driver_left = m.member_name - OR d.driver_unit_right = m.member_unit - AND d.driver_right = m.member_name + (d.driver_unit_left = m.member_unit + AND d.driver_left = m.member_name) + OR (d.driver_unit_right = m.member_unit + AND d.driver_right = m.member_name) ) GROUP BY m.member_unit, diff --git a/src/main/java/cn/tsy/cas/idsse/dsds/control/report/DSDSReportControl.java b/src/main/java/cn/tsy/cas/idsse/dsds/control/report/DSDSReportControl.java index 06b698f..4006e51 100644 --- a/src/main/java/cn/tsy/cas/idsse/dsds/control/report/DSDSReportControl.java +++ b/src/main/java/cn/tsy/cas/idsse/dsds/control/report/DSDSReportControl.java @@ -9,10 +9,12 @@ import org.springframework.web.bind.annotation.RestController; import cn.hme.framework.frame.control.HmeAjax; import cn.hme.framework.frame.control.HmeAjaxControl; import cn.hme.framework.helper.lang.HmeStringHelper; +import cn.hme.framework.jdbc.entity.SqlCondition; import cn.hme.framework.jdbc.entity.SqlConditionType; import cn.hme.framework.jdbc.entity.SqlQuery; import cn.tsy.cas.idsse.dsds.thread.DSDSReportThread; import cn.tsy.data.cas.idsse.dsds.mapper.dict.IDictReportMapper; +import cn.tsy.data.cas.idsse.dsds.mapper.sample.ISampleDatasetMapper; import cn.tsy.data.cas.idsse.dsds.mapper.voyage.IVoyageRegMapper; import cn.tsy.data.cas.idsse.dsds.mapper.voyage.IVoyageRegReportMapper; @@ -24,6 +26,8 @@ public class DSDSReportControl extends HmeAjaxControl { @Autowired private IVoyageRegReportMapper iRegReport; @Autowired + private ISampleDatasetMapper iSample; + @Autowired private IDictReportMapper iReport; @RequestMapping("main.htm") @@ -40,7 +44,7 @@ public class DSDSReportControl extends HmeAjaxControl { } /*************** - * 科考船汇总统计属性 + * 科考船汇总统计属性,和main保持一致 */ @RequestMapping("ship/total.htm") public HmeAjax totalShip(String unit,String ship_name, LocalDate start, LocalDate end,Integer year) { @@ -63,20 +67,30 @@ public class DSDSReportControl extends HmeAjaxControl { } /*************** - * 参航单位地图 + * 统计参航单位列表(仅列出参航单位基本信息,用于地图标记) */ @RequestMapping("ship/unit.htm") public HmeAjax shipUnit(String ship_name, LocalDate start, LocalDate end,Integer year) { return new HmeAjax(this.iRegReport.reportShipUnit(ship_name, start, end,year)); } /*************** - * 参航单位地图 + * 根据年份统计参航单位数量,本年度新增单位数量 */ @RequestMapping("ship/unit/year.htm") public HmeAjax shipUnitYear(String ship_name) { return new HmeAjax(this.iRegReport.reportShipUnitWithYear(ship_name)); } + + /*************** + * 平台类型下有多少平台 + */ + @RequestMapping("platform/name.htm") + public HmeAjax platformName(String platform_type) { + return new HmeAjax(this.iSample.distinct("platform_name",String.class, SqlCondition.of("platform_type", platform_type), SqlCondition.of("platform_name", null,SqlConditionType.IS_NOT_NULL))); + } + + /*************** * 载人潜水器 */ @@ -188,7 +202,7 @@ public class DSDSReportControl extends HmeAjaxControl { /*************** - * 潜次统计:遥控水下机器人 + * 潜次统计: */ @RequestMapping("unit/total.htm") public HmeAjax unitTotal(String year,String unit) { diff --git a/src/main/java/cn/tsy/cas/idsse/dsds/service/dict/DictDataService.java b/src/main/java/cn/tsy/cas/idsse/dsds/service/dict/DictDataService.java index 4c6949f..4c92d5f 100644 --- a/src/main/java/cn/tsy/cas/idsse/dsds/service/dict/DictDataService.java +++ b/src/main/java/cn/tsy/cas/idsse/dsds/service/dict/DictDataService.java @@ -28,6 +28,8 @@ public class DictDataService { if (list.size() > 0 && list.get(0).getTsy_id() - data.getTsy_id() != 0) throw new BusinessException("数据样本类型名称【" + data.getData_name() + "】已经存在,请检查!"); this.mData.update(data); + // 同步更新样品集 + this.mData.updateSample(data); } else { HmeFrameAssertHelper.isEmpty(list, "数据样本类型名称【" + data.getData_name() + "】已经存在,请检查!"); data.setCreate_time(LocalDateTime.now()); diff --git a/src/main/java/cn/tsy/cas/idsse/dsds/service/dict/DictPlatformService.java b/src/main/java/cn/tsy/cas/idsse/dsds/service/dict/DictPlatformService.java index 0fc7413..1928d13 100644 --- a/src/main/java/cn/tsy/cas/idsse/dsds/service/dict/DictPlatformService.java +++ b/src/main/java/cn/tsy/cas/idsse/dsds/service/dict/DictPlatformService.java @@ -29,6 +29,8 @@ public class DictPlatformService { throw new BusinessException("平台类型名称【" + platform.getPlatform_name() + "】已经存在,请检查!"); // platform.setCreate_time(LocalDateTime.now()); this.mPlatform.update(platform); + + this.mPlatform.updateSample(platform); } else { HmeFrameAssertHelper.isEmpty(list, "平台类型名称【" + platform.getPlatform_name() + "】已经存在,请检查!"); platform.setCreate_time(LocalDateTime.now()); diff --git a/src/main/java/cn/tsy/data/cas/idsse/dsds/mapper/dict/IDictDataMapper.java b/src/main/java/cn/tsy/data/cas/idsse/dsds/mapper/dict/IDictDataMapper.java index 32c2e53..cc86893 100644 --- a/src/main/java/cn/tsy/data/cas/idsse/dsds/mapper/dict/IDictDataMapper.java +++ b/src/main/java/cn/tsy/data/cas/idsse/dsds/mapper/dict/IDictDataMapper.java @@ -29,4 +29,7 @@ public interface IDictDataMapper extends IHmeMapper{ @Param(SqlProviderConstant.PARAM_PAGE_TYPE) String type, @Param("param") SearchParam param ); + + + public void updateSample(@Param("data") DictData data); } diff --git a/src/main/java/cn/tsy/data/cas/idsse/dsds/mapper/dict/IDictDataMapper.xml b/src/main/java/cn/tsy/data/cas/idsse/dsds/mapper/dict/IDictDataMapper.xml index a4ea204..38bab7c 100644 --- a/src/main/java/cn/tsy/data/cas/idsse/dsds/mapper/dict/IDictDataMapper.xml +++ b/src/main/java/cn/tsy/data/cas/idsse/dsds/mapper/dict/IDictDataMapper.xml @@ -8,7 +8,7 @@ + + + update sample_dataset set data_type=#{data.data_name},data_alias=#{data.data_alias} where data_id=#{data.tsy_id} + \ No newline at end of file diff --git a/src/main/java/cn/tsy/data/cas/idsse/dsds/mapper/dict/IDictEquipmentMapper.java b/src/main/java/cn/tsy/data/cas/idsse/dsds/mapper/dict/IDictEquipmentMapper.java index 586190e..2f5b1aa 100644 --- a/src/main/java/cn/tsy/data/cas/idsse/dsds/mapper/dict/IDictEquipmentMapper.java +++ b/src/main/java/cn/tsy/data/cas/idsse/dsds/mapper/dict/IDictEquipmentMapper.java @@ -29,4 +29,7 @@ public interface IDictEquipmentMapper extends IHmeMapper{ @Param(SqlProviderConstant.PARAM_PAGE_TYPE) String type, @Param("param") SearchParam param ); + + + public void updateSample(@Param("equipment") DictEquipment equipment); } diff --git a/src/main/java/cn/tsy/data/cas/idsse/dsds/mapper/dict/IDictEquipmentMapper.xml b/src/main/java/cn/tsy/data/cas/idsse/dsds/mapper/dict/IDictEquipmentMapper.xml index bd977b2..8bdade5 100644 --- a/src/main/java/cn/tsy/data/cas/idsse/dsds/mapper/dict/IDictEquipmentMapper.xml +++ b/src/main/java/cn/tsy/data/cas/idsse/dsds/mapper/dict/IDictEquipmentMapper.xml @@ -9,7 +9,7 @@ select * from dict_equipment where 1=1 and (equipment_name like concat('%',#{page_query},'%') - or equipment_remark like concat('%',#{page_query},'%') + or equipment_eng like concat('%',#{page_query},'%') or equipment_alias like concat('%',#{page_query},'%')) @@ -58,4 +58,11 @@ order by v.equipment_name + + + + + update sample_dataset set equipment_type=#{equipment.equipment_name},equipment_alias=#{equipment.equipment_alias} where equipment_id=#{equipment.tsy_id} + + \ No newline at end of file diff --git a/src/main/java/cn/tsy/data/cas/idsse/dsds/mapper/dict/IDictPlatformMapper.java b/src/main/java/cn/tsy/data/cas/idsse/dsds/mapper/dict/IDictPlatformMapper.java index 15bcef1..f13bb3a 100644 --- a/src/main/java/cn/tsy/data/cas/idsse/dsds/mapper/dict/IDictPlatformMapper.java +++ b/src/main/java/cn/tsy/data/cas/idsse/dsds/mapper/dict/IDictPlatformMapper.java @@ -29,4 +29,7 @@ public interface IDictPlatformMapper extends IHmeMapper{ @Param(SqlProviderConstant.PARAM_PAGE_TYPE) String type, @Param("param") SearchParam param ); + + + public void updateSample(@Param("platform") DictPlatform platform); } diff --git a/src/main/java/cn/tsy/data/cas/idsse/dsds/mapper/dict/IDictPlatformMapper.xml b/src/main/java/cn/tsy/data/cas/idsse/dsds/mapper/dict/IDictPlatformMapper.xml index 86b28bd..38cf990 100644 --- a/src/main/java/cn/tsy/data/cas/idsse/dsds/mapper/dict/IDictPlatformMapper.xml +++ b/src/main/java/cn/tsy/data/cas/idsse/dsds/mapper/dict/IDictPlatformMapper.xml @@ -8,7 +8,7 @@ + + update sample_dataset set platform_type=#{platform.platform_name},platform_alias=#{platform.platform_alias} where platform_id=#{platform.tsy_id} + \ No newline at end of file diff --git a/src/main/java/cn/tsy/data/cas/idsse/dsds/mapper/voyage/IVoyageRegReportMapper.xml b/src/main/java/cn/tsy/data/cas/idsse/dsds/mapper/voyage/IVoyageRegReportMapper.xml index 0a7b7c3..e1bd74f 100644 --- a/src/main/java/cn/tsy/data/cas/idsse/dsds/mapper/voyage/IVoyageRegReportMapper.xml +++ b/src/main/java/cn/tsy/data/cas/idsse/dsds/mapper/voyage/IVoyageRegReportMapper.xml @@ -6,6 +6,7 @@ SELECT - date_part('year', voyage_start_date) as year, + date_part('year', r.voyage_start_date) as year, - sum(water_minutes) water_total,sum(job_minutes) job_total, - COUNT ( DISTINCT diving_sn ) diving_total, - COUNT ( DISTINCT driver_left ) + COUNT ( DISTINCT driver_left ) driver_member_total, - COUNT ( DISTINCT ds.driver_unit_left ) unit_left, - COUNT ( DISTINCT ds.driver_unit_right ) unit_right, - COUNT ( DISTINCT ds.driver_unit_left ) + COUNT ( DISTINCT ds.driver_unit_right ) unit_total, - COUNT ( DISTINCT dataset_name ) dataset_total + sum(ds.water_minutes) water_total, + sum(ds.job_minutes) job_total, + COUNT(DISTINCT ds.diving_sn) diving_total, + COUNT(DISTINCT all_drivers.person_name) driver_member_total, + COUNT(DISTINCT all_drivers.unit_name) unit_total, + COUNT(DISTINCT ds.dataset_name) dataset_total FROM sample_dataset ds, - voyage_reg r + voyage_reg r, + ( + SELECT + voyage_id, + driver_left AS person_name, + driver_unit_left AS unit_name + FROM + sample_dataset s, + voyage_reg r + WHERE + r.tsy_id = s.voyage_id + AND platform_type IN (${platform_type}) + AND driver_left IS NOT NULL + + AND platform_name = #{platform_name} + + + AND voyage_start_date >= #{start} + + + AND voyage_start_date <= #{end} + + + UNION + + SELECT + voyage_id, + driver_right AS person_name, + driver_unit_right AS unit_name + FROM + sample_dataset s, + voyage_reg r + WHERE + r.tsy_id = s.voyage_id + AND platform_type IN (${platform_type}) + AND driver_right IS NOT NULL + + AND platform_name = #{platform_name} + + + AND voyage_start_date >= #{start} + + + AND voyage_start_date <= #{end} + + ) all_drivers WHERE ds.voyage_id = r.tsy_id - and platform_type in - (${platform_type}) + AND ds.voyage_id = all_drivers.voyage_id + AND platform_type IN (${platform_type}) - and platform_name = #{platform_name} + AND platform_name = #{platform_name} - and voyage_start_date >= #{start} + AND voyage_start_date >= #{start} - and voyage_start_date <= #{end} + AND voyage_start_date <= #{end} - group by date_part('year', voyage_start_date) + GROUP BY date_part('year', r.voyage_start_date) @@ -309,7 +354,7 @@ SELECT m.member_unit, m.member_name, - COUNT(1) drving_total, + COUNT(distinct diving_sn) drving_total, MIN(voyage_start_date) min_drving_date FROM voyage_reg r, @@ -319,10 +364,10 @@ r.tsy_id = m.voyage_id AND d.voyage_id = r.tsy_id AND ( - d.driver_unit_left = m.member_unit - AND d.driver_left = m.member_name - OR d.driver_unit_right = m.member_unit - AND d.driver_right = m.member_name + (d.driver_unit_left = m.member_unit + AND d.driver_left = m.member_name) + OR (d.driver_unit_right = m.member_unit + AND d.driver_right = m.member_name) ) GROUP BY m.member_unit, @@ -422,7 +467,7 @@ SELECT m.member_unit, m.member_name, - COUNT(1) drving_total, + COUNT(distinct diving_sn) drving_total, MIN(voyage_start_date) min_drving_date FROM voyage_reg r, @@ -432,10 +477,10 @@ r.tsy_id = m.voyage_id AND d.voyage_id = r.tsy_id AND ( - d.driver_unit_left = m.member_unit - AND d.driver_left = m.member_name - OR d.driver_unit_right = m.member_unit - AND d.driver_right = m.member_name + (d.driver_unit_left = m.member_unit + AND d.driver_left = m.member_name) + OR (d.driver_unit_right = m.member_unit + AND d.driver_right = m.member_name) ) GROUP BY m.member_unit,