func (h M1G2Summary) Execute(report gr.GoReport) { report.Cell(150, 2, "Dept Total") report.CellRight(180, 2, 30, strconv.FormatFloat( report.SumWork["g2cum"], 'f', 2, 64)) report.SumWork["g2cum"] = 0.0 //Force New Page report.NewPage(false) }
func (h C1Detail) Execute(report gr.GoReport) { cols := report.Records[report.DataPos].([]string) y := 2.0 report.Font("IPAexG", 9, "") report.Cell(14, y, cols[5]) report.Cell(40, y, cols[6]) hr := gr.ParseFloatPanic(cols[7]) report.CellRight(150, y, 20, gr.AddComma(strconv.FormatFloat(hr, 'f', 1, 64))+" Hrs") amt := gr.ParseFloatPanic(cols[8]) report.CellRight(170, y, 26, gr.AddComma(strconv.FormatFloat(amt, 'f', 2, 64))+" USD") report.SumWork["g1amtcum"] += amt report.SumWork["g2amtcum"] += amt report.SumWork["g1hrcum"] += hr report.SumWork["g2hrcum"] += hr }
func (h C1G1Header) Execute(report gr.GoReport) { cols := report.Records[report.DataPos].([]string) y := 2.0 report.Font("MPBOLD", 9, "") report.Cell(14, y, "SUB-TASK") report.Cell(40, y, cols[4]) report.LineType("straight", 1) report.GrayStroke(0.9) report.LineH(11, 7, 199) report.GrayStroke(0) }
func (h C1G2Summary) Execute(report gr.GoReport) { report.Font("MPBOLD", 9, "") y := 15.0 report.CellRight(123, y, 20, "Total:") report.CellRight(150, y, 20, gr.AddComma(strconv.FormatFloat( report.SumWork["g2hrcum"], 'f', 1, 64))+" Hrs") report.CellRight(170, y, 26, gr.AddComma(strconv.FormatFloat( report.SumWork["g2amtcum"], 'f', 2, 64))+" USD") y = 25.0 report.CellRight(123, y, 20, "Tax:") report.CellRight(150, y, 20, "7.75%") tax := report.SumWork["g2amtcum"] * 0.0775 report.CellRight(170, y, 26, gr.AddComma(strconv.FormatFloat( tax, 'f', 2, 64))+" USD") report.LineType("straight", 0.3) report.LineH(170, 33, 199) y = 39.0 report.Font("MPBOLD", 11, "") report.CellRight(123, y, 20, "AMOUT DUE:") report.CellRight(170, y, 26, gr.AddComma(strconv.FormatFloat( report.SumWork["g2amtcum"]+tax, 'f', 2, 64))+" USD") report.NewPage(true) report.SumWork["g2item"] = 0.0 report.SumWork["g2hrcum"] = 0.0 report.SumWork["g2amtcum"] = 0.0 }
func (h C1G1Summary) Execute(report gr.GoReport) { y := 2.0 report.LineType("straight", 1) report.GrayStroke(0.9) report.LineH(11, 0, 199) report.GrayStroke(0) report.Font("MPBOLD", 9, "") report.CellRight(150, y, 20, gr.AddComma(strconv.FormatFloat( report.SumWork["g1hrcum"], 'f', 1, 64))+" Hrs") report.CellRight(170, y, 26, gr.AddComma(strconv.FormatFloat( report.SumWork["g1amtcum"], 'f', 2, 64))+" USD") report.SumWork["g1amtcum"] = 0.0 report.SumWork["g1hrcum"] = 0.0 }
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 M1Detail) Execute(report gr.GoReport) { cols := report.Records[report.DataPos].([]string) report.Font("IPAexG", 12, "") y := 2.0 report.Cell(15, y, cols[0]) report.Cell(30, y, cols[1]) report.Cell(60, y, cols[2]) report.Cell(90, y, cols[3]) report.Cell(120, y, cols[4]) report.CellRight(135, y, 25, cols[5]) report.CellRight(160, y, 20, cols[6]) amt := ParseFloatNoError(cols[5]) * ParseFloatNoError(cols[6]) report.SumWork["g1item"] += 1.0 report.SumWork["amountcum"] += amt report.SumWork["g1cum"] += amt report.SumWork["g2cum"] += amt report.CellRight(180, y, 30, strconv.FormatFloat(amt, 'f', 2, 64)) }
func (h M1Footer) Execute(report gr.GoReport) { report.Cell(160, 2, "Footer Sample") }
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 }
func (h M1G1Summary) Execute(report gr.GoReport) { //Conditional print if item==1 not print if report.SumWork["g1item"] != 1.0 { report.Cell(80, 2, "Item") report.CellRight(100, 2, 10, strconv.FormatFloat( report.SumWork["g1item"], 'f', 0, 64)) report.Cell(150, 2, "Order Total") report.CellRight(180, 2, 30, strconv.FormatFloat( report.SumWork["g1cum"], 'f', 2, 64)) report.LineType("straight", 0.2) report.LineH(15, 7, 220) } else { report.LineType("straight", 0.2) report.LineH(15, -3, 220) } report.SumWork["g1item"] = 0.0 report.SumWork["g1cum"] = 0.0 }
func (h M1Header) Execute(report gr.GoReport) { report.Font("IPAexG", 14, "") report.LineType("straight", 8) report.GrayStroke(0.9) report.LineH(48, 13, 81) report.GrayStroke(0) report.LineType("straight", 0.5) report.Rect(48, 13, 81, 21) report.Cell(50, 15, "Sales Report") report.Font("IPAexG", 12, "") report.Cell(245, 20, "page") report.CellRight(253, 20, 10, strconv.Itoa(report.Page)) report.Cell(264, 20, "of") report.CellRight(268, 20, 10, "{#TotalPage#}") y := 23.0 report.Cell(15, y, "D No") report.Cell(30, y, "Dept") report.Cell(60, y, "Order") report.Cell(90, y, "Stock") report.Cell(120, y, "Name") report.CellRight(135, y, 25, "Unit Price") report.CellRight(160, y, 20, "Qty") report.CellRight(190, y, 20, "Amount") report.LineType("straight", 0.2) report.LineH(15, 28, 220) report.Image("apple.jpg", 220, 10, 240, 30) }
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 C2G2Summary) Execute(report gr.GoReport) { x := 25.0 y := 1.5 report.LineType("straight", 15) report.GrayStroke(0.85) report.LineH(x+116, 0, x+160) report.LineType("straight", 0.3) report.GrayStroke(0) report.Rect(x+116, 0, x+160, 5) report.Rect(x+116, 5, x+160, 10) report.Rect(x+116, 10, x+160, 15) report.Font("IPAexゴシック", 10, "") report.CellRight(x+159, y, 0, "\u00A5"+gr.AddComma( strconv.FormatFloat(report.SumWork["g2amtcum"], 'f', 0, 64))) report.Cell(x+117, y, "合計") amt := report.SumWork["g2amtcum"] report.CellRight(x+159, y, 0, "\u00A5"+gr.AddComma( strconv.FormatFloat(amt, 'f', 0, 64))) cons := amt * 0.08 report.Cell(x+117, y+5, "消費税(8%)") report.CellRight(x+159, y+5, 0, "\u00A5"+gr.AddComma( strconv.FormatFloat(cons, 'f', 0, 64))) report.Cell(x+117, y+10, "請求金額") report.CellRight(x+159, y+10, 0, "\u00A5"+gr.AddComma( strconv.FormatFloat(amt+cons, 'f', 0, 64))) report.SumWork["g2amtcum"] = 0.0 report.SumWork["g2item"] = 0.0 report.NewPage(true) }
func (h C2G1Summary) Execute(report gr.GoReport) { x := 25.0 y := 1.5 report.LineType("straight", 5) report.GrayStroke(0.85) report.LineH(x, 0, x+160) report.LineType("straight", 0.3) report.GrayStroke(0) report.Rect(x, 0, x+160, 5) report.Font("IPAexゴシック", 10, "") report.CellRight(x+159, y, 0, "\u00A5"+gr.AddComma( strconv.FormatFloat(report.SumWork["g1amtcum"], 'f', 0, 64))) report.Cell(x+117, y, "伝票合計") report.SumWork["g1amtcum"] = 0.0 report.SumWork["g1item"] = 0.0 }
func (h C1Footer) Execute(report gr.GoReport) { report.Cell(100, 12, "Page") report.Cell(112, 12, strconv.Itoa(report.Page)) }
func (h M1Summary) Execute(report gr.GoReport) { report.Cell(160, 2, "Total") report.CellRight(180, 2, 30, strconv.FormatFloat( report.SumWork["amountcum"], 'f', 2, 64)) }
func (h S1Header) Execute(report gr.GoReport) { report.Font("IPAexG", 14, "") report.Cell(50, 15, "Sales Report") report.Font("IPAexG", 12, "") report.Cell(240, 20, "page") report.Cell(260, 20, strconv.Itoa(report.Page)) y := 23.0 report.Cell(15, y, "D No") report.Cell(30, y, "Dept") report.Cell(60, y, "Order") report.Cell(90, y, "Stock") report.Cell(120, y, "Name") report.CellRight(135, y, 25, "Unit Price") report.CellRight(160, y, 20, "Qty") report.CellRight(190, y, 20, "Amount") }