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)