func (h C1Header) Execute(report gr.GoReport) { cols := report.Records[report.DataPos].([]string) y := 32.0 if report.SumWork["g2item"] == 0.0 { report.Image("apple.jpg", 20, 35, 35, 50) report.Font("MPBOLD", 18, "") report.LineType("straight", 1) report.GrayStroke(0.9) report.LineV(49, 72, 90) report.LineV(150, 43, 67) report.LineV(150, 71, 95) report.GrayStroke(0) // report.LineType("straight", 0.5) // report.Rect(48, 13, 81, 21) report.Cell(145, 33, "TAX INVOICE") report.Font("MPBOLD", 9, "") report.Cell(139, 45, "From") x := 153.0 report.Cell(x, 45, "Test Consulting Corp.") report.Cell(x, 51, "123 Hyde Street") report.Cell(x, 57, "San Francisco, Calfornia") report.Cell(x, 63, "USA") report.Cell(139, 74, "To") report.Cell(x, 74, cols[0]) report.Cell(x, 80, cols[1]) report.Cell(x, 86, cols[2]) report.Cell(x, 92, cols[3]) x = 14.0 report.Cell(x, 73, "Tax Invoice No:") report.Cell(x, 79, "Tax Invoice Date:") report.Cell(x, 85, "Payment Due Date:") x = 52 report.Cell(x, 73, cols[9]) report.Cell(x, 79, cols[10]) report.Cell(x, 85, cols[11]) y = 110 y = y } report.LineType("straight", 7) report.GrayStroke(0.9) report.LineH(11, y-2, 199) report.GrayStroke(0) report.Cell(14, y, "Type") report.Cell(40, y, "Description") report.Cell(161, y, "Hours") report.Cell(184, y, "Amount") report.SumWork["g2item"] = 1.0 }
func (h C2Detail) Execute(report gr.GoReport) { slipSHow := true cols := report.Records[report.DataPos].([]string) if report.SumWork["g1item"] > 0 { bfr := report.Records[report.DataPos-1].([]string) if cols[4] == bfr[4] { slipSHow = false } } y := 1.5 x := 25.0 report.LineType("straight", 0.3) report.GrayStroke(0) report.Rect(x+41, 0, x+160, 5) report.LineV(x, 0, 5) report.LineV(x+23, 0, 5) report.LineV(x+61, 0, 5) report.LineV(x+99, 0, 5) report.LineV(x+116, 0, 5) report.LineV(x+135, 0, 5) fty := report.SumWork["__ft__"] //最下行なら横線を引く fmt.Printf("fty %v CurrY %v\n", fty, report.CurrY) if fty-report.CurrY <= 5 { report.LineH(x, 5, x+41) } report.Font("IPAexゴシック", 9, "") if slipSHow { report.Cell(x+1, y, cols[3]) report.Cell(x+24, y, cols[4]) } report.Cell(x+42, y, cols[5]) report.Cell(x+62, y, cols[6]) report.CellRight(x+115, y, 0, gr.AddComma(cols[7])) report.CellRight(x+134, y, 0, "\u00A5"+gr.AddComma(cols[8])) report.CellRight(x+159, y, 0, "\u00A5"+gr.AddComma(cols[9])) amt := gr.AtoiPanic(cols[9]) report.SumWork["g1amtcum"] += float64(amt) report.SumWork["g2amtcum"] += float64(amt) report.SumWork["g1item"]++ report.SumWork["g2item"]++ }
func (h C2Header) Execute(report gr.GoReport) { cols := report.Records[report.DataPos].([]string) y := 32.0 x := 25.0 if report.SumWork["g2item"] == 0.0 { numConv := unicode.SpecialCase{ // 半角の 0 から 9 に対する変換ルール unicode.CaseRange{ 0x0030, // Lo: 半角の 0 0x0039, // Hi: 半角の 9 [unicode.MaxCase]rune{ 0xff10 - 0x0030, // UpperCase で全角に変換 0, // LowerCase では変換しない 0xff10 - 0x0030, // TitleCase で全角に変換 }, }, } report.Font("IPAexゴシック", 10, "") now := strings.ToUpperSpecial( numConv, time.Now().Format(C2DateFormat)) report.CellRight(182, 12, 0, now) report.CellRight(182, 19, 0, "請求書番号:"+cols[2]) report.Font("IPAexゴシック", 16, "") report.Cell(92, 30, "請求書") report.Font("IPAexゴシック", 11, "") x = 118.0 report.Cell(x, 46, "サンプル商事株式会社") report.Cell(x, 51, "山田太郎") report.Font("IPAexゴシック", 9, "") report.Cell(x, 58, "〒181-0001") report.Cell(x, 62, "東京都三鷹市井の頭5-12-12") report.Cell(x, 72, "TEL:0422-22-2222") report.Cell(x, 76, "FAX:0422-22-2223") report.Cell(x, 80, "*****@*****.**") cols = cols x = 25 report.Font("IPAexゴシック", 12, "") company := cols[1] + " 御中" // 注意 Pdf.SetFontは呼び出し順が違う report.Converter.Pdf.SetFont("IPAexゴシック", "", 12) w, _ := report.Converter.Pdf.MeasureTextWidth(company) report.Cell(x, 46, company) report.LineType("straight", 0.3) report.GrayStroke(0.5) report.LineH(x, 50, x+w/report.ConvPt) report.Font("IPAexゴシック", 9, "") report.Cell(x, 58, "下記のとおりご請求申し上げます。") report.Font("IPAexゴシック", 12, "") report.Cell(x, 70, "ご請求金額") report.CellRight(x+72, 70, 0, "¥"+gr.AddComma(cols[10])+"-") report.LineH(x, 74, x+72) report.GrayStroke(0) y = 85 } report.LineType("straight", 5) report.GrayStroke(0.85) report.LineH(x, y, x+160) report.LineType("straight", 0.3) report.GrayStroke(0) report.Rect(x, y, x+160, y+5) report.LineV(x+23, y, y+5) report.LineV(x+41, y, y+5) report.LineV(x+61, y, y+5) report.LineV(x+99, y, y+5) report.LineV(x+116, y, y+5) report.LineV(x+135, y, y+5) report.Font("IPAexゴシック", 10, "") yadd := 1.5 report.Cell(x+5, y+yadd, "年月日") report.Cell(x+28, y+yadd, "伝票") report.Cell(x+47, y+yadd, "品番") report.Cell(x+76, y+yadd, "品名") report.Cell(x+104, y+yadd, "数量") report.Cell(x+122, y+yadd, "単価") report.Cell(x+144, y+yadd, "金額") report.SumWork["g1item"] = 0.0 report.SumWork["g2item"] = 1.0 }