From c716de21aa39ca7f3838edb683ed5c894528adbd Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E5=BE=90=E6=B6=9B?= Date: Wed, 21 Sep 2022 15:36:03 +0800 Subject: [PATCH] =?UTF-8?q?enhance(model):=E8=B0=83=E6=95=B4=E7=89=A9?= =?UTF-8?q?=E4=B8=9A=E9=99=84=E5=8A=A0=E8=B4=B9=E3=80=81=E5=85=AC=E7=A4=BA?= =?UTF-8?q?=E6=8A=A5=E8=A1=A8=E9=83=A8=E5=88=86=E7=9A=84=E6=95=B0=E6=8D=AE?= =?UTF-8?q?=E7=BB=93=E6=9E=84=E6=A8=A1=E5=9E=8B=EF=BC=8C=E4=BB=A5=E5=8F=8A?= =?UTF-8?q?=E6=95=B0=E6=8D=AE=E5=BA=93=E8=BF=81=E7=A7=BB=E8=84=9A=E6=9C=AC?= =?UTF-8?q?=E3=80=82?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- assets/meter_04kv_template.xlsx | Bin 10522 -> 10523 bytes controller/meter04kv.go | 1 + excel/meter_archive.go | 1 - migration/20220921143001_maintenance.down.sql | 15 ++ migration/20220921143001_maintenance.up.sql | 37 +++++ model/end_user_detail.go | 95 ++++++------- model/maintenance_fee.go | 1 + model/publicity.go | 36 ++--- model/report_summary.go | 4 +- service/calculate.go | 132 +++++------------- service/god_mode.go | 6 - service/report.go | 56 +++----- 12 files changed, 179 insertions(+), 205 deletions(-) create mode 100644 migration/20220921143001_maintenance.down.sql create mode 100644 migration/20220921143001_maintenance.up.sql diff --git a/assets/meter_04kv_template.xlsx b/assets/meter_04kv_template.xlsx index ca392706b599c50cae499505a8d03fd234a17c37..c1cccde54f09ba21f12ffaac6b217d1de07bf315 100644 GIT binary patch delta 6010 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