annotate src/kaigo/Porori/src2/porori.go @ 65:0369656be06c default tip

many changes.
author pyon@macmini
date Fri, 20 May 2022 06:30:34 +0900
parents 34a474fb83c3
children
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
65
0369656be06c many changes.
pyon@macmini
parents: 41
diff changeset
1 /*
0369656be06c many changes.
pyon@macmini
parents: 41
diff changeset
2 Last Change: 2021-09-07 火 14:39:09.
0369656be06c many changes.
pyon@macmini
parents: 41
diff changeset
3 */
41
34a474fb83c3 add perori/porori/nk.
pyon@macmini
parents:
diff changeset
4 package main
34a474fb83c3 add perori/porori/nk.
pyon@macmini
parents:
diff changeset
5
34a474fb83c3 add perori/porori/nk.
pyon@macmini
parents:
diff changeset
6 import (
65
0369656be06c many changes.
pyon@macmini
parents: 41
diff changeset
7 "bufio"
41
34a474fb83c3 add perori/porori/nk.
pyon@macmini
parents:
diff changeset
8 "encoding/csv"
34a474fb83c3 add perori/porori/nk.
pyon@macmini
parents:
diff changeset
9 "encoding/json"
34a474fb83c3 add perori/porori/nk.
pyon@macmini
parents:
diff changeset
10 "fmt"
34a474fb83c3 add perori/porori/nk.
pyon@macmini
parents:
diff changeset
11 "log"
34a474fb83c3 add perori/porori/nk.
pyon@macmini
parents:
diff changeset
12 "os"
34a474fb83c3 add perori/porori/nk.
pyon@macmini
parents:
diff changeset
13 "sort"
34a474fb83c3 add perori/porori/nk.
pyon@macmini
parents:
diff changeset
14 "strings"
34a474fb83c3 add perori/porori/nk.
pyon@macmini
parents:
diff changeset
15 "time"
34a474fb83c3 add perori/porori/nk.
pyon@macmini
parents:
diff changeset
16
34a474fb83c3 add perori/porori/nk.
pyon@macmini
parents:
diff changeset
17 "golang.org/x/text/encoding/japanese"
34a474fb83c3 add perori/porori/nk.
pyon@macmini
parents:
diff changeset
18 "golang.org/x/text/transform"
34a474fb83c3 add perori/porori/nk.
pyon@macmini
parents:
diff changeset
19 )
34a474fb83c3 add perori/porori/nk.
pyon@macmini
parents:
diff changeset
20
34a474fb83c3 add perori/porori/nk.
pyon@macmini
parents:
diff changeset
21 const jsonfile = "porori.json"
34a474fb83c3 add perori/porori/nk.
pyon@macmini
parents:
diff changeset
22
34a474fb83c3 add perori/porori/nk.
pyon@macmini
parents:
diff changeset
23 type Sinsei struct {
34a474fb83c3 add perori/porori/nk.
pyon@macmini
parents:
diff changeset
24 No string
34a474fb83c3 add perori/porori/nk.
pyon@macmini
parents:
diff changeset
25 Name string
34a474fb83c3 add perori/porori/nk.
pyon@macmini
parents:
diff changeset
26 Ymd string
34a474fb83c3 add perori/porori/nk.
pyon@macmini
parents:
diff changeset
27 Kbn string
34a474fb83c3 add perori/porori/nk.
pyon@macmini
parents:
diff changeset
28 Ccn string
34a474fb83c3 add perori/porori/nk.
pyon@macmini
parents:
diff changeset
29 Bgn string
34a474fb83c3 add perori/porori/nk.
pyon@macmini
parents:
diff changeset
30 End string
65
0369656be06c many changes.
pyon@macmini
parents: 41
diff changeset
31 Hist string
0369656be06c many changes.
pyon@macmini
parents: 41
diff changeset
32 ReqI string
0369656be06c many changes.
pyon@macmini
parents: 41
diff changeset
33 Acc string
0369656be06c many changes.
pyon@macmini
parents: 41
diff changeset
34 ReqC string
0369656be06c many changes.
pyon@macmini
parents: 41
diff changeset
35 Visit string
0369656be06c many changes.
pyon@macmini
parents: 41
diff changeset
36 Remark string
41
34a474fb83c3 add perori/porori/nk.
pyon@macmini
parents:
diff changeset
37 }
34a474fb83c3 add perori/porori/nk.
pyon@macmini
parents:
diff changeset
38
34a474fb83c3 add perori/porori/nk.
pyon@macmini
parents:
diff changeset
39 func (s Sinsei) String() string {
65
0369656be06c many changes.
pyon@macmini
parents: 41
diff changeset
40 s.ChangeExpression()
0369656be06c many changes.
pyon@macmini
parents: 41
diff changeset
41
0369656be06c many changes.
pyon@macmini
parents: 41
diff changeset
42 var ymd, ccn, bgn, end, reqi, acc, reqc, visit, remark time.Time
0369656be06c many changes.
pyon@macmini
parents: 41
diff changeset
43 ymd, s.Ymd = s.TransDate(s.Ymd)
0369656be06c many changes.
pyon@macmini
parents: 41
diff changeset
44 ccn, s.Ccn = s.TransDate(s.Ccn)
0369656be06c many changes.
pyon@macmini
parents: 41
diff changeset
45 bgn, s.Bgn = s.TransDate(s.Bgn)
0369656be06c many changes.
pyon@macmini
parents: 41
diff changeset
46 end, s.End = s.TransDate(s.End)
0369656be06c many changes.
pyon@macmini
parents: 41
diff changeset
47 reqi, s.ReqI = s.TransDate(s.ReqI)
0369656be06c many changes.
pyon@macmini
parents: 41
diff changeset
48 acc, s.Acc = s.TransDate(s.Acc)
0369656be06c many changes.
pyon@macmini
parents: 41
diff changeset
49 reqc, s.ReqC = s.TransDate(s.ReqC)
0369656be06c many changes.
pyon@macmini
parents: 41
diff changeset
50 visit, s.Visit = s.TransDate(s.Visit)
0369656be06c many changes.
pyon@macmini
parents: 41
diff changeset
51 remark, s.Remark = s.TransDate(s.Remark)
0369656be06c many changes.
pyon@macmini
parents: 41
diff changeset
52
0369656be06c many changes.
pyon@macmini
parents: 41
diff changeset
53 term := fmt.Sprintf("%d", s.CalcTerm(bgn, end))
0369656be06c many changes.
pyon@macmini
parents: 41
diff changeset
54 ridays := fmt.Sprintf("%d", s.CountDay(ymd, reqi))
0369656be06c many changes.
pyon@macmini
parents: 41
diff changeset
55 adays := fmt.Sprintf("%d", s.CountDay(reqi, acc))
0369656be06c many changes.
pyon@macmini
parents: 41
diff changeset
56 rcdays := fmt.Sprintf("%d", s.CountDay(ymd, reqc))
0369656be06c many changes.
pyon@macmini
parents: 41
diff changeset
57 vdays := fmt.Sprintf("%d", s.CountDay(reqc, visit))
0369656be06c many changes.
pyon@macmini
parents: 41
diff changeset
58 tdays := fmt.Sprintf("%d", s.CountDay(visit, remark))
0369656be06c many changes.
pyon@macmini
parents: 41
diff changeset
59 rdays := fmt.Sprintf("%d", s.CountDay(ymd, ccn))
0369656be06c many changes.
pyon@macmini
parents: 41
diff changeset
60 return strings.Join([]string{s.No, s.Name, s.Ymd, s.Kbn, s.Bgn, s.End, term, s.Ccn, rdays, s.ReqI, ridays, s.Acc, adays, s.ReqC, rcdays, s.Visit, vdays, s.Remark, tdays}, ",")
41
34a474fb83c3 add perori/porori/nk.
pyon@macmini
parents:
diff changeset
61 }
34a474fb83c3 add perori/porori/nk.
pyon@macmini
parents:
diff changeset
62
34a474fb83c3 add perori/porori/nk.
pyon@macmini
parents:
diff changeset
63 func (s Sinsei) TransDate (ymd string) (time.Time, string) {
34a474fb83c3 add perori/porori/nk.
pyon@macmini
parents:
diff changeset
64 zero := time.Date(1, 1, 1, 0, 0, 0, 0, time.UTC)
34a474fb83c3 add perori/porori/nk.
pyon@macmini
parents:
diff changeset
65 if !strings.HasPrefix(ymd, "20") {
34a474fb83c3 add perori/porori/nk.
pyon@macmini
parents:
diff changeset
66 return zero, "" // it's dummy
34a474fb83c3 add perori/porori/nk.
pyon@macmini
parents:
diff changeset
67 }
34a474fb83c3 add perori/porori/nk.
pyon@macmini
parents:
diff changeset
68 t, _ := time.Parse("20060102", ymd)
34a474fb83c3 add perori/porori/nk.
pyon@macmini
parents:
diff changeset
69 return t, t.Format(" 2006-01-02")
34a474fb83c3 add perori/porori/nk.
pyon@macmini
parents:
diff changeset
70 }
34a474fb83c3 add perori/porori/nk.
pyon@macmini
parents:
diff changeset
71
65
0369656be06c many changes.
pyon@macmini
parents: 41
diff changeset
72 func (s Sinsei) CalcTerm(bgn, end time.Time) int {
0369656be06c many changes.
pyon@macmini
parents: 41
diff changeset
73 if bgn.IsZero() || end.IsZero() {
41
34a474fb83c3 add perori/porori/nk.
pyon@macmini
parents:
diff changeset
74 return 0
34a474fb83c3 add perori/porori/nk.
pyon@macmini
parents:
diff changeset
75 }
34a474fb83c3 add perori/porori/nk.
pyon@macmini
parents:
diff changeset
76
34a474fb83c3 add perori/porori/nk.
pyon@macmini
parents:
diff changeset
77 m := (end.Year() * 12 + int(end.Month())) - (bgn.Year() * 12 + int(bgn.Month()))
34a474fb83c3 add perori/porori/nk.
pyon@macmini
parents:
diff changeset
78 if bgn.Day() == 1 {
34a474fb83c3 add perori/porori/nk.
pyon@macmini
parents:
diff changeset
79 m++
34a474fb83c3 add perori/porori/nk.
pyon@macmini
parents:
diff changeset
80 }
34a474fb83c3 add perori/porori/nk.
pyon@macmini
parents:
diff changeset
81 return m
34a474fb83c3 add perori/porori/nk.
pyon@macmini
parents:
diff changeset
82 }
34a474fb83c3 add perori/porori/nk.
pyon@macmini
parents:
diff changeset
83
65
0369656be06c many changes.
pyon@macmini
parents: 41
diff changeset
84 func (s Sinsei) CountDay(bgn, end time.Time) int {
0369656be06c many changes.
pyon@macmini
parents: 41
diff changeset
85 if bgn.IsZero() || end.IsZero() {
0369656be06c many changes.
pyon@macmini
parents: 41
diff changeset
86 return -9999
0369656be06c many changes.
pyon@macmini
parents: 41
diff changeset
87 }
0369656be06c many changes.
pyon@macmini
parents: 41
diff changeset
88
0369656be06c many changes.
pyon@macmini
parents: 41
diff changeset
89 if bgn.Year() == end.Year() {
0369656be06c many changes.
pyon@macmini
parents: 41
diff changeset
90 return end.YearDay() - bgn.YearDay()
0369656be06c many changes.
pyon@macmini
parents: 41
diff changeset
91 }
0369656be06c many changes.
pyon@macmini
parents: 41
diff changeset
92 if end.Year() - bgn.Year() == 1 {
0369656be06c many changes.
pyon@macmini
parents: 41
diff changeset
93 d := 365 - bgn.YearDay() + end.YearDay()
0369656be06c many changes.
pyon@macmini
parents: 41
diff changeset
94 if bgn.Year() % 4 == 0 { // can use 2001 - 2099
0369656be06c many changes.
pyon@macmini
parents: 41
diff changeset
95 d++
0369656be06c many changes.
pyon@macmini
parents: 41
diff changeset
96 }
0369656be06c many changes.
pyon@macmini
parents: 41
diff changeset
97 return d
0369656be06c many changes.
pyon@macmini
parents: 41
diff changeset
98 }
0369656be06c many changes.
pyon@macmini
parents: 41
diff changeset
99
0369656be06c many changes.
pyon@macmini
parents: 41
diff changeset
100 return -9999
0369656be06c many changes.
pyon@macmini
parents: 41
diff changeset
101 }
0369656be06c many changes.
pyon@macmini
parents: 41
diff changeset
102
41
34a474fb83c3 add perori/porori/nk.
pyon@macmini
parents:
diff changeset
103 func (s *Sinsei) ChangeExpression() {
34a474fb83c3 add perori/porori/nk.
pyon@macmini
parents:
diff changeset
104 s.No = "=\"" + strings.TrimSpace(s.No) + "\""
34a474fb83c3 add perori/porori/nk.
pyon@macmini
parents:
diff changeset
105
34a474fb83c3 add perori/porori/nk.
pyon@macmini
parents:
diff changeset
106 switch s.Kbn {
34a474fb83c3 add perori/porori/nk.
pyon@macmini
parents:
diff changeset
107 case "01":
34a474fb83c3 add perori/porori/nk.
pyon@macmini
parents:
diff changeset
108 s.Kbn = "新規"
34a474fb83c3 add perori/porori/nk.
pyon@macmini
parents:
diff changeset
109 case "02":
34a474fb83c3 add perori/porori/nk.
pyon@macmini
parents:
diff changeset
110 s.Kbn = "更新"
34a474fb83c3 add perori/porori/nk.
pyon@macmini
parents:
diff changeset
111 case "10":
34a474fb83c3 add perori/porori/nk.
pyon@macmini
parents:
diff changeset
112 s.Kbn = "支介"
34a474fb83c3 add perori/porori/nk.
pyon@macmini
parents:
diff changeset
113 case "05":
34a474fb83c3 add perori/porori/nk.
pyon@macmini
parents:
diff changeset
114 s.Kbn = "区変"
34a474fb83c3 add perori/porori/nk.
pyon@macmini
parents:
diff changeset
115 case "03":
34a474fb83c3 add perori/porori/nk.
pyon@macmini
parents:
diff changeset
116 s.Kbn = "転入"
34a474fb83c3 add perori/porori/nk.
pyon@macmini
parents:
diff changeset
117 case "09":
34a474fb83c3 add perori/porori/nk.
pyon@macmini
parents:
diff changeset
118 s.Kbn = "証交"
34a474fb83c3 add perori/porori/nk.
pyon@macmini
parents:
diff changeset
119 }
34a474fb83c3 add perori/porori/nk.
pyon@macmini
parents:
diff changeset
120 s.Kbn, _, _ = transform.String(japanese.ShiftJIS.NewEncoder(), s.Kbn)
65
0369656be06c many changes.
pyon@macmini
parents: 41
diff changeset
121 }
41
34a474fb83c3 add perori/porori/nk.
pyon@macmini
parents:
diff changeset
122
65
0369656be06c many changes.
pyon@macmini
parents: 41
diff changeset
123 func read_line(file string) ([]string, error) {
0369656be06c many changes.
pyon@macmini
parents: 41
diff changeset
124 f, err := os.Open(file)
0369656be06c many changes.
pyon@macmini
parents: 41
diff changeset
125 if err != nil {
0369656be06c many changes.
pyon@macmini
parents: 41
diff changeset
126 return nil, err
0369656be06c many changes.
pyon@macmini
parents: 41
diff changeset
127 }
0369656be06c many changes.
pyon@macmini
parents: 41
diff changeset
128 defer f.Close()
41
34a474fb83c3 add perori/porori/nk.
pyon@macmini
parents:
diff changeset
129
65
0369656be06c many changes.
pyon@macmini
parents: 41
diff changeset
130 var s []string
0369656be06c many changes.
pyon@macmini
parents: 41
diff changeset
131 scanner := bufio.NewScanner(f)
0369656be06c many changes.
pyon@macmini
parents: 41
diff changeset
132 for scanner.Scan() {
0369656be06c many changes.
pyon@macmini
parents: 41
diff changeset
133 s = append(s, scanner.Text())
0369656be06c many changes.
pyon@macmini
parents: 41
diff changeset
134 }
0369656be06c many changes.
pyon@macmini
parents: 41
diff changeset
135 if err := scanner.Err(); err != nil {
0369656be06c many changes.
pyon@macmini
parents: 41
diff changeset
136 return nil, err
0369656be06c many changes.
pyon@macmini
parents: 41
diff changeset
137 }
0369656be06c many changes.
pyon@macmini
parents: 41
diff changeset
138 return s, nil
41
34a474fb83c3 add perori/porori/nk.
pyon@macmini
parents:
diff changeset
139 }
34a474fb83c3 add perori/porori/nk.
pyon@macmini
parents:
diff changeset
140
34a474fb83c3 add perori/porori/nk.
pyon@macmini
parents:
diff changeset
141 func main() {
34a474fb83c3 add perori/porori/nk.
pyon@macmini
parents:
diff changeset
142
65
0369656be06c many changes.
pyon@macmini
parents: 41
diff changeset
143 if len(os.Args) != 5 {
41
34a474fb83c3 add perori/porori/nk.
pyon@macmini
parents:
diff changeset
144 fmt.Fprint(os.Stderr, "bat input.")
34a474fb83c3 add perori/porori/nk.
pyon@macmini
parents:
diff changeset
145 os.Exit(1)
34a474fb83c3 add perori/porori/nk.
pyon@macmini
parents:
diff changeset
146 }
34a474fb83c3 add perori/porori/nk.
pyon@macmini
parents:
diff changeset
147
34a474fb83c3 add perori/porori/nk.
pyon@macmini
parents:
diff changeset
148 // Filter Setting
34a474fb83c3 add perori/porori/nk.
pyon@macmini
parents:
diff changeset
149 type YF struct {
34a474fb83c3 add perori/porori/nk.
pyon@macmini
parents:
diff changeset
150 From string
34a474fb83c3 add perori/porori/nk.
pyon@macmini
parents:
diff changeset
151 To string
34a474fb83c3 add perori/porori/nk.
pyon@macmini
parents:
diff changeset
152 }
34a474fb83c3 add perori/porori/nk.
pyon@macmini
parents:
diff changeset
153 var yf YF
34a474fb83c3 add perori/porori/nk.
pyon@macmini
parents:
diff changeset
154
65
0369656be06c many changes.
pyon@macmini
parents: 41
diff changeset
155 content, err := os.ReadFile(jsonfile)
41
34a474fb83c3 add perori/porori/nk.
pyon@macmini
parents:
diff changeset
156 if err != nil {
34a474fb83c3 add perori/porori/nk.
pyon@macmini
parents:
diff changeset
157 log.Fatal(err)
34a474fb83c3 add perori/porori/nk.
pyon@macmini
parents:
diff changeset
158 }
34a474fb83c3 add perori/porori/nk.
pyon@macmini
parents:
diff changeset
159 if err := json.Unmarshal(content, &yf); err != nil {
34a474fb83c3 add perori/porori/nk.
pyon@macmini
parents:
diff changeset
160 log.Fatal(err)
34a474fb83c3 add perori/porori/nk.
pyon@macmini
parents:
diff changeset
161 }
34a474fb83c3 add perori/porori/nk.
pyon@macmini
parents:
diff changeset
162
34a474fb83c3 add perori/porori/nk.
pyon@macmini
parents:
diff changeset
163 // Read CSV
65
0369656be06c many changes.
pyon@macmini
parents: 41
diff changeset
164 content, err = os.ReadFile(os.Args[1]) // nintei.csv
41
34a474fb83c3 add perori/porori/nk.
pyon@macmini
parents:
diff changeset
165 if err != nil {
34a474fb83c3 add perori/porori/nk.
pyon@macmini
parents:
diff changeset
166 log.Fatal(err)
34a474fb83c3 add perori/porori/nk.
pyon@macmini
parents:
diff changeset
167 }
34a474fb83c3 add perori/porori/nk.
pyon@macmini
parents:
diff changeset
168
34a474fb83c3 add perori/porori/nk.
pyon@macmini
parents:
diff changeset
169 r := csv.NewReader(strings.NewReader(string(content)))
34a474fb83c3 add perori/porori/nk.
pyon@macmini
parents:
diff changeset
170
34a474fb83c3 add perori/porori/nk.
pyon@macmini
parents:
diff changeset
171 records, err := r.ReadAll()
34a474fb83c3 add perori/porori/nk.
pyon@macmini
parents:
diff changeset
172 if err != nil {
34a474fb83c3 add perori/porori/nk.
pyon@macmini
parents:
diff changeset
173 log.Fatal(err)
34a474fb83c3 add perori/porori/nk.
pyon@macmini
parents:
diff changeset
174 }
34a474fb83c3 add perori/porori/nk.
pyon@macmini
parents:
diff changeset
175
65
0369656be06c many changes.
pyon@macmini
parents: 41
diff changeset
176 ikensho, err := read_line(os.Args[2]) // i.csv
0369656be06c many changes.
pyon@macmini
parents: 41
diff changeset
177 if err != nil {
0369656be06c many changes.
pyon@macmini
parents: 41
diff changeset
178 log.Fatal(err)
0369656be06c many changes.
pyon@macmini
parents: 41
diff changeset
179 }
0369656be06c many changes.
pyon@macmini
parents: 41
diff changeset
180 chosa, err := read_line(os.Args[3]) // c.csv
0369656be06c many changes.
pyon@macmini
parents: 41
diff changeset
181 if err != nil {
0369656be06c many changes.
pyon@macmini
parents: 41
diff changeset
182 log.Fatal(err)
0369656be06c many changes.
pyon@macmini
parents: 41
diff changeset
183 }
0369656be06c many changes.
pyon@macmini
parents: 41
diff changeset
184
0369656be06c many changes.
pyon@macmini
parents: 41
diff changeset
185 remark, err := read_line(os.Args[4]) // t.csv
0369656be06c many changes.
pyon@macmini
parents: 41
diff changeset
186 if err != nil {
0369656be06c many changes.
pyon@macmini
parents: 41
diff changeset
187 log.Fatal(err)
0369656be06c many changes.
pyon@macmini
parents: 41
diff changeset
188 }
0369656be06c many changes.
pyon@macmini
parents: 41
diff changeset
189
41
34a474fb83c3 add perori/porori/nk.
pyon@macmini
parents:
diff changeset
190 // Main Proccess
34a474fb83c3 add perori/porori/nk.
pyon@macmini
parents:
diff changeset
191 var sinsei []Sinsei
34a474fb83c3 add perori/porori/nk.
pyon@macmini
parents:
diff changeset
192
34a474fb83c3 add perori/porori/nk.
pyon@macmini
parents:
diff changeset
193 for _, record := range records {
65
0369656be06c many changes.
pyon@macmini
parents: 41
diff changeset
194 if record[5] < yf.From || record[5] > yf.To {
41
34a474fb83c3 add perori/porori/nk.
pyon@macmini
parents:
diff changeset
195 continue
34a474fb83c3 add perori/porori/nk.
pyon@macmini
parents:
diff changeset
196 }
65
0369656be06c many changes.
pyon@macmini
parents: 41
diff changeset
197 var riymd, aymd, rcymd, vymd string
0369656be06c many changes.
pyon@macmini
parents: 41
diff changeset
198 key := strings.Join([]string{record[0], record[1]}, ",")
0369656be06c many changes.
pyon@macmini
parents: 41
diff changeset
199 for _, i := range ikensho {
0369656be06c many changes.
pyon@macmini
parents: 41
diff changeset
200 if strings.HasPrefix(i, key) {
0369656be06c many changes.
pyon@macmini
parents: 41
diff changeset
201 riymd = strings.Split(i, ",")[2]
0369656be06c many changes.
pyon@macmini
parents: 41
diff changeset
202 aymd = strings.Split(i, ",")[3]
0369656be06c many changes.
pyon@macmini
parents: 41
diff changeset
203 break
0369656be06c many changes.
pyon@macmini
parents: 41
diff changeset
204 }
0369656be06c many changes.
pyon@macmini
parents: 41
diff changeset
205 }
0369656be06c many changes.
pyon@macmini
parents: 41
diff changeset
206 for _, c := range chosa {
0369656be06c many changes.
pyon@macmini
parents: 41
diff changeset
207 if strings.HasPrefix(c, key) {
0369656be06c many changes.
pyon@macmini
parents: 41
diff changeset
208 rcymd = strings.Split(c, ",")[2]
0369656be06c many changes.
pyon@macmini
parents: 41
diff changeset
209 vymd = strings.Split(c, ",")[3]
0369656be06c many changes.
pyon@macmini
parents: 41
diff changeset
210 break
0369656be06c many changes.
pyon@macmini
parents: 41
diff changeset
211 }
0369656be06c many changes.
pyon@macmini
parents: 41
diff changeset
212 }
0369656be06c many changes.
pyon@macmini
parents: 41
diff changeset
213 var rymd string
0369656be06c many changes.
pyon@macmini
parents: 41
diff changeset
214 for _, t := range remark {
0369656be06c many changes.
pyon@macmini
parents: 41
diff changeset
215 h := strings.TrimSpace(record[0])
0369656be06c many changes.
pyon@macmini
parents: 41
diff changeset
216 c := strings.Split(t, ",")
0369656be06c many changes.
pyon@macmini
parents: 41
diff changeset
217 if strings.EqualFold(h, c[0]) && strings.EqualFold(record[3], c[1]) {
0369656be06c many changes.
pyon@macmini
parents: 41
diff changeset
218 rymd = c[2]
0369656be06c many changes.
pyon@macmini
parents: 41
diff changeset
219 break
0369656be06c many changes.
pyon@macmini
parents: 41
diff changeset
220 }
0369656be06c many changes.
pyon@macmini
parents: 41
diff changeset
221 }
41
34a474fb83c3 add perori/porori/nk.
pyon@macmini
parents:
diff changeset
222
34a474fb83c3 add perori/porori/nk.
pyon@macmini
parents:
diff changeset
223 ss := Sinsei{
34a474fb83c3 add perori/porori/nk.
pyon@macmini
parents:
diff changeset
224 No: record[0],
65
0369656be06c many changes.
pyon@macmini
parents: 41
diff changeset
225 Hist: record[1],
0369656be06c many changes.
pyon@macmini
parents: 41
diff changeset
226 Name: record[2],
0369656be06c many changes.
pyon@macmini
parents: 41
diff changeset
227 Ymd: record[3],
0369656be06c many changes.
pyon@macmini
parents: 41
diff changeset
228 Kbn: record[4],
0369656be06c many changes.
pyon@macmini
parents: 41
diff changeset
229 Ccn: record[5],
0369656be06c many changes.
pyon@macmini
parents: 41
diff changeset
230 Bgn: record[6],
0369656be06c many changes.
pyon@macmini
parents: 41
diff changeset
231 End: record[7],
0369656be06c many changes.
pyon@macmini
parents: 41
diff changeset
232 ReqI: riymd,
0369656be06c many changes.
pyon@macmini
parents: 41
diff changeset
233 Acc: aymd,
0369656be06c many changes.
pyon@macmini
parents: 41
diff changeset
234 ReqC: rcymd,
0369656be06c many changes.
pyon@macmini
parents: 41
diff changeset
235 Visit: vymd,
0369656be06c many changes.
pyon@macmini
parents: 41
diff changeset
236 Remark: rymd,
41
34a474fb83c3 add perori/porori/nk.
pyon@macmini
parents:
diff changeset
237 }
34a474fb83c3 add perori/porori/nk.
pyon@macmini
parents:
diff changeset
238 sinsei = append(sinsei, ss)
34a474fb83c3 add perori/porori/nk.
pyon@macmini
parents:
diff changeset
239 }
34a474fb83c3 add perori/porori/nk.
pyon@macmini
parents:
diff changeset
240
34a474fb83c3 add perori/porori/nk.
pyon@macmini
parents:
diff changeset
241 sort.Slice(sinsei, func(i, j int) bool {
34a474fb83c3 add perori/porori/nk.
pyon@macmini
parents:
diff changeset
242 return sinsei[i].Ymd < sinsei[j].Ymd
34a474fb83c3 add perori/porori/nk.
pyon@macmini
parents:
diff changeset
243 })
34a474fb83c3 add perori/porori/nk.
pyon@macmini
parents:
diff changeset
244
34a474fb83c3 add perori/porori/nk.
pyon@macmini
parents:
diff changeset
245 // Output
65
0369656be06c many changes.
pyon@macmini
parents: 41
diff changeset
246 header := strings.Join([]string{"被保番", "氏名", "申請日", "区分", "開始日", "終了日", "期間", "審査会", "日数", "意見書依頼", "日数", "意見書入手", "日数", "調査依頼", "日数", "調査", "日数", "特記", "日数"}, ",")
41
34a474fb83c3 add perori/porori/nk.
pyon@macmini
parents:
diff changeset
247 header, _, _ = transform.String(japanese.ShiftJIS.NewEncoder(), header)
34a474fb83c3 add perori/porori/nk.
pyon@macmini
parents:
diff changeset
248 fmt.Println(header)
34a474fb83c3 add perori/porori/nk.
pyon@macmini
parents:
diff changeset
249
65
0369656be06c many changes.
pyon@macmini
parents: 41
diff changeset
250 /*
0369656be06c many changes.
pyon@macmini
parents: 41
diff changeset
251 for i, s := range sinsei {
0369656be06c many changes.
pyon@macmini
parents: 41
diff changeset
252 fmt.Print(s)
0369656be06c many changes.
pyon@macmini
parents: 41
diff changeset
253 fmt.Printf(",=\"0\"&A%d\n", i + 2)
0369656be06c many changes.
pyon@macmini
parents: 41
diff changeset
254 }
0369656be06c many changes.
pyon@macmini
parents: 41
diff changeset
255 */
41
34a474fb83c3 add perori/porori/nk.
pyon@macmini
parents:
diff changeset
256 for _, s := range sinsei {
34a474fb83c3 add perori/porori/nk.
pyon@macmini
parents:
diff changeset
257 fmt.Println(s)
34a474fb83c3 add perori/porori/nk.
pyon@macmini
parents:
diff changeset
258 }
34a474fb83c3 add perori/porori/nk.
pyon@macmini
parents:
diff changeset
259 }
34a474fb83c3 add perori/porori/nk.
pyon@macmini
parents:
diff changeset
260