示例#1
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
}
示例#2
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"]++
}
示例#3
0
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
}