예제 #1
0
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)
}
예제 #2
0
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
}
예제 #3
0
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)
}
예제 #4
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
}
예제 #5
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
}
예제 #6
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
}
예제 #7
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))
}
예제 #8
0
func (h M1Footer) Execute(report gr.GoReport) {
	report.Cell(160, 2, "Footer Sample")
}
예제 #9
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
}
예제 #10
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
}
예제 #11
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)
}
예제 #12
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"]++
}
예제 #13
0
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)
}
예제 #14
0
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

}
예제 #15
0
func (h C1Footer) Execute(report gr.GoReport) {
	report.Cell(100, 12, "Page")
	report.Cell(112, 12, strconv.Itoa(report.Page))
}
예제 #16
0
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))
}
예제 #17
0
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")
}