Explorar el Código

畜牧产品产量登记

wwh hace 2 semanas
padre
commit
60cd3fa8ee

+ 46 - 0
doc/产业数据模型及服务/畜牧产品产量登记/畜牧产品产量登记功能需求.md

@@ -0,0 +1,46 @@
1
+# 畜牧产品产量登记 — 功能需求
2
+
3
+## 1. 文档说明
4
+
5
+| 项 | 说明 |
6
+| --- | --- |
7
+| 模块名称 | 畜牧产品产量登记 |
8
+| 目标 | 按**村 × 所属年月**登记肉产量、奶产量;导入按唯一键 upsert;导出含合计行 |
9
+| 关联系统 | 业务后台;`sys_dept`(乡镇、村) |
10
+| 修订依据 | 交接表 `畜牧产品产量登记.xlsx`;运行模板 `livestock_product_output_import_template.xlsx` |
11
+
12
+---
13
+
14
+## 2. 填报粒度
15
+
16
+- 一条记录:某一自然年、某一自然月、某一行政村的肉/奶产量快照。
17
+- 保存时由所选村反推所属乡镇。
18
+- 唯一键:所属年份 + 所属月份 + 所属村。
19
+- 导入:存在则更新、不存在则插入(非增幅累加,也不按年月先删后插)。
20
+
21
+---
22
+
23
+## 3. 功能范围
24
+
25
+| 能力 | 说明 |
26
+| --- | --- |
27
+| 分页列表 | 筛选:年、月、乡镇、村;列:年、月、乡镇、村、肉产量、奶产量 |
28
+| 新增 / 修改 | 只选村;新增默认本年本月;肉/奶产量(万吨) |
29
+| 详情 | 全部字段;乡镇只读 |
30
+| 删除 | 物理删除 |
31
+| Excel 导入 | 表头 1~3 行;导入文件无合计行;另选年月 |
32
+| Excel 导出 | 另选年月;可选乡镇;**末行合计**;填表人=登录用户 |
33
+
34
+---
35
+
36
+## 4. 权限
37
+
38
+`dataModel:livestockProductOutput:list|query|add|edit|remove|import|export`
39
+
40
+---
41
+
42
+## 5. 修订记录
43
+
44
+| 版本 | 说明 |
45
+| --- | --- |
46
+| 1.0 | 首版:村级产量登记;CRUD + upsert 导入 + 带合计导出 |

+ 40 - 0
doc/产业数据模型及服务/畜牧产品产量登记/畜牧产品产量登记技术方案.md

@@ -0,0 +1,40 @@
1
+# 畜牧产品产量登记 — 技术方案
2
+
3
+> 模板:`baqing-admin/src/main/resources/templates/livestock_product_output_import_template.xlsx`
4
+
5
+## 1. 架构
6
+
7
+Controller `/dataModel/livestockProductOutput` → Service → Mapper;Excel:`LivestockProductOutputExcelParser` / `LivestockProductOutputExcelExporter`;校验:`LivestockProductOutputValidation`。
8
+
9
+## 2. 表 `biz_livestock_product_output`
10
+
11
+唯一键 `uk_year_month_village (stat_year, stat_month, village_dept_id)`;字段含乡镇/村冗余名、`meat_output`、`milk_output`(万吨)。DDL:`sql/biz_livestock_product_output.sql`。
12
+
13
+## 3. Excel 列(0-based)
14
+
15
+| 列 | 字段 |
16
+| --- | --- |
17
+| 0 | 序号 |
18
+| 1 | 乡镇 |
19
+| 2 | 村 |
20
+| 3 | 肉产量(万吨) |
21
+| 4 | 奶产量(万吨) |
22
+
23
+数据起始:`headerRow + 1`。导入遇「合计」停止;导出写合计行并合并 0~2 列,对肉/奶求和。
24
+
25
+## 4. 导入 / 导出
26
+
27
+- 导入:任一行失败不写库 → 按唯一键 upsert。
28
+- 导出:可选 `townDeptId`;复制模板数据行样式到新建行;含合计行。
29
+
30
+## 5. 前端
31
+
32
+- 页面:`ruoyi-ui/src/views/dataModel/livestockProductOutput/index.vue`
33
+- API:`ruoyi-ui/src/api/dataModel/livestockProductOutput.js`
34
+- i18n:`livestockProductOutput`
35
+
36
+## 6. 修订记录
37
+
38
+| 版本 | 说明 |
39
+| --- | --- |
40
+| 1.0 | 首版对齐交接模板与合作社/出栏交互 |

+ 15 - 0
doc/产业数据模型及服务/畜牧产品产量登记/畜牧产品产量登记测试用例.md

@@ -0,0 +1,15 @@
1
+# 畜牧产品产量登记 — 测试用例(节选)
2
+
3
+> **接口 Base Path**:`/dataModel/livestockProductOutput`  
4
+> **建表**:执行 `sql/biz_livestock_product_output.sql`
5
+
6
+| 编号 | 场景 | 期望 |
7
+| --- | --- | --- |
8
+| UT-001 | 解析样例 Excel | 2 行;肉/奶数值正确 |
9
+| UT-002 | 导出合计 | 末行「合计」;肉/奶为各行之和 |
10
+| API-001 | 新增 | 选村+年月+产量成功;乡镇回填 |
11
+| API-002 | 唯一键 | 同年同月同村再增失败 |
12
+| API-003 | 导入 upsert | 已有更新、新建插入;不删同月其他村 |
13
+| API-004 | 导出乡镇 | 传 `townDeptId` 仅该乡镇;不传全部 |
14
+
15
+样例:`baqing-admin/src/test/resources/excel/livestock_product_output_sample.xlsx`