コード例 #1
0
ファイル: goreport.go プロジェクト: suzuken/goreport
func (r *GoReport) ReplacePageTotal() {
	if r.PageTotal == false {
		return
	}
	lines := strings.Split(r.Converter.Text, "\n")
	list := new(df.List)
	for i, line := range lines {
		if len(line) < 8 {
			continue
		}
		if line[0:7] == "v\tPAGE\t" {
			h := new(pagehist)
			h.line = i
			h.page = AtoiPanic(line[7:])
			list.Add(h)
			//fmt.Printf("hist %v \n", h)
		}
	}
	for i, line := range lines {
		if strings.Index(line, "{#TotalPage#}") > -1 {
			total := r.getTotalPage(i, list)
			//fmt.Printf("total :%v\n", total)
			lines[i] = strings.Replace(lines[i], "{#TotalPage#}", strconv.Itoa(total), -1)
		}
	}
	buf := new(bytes.Buffer)
	for _, line := range lines {
		buf.WriteString(line + "\n")
	}
	r.Converter.Text = buf.String()
}
コード例 #2
0
func (p *Customer) Transaction(transactions []interface{}) {
	transactionResult := new(df.List)
	for _, transaction := range transactions {
		var tran map[string]interface{} = transaction.(map[string]interface{})
		res := p.executeEachTransaction(tran)
		transactionResult.Add(res)
	}
	p.context.JSON(200, dfweb.SetNormalFetchResult(transactionResult))
}
コード例 #3
0
func (p *SysTable) GetDbs() {
	cbx := cb.CreateSysTableCB()
	cbx.Query().SetDelFlag_Equal(0)
	cbx.Query().SetTableName_Equal("DbName")
	cbx.Query().AddOrderBy_Key1_Asc()
	res, err := bhv.SysTableBhv_I.SelectList(cbx, p.tx)
	if err != nil {
		panic(err.Error())
	}
	reslist := new(df.List)
	for _, ent := range res.List.GetAsArray() {
		entx := ent.(*entity.SysTable)
		cmap := make(map[string]string)
		cmap["value"] = entx.GetKey1()
		cmap["label"] = entx.GetKey1()
		reslist.Add(cmap)
	}
	p.context.JSON(200, dfweb.SetNormalFetchResult(reslist))
}
コード例 #4
0
func (p *Employee) getSecData() {
	cbx := cb.CreateUserTableCB()
	cbx.Query().SetDelFlag_Equal(0)
	cbx.Query().SetTableName_Equal("section")
	cbx.Query().AddOrderBy_Key1_Asc()
	res, err := bhv.UserTableBhv_I.SelectList(cbx, p.tx)
	if err != nil {
		panic(err.Error())
	}
	reslist := new(df.List)
	cmap := make(map[string]interface{})
	cmap["value"] = 0
	cmap["label"] = ""
	reslist.Add(cmap)
	for _, ent := range res.List.GetAsArray() {
		entx := ent.(*entity.UserTable)
		cmap := make(map[string]interface{})
		cmap["value"] = entx.GetId()
		cmap["label"] = entx.GetS1Data().String
		reslist.Add(cmap)
	}
	p.context.JSON(200, dfweb.SetNormalFetchResult(reslist))
}
コード例 #5
0
ファイル: goreport.go プロジェクト: suzuken/goreport
func (r *GoReport) getTotalPage(lineno int, list *df.List) int {
	count := 0
	page := 0
	for i, l := range list.GetAsArray() {
		if l.(*pagehist).line >= lineno {
			count = i
			break
		}
	}
	for i := count; i < list.Size(); i++ {
		newpage := list.Get(i).(*pagehist).page
		if newpage <= page {
			return page
		}
		page = newpage
		//fmt.Printf("page :%v\n", page)
	}
	return page
}
コード例 #6
0
func SetNormalFetchResult(ar *df.List) map[string]interface{} {
	return SetFetchResult(ar.GetAsArray(), 0, 0, ar.Size())
}