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) |