Mercurial > mercurial > hgweb_golang.cgi
comparison src/kaigo/Nk/nk.go @ 63:17e042fc8a33
fix nk.go
| author | pyon@macmini |
|---|---|
| date | Fri, 16 Oct 2020 20:35:44 +0900 |
| parents | c58172a59534 |
| children |
comparison
equal
deleted
inserted
replaced
| 62:a2c9a535cdd3 | 63:17e042fc8a33 |
|---|---|
| 1 /* | 1 /* |
| 2 nk.go: Nintei Kekka | 2 nk.go: Nintei Kekka |
| 3 | 3 |
| 4 Last Change: 2020-03-10 火 16:38:20. | 4 Last Change: 2020-10-16 金 14:27:50. |
| 5 */ | 5 */ |
| 6 | 6 |
| 7 package main | 7 package main |
| 8 | 8 |
| 9 /* | 9 /* |
| 383 "golang.org/x/text/encoding/japanese" | 383 "golang.org/x/text/encoding/japanese" |
| 384 "golang.org/x/text/transform" | 384 "golang.org/x/text/transform" |
| 385 ) | 385 ) |
| 386 | 386 |
| 387 var ( | 387 var ( |
| 388 ver = "0.2" | 388 ver = "0.3" |
| 389 | 389 |
| 390 flg_hb int | 390 flg_hb int |
| 391 flg_time bool | 391 flg_time bool |
| 392 flg_log bool | 392 flg_log bool |
| 393 flg_debug bool | 393 flg_debug bool |
| 609 step_start = print_time(step_start) | 609 step_start = print_time(step_start) |
| 610 | 610 |
| 611 /* MAKE SORT-TABEL */ | 611 /* MAKE SORT-TABEL */ |
| 612 print_step("並び順の決定") | 612 print_step("並び順の決定") |
| 613 | 613 |
| 614 re_hhs := regexp.MustCompile(`0[1238]\d{8}`) | 614 re_hhs := regexp.MustCompile(`05((2126)|(2159)|(4346))0[1238]\d{8}`) |
| 615 re_kaigo := regexp.MustCompile(`要((介護)|(支援)).`) | 615 re_kaigo := regexp.MustCompile(`要((介護)|(支援)).`) |
| 616 | 616 |
| 617 hash_fw := make(map[string]int) // 負担割合証発行者のハッシュ | 617 hash_fw := make(map[string]int) // 負担割合証発行者のハッシュ |
| 618 for _, t := range xdw2txt(fw) { | 618 for _, t := range xdw2txt(fw) { |
| 619 hash_fw[re_hhs.FindString(t)]++ | 619 hash_fw[re_hhs.FindString(t)]++ |
| 644 | 644 |
| 645 /* DO SORT */ | 645 /* DO SORT */ |
| 646 order := "" | 646 order := "" |
| 647 for _, s := range sorttable { | 647 for _, s := range sorttable { |
| 648 t := strings.Split(s, "#") | 648 t := strings.Split(s, "#") |
| 649 order += ":" + t[len(t)-1] | 649 order += ":" + t[len(t)-1][6:] |
| 650 } | 650 } |
| 651 order = strings.Replace(order, ":", "", 1) | 651 order = strings.Replace(order, ":", "", 1) |
| 652 | 652 |
| 653 print_step("被保険者証並び替え") | 653 print_step("被保険者証並び替え") |
| 654 hs_sorted := filepath.Join(tmpdir, "hs.xdw") | 654 hs_sorted := filepath.Join(tmpdir, "hs.xdw") |
| 698 } | 698 } |
| 699 for i, s := range sorttable { | 699 for i, s := range sorttable { |
| 700 t := strings.Split(s, "#") | 700 t := strings.Split(s, "#") |
| 701 u := strings.ReplaceAll(t[1], ":", ",") | 701 u := strings.ReplaceAll(t[1], ":", ",") |
| 702 u, _, _ = transform.String(japanese.ShiftJIS.NewEncoder(), u) | 702 u, _, _ = transform.String(japanese.ShiftJIS.NewEncoder(), u) |
| 703 h := t[2] | 703 c := t[2][0:6] |
| 704 h := t[2][6:16] | |
| 704 n, _, _ := transform.String(japanese.ShiftJIS.NewEncoder(), hash_hhs[h]) | 705 n, _, _ := transform.String(japanese.ShiftJIS.NewEncoder(), hash_hhs[h]) |
| 705 // seq, hno, name, kaigo, fw, kyotaku | 706 // seq, city, hno, name, kaigo, fw, kyotaku |
| 706 fmt.Fprintf(fcsv, "%04d,%s,%s,%s\n", i + 1, h, n, u) | 707 fmt.Fprintf(fcsv, "%04d,%s,%s,%s,%s\n", i + 1, c, h, n, u) |
| 707 } | 708 } |
| 708 if err := fcsv.Close(); err != nil { | 709 if err := fcsv.Close(); err != nil { |
| 709 log.Fatal(err) | 710 log.Fatal(err) |
| 710 } | 711 } |
| 711 step_start = print_time(step_start) | 712 step_start = print_time(step_start) |
