From 4023ca0aec5ad3be819d62f566af6fbc108716c4 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=D0=90=D0=BD=D0=B0=D1=82=D0=BE=D0=BB=D0=B8=D0=B9=20=D0=A2?= =?UTF-8?q?=D1=83=D1=85=D1=82=D0=B0=D1=80=D0=BE=D0=B2?= Date: Sun, 28 Sep 2025 16:04:52 +0500 Subject: [PATCH] =?UTF-8?q?=D0=A7=D1=82=D0=B5=D0=BD=D0=B8=D0=B5=20=D0=A0?= =?UTF-8?q?=D0=9C=D0=98=D0=90=D0=A1?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .docs/столбцы_РМИАС.txt | 22 +++++++++++++++ .util/go.mod | 23 ++++++++++++++++ .util/go.sum | 42 +++++++++++++++++++++++++++++ .util/main.xgo | 19 +++++++++++++ .util/xgo_autogen.go | 59 +++++++++++++++++++++++++++++++++++++++++ 5 files changed, 165 insertions(+) create mode 100644 .docs/столбцы_РМИАС.txt create mode 100644 .util/go.mod create mode 100644 .util/go.sum create mode 100644 .util/main.xgo create mode 100644 .util/xgo_autogen.go diff --git a/.docs/столбцы_РМИАС.txt b/.docs/столбцы_РМИАС.txt new file mode 100644 index 0000000..6a945f4 --- /dev/null +++ b/.docs/столбцы_РМИАС.txt @@ -0,0 +1,22 @@ + +ИД случая +№ талона +ФИО пациента +Дата рождения +Номер полиса +Код объёма +Код объёма_фин +Код посещения +Сумма +Код диагноза +Отделение +Профиль +Подразделение +Врач +Специальность +Посещение +УЕТ +Оплата +СМО +Подавался ранее + diff --git a/.util/go.mod b/.util/go.mod new file mode 100644 index 0000000..30ebaf1 --- /dev/null +++ b/.util/go.mod @@ -0,0 +1,23 @@ +module parser + +go 1.24 + +require ( + github.com/qiniu/x v1.15.1 + github.com/xuri/excelize/v2 v2.9.1 +) + +require ( + github.com/fatih/color v1.18.0 // indirect + github.com/mattn/go-colorable v0.1.13 // indirect + github.com/mattn/go-isatty v0.0.20 // indirect + github.com/richardlehane/mscfb v1.0.4 // indirect + github.com/richardlehane/msoleps v1.0.4 // indirect + github.com/tiendc/go-deepcopy v1.6.0 // indirect + github.com/xuri/efp v0.0.1 // indirect + github.com/xuri/nfp v0.0.1 // indirect + golang.org/x/crypto v0.38.0 // indirect + golang.org/x/net v0.40.0 // indirect + golang.org/x/sys v0.33.0 // indirect + golang.org/x/text v0.25.0 // indirect +) diff --git a/.util/go.sum b/.util/go.sum new file mode 100644 index 0000000..4e59b65 --- /dev/null +++ b/.util/go.sum @@ -0,0 +1,42 @@ +github.com/davecgh/go-spew v1.1.1 h1:vj9j/u1bqnvCEfJOwUhtlOARqs3+rkHYY13jYWTU97c= +github.com/davecgh/go-spew v1.1.1/go.mod h1:J7Y8YcW2NihsgmVo/mv3lAwl/skON4iLHjSsI+c5H38= +github.com/fatih/color v1.18.0 h1:S8gINlzdQ840/4pfAwic/ZE0djQEH3wM94VfqLTZcOM= +github.com/fatih/color v1.18.0/go.mod h1:4FelSpRwEGDpQ12mAdzqdOukCy4u8WUtOY6lkT/6HfU= +github.com/mattn/go-colorable v0.1.13 h1:fFA4WZxdEF4tXPZVKMLwD8oUnCTTo08duU7wxecdEvA= +github.com/mattn/go-colorable v0.1.13/go.mod h1:7S9/ev0klgBDR4GtXTXX8a3vIGJpMovkB8vQcUbaXHg= +github.com/mattn/go-isatty v0.0.16/go.mod h1:kYGgaQfpe5nmfYZH+SKPsOc2e4SrIfOl2e/yFXSvRLM= +github.com/mattn/go-isatty v0.0.20 h1:xfD0iDuEKnDkl03q4limB+vH+GxLEtL/jb4xVJSWWEY= +github.com/mattn/go-isatty v0.0.20/go.mod h1:W+V8PltTTMOvKvAeJH7IuucS94S2C6jfK/D7dTCTo3Y= +github.com/pmezard/go-difflib v1.0.0 h1:4DBwDE0NGyQoBHbLQYPwSUPoCMWR5BEzIk/f1lZbAQM= +github.com/pmezard/go-difflib v1.0.0/go.mod h1:iKH77koFhYxTK1pcRnkKkqfTogsbg7gZNVY4sRDYZ/4= +github.com/qiniu/x v1.15.1 h1:avE+YQaowp8ZExjylOeSM73rUo3MQKBAYVxh4NJ8dY8= +github.com/qiniu/x v1.15.1/go.mod h1:AiovSOCaRijaf3fj+0CBOpR1457pn24b0Vdb1JpwhII= +github.com/richardlehane/mscfb v1.0.4 h1:WULscsljNPConisD5hR0+OyZjwK46Pfyr6mPu5ZawpM= +github.com/richardlehane/mscfb v1.0.4/go.mod h1:YzVpcZg9czvAuhk9T+a3avCpcFPMUWm7gK3DypaEsUk= +github.com/richardlehane/msoleps v1.0.1/go.mod h1:BWev5JBpU9Ko2WAgmZEuiz4/u3ZYTKbjLycmwiWUfWg= +github.com/richardlehane/msoleps v1.0.4 h1:WuESlvhX3gH2IHcd8UqyCuFY5yiq/GR/yqaSM/9/g00= +github.com/richardlehane/msoleps v1.0.4/go.mod h1:BWev5JBpU9Ko2WAgmZEuiz4/u3ZYTKbjLycmwiWUfWg= +github.com/stretchr/testify v1.10.0 h1:Xv5erBjTwe/5IxqUQTdXv5kgmIvbHo3QQyRwhJsOfJA= +github.com/stretchr/testify v1.10.0/go.mod h1:r2ic/lqez/lEtzL7wO/rwa5dbSLXVDPFyf8C91i36aY= +github.com/tiendc/go-deepcopy v1.6.0 h1:0UtfV/imoCwlLxVsyfUd4hNHnB3drXsfle+wzSCA5Wo= +github.com/tiendc/go-deepcopy v1.6.0/go.mod h1:toXoeQoUqXOOS/X4sKuiAoSk6elIdqc0pN7MTgOOo2I= +github.com/xuri/efp v0.0.1 h1:fws5Rv3myXyYni8uwj2qKjVaRP30PdjeYe2Y6FDsCL8= +github.com/xuri/efp v0.0.1/go.mod h1:ybY/Jr0T0GTCnYjKqmdwxyxn2BQf2RcQIIvex5QldPI= +github.com/xuri/excelize/v2 v2.9.1 h1:VdSGk+rraGmgLHGFaGG9/9IWu1nj4ufjJ7uwMDtj8Qw= +github.com/xuri/excelize/v2 v2.9.1/go.mod h1:x7L6pKz2dvo9ejrRuD8Lnl98z4JLt0TGAwjhW+EiP8s= +github.com/xuri/nfp v0.0.1 h1:MDamSGatIvp8uOmDP8FnmjuQpu90NzdJxo7242ANR9Q= +github.com/xuri/nfp v0.0.1/go.mod h1:WwHg+CVyzlv/TX9xqBFXEZAuxOPxn2k1GNHwG41IIUQ= +golang.org/x/crypto v0.38.0 h1:jt+WWG8IZlBnVbomuhg2Mdq0+BBQaHbtqHEFEigjUV8= +golang.org/x/crypto v0.38.0/go.mod h1:MvrbAqul58NNYPKnOra203SB9vpuZW0e+RRZV+Ggqjw= +golang.org/x/image v0.25.0 h1:Y6uW6rH1y5y/LK1J8BPWZtr6yZ7hrsy6hFrXjgsc2fQ= +golang.org/x/image v0.25.0/go.mod h1:tCAmOEGthTtkalusGp1g3xa2gke8J6c2N565dTyl9Rs= +golang.org/x/net v0.40.0 h1:79Xs7wF06Gbdcg4kdCCIQArK11Z1hr5POQ6+fIYHNuY= +golang.org/x/net v0.40.0/go.mod h1:y0hY0exeL2Pku80/zKK7tpntoX23cqL3Oa6njdgRtds= +golang.org/x/sys v0.0.0-20220811171246-fbc7d0a398ab/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= +golang.org/x/sys v0.6.0/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= +golang.org/x/sys v0.33.0 h1:q3i8TbbEz+JRD9ywIRlyRAQbM0qF7hu24q3teo2hbuw= +golang.org/x/sys v0.33.0/go.mod h1:BJP2sWEmIv4KK5OTEluFJCKSidICx8ciO85XgH3Ak8k= +golang.org/x/text v0.25.0 h1:qVyWApTSYLk/drJRO5mDlNYskwQznZmkpV2c8q9zls4= +golang.org/x/text v0.25.0/go.mod h1:WEdwpYrmk1qmdHvhkSTNPm3app7v4rsT8F2UD6+VHIA= +gopkg.in/yaml.v3 v3.0.1 h1:fxVm/GzAzEWqLHuvctI91KS9hhNmmWOoWu0XTYJS7CA= +gopkg.in/yaml.v3 v3.0.1/go.mod h1:K4uyk7z7BCEPqu6E+C64Yfv1cQ7kz7rIZviUmN+EgEM= diff --git a/.util/main.xgo b/.util/main.xgo new file mode 100644 index 0000000..3ba772e --- /dev/null +++ b/.util/main.xgo @@ -0,0 +1,19 @@ +import ( + "fmt" + "github.com/fatih/color" + "github.com/xuri/excelize/v2" +) + +f := excelize.OpenFile("../.docs/Пример выгузки из РМИАС.xlsx")! +defer f.Close() + +//cyanBold := color.New(color.FgCyan, color.Bold) +cyan := color.New(color.FgCyan) +// Получить все строки с листа "Лист1". +rows := f.GetRows("Лист1")! +//for row <- rows[:1] { + for i, colCell <- rows[0] { + cyan.Printf "[%s]: ", colCell + printf " %s\n", rows[1][i] + } +//} diff --git a/.util/xgo_autogen.go b/.util/xgo_autogen.go new file mode 100644 index 0000000..69d13f1 --- /dev/null +++ b/.util/xgo_autogen.go @@ -0,0 +1,59 @@ +// Code generated by xgo (XGo); DO NOT EDIT. + +package main + +import ( + "fmt" + "github.com/fatih/color" + "github.com/qiniu/x/errors" + "github.com/xuri/excelize/v2" +) + +const _ = true +//line main.xgo:7 +func main() { +//line main.xgo:7:1 + f := func() (_xgo_ret *excelize.File) { +//line main.xgo:7:1 + var _xgo_err error +//line main.xgo:7:1 + _xgo_ret, _xgo_err = excelize.OpenFile("../.docs/Пример выгузки из РМИАС.xlsx") +//line main.xgo:7:1 + if _xgo_err != nil { +//line main.xgo:7:1 + _xgo_err = errors.NewFrame(_xgo_err, "excelize.OpenFile(\"../.docs/Пример выгузки из РМИАС.xlsx\")", "main.xgo", 7, "main.main") +//line main.xgo:7:1 + panic(_xgo_err) + } +//line main.xgo:7:1 + return + }() +//line main.xgo:8:1 + defer f.Close() +//line main.xgo:11:1 + cyan := color.New(color.FgCyan) +//line main.xgo:13:1 + rows := func() (_xgo_ret [][]string) { +//line main.xgo:13:1 + var _xgo_err error +//line main.xgo:13:1 + _xgo_ret, _xgo_err = f.GetRows("Лист1") +//line main.xgo:13:1 + if _xgo_err != nil { +//line main.xgo:13:1 + _xgo_err = errors.NewFrame(_xgo_err, "f.GetRows(\"Лист1\")", "main.xgo", 13, "main.main") +//line main.xgo:13:1 + panic(_xgo_err) + } +//line main.xgo:13:1 + return + }() + for +//line main.xgo:15:1 + i, colCell := range rows[0] { +//line main.xgo:16:1 + cyan.Printf("[%s]: ", colCell) +//line main.xgo:17:1 + fmt.Printf(" %s\n", rows[1][i]) + } +}