浏览代码

大屏查询

wwh 1 天之前
父节点
当前提交
3102711fe6

+ 9 - 6
baqing-admin/src/main/java/com/ruoyi/web/modules/screen/controller/HomeScreenController.java

@@ -128,7 +128,7 @@ public class HomeScreenController extends BaseController
128
 
128
 
129
     /**
129
     /**
130
      * 合作社发展数据明细(分页);按年、月倒序。
130
      * 合作社发展数据明细(分页);按年、月倒序。
131
-     * <p>查询条件:所属年份(可选,默认当前年)、所属月份(可选,默认当前月)、所属乡镇、所属村。
131
+     * <p>查询条件:所属年份(可选,默认当前年)、所属月份(可选,未传不过滤)、所属乡镇、所属村。
132
      * 数据源 {@code biz_cooperative_development}。</p>
132
      * 数据源 {@code biz_cooperative_development}。</p>
133
      */
133
      */
134
     @GetMapping("/cooperativeDevelopments")
134
     @GetMapping("/cooperativeDevelopments")
@@ -146,7 +146,7 @@ public class HomeScreenController extends BaseController
146
 
146
 
147
     /**
147
     /**
148
      * 家庭牧场数据明细(分页);按年、月倒序。
148
      * 家庭牧场数据明细(分页);按年、月倒序。
149
-     * <p>查询条件:所属年份(可选,默认当前年)、所属月份(可选,默认当前月)、所属乡镇、所属村。
149
+     * <p>查询条件:所属年份(可选,默认当前年)、所属月份(可选,未传不过滤)、所属乡镇、所属村。
150
      * 数据源 {@code biz_family_ranch}。</p>
150
      * 数据源 {@code biz_family_ranch}。</p>
151
      */
151
      */
152
     @GetMapping("/familyRanches")
152
     @GetMapping("/familyRanches")
@@ -164,7 +164,7 @@ public class HomeScreenController extends BaseController
164
 
164
 
165
     /**
165
     /**
166
      * 养殖大户数据明细(分页);按年、月倒序。
166
      * 养殖大户数据明细(分页);按年、月倒序。
167
-     * <p>查询条件:所属年份(可选,默认当前年)、所属月份(可选,默认当前月)、所属乡镇、所属村。
167
+     * <p>查询条件:所属年份(可选,默认当前年)、所属月份(可选,未传不过滤)、所属乡镇、所属村。
168
      * 数据源 {@code biz_large_livestock_farmer}。</p>
168
      * 数据源 {@code biz_large_livestock_farmer}。</p>
169
      */
169
      */
170
     @GetMapping("/largeLivestockFarmers")
170
     @GetMapping("/largeLivestockFarmers")
@@ -182,7 +182,8 @@ public class HomeScreenController extends BaseController
182
 
182
 
183
     /**
183
     /**
184
      * 牦牛出栏数据明细(分页);按年、月倒序。对应牲畜出栏/自食情况明细。
184
      * 牦牛出栏数据明细(分页);按年、月倒序。对应牲畜出栏/自食情况明细。
185
-     * <p>数据源 {@code biz_yak_outbound_report}。</p>
185
+     * <p>查询条件:所属年份(可选,默认当前年)、所属月份(可选,未传不过滤)、所属乡镇、所属村。
186
+     * 数据源 {@code biz_yak_outbound_report}。</p>
186
      */
187
      */
187
     @GetMapping("/yakOutboundReports")
188
     @GetMapping("/yakOutboundReports")
188
     public TableDataInfo yakOutboundReports(
189
     public TableDataInfo yakOutboundReports(
@@ -199,7 +200,8 @@ public class HomeScreenController extends BaseController
199
 
200
 
200
     /**
201
     /**
201
      * 牦牛存栏数据明细(分页);按年、月倒序。对应畜群存栏/牦牛存栏结构明细。
202
      * 牦牛存栏数据明细(分页);按年、月倒序。对应畜群存栏/牦牛存栏结构明细。
202
-     * <p>数据源 {@code biz_yak_herd_inventory}。</p>
203
+     * <p>查询条件:所属年份(可选,默认当前年)、所属月份(可选,未传不过滤)、所属乡镇、所属村。
204
+     * 数据源 {@code biz_yak_herd_inventory}。</p>
203
      */
205
      */
204
     @GetMapping("/yakHerdInventories")
206
     @GetMapping("/yakHerdInventories")
205
     public TableDataInfo yakHerdInventories(
207
     public TableDataInfo yakHerdInventories(
@@ -216,7 +218,8 @@ public class HomeScreenController extends BaseController
216
 
218
 
217
     /**
219
     /**
218
      * 有无畜户数据明细(分页);按年、月倒序。
220
      * 有无畜户数据明细(分页);按年、月倒序。
219
-     * <p>数据源 {@code biz_livestock_ownership_household}。</p>
221
+     * <p>查询条件:所属年份(可选,默认当前年)、所属月份(可选,未传不过滤)、所属乡镇、所属村。
222
+     * 数据源 {@code biz_livestock_ownership_household}。</p>
220
      */
223
      */
221
     @GetMapping("/livestockOwnershipHouseholds")
224
     @GetMapping("/livestockOwnershipHouseholds")
222
     public TableDataInfo livestockOwnershipHouseholds(
225
     public TableDataInfo livestockOwnershipHouseholds(

+ 2 - 2
baqing-admin/src/main/java/com/ruoyi/web/modules/screen/controller/LivestockResourceScreenController.java

@@ -74,7 +74,7 @@ public class LivestockResourceScreenController extends BaseController
74
      * <p>数据源 {@code biz_livestock_product_output};大屏全县口径。</p>
74
      * <p>数据源 {@code biz_livestock_product_output};大屏全县口径。</p>
75
      *
75
      *
76
      * @param statYear      所属年份;未传默认当前自然年
76
      * @param statYear      所属年份;未传默认当前自然年
77
-     * @param statMonth     所属月份;未传默认当前自然月
77
+     * @param statMonth     所属月份;未传不过滤(该年全年,按月倒序)
78
      * @param townDeptId    所属乡镇,可选
78
      * @param townDeptId    所属乡镇,可选
79
      * @param villageDeptId 所属村,可选
79
      * @param villageDeptId 所属村,可选
80
      */
80
      */
@@ -96,7 +96,7 @@ public class LivestockResourceScreenController extends BaseController
96
      * <p>数据源 {@code biz_vaccination_data};大屏全县口径;免疫率优先用落库值。</p>
96
      * <p>数据源 {@code biz_vaccination_data};大屏全县口径;免疫率优先用落库值。</p>
97
      *
97
      *
98
      * @param statYear      所属年份;未传默认当前自然年
98
      * @param statYear      所属年份;未传默认当前自然年
99
-     * @param statMonth     所属月份;未传默认当前自然月
99
+     * @param statMonth     所属月份;未传不过滤(该年全年,按月倒序)
100
      * @param townDeptId    所属乡镇,可选
100
      * @param townDeptId    所属乡镇,可选
101
      * @param villageDeptId 所属村,可选
101
      * @param villageDeptId 所属村,可选
102
      */
102
      */

+ 2 - 2
baqing-admin/src/main/java/com/ruoyi/web/modules/screen/service/ILivestockResourceScreenService.java

@@ -37,7 +37,7 @@ public interface ILivestockResourceScreenService
37
      * 畜牧产品产量数据明细(配合分页;按所属年月倒序)。
37
      * 畜牧产品产量数据明细(配合分页;按所属年月倒序)。
38
      *
38
      *
39
      * @param statYear      所属年份,null 则当前自然年
39
      * @param statYear      所属年份,null 则当前自然年
40
-     * @param statMonth     所属月份,null 则当前自然月
40
+     * @param statMonth     所属月份,null 则不过滤月份
41
      * @param townDeptId    乡镇,可选
41
      * @param townDeptId    乡镇,可选
42
      * @param villageDeptId 村,可选
42
      * @param villageDeptId 村,可选
43
      */
43
      */
@@ -48,7 +48,7 @@ public interface ILivestockResourceScreenService
48
      * 疫苗接种情况明细(配合分页;按所属年月倒序)。
48
      * 疫苗接种情况明细(配合分页;按所属年月倒序)。
49
      *
49
      *
50
      * @param statYear      所属年份,null 则当前自然年
50
      * @param statYear      所属年份,null 则当前自然年
51
-     * @param statMonth     所属月份,null 则当前自然月
51
+     * @param statMonth     所属月份,null 则不过滤月份
52
      * @param townDeptId    乡镇,可选
52
      * @param townDeptId    乡镇,可选
53
      * @param villageDeptId 村,可选
53
      * @param villageDeptId 村,可选
54
      */
54
      */

+ 6 - 6
baqing-admin/src/main/java/com/ruoyi/web/modules/screen/service/impl/HomeScreenServiceImpl.java

@@ -399,7 +399,7 @@ public class HomeScreenServiceImpl implements IHomeScreenService
399
         YearMonth now = HomeScreenSupport.currentYearMonth();
399
         YearMonth now = HomeScreenSupport.currentYearMonth();
400
         BizCooperativeDevelopment query = new BizCooperativeDevelopment();
400
         BizCooperativeDevelopment query = new BizCooperativeDevelopment();
401
         query.setStatYear(statYear != null ? statYear : now.getYear());
401
         query.setStatYear(statYear != null ? statYear : now.getYear());
402
-        query.setStatMonth(statMonth != null ? statMonth : now.getMonthValue());
402
+        query.setStatMonth(statMonth);
403
         query.setTownDeptId(townDeptId);
403
         query.setTownDeptId(townDeptId);
404
         query.setVillageDeptId(villageDeptId);
404
         query.setVillageDeptId(villageDeptId);
405
         query.getParams().put("dataScope", "");
405
         query.getParams().put("dataScope", "");
@@ -415,7 +415,7 @@ public class HomeScreenServiceImpl implements IHomeScreenService
415
         YearMonth now = HomeScreenSupport.currentYearMonth();
415
         YearMonth now = HomeScreenSupport.currentYearMonth();
416
         BizFamilyRanch query = new BizFamilyRanch();
416
         BizFamilyRanch query = new BizFamilyRanch();
417
         query.setStatYear(statYear != null ? statYear : now.getYear());
417
         query.setStatYear(statYear != null ? statYear : now.getYear());
418
-        query.setStatMonth(statMonth != null ? statMonth : now.getMonthValue());
418
+        query.setStatMonth(statMonth);
419
         query.setTownDeptId(townDeptId);
419
         query.setTownDeptId(townDeptId);
420
         query.setVillageDeptId(villageDeptId);
420
         query.setVillageDeptId(villageDeptId);
421
         query.getParams().put("dataScope", "");
421
         query.getParams().put("dataScope", "");
@@ -430,7 +430,7 @@ public class HomeScreenServiceImpl implements IHomeScreenService
430
         YearMonth now = HomeScreenSupport.currentYearMonth();
430
         YearMonth now = HomeScreenSupport.currentYearMonth();
431
         BizLargeLivestockFarmer query = new BizLargeLivestockFarmer();
431
         BizLargeLivestockFarmer query = new BizLargeLivestockFarmer();
432
         query.setStatYear(statYear != null ? statYear : now.getYear());
432
         query.setStatYear(statYear != null ? statYear : now.getYear());
433
-        query.setStatMonth(statMonth != null ? statMonth : now.getMonthValue());
433
+        query.setStatMonth(statMonth);
434
         query.setTownDeptId(townDeptId);
434
         query.setTownDeptId(townDeptId);
435
         query.setVillageDeptId(villageDeptId);
435
         query.setVillageDeptId(villageDeptId);
436
         query.getParams().put("dataScope", "");
436
         query.getParams().put("dataScope", "");
@@ -446,7 +446,7 @@ public class HomeScreenServiceImpl implements IHomeScreenService
446
         YearMonth now = HomeScreenSupport.currentYearMonth();
446
         YearMonth now = HomeScreenSupport.currentYearMonth();
447
         BizYakOutboundReport query = new BizYakOutboundReport();
447
         BizYakOutboundReport query = new BizYakOutboundReport();
448
         query.setStatYear(statYear != null ? statYear : now.getYear());
448
         query.setStatYear(statYear != null ? statYear : now.getYear());
449
-        query.setStatMonth(statMonth != null ? statMonth : now.getMonthValue());
449
+        query.setStatMonth(statMonth);
450
         query.setTownDeptId(townDeptId);
450
         query.setTownDeptId(townDeptId);
451
         query.setVillageDeptId(villageDeptId);
451
         query.setVillageDeptId(villageDeptId);
452
         query.getParams().put("dataScope", "");
452
         query.getParams().put("dataScope", "");
@@ -461,7 +461,7 @@ public class HomeScreenServiceImpl implements IHomeScreenService
461
         YearMonth now = HomeScreenSupport.currentYearMonth();
461
         YearMonth now = HomeScreenSupport.currentYearMonth();
462
         BizYakHerdInventory query = new BizYakHerdInventory();
462
         BizYakHerdInventory query = new BizYakHerdInventory();
463
         query.setStatYear(statYear != null ? statYear : now.getYear());
463
         query.setStatYear(statYear != null ? statYear : now.getYear());
464
-        query.setStatMonth(statMonth != null ? statMonth : now.getMonthValue());
464
+        query.setStatMonth(statMonth);
465
         query.setTownDeptId(townDeptId);
465
         query.setTownDeptId(townDeptId);
466
         query.setVillageDeptId(villageDeptId);
466
         query.setVillageDeptId(villageDeptId);
467
         query.getParams().put("dataScope", "");
467
         query.getParams().put("dataScope", "");
@@ -476,7 +476,7 @@ public class HomeScreenServiceImpl implements IHomeScreenService
476
         YearMonth now = HomeScreenSupport.currentYearMonth();
476
         YearMonth now = HomeScreenSupport.currentYearMonth();
477
         BizLivestockOwnershipHousehold query = new BizLivestockOwnershipHousehold();
477
         BizLivestockOwnershipHousehold query = new BizLivestockOwnershipHousehold();
478
         query.setStatYear(statYear != null ? statYear : now.getYear());
478
         query.setStatYear(statYear != null ? statYear : now.getYear());
479
-        query.setStatMonth(statMonth != null ? statMonth : now.getMonthValue());
479
+        query.setStatMonth(statMonth);
480
         query.setTownDeptId(townDeptId);
480
         query.setTownDeptId(townDeptId);
481
         query.setVillageDeptId(villageDeptId);
481
         query.setVillageDeptId(villageDeptId);
482
         query.getParams().put("dataScope", "");
482
         query.getParams().put("dataScope", "");

+ 4 - 10
baqing-admin/src/main/java/com/ruoyi/web/modules/screen/service/impl/LivestockResourceScreenServiceImpl.java

@@ -142,12 +142,9 @@ public class LivestockResourceScreenServiceImpl implements ILivestockResourceScr
142
             Integer statYear, Integer statMonth, Long townDeptId, Long villageDeptId)
142
             Integer statYear, Integer statMonth, Long townDeptId, Long villageDeptId)
143
     {
143
     {
144
         YearMonth current = HomeScreenSupport.currentYearMonth();
144
         YearMonth current = HomeScreenSupport.currentYearMonth();
145
-        int year = statYear != null ? statYear : current.getYear();
146
-        int month = statMonth != null ? statMonth : current.getMonthValue();
147
-
148
         BizLivestockProductOutput query = new BizLivestockProductOutput();
145
         BizLivestockProductOutput query = new BizLivestockProductOutput();
149
-        query.setStatYear(year);
150
-        query.setStatMonth(month);
146
+        query.setStatYear(statYear != null ? statYear : current.getYear());
147
+        query.setStatMonth(statMonth);
151
         query.setTownDeptId(townDeptId);
148
         query.setTownDeptId(townDeptId);
152
         query.setVillageDeptId(villageDeptId);
149
         query.setVillageDeptId(villageDeptId);
153
         // 大屏全县口径,清空 dataScope
150
         // 大屏全县口径,清空 dataScope
@@ -162,12 +159,9 @@ public class LivestockResourceScreenServiceImpl implements ILivestockResourceScr
162
             Integer statYear, Integer statMonth, Long townDeptId, Long villageDeptId)
159
             Integer statYear, Integer statMonth, Long townDeptId, Long villageDeptId)
163
     {
160
     {
164
         YearMonth current = HomeScreenSupport.currentYearMonth();
161
         YearMonth current = HomeScreenSupport.currentYearMonth();
165
-        int year = statYear != null ? statYear : current.getYear();
166
-        int month = statMonth != null ? statMonth : current.getMonthValue();
167
-
168
         BizVaccinationData query = new BizVaccinationData();
162
         BizVaccinationData query = new BizVaccinationData();
169
-        query.setStatYear(year);
170
-        query.setStatMonth(month);
163
+        query.setStatYear(statYear != null ? statYear : current.getYear());
164
+        query.setStatMonth(statMonth);
171
         query.setTownDeptId(townDeptId);
165
         query.setTownDeptId(townDeptId);
172
         query.setVillageDeptId(villageDeptId);
166
         query.setVillageDeptId(villageDeptId);
173
         // 大屏全县口径,清空 dataScope
167
         // 大屏全县口径,清空 dataScope

+ 18 - 18
baqing-admin/src/test/java/com/ruoyi/web/modules/screen/service/impl/HomeScreenServiceImplTest.java

@@ -295,15 +295,15 @@ class HomeScreenServiceImplTest
295
     }
295
     }
296
 
296
 
297
     @Test
297
     @Test
298
-    @DisplayName("DP-SY-UT-033b 合作社明细未传年默认当前年月")
299
-    void ut033b_cooperativeDevelopmentsDefaultCurrentYearMonth()
298
+    @DisplayName("DP-SY-UT-033b 合作社明细未传年默认当前年,未传不过滤")
299
+    void ut033b_cooperativeDevelopmentsDefaultCurrentYearNoMonth()
300
     {
300
     {
301
         java.time.YearMonth now = com.ruoyi.web.modules.screen.support.HomeScreenSupport.currentYearMonth();
301
         java.time.YearMonth now = com.ruoyi.web.modules.screen.support.HomeScreenSupport.currentYearMonth();
302
         when(bizCooperativeDevelopmentMapper.selectBizCooperativeDevelopmentList(any(BizCooperativeDevelopment.class)))
302
         when(bizCooperativeDevelopmentMapper.selectBizCooperativeDevelopmentList(any(BizCooperativeDevelopment.class)))
303
                 .thenAnswer(invocation -> {
303
                 .thenAnswer(invocation -> {
304
                     BizCooperativeDevelopment q = invocation.getArgument(0);
304
                     BizCooperativeDevelopment q = invocation.getArgument(0);
305
                     assertEquals(now.getYear(), q.getStatYear().intValue());
305
                     assertEquals(now.getYear(), q.getStatYear().intValue());
306
-                    assertEquals(now.getMonthValue(), q.getStatMonth().intValue());
306
+                    assertNull(q.getStatMonth());
307
                     return Collections.emptyList();
307
                     return Collections.emptyList();
308
                 });
308
                 });
309
         assertEquals(0, service.listCooperativeDevelopments(null, null, null, null).size());
309
         assertEquals(0, service.listCooperativeDevelopments(null, null, null, null).size());
@@ -333,15 +333,15 @@ class HomeScreenServiceImplTest
333
     }
333
     }
334
 
334
 
335
     @Test
335
     @Test
336
-    @DisplayName("DP-SY-UT-034b 家庭牧场明细未传年默认当前年月")
337
-    void ut034b_familyRanchesDefaultCurrentYearMonth()
336
+    @DisplayName("DP-SY-UT-034b 家庭牧场明细未传年默认当前年,未传不过滤")
337
+    void ut034b_familyRanchesDefaultCurrentYearNoMonth()
338
     {
338
     {
339
         java.time.YearMonth now = com.ruoyi.web.modules.screen.support.HomeScreenSupport.currentYearMonth();
339
         java.time.YearMonth now = com.ruoyi.web.modules.screen.support.HomeScreenSupport.currentYearMonth();
340
         when(bizFamilyRanchMapper.selectBizFamilyRanchList(any(BizFamilyRanch.class)))
340
         when(bizFamilyRanchMapper.selectBizFamilyRanchList(any(BizFamilyRanch.class)))
341
                 .thenAnswer(invocation -> {
341
                 .thenAnswer(invocation -> {
342
                     BizFamilyRanch q = invocation.getArgument(0);
342
                     BizFamilyRanch q = invocation.getArgument(0);
343
                     assertEquals(now.getYear(), q.getStatYear().intValue());
343
                     assertEquals(now.getYear(), q.getStatYear().intValue());
344
-                    assertEquals(now.getMonthValue(), q.getStatMonth().intValue());
344
+                    assertNull(q.getStatMonth());
345
                     return Collections.emptyList();
345
                     return Collections.emptyList();
346
                 });
346
                 });
347
         assertEquals(0, service.listFamilyRanches(null, null, null, null).size());
347
         assertEquals(0, service.listFamilyRanches(null, null, null, null).size());
@@ -372,15 +372,15 @@ class HomeScreenServiceImplTest
372
     }
372
     }
373
 
373
 
374
     @Test
374
     @Test
375
-    @DisplayName("DP-SY-UT-035b 养殖大户明细未传年默认当前年月")
376
-    void ut035b_largeLivestockFarmersDefaultCurrentYearMonth()
375
+    @DisplayName("DP-SY-UT-035b 养殖大户明细未传年默认当前年,未传不过滤")
376
+    void ut035b_largeLivestockFarmersDefaultCurrentYearNoMonth()
377
     {
377
     {
378
         java.time.YearMonth now = com.ruoyi.web.modules.screen.support.HomeScreenSupport.currentYearMonth();
378
         java.time.YearMonth now = com.ruoyi.web.modules.screen.support.HomeScreenSupport.currentYearMonth();
379
         when(bizLargeLivestockFarmerMapper.selectBizLargeLivestockFarmerList(any(BizLargeLivestockFarmer.class)))
379
         when(bizLargeLivestockFarmerMapper.selectBizLargeLivestockFarmerList(any(BizLargeLivestockFarmer.class)))
380
                 .thenAnswer(invocation -> {
380
                 .thenAnswer(invocation -> {
381
                     BizLargeLivestockFarmer q = invocation.getArgument(0);
381
                     BizLargeLivestockFarmer q = invocation.getArgument(0);
382
                     assertEquals(now.getYear(), q.getStatYear().intValue());
382
                     assertEquals(now.getYear(), q.getStatYear().intValue());
383
-                    assertEquals(now.getMonthValue(), q.getStatMonth().intValue());
383
+                    assertNull(q.getStatMonth());
384
                     return Collections.emptyList();
384
                     return Collections.emptyList();
385
                 });
385
                 });
386
         assertEquals(0, service.listLargeLivestockFarmers(null, null, null, null).size());
386
         assertEquals(0, service.listLargeLivestockFarmers(null, null, null, null).size());
@@ -412,15 +412,15 @@ class HomeScreenServiceImplTest
412
     }
412
     }
413
 
413
 
414
     @Test
414
     @Test
415
-    @DisplayName("DP-SY-UT-036b 牦牛出栏明细未传年默认当前年月")
416
-    void ut036b_yakOutboundReportsDefaultCurrentYearMonth()
415
+    @DisplayName("DP-SY-UT-036b 牦牛出栏明细未传年默认当前年,未传不过滤")
416
+    void ut036b_yakOutboundReportsDefaultCurrentYearNoMonth()
417
     {
417
     {
418
         java.time.YearMonth now = com.ruoyi.web.modules.screen.support.HomeScreenSupport.currentYearMonth();
418
         java.time.YearMonth now = com.ruoyi.web.modules.screen.support.HomeScreenSupport.currentYearMonth();
419
         when(bizYakOutboundReportMapper.selectBizYakOutboundReportList(any(BizYakOutboundReport.class)))
419
         when(bizYakOutboundReportMapper.selectBizYakOutboundReportList(any(BizYakOutboundReport.class)))
420
                 .thenAnswer(invocation -> {
420
                 .thenAnswer(invocation -> {
421
                     BizYakOutboundReport q = invocation.getArgument(0);
421
                     BizYakOutboundReport q = invocation.getArgument(0);
422
                     assertEquals(now.getYear(), q.getStatYear().intValue());
422
                     assertEquals(now.getYear(), q.getStatYear().intValue());
423
-                    assertEquals(now.getMonthValue(), q.getStatMonth().intValue());
423
+                    assertNull(q.getStatMonth());
424
                     return Collections.emptyList();
424
                     return Collections.emptyList();
425
                 });
425
                 });
426
         assertEquals(0, service.listYakOutboundReports(null, null, null, null).size());
426
         assertEquals(0, service.listYakOutboundReports(null, null, null, null).size());
@@ -451,15 +451,15 @@ class HomeScreenServiceImplTest
451
     }
451
     }
452
 
452
 
453
     @Test
453
     @Test
454
-    @DisplayName("DP-SY-UT-037b 牦牛存栏明细未传年默认当前年月")
455
-    void ut037b_yakHerdInventoriesDefaultCurrentYearMonth()
454
+    @DisplayName("DP-SY-UT-037b 牦牛存栏明细未传年默认当前年,未传不过滤")
455
+    void ut037b_yakHerdInventoriesDefaultCurrentYearNoMonth()
456
     {
456
     {
457
         java.time.YearMonth now = com.ruoyi.web.modules.screen.support.HomeScreenSupport.currentYearMonth();
457
         java.time.YearMonth now = com.ruoyi.web.modules.screen.support.HomeScreenSupport.currentYearMonth();
458
         when(bizYakHerdInventoryMapper.selectBizYakHerdInventoryList(any(BizYakHerdInventory.class)))
458
         when(bizYakHerdInventoryMapper.selectBizYakHerdInventoryList(any(BizYakHerdInventory.class)))
459
                 .thenAnswer(invocation -> {
459
                 .thenAnswer(invocation -> {
460
                     BizYakHerdInventory q = invocation.getArgument(0);
460
                     BizYakHerdInventory q = invocation.getArgument(0);
461
                     assertEquals(now.getYear(), q.getStatYear().intValue());
461
                     assertEquals(now.getYear(), q.getStatYear().intValue());
462
-                    assertEquals(now.getMonthValue(), q.getStatMonth().intValue());
462
+                    assertNull(q.getStatMonth());
463
                     return Collections.emptyList();
463
                     return Collections.emptyList();
464
                 });
464
                 });
465
         assertEquals(0, service.listYakHerdInventories(null, null, null, null).size());
465
         assertEquals(0, service.listYakHerdInventories(null, null, null, null).size());
@@ -491,8 +491,8 @@ class HomeScreenServiceImplTest
491
     }
491
     }
492
 
492
 
493
     @Test
493
     @Test
494
-    @DisplayName("DP-SY-UT-038b 有无畜户明细未传年默认当前年月")
495
-    void ut038b_livestockOwnershipHouseholdsDefaultCurrentYearMonth()
494
+    @DisplayName("DP-SY-UT-038b 有无畜户明细未传年默认当前年,未传不过滤")
495
+    void ut038b_livestockOwnershipHouseholdsDefaultCurrentYearNoMonth()
496
     {
496
     {
497
         java.time.YearMonth now = com.ruoyi.web.modules.screen.support.HomeScreenSupport.currentYearMonth();
497
         java.time.YearMonth now = com.ruoyi.web.modules.screen.support.HomeScreenSupport.currentYearMonth();
498
         when(bizLivestockOwnershipHouseholdMapper.selectBizLivestockOwnershipHouseholdList(
498
         when(bizLivestockOwnershipHouseholdMapper.selectBizLivestockOwnershipHouseholdList(
@@ -500,7 +500,7 @@ class HomeScreenServiceImplTest
500
                 .thenAnswer(invocation -> {
500
                 .thenAnswer(invocation -> {
501
                     BizLivestockOwnershipHousehold q = invocation.getArgument(0);
501
                     BizLivestockOwnershipHousehold q = invocation.getArgument(0);
502
                     assertEquals(now.getYear(), q.getStatYear().intValue());
502
                     assertEquals(now.getYear(), q.getStatYear().intValue());
503
-                    assertEquals(now.getMonthValue(), q.getStatMonth().intValue());
503
+                    assertNull(q.getStatMonth());
504
                     return Collections.emptyList();
504
                     return Collections.emptyList();
505
                 });
505
                 });
506
         assertEquals(0, service.listLivestockOwnershipHouseholds(null, null, null, null).size());
506
         assertEquals(0, service.listLivestockOwnershipHouseholds(null, null, null, null).size());

+ 3 - 3
doc/大屏/畜牧资源/大屏畜牧资源技术方案.md

@@ -468,7 +468,7 @@ XML:`mapper/screen/LivestockResourceScreenMapper.xml`。
468
 | 参数 | 类型 | 必填 | 说明 |
468
 | 参数 | 类型 | 必填 | 说明 |
469
 | --- | --- | --- | --- |
469
 | --- | --- | --- | --- |
470
 | `statYear` | int | N | 所属年份;未传默认**当前自然年** |
470
 | `statYear` | int | N | 所属年份;未传默认**当前自然年** |
471
-| `statMonth` | int | N | 所属月份;未传默认**当前自然月** |
471
+| `statMonth` | int | N | 所属月份;未传不过滤(该年全年,按月倒序) |
472
 | `townDeptId` | long | N | 所属乡镇 |
472
 | `townDeptId` | long | N | 所属乡镇 |
473
 | `villageDeptId` | long | N | 所属村 |
473
 | `villageDeptId` | long | N | 所属村 |
474
 | `pageNum` / `pageSize` | int | N | 分页 |
474
 | `pageNum` / `pageSize` | int | N | 分页 |
@@ -499,7 +499,7 @@ XML:`mapper/screen/LivestockResourceScreenMapper.xml`。
499
 | 参数 | 类型 | 必填 | 说明 |
499
 | 参数 | 类型 | 必填 | 说明 |
500
 | --- | --- | --- | --- |
500
 | --- | --- | --- | --- |
501
 | `statYear` | int | N | 所属年份;未传默认**当前自然年** |
501
 | `statYear` | int | N | 所属年份;未传默认**当前自然年** |
502
-| `statMonth` | int | N | 所属月份;未传默认**当前自然月** |
502
+| `statMonth` | int | N | 所属月份;未传不过滤(该年全年,按月倒序) |
503
 | `townDeptId` | long | N | 所属乡镇 |
503
 | `townDeptId` | long | N | 所属乡镇 |
504
 | `villageDeptId` | long | N | 所属村 |
504
 | `villageDeptId` | long | N | 所属村 |
505
 | `pageNum` / `pageSize` | int | N | 分页 |
505
 | `pageNum` / `pageSize` | int | N | 分页 |
@@ -570,8 +570,8 @@ SQL 示例:`sql/big_screen_livestock_resource_perm.sql`(挂载「大屏」
570
 
570
 
571
 | 版本 | 日期 | 说明 |
571
 | 版本 | 日期 | 说明 |
572
 | --- | --- | --- |
572
 | --- | --- | --- |
573
+| 1.16 | 2026-08-18 | `/productOutputs`、`/vaccinationData`:月份未传不过滤(该年全年);年份未传仍默认当前年 |
573
 | 1.15 | 2026-07-24 | 新增兽医数量明细分页接口 `/vetCounts`(按乡镇汇总) |
574
 | 1.15 | 2026-07-24 | 新增兽医数量明细分页接口 `/vetCounts`(按乡镇汇总) |
574
-| 1.14 | 2026-07-24 | 新增疫苗接种情况明细分页接口 `/vaccinationData` |
575
 | 1.13 | 2026-07-24 | 新增畜牧产品产量数据明细分页接口 `/productOutputs` |
575
 | 1.13 | 2026-07-24 | 新增畜牧产品产量数据明细分页接口 `/productOutputs` |
576
 | 1.12 | 2026-07-24 | 新增三资具体问题上报明细分页接口 `/threeAssetsProblemReports` |
576
 | 1.12 | 2026-07-24 | 新增三资具体问题上报明细分页接口 `/threeAssetsProblemReports` |
577
 | 1.11 | 2026-07-24 | 看板屏蔽 AI 问诊九区块:活跃度/用户结构/分类/模型调用/分时/会话分布/状态/热门/关键词 |
577
 | 1.11 | 2026-07-24 | 看板屏蔽 AI 问诊九区块:活跃度/用户结构/分类/模型调用/分时/会话分布/状态/热门/关键词 |

+ 1 - 1
doc/大屏/首页/大屏首页功能需求.md

@@ -503,7 +503,7 @@ flowchart TB
503
 
503
 
504
 | 版本 | 日期 | 说明 |
504
 | 版本 | 日期 | 说明 |
505
 | --- | --- | --- |
505
 | --- | --- | --- |
506
-| 1.20 | 2026-08-18 | 农牧户明细:月份未传不过滤(该年全年);年份未传仍默认当前年 |
506
+| 1.21 | 2026-08-18 | 大屏明细分页:月份未传一律不过滤(该年全年);年份未传仍默认当前年。含合作社/家庭牧场/养殖大户/出栏/存栏/有无畜户 |
507
 | 1.19 | 2026-07-24 | 人均收入趋势改为以库中最大所属年为终点的最近 5 年 |
507
 | 1.19 | 2026-07-24 | 人均收入趋势改为以库中最大所属年为终点的最近 5 年 |
508
 | 1.18 | 2026-07-24 | 牦牛月度出栏趋势改为按填报最大月 N 输出 1~N 月(区间缺月补 0) |
508
 | 1.18 | 2026-07-24 | 牦牛月度出栏趋势改为按填报最大月 N 输出 1~N 月(区间缺月补 0) |
509
 | 1.17 | 2026-07-23 | 公母牛月度存栏趋势改为按填报最大月 N 输出 1~N 月(区间缺月补 0) |
509
 | 1.17 | 2026-07-23 | 公母牛月度存栏趋势改为按填报最大月 N 输出 1~N 月(区间缺月补 0) |

+ 3 - 2
doc/大屏/首页/大屏首页技术方案.md

@@ -538,7 +538,7 @@
538
 | 参数 | 类型 | 必填 | 说明 |
538
 | 参数 | 类型 | 必填 | 说明 |
539
 | --- | --- | --- | --- |
539
 | --- | --- | --- | --- |
540
 | `statYear` | int | N | 所属年份;**未传默认当前自然年** |
540
 | `statYear` | int | N | 所属年份;**未传默认当前自然年** |
541
-| `statMonth` | int | N | 所属月份;**未传默认当前自然月** |
541
+| `statMonth` | int | N | 所属月份;**未传不过滤(该年全年按月倒序)** |
542
 | `townDeptId` | long | N | 所属乡镇 |
542
 | `townDeptId` | long | N | 所属乡镇 |
543
 | `villageDeptId` | long | N | 所属村 |
543
 | `villageDeptId` | long | N | 所属村 |
544
 | `pageNum` / `pageSize` | int | N | 分页(PageHelper) |
544
 | `pageNum` / `pageSize` | int | N | 分页(PageHelper) |
@@ -554,7 +554,7 @@
554
 | 3.11 | `/yakHerdInventories` | `biz_yak_herd_inventory` | 全部业务字段(含公母牛/奶牛/羊/保险等) |
554
 | 3.11 | `/yakHerdInventories` | `biz_yak_herd_inventory` | 全部业务字段(含公母牛/奶牛/羊/保险等) |
555
 | 3.12 | `/livestockOwnershipHouseholds` | `biz_livestock_ownership_household` | 全部业务字段(有畜/无畜户数人数劳动力等) |
555
 | 3.12 | `/livestockOwnershipHouseholds` | `biz_livestock_ownership_household` | 全部业务字段(有畜/无畜户数人数劳动力等) |
556
 
556
 
557
-查询条件与 3.7~3.9 相同:年/月默认当前年月,乡镇/村可选;按年、月倒序;全县口径清空 dataScope。
557
+查询条件与 3.6 相同:年未传默认当前年,月未传不过滤,乡镇/村可选;按年、月倒序;全县口径清空 dataScope。
558
 
558
 
559
 ### 3.13 牦牛存出栏情况明细
559
 ### 3.13 牦牛存出栏情况明细
560
 
560
 
@@ -665,6 +665,7 @@ SQL 示例:`sql/big_screen_home_perm.sql`(挂载「大屏」父菜单下)
665
 
665
 
666
 | 版本 | 日期 | 说明 |
666
 | 版本 | 日期 | 说明 |
667
 | --- | --- | --- |
667
 | --- | --- | --- |
668
+| 1.24 | 2026-08-18 | 首页明细分页:月份未传一律不过滤;含合作社/家庭牧场/养殖大户/出栏/存栏/有无畜户(农牧户已在 1.23) |
668
 | 1.23 | 2026-08-18 | `/farmerHouseholds`:月份未传不过滤(该年全年按月倒序);年份未传仍默认当前年 |
669
 | 1.23 | 2026-08-18 | `/farmerHouseholds`:月份未传不过滤(该年全年按月倒序);年份未传仍默认当前年 |
669
 | 1.21 | 2026-07-24 | 看板屏蔽:`subsidy`、`grassland`、`outboundMonthly`、`inventoryChange` |
670
 | 1.21 | 2026-07-24 | 看板屏蔽:`subsidy`、`grassland`、`outboundMonthly`、`inventoryChange` |
670
 | 1.20 | 2026-07-24 | 人均收入 `perCapitaIncomeTrend`:以库中最大所属年为终点向前 5 年 |
671
 | 1.20 | 2026-07-24 | 人均收入 `perCapitaIncomeTrend`:以库中最大所属年为终点向前 5 年 |

+ 6 - 6
doc/大屏/首页/大屏首页测试用例.md

@@ -85,12 +85,12 @@
85
 | DP-SY-UT-030 | 产业总览 | 有畜户/草场面积 | 单元测试 | JUnit5 | §5.2 | Mock 有无畜户与农牧户面积 | `loadDashboard(Y)` | `withLivestockHouseholdCount`/`grasslandAreaMu` 取所选年最大月合计 |
85
 | DP-SY-UT-030 | 产业总览 | 有畜户/草场面积 | 单元测试 | JUnit5 | §5.2 | Mock 有无畜户与农牧户面积 | `loadDashboard(Y)` | `withLivestockHouseholdCount`/`grasslandAreaMu` 取所选年最大月合计 |
86
 | DP-SY-UT-031 | 人均收入明细 | 字段映射与默认年 | 单元测试 | JUnit5 | §2.5 | Mock `biz_disposable_income` | `listPerCapitaIncomes(2025)` / `null` | 字段完整;未传年默认当前年 |
86
 | DP-SY-UT-031 | 人均收入明细 | 字段映射与默认年 | 单元测试 | JUnit5 | §2.5 | Mock `biz_disposable_income` | `listPerCapitaIncomes(2025)` / `null` | 字段完整;未传年默认当前年 |
87
 | DP-SY-UT-032 | 农牧户明细 | 条件过滤与默认年 | 单元测试 | JUnit5 | §2.5 | Mock `biz_farmer_household` | `listFarmerHouseholds(...)` / `null,null` | 字段完整;未传年默认当前年;未传月不过滤 |
87
 | DP-SY-UT-032 | 农牧户明细 | 条件过滤与默认年 | 单元测试 | JUnit5 | §2.5 | Mock `biz_farmer_household` | `listFarmerHouseholds(...)` / `null,null` | 字段完整;未传年默认当前年;未传月不过滤 |
88
-| DP-SY-UT-033 | 合作社明细 | 条件过滤与默认年 | 单元测试 | JUnit5 | §2.5 | Mock `biz_cooperative_development` | `listCooperativeDevelopments(...)` | 字段完整;未传年默认当前年月 |
89
-| DP-SY-UT-034 | 家庭牧场明细 | 条件过滤与默认年 | 单元测试 | JUnit5 | §2.5 | Mock `biz_family_ranch` | `listFamilyRanches(...)` | 字段完整;未传年默认当前年月 |
90
-| DP-SY-UT-035 | 养殖大户明细 | 条件过滤与默认年 | 单元测试 | JUnit5 | §2.5 | Mock `biz_large_livestock_farmer` | `listLargeLivestockFarmers(...)` | 字段完整;未传年默认当前年月 |
91
-| DP-SY-UT-036 | 牦牛出栏明细 | 条件过滤与默认年 | 单元测试 | JUnit5 | §2.5 | Mock `biz_yak_outbound_report` | `listYakOutboundReports(...)` | 字段完整;未传年默认当前年月 |
92
-| DP-SY-UT-037 | 牦牛存栏明细 | 条件过滤与默认年 | 单元测试 | JUnit5 | §2.5 | Mock `biz_yak_herd_inventory` | `listYakHerdInventories(...)` | 字段完整;未传年默认当前年月 |
93
-| DP-SY-UT-038 | 有无畜户明细 | 条件过滤与默认年 | 单元测试 | JUnit5 | §2.5 | Mock `biz_livestock_ownership_household` | `listLivestockOwnershipHouseholds(...)` | 字段完整;未传年默认当前年月 |
88
+| DP-SY-UT-033 | 合作社明细 | 条件过滤与默认年 | 单元测试 | JUnit5 | §2.5 | Mock `biz_cooperative_development` | `listCooperativeDevelopments(...)` | 字段完整;未传年默认当前年;未传不过滤 |
89
+| DP-SY-UT-034 | 家庭牧场明细 | 条件过滤与默认年 | 单元测试 | JUnit5 | §2.5 | Mock `biz_family_ranch` | `listFamilyRanches(...)` | 字段完整;未传年默认当前年;未传不过滤 |
90
+| DP-SY-UT-035 | 养殖大户明细 | 条件过滤与默认年 | 单元测试 | JUnit5 | §2.5 | Mock `biz_large_livestock_farmer` | `listLargeLivestockFarmers(...)` | 字段完整;未传年默认当前年;未传不过滤 |
91
+| DP-SY-UT-036 | 牦牛出栏明细 | 条件过滤与默认年 | 单元测试 | JUnit5 | §2.5 | Mock `biz_yak_outbound_report` | `listYakOutboundReports(...)` | 字段完整;未传年默认当前年;未传不过滤 |
92
+| DP-SY-UT-037 | 牦牛存栏明细 | 条件过滤与默认年 | 单元测试 | JUnit5 | §2.5 | Mock `biz_yak_herd_inventory` | `listYakHerdInventories(...)` | 字段完整;未传年默认当前年;未传不过滤 |
93
+| DP-SY-UT-038 | 有无畜户明细 | 条件过滤与默认年 | 单元测试 | JUnit5 | §2.5 | Mock `biz_livestock_ownership_household` | `listLivestockOwnershipHouseholds(...)` | 字段完整;未传年默认当前年;未传不过滤 |
94
 | DP-SY-UT-039 | 存出栏情况明细 | 关联与跨年全量 | 单元测试 | JUnit5 | §2.5 | Mock `selectYakInventoryOutboundList` | `listYakInventoryOutbounds(...)` | 返回存栏/出栏;未传年月不过滤(传 null) |
94
 | DP-SY-UT-039 | 存出栏情况明细 | 关联与跨年全量 | 单元测试 | JUnit5 | §2.5 | Mock `selectYakInventoryOutboundList` | `listYakInventoryOutbounds(...)` | 返回存栏/出栏;未传年月不过滤(传 null) |
95
 | DP-SY-UT-040 | 养殖主体数量明细 | 关联计数与跨年全量 | 单元测试 | JUnit5 | §2.5 | Mock `selectBreedingEntityQuantityList` | `listBreedingEntityQuantities(...)` | 返回四类数量;未传年月不过滤 |
95
 | DP-SY-UT-040 | 养殖主体数量明细 | 关联计数与跨年全量 | 单元测试 | JUnit5 | §2.5 | Mock `selectBreedingEntityQuantityList` | `listBreedingEntityQuantities(...)` | 返回四类数量;未传年月不过滤 |
96
 | DP-SY-UT-041 | 乡镇列表 | 全县口径 | 单元测试 | JUnit5 | §2.5 | Mock `toAllOptionList` | `listTownOptions()` | 返回乡镇选项 |
96
 | DP-SY-UT-041 | 乡镇列表 | 全县口径 | 单元测试 | JUnit5 | §2.5 | Mock `toAllOptionList` | `listTownOptions()` | 返回乡镇选项 |