From 7bac667c2a12cf0816247e57ed14c3b06448d517 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E5=BE=90=E6=B6=9B?= Date: Tue, 13 Jun 2023 10:23:47 +0800 Subject: [PATCH] =?UTF-8?q?refactor(meter):=E8=A1=A8=E8=AE=A1=E6=A1=A3?= =?UTF-8?q?=E6=A1=88=E6=A8=A1=E6=9D=BF=E7=9A=84=E4=B8=8B=E8=BD=BD=E6=94=B9?= =?UTF-8?q?=E4=B8=BA=E4=BD=BF=E7=94=A8Excel=20=E7=94=9F=E6=88=90=E7=9A=84?= =?UTF-8?q?=E6=96=B9=E6=B3=95=E5=AE=9E=E7=8E=B0=E3=80=82?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- assets/meter_04kv_template.xlsx | Bin 10453 -> 0 bytes controller/meter.go | 23 ++++++-- excel/meter_archive.go | 92 ++++++++++++++++++++++++++++++++ excel/meter_reading.go | 12 +++++ service/meter.go | 6 +++ 5 files changed, 129 insertions(+), 4 deletions(-) delete mode 100644 assets/meter_04kv_template.xlsx diff --git a/assets/meter_04kv_template.xlsx b/assets/meter_04kv_template.xlsx deleted file mode 100644 index 687fafc903bee1abf9a6ebbca146e2d7b063a7bf..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 10453 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 n&iv0-o@d!#Ui