瀏覽代碼

fix:客户名称支持关键字查询,新增用印单列表接口

Roc 3 年之前
父節點
當前提交
6572c4f17a

+ 6 - 5
controllers/approval.go

@@ -673,20 +673,21 @@ func (this *ApprovalCommon) GetFlowDetail() {
 	this.OkDetailed(formatFlowItem, "获取成功")
 }
 
+// CompanyList
 // @Title 根据客户名称获取已存在合同系统中客户名称列表
 // @Description 获取合同详情接口
-// @Param   CompanyName   query   string  true       "客户名称"
+// @Param   Keyword   query   string  true       "搜索关键字:客户名称、组织社会信用码"
 // @Success 200 {object} []string
 // @router /company_list [get]
 func (this *ApprovalCommon) CompanyList() {
-	companyName := this.GetString("CompanyName")
+	keyword := this.GetString("Keyword")
 	//合同id
-	if companyName == "" {
-		this.FailWithMessage("客户名称必传!", "客户名称必传!")
+	if keyword == "" {
+		this.FailWithMessage("搜索关键字必传!", "搜索关键字必传!")
 		return
 	}
 	companyNameList := make([]string, 0)
-	list, err := company_approval.GetCompanyNameList(this.AdminWx.AdminId, this.AdminWx.RoleTypeCode, companyName)
+	list, err := company_approval.GetCompanyNameList(this.AdminWx.AdminId, this.AdminWx.RoleTypeCode, keyword)
 	if err != nil {
 		this.FailWithMessage("获取客户名称列表失败!", "获取客户名称列表失败,ERR:"+err.Error())
 		return

+ 8 - 6
controllers/contract.go

@@ -73,23 +73,25 @@ func (this *ContractCommon) Detail() {
 	this.OkDetailed(resp, "获取成功")
 }
 
+// CompanyList
 // @Title 根据客户名称获取已存在合同系统中客户名称列表
 // @Description 获取合同详情接口
 // @Param   CompanyName   query   string  true       "客户名称"
+// @Param   Keyword   query   string  true       "关键字:客户名称、社会信用码"
 // @Param   Status   query   string  true       "合同状态"
 // @Success 200 {object} []string
 // @router /company_list [get]
 func (this *ContractCommon) CompanyList() {
 	sysUser := this.AdminWx
-	companyName := this.GetString("CompanyName")
-	//合同id
-	if companyName == "" {
-		this.FailWithMessage("客户名称必传!", "客户名称必传!")
+	keyword := this.GetString("Keyword")
+	//搜索关键字
+	if keyword == "" {
+		this.FailWithMessage("搜索关键字必传!", "搜索关键字必传!")
 		return
 	}
 	status := this.GetString("Status")
 	companyNameList := make([]string, 0)
-	list, err := contract.GetCompanyNameList(this.AdminWx.AdminId, companyName, status)
+	list, err := contract.GetCompanyNameList(this.AdminWx.AdminId, keyword, status)
 	if err != nil {
 		this.FailWithMessage("获取客户名称列表失败!", "获取客户名称列表失败,ERR:"+err.Error())
 		return
@@ -110,7 +112,7 @@ func (this *ContractCommon) CompanyList() {
 	} else {
 		condition += ` AND (c.seller_id = ? or d.approve_user_id = ?)`
 	}
-	condition += `and company_name like '%` + companyName + `%'`
+	condition += `and (company_name like '%` + keyword + `%' or credit_code like '%` + keyword + `%')`
 
 	pars = append(pars, sysUser.AdminId, sysUser.AdminId)
 	list2, err := contract_approval.GetCompanyNameListV2(childCondition, condition, childPars, pars)

+ 145 - 46
controllers/seal.go

@@ -7,23 +7,26 @@ import (
 	"hongze/hongze_mobile_admin/models/tables/seal"
 	sealService "hongze/hongze_mobile_admin/services/seal"
 	"hongze/hongze_mobile_admin/utils"
+	"rdluck_tools/paging"
 )
 
+//SealCommon
 //用印模块
 type SealCommon struct {
 	BaseAuth
 }
 
+//Add
 // @Title 新增用印
 // @Description 新增用印接口
 // @Param	request	body seal.AddReq true "type json string"
 // @Success Ret=200 新增用印成功
 // @router /add [post]
-func (this *SealCommon) Add() {
+func (c *SealCommon) Add() {
 	var req sealReq.AddReq
-	err := json.Unmarshal(this.Ctx.Input.RequestBody, &req)
+	err := json.Unmarshal(c.Ctx.Input.RequestBody, &req)
 	if err != nil {
-		this.FailWithMessage("参数解析异常!", "参数解析失败,Err:"+err.Error())
+		c.FailWithMessage("参数解析异常!", "参数解析失败,Err:"+err.Error())
 		return
 	}
 
@@ -39,35 +42,36 @@ func (this *SealCommon) Add() {
 	err = utils.Verify(req, paramVerify, utils.LANG_CN)
 
 	if err != nil {
-		this.FailWithMessage("缺少参数", err.Error())
+		c.FailWithMessage("缺少参数", err.Error())
 		return
 	}
-	sealInfo, err := sealService.AddSeal(this.AdminWx.AdminId, req.ContractId, req.FileNum, this.AdminWx.RealName, req.Use, req.UseCompanyName, req.CompanyName, req.CreditCode, req.ServiceType, req.SealType, req.Remark, req.FileUrl)
+	sealInfo, err := sealService.AddSeal(c.AdminWx.AdminId, req.ContractId, req.FileNum, c.AdminWx.RealName, req.Use, req.UseCompanyName, req.CompanyName, req.CreditCode, req.ServiceType, req.SealType, req.Remark, req.FileUrl)
 	if err != nil {
-		this.FailWithMessage("用印添加失败", err.Error())
+		c.FailWithMessage("用印添加失败", err.Error())
 		return
 	}
 
 	err = sealService.Apply(sealInfo)
 	if err != nil {
-		this.FailWithMessage("发起用印审批失败", "发起用印审批失败,Err:"+err.Error())
+		c.FailWithMessage("发起用印审批失败", "发起用印审批失败,Err:"+err.Error())
 		return
 	}
-	this.OkDetailed(sealResp.AddSealResp{
+	c.OkDetailed(sealResp.AddSealResp{
 		SealId: sealInfo.SealId,
 	}, "发起用印审批成功")
 }
 
+//Edit
 // @Title 编辑用印
 // @Description 编辑用印接口
 // @Param	request	body seal.EditReq true "type json string"
 // @Success 200 {object} seal.AddSealResp
 // @router /edit [post]
-func (this *SealCommon) Edit() {
+func (c *SealCommon) Edit() {
 	var req sealReq.EditReq
-	err := json.Unmarshal(this.Ctx.Input.RequestBody, &req)
+	err := json.Unmarshal(c.Ctx.Input.RequestBody, &req)
 	if err != nil {
-		this.FailWithMessage("参数解析异常!", "参数解析失败,Err:"+err.Error())
+		c.FailWithMessage("参数解析异常!", "参数解析失败,Err:"+err.Error())
 		return
 	}
 
@@ -84,34 +88,35 @@ func (this *SealCommon) Edit() {
 	err = utils.Verify(req, paramVerify, utils.LANG_CN)
 
 	if req.SealId <= 0 {
-		this.FailWithMessage("合同编号必传!", "合同编号必传!")
+		c.FailWithMessage("合同编号必传!", "合同编号必传!")
 		return
 	}
-	sealInfo, err := sealService.Edit(req.SealId, this.AdminWx.AdminId, req.ContractId, req.FileNum, req.Use, req.CompanyName, req.UseCompanyName, req.CreditCode, req.ServiceType, req.SealType, req.Remark, req.FileUrl)
+	sealInfo, err := sealService.Edit(req.SealId, c.AdminWx.AdminId, req.ContractId, req.FileNum, req.Use, req.CompanyName, req.UseCompanyName, req.CreditCode, req.ServiceType, req.SealType, req.Remark, req.FileUrl)
 	if err != nil {
-		this.FailWithMessage("修改合同失败!", "修改合同失败,Err:"+err.Error())
+		c.FailWithMessage("修改合同失败!", "修改合同失败,Err:"+err.Error())
 		return
 	}
 	tmpErr := sealService.Apply(sealInfo)
 	if tmpErr != nil {
-		this.FailWithMessage("发起重申失败!", "发起重申失败,Err:"+tmpErr.Error())
+		c.FailWithMessage("发起重申失败!", "发起重申失败,Err:"+tmpErr.Error())
 		return
 	}
-	this.OkDetailed(sealResp.AddSealResp{
+	c.OkDetailed(sealResp.AddSealResp{
 		SealId: sealInfo.SealId,
 	}, "发起重申成功")
 }
 
+//CheckEdit
 // @Title 审批者编辑用印
 // @Description 审批者编辑用印接口
 // @Param	request	body seal.CheckEditReq true "type json string"
 // @Success 200 {object} seal.AddSealResp
 // @router /check_edit [post]
-func (this *SealCommon) CheckEdit() {
+func (c *SealCommon) CheckEdit() {
 	var req sealReq.CheckEditReq
-	err := json.Unmarshal(this.Ctx.Input.RequestBody, &req)
+	err := json.Unmarshal(c.Ctx.Input.RequestBody, &req)
 	if err != nil {
-		this.FailWithMessage("参数解析异常!", "参数解析失败,Err:"+err.Error())
+		c.FailWithMessage("参数解析异常!", "参数解析失败,Err:"+err.Error())
 		return
 	}
 
@@ -129,41 +134,133 @@ func (this *SealCommon) CheckEdit() {
 
 	sealId := req.SealId
 	if sealId <= 0 {
-		this.FailWithMessage("请传入用印单编号!", "请传入用印单编号!")
+		c.FailWithMessage("请传入用印单编号!", "请传入用印单编号!")
 		return
 	}
 
 	//数据校验(校验是否具有审批权限)
-	sealInfo, approvalInfo, approvalRecord, err := sealService.CheckApproveAuth(sealId, this.AdminWx)
+	sealInfo, approvalInfo, approvalRecord, err := sealService.CheckApproveAuth(sealId, c.AdminWx)
 
 	//合规修改
-	err = sealService.CheckEdit(sealInfo, approvalInfo, approvalRecord, req.FileNum, req.FileUrl, req.Use, req.SealType, req.Remark, this.AdminWx)
+	err = sealService.CheckEdit(sealInfo, approvalInfo, approvalRecord, req.FileNum, req.FileUrl, req.Use, req.SealType, req.Remark, c.AdminWx)
 	if err != nil {
-		this.FailWithMessage("修改合同失败!", "修改合同失败,Err:"+err.Error())
+		c.FailWithMessage("修改合同失败!", "修改合同失败,Err:"+err.Error())
 		return
 	}
-	this.OkDetailed(sealResp.AddSealResp{
+	c.OkDetailed(sealResp.AddSealResp{
 		SealId: sealInfo.SealId,
 	}, "修改合同成功")
 }
 
+//List
+// @Title 用印列表
+// @Description 用印列表接口
+// @Param   Status   query   string  false       "合同状态,枚举值:'待提交','待审批','已撤回','已审批','已驳回','已作废'"
+// @Param   ProductId   query   int  false       "客户类型:传0或者不传为当前账号权限,1 代表是:ficc;2 代表是:权益"
+// @Param   ModifyStartTime   query   string  false       "服务更新时间的选择开始时间,格式:2021-05-23 00:00:00"
+// @Param   ModifyEndTime   query   string  false       "服务更新时间的选择结束时间,格式:2021-05-26 23:59:59"
+// @Param   AdminId   query   string  false       "选择的用户id"
+// @Param   Keyword   query   string  false       "搜索关键字"
+// @Success 200 {object} contract.ContractListResp
+// @router /list [get]
+func (c *SealCommon) List() {
+	//合同类型、产品类型、合同状态、更新时间、所选销售
+	//关键字:合同编号、客户名称,社会信用码
+	status := c.GetString("Status")
+	productId, _ := c.GetInt("ProductId")
+	modifyStartTime := c.GetString("ModifyStartTime")
+	modifyEndTime := c.GetString("ModifyEndTime")
+	adminIds := c.GetString("AdminId")
+	keyword := c.GetString("Keyword")
+
+	condition := ""
+	pars := make([]interface{}, 0)
+
+	//合同类型、、更新时间、所选销售
+	//关键字:合同编号、客户名称,社会信用码
+
+	//合同状态
+	if status != "" {
+		condition += ` AND status = ? `
+		pars = append(pars, status)
+	}
+	//产品类型
+	if productId > 0 {
+		condition += ` AND product_id = ? `
+		pars = append(pars, productId)
+	}
+	//所选销售
+	if adminIds != "" {
+		condition += ` AND user_id IN (` + adminIds + `) `
+	} else {
+		condition += ` AND user_id =?`
+		pars = append(pars, c.AdminWx.AdminId)
+	}
+	//更新开始时间
+	if modifyStartTime != "" {
+		condition += ` AND modify_time >= ? `
+		pars = append(pars, modifyStartTime)
+	}
+	//更新结束时间
+	if modifyEndTime != "" {
+		condition += ` AND modify_time <= ? `
+		pars = append(pars, modifyEndTime)
+	}
+	//关键字
+	if keyword != "" {
+		condition += ` AND (contract_code LIKE '%` + keyword + `%' OR company_name LIKE '%` + keyword + `%' OR credit_code LIKE '%` + keyword + `%' ) `
+	}
+
+	pageSize, _ := c.GetInt("PageSize")
+	currentIndex, _ := c.GetInt("CurrentIndex")
+
+	var startSize int
+	if pageSize <= 0 {
+		pageSize = utils.PageSize20
+	}
+	if currentIndex <= 0 {
+		currentIndex = 1
+	}
+	startSize = paging.StartIndex(currentIndex, pageSize)
+
+	total, err := seal.GetListCount(condition, pars)
+	if err != nil {
+		c.FailWithMessage("获取失败", "获取数据总数失败,Err:"+err.Error())
+		return
+	}
+
+	list, err := seal.GetList(condition, pars, startSize, pageSize)
+	if err != nil {
+		c.FailWithMessage("获取合同列表失败", "获取合同列表失败,Err:"+err.Error())
+		return
+	}
+
+	page := paging.GetPaging(currentIndex, pageSize, total)
+
+	c.OkDetailed(sealResp.RespSealList{
+		List:   list,
+		Paging: page,
+	}, "获取成功")
+}
+
+//Detail
 // @Title 获取用印详情
 // @Description 获取用印详情接口
 // @Param   SealId   query   int  true       "用印id"
 // @Success 200 {object} seal.SealDetailResp
 // @router /detail [get]
-func (this *SealCommon) Detail() {
+func (c *SealCommon) Detail() {
 	//合同类型、产品类型、合同状态、更新时间、所选销售
 	//关键字:合同编号、客户名称,社会信用码
-	sealId, _ := this.GetInt("SealId")
+	sealId, _ := c.GetInt("SealId")
 	//用印id
 	if sealId <= 0 {
-		this.FailWithMessage("用印id必传!", "用印id必传!")
+		c.FailWithMessage("用印id必传!", "用印id必传!")
 		return
 	}
-	sealInfo, flowNodeListResp, opButton, err := sealService.GetSealDetailBySealId(sealId, this.AdminWx)
+	sealInfo, flowNodeListResp, opButton, err := sealService.GetSealDetailBySealId(sealId, c.AdminWx)
 	if err != nil {
-		this.FailWithMessage("获取详情失败", "获取详情失败,Err:"+err.Error())
+		c.FailWithMessage("获取详情失败", "获取详情失败,Err:"+err.Error())
 		return
 	}
 
@@ -172,49 +269,51 @@ func (this *SealCommon) Detail() {
 		FlowNodeList: flowNodeListResp,
 		OpButton:     opButton,
 	}
-	this.OkDetailed(resp, "获取成功")
+	c.OkDetailed(resp, "获取成功")
 }
 
+//Invalid
 // @Title 作废合同
 // @Description 作废合同接口
 // @Param	request	body seal.InvalidReq true "type json string"
 // @Success Ret=200 作废成功
 // @router /invalid [post]
-func (this *SealCommon) Invalid() {
+func (c *SealCommon) Invalid() {
 	var req sealReq.InvalidReq
-	err := json.Unmarshal(this.Ctx.Input.RequestBody, &req)
+	err := json.Unmarshal(c.Ctx.Input.RequestBody, &req)
 	if err != nil {
-		this.FailWithMessage("参数解析异常!", "参数解析失败,Err:"+err.Error())
+		c.FailWithMessage("参数解析异常!", "参数解析失败,Err:"+err.Error())
 		return
 	}
 
 	//用印id
 	if req.SealId <= 0 {
-		this.FailWithMessage("用印id必传!", "用印id必传!")
+		c.FailWithMessage("用印id必传!", "用印id必传!")
 		return
 	}
 
-	err = sealService.Invalid(req.SealId, this.AdminWx, req.IsInvalidContract)
+	err = sealService.Invalid(req.SealId, c.AdminWx, req.IsInvalidContract)
 	if err != nil {
-		this.FailWithMessage("作废用印失败!", "作废用印失败,Err:"+err.Error())
+		c.FailWithMessage("作废用印失败!", "作废用印失败,Err:"+err.Error())
 		return
 	}
 
-	this.OkWithMessage("作废成功")
+	c.OkWithMessage("作废成功")
 	return
 }
 
+//CompanyList
 // @Title 根据客户名称获取已存在系统中客户名称列表
 // @Description 获取合同详情接口
-// @Param   CompanyName   query   string  true       "客户名称"
+// @Param   Keyword   query   string  true       "关键字:客户名称、组织社会信用码"
 // @Success 200 {object} []string
 // @router /company_list [get]
-func (this *SealCommon) CompanyList() {
-	sysUser := this.AdminWx
-	companyName := this.GetString("CompanyName")
+func (c *SealCommon) CompanyList() {
+	sysUser := c.AdminWx
+	keyword := c.GetString("Keyword")
 	//合同id
-	if companyName == "" {
-		this.FailWithMessage("客户名称必传!", "客户名称必传!")
+	if keyword == "" {
+		c.FailWithMessage("搜索关键字必传!", "搜索关键字必传!")
 		return
 	}
 	companyNameList := make([]string, 0)
@@ -226,11 +325,11 @@ func (this *SealCommon) CompanyList() {
 	//归属
 	condition += ` AND (c.user_id = ? or d.approve_user_id = ?)`
 	pars = append(pars, sysUser.AdminId, sysUser.AdminId)
-	condition += ` AND c.company_name like "%` + companyName + `%"`
+	condition += ` AND (c.company_name like "%` + keyword + `%" or c.credit_code like "%` + keyword + `%")`
 
 	list, err := seal.GetCompanyNameListV2(childCondition, condition, childPars, pars)
 	if err != nil {
-		this.FailWithMessage("获取客户名称列表失败!", "获取客户名称列表失败,ERR:"+err.Error())
+		c.FailWithMessage("获取客户名称列表失败!", "获取客户名称列表失败,ERR:"+err.Error())
 		return
 	}
 
@@ -238,5 +337,5 @@ func (this *SealCommon) CompanyList() {
 		companyNameList = append(companyNameList, v.CompanyName)
 	}
 
-	this.OkDetailed(companyNameList, "获取成功")
+	c.OkDetailed(companyNameList, "获取成功")
 }

+ 10 - 3
models/response/seal/seal.go

@@ -7,24 +7,25 @@ import (
 	"rdluck_tools/paging"
 )
 
+//AddSealResp 新增用印返回
 type AddSealResp struct {
 	SealId int `description:"用印id"`
 }
 
-//审批列表
+//SealApprovalListResp 审批列表
 type SealApprovalListResp struct {
 	Paging *paging.PagingItem
 	List   []*contract_approval.SealApprovalList `description:"列表数据"`
 }
 
-//审批列表
+//SealDetailResp 审批列表
 type SealDetailResp struct {
 	SealDetail   *seal.Seal                                          `description:"审批单详情"`
 	FlowNodeList [][]contract_approval_record.ContractApprovalRecord `description:"审批流"`
 	OpButton     OpButton                                            `description:"操作权限"`
 }
 
-//合同操作按钮
+//OpButton 合同操作按钮
 type OpButton struct {
 	Approval  bool `description:"是否有审批权限"`
 	Invalid   bool `description:"是否有作废用印权限"`
@@ -32,3 +33,9 @@ type OpButton struct {
 	CheckEdit bool `description:"审核状态下是否有编辑用印权限"`
 	Cancel    bool `description:"是否有撤回用印权限"`
 }
+
+//RespSealList 列表数据
+type RespSealList struct {
+	Paging *paging.PagingItem
+	List   []*seal.Seal `description:"列表数据"`
+}

+ 1 - 1
models/tables/company_approval/company_approval.go

@@ -943,7 +943,7 @@ func GetCompanyNameList(userId int, userRoleTypeCode, name string) (list []*Comp
 	sql := `SELECT a.company_name FROM company AS a
 			INNER JOIN company_product AS b ON a.company_id=b.company_id
 			INNER JOIN company_approval AS c ON b.company_id=c.company_id AND b.product_id=c.product_id
- 			WHERE (c.apply_user_id=? or ( (c.approve_user_id =?  or c.approve_user_id = 0) and approve_role_type_code=?)  ) and a.company_name like '%` + name + `%' group by a.company_name order by c.modify_time DESC `
+ 			WHERE (c.apply_user_id=? or ( (c.approve_user_id =?  or c.approve_user_id = 0) and approve_role_type_code=?)  ) and( a.company_name like '%` + name + `% or  a.credit_code like '%` + name + `%)' group by a.company_name order by c.modify_time DESC `
 	_, err = o.Raw(sql, userId, userId, userRoleTypeCode).QueryRows(&list)
 	return
 }

+ 5 - 5
models/tables/contract/contract.go

@@ -99,7 +99,7 @@ type ContractDetail struct {
 	RescindFileUrl    string    `description:"解约合同文件地址"`
 	TemplateId        int       `description:"模板id"`
 	SourceId          int       `description:"来源合同id,默认是0;如果是通过其他合同复制过来的,那么就是原合同的id"`
-	IsDelete          int       `json:"-";description:"是否已经删除,0:未删除,1:已删除"`
+	IsDelete          int       `json:"-" description:"是否已经删除,0:未删除,1:已删除"`
 	ModifyTime        time.Time `description:"合同最近一次修改时间"`
 	CreateTime        time.Time `description:"合同添加时间"`
 	ApproveTime       time.Time `description:"审批时间"`
@@ -209,7 +209,7 @@ type ContractList struct {
 	Fax               string    `description:"传真,长度32位"`
 	Phone             string    `description:"电话,长度32位"`
 	Postcode          string    `description:"邮编,长度16位"`
-	Remark            string    `json:"-";description:"补充内容,长度255位"`
+	Remark            string    `json:"-" description:"补充内容,长度255位"`
 	SellerRemark      string    `description:"销售备注,长度255位"`
 	ApprovalRemark    string    `description:"审核备注"`
 	ModifyContent     string    `description:"修改内容"`
@@ -217,7 +217,7 @@ type ContractList struct {
 	CheckBackFileUrl  string    `description:"签回合同文件地址"`
 	TemplateId        int       `description:"模板id"`
 	SourceId          int       `description:"来源合同id,默认是0;如果是通过其他合同复制过来的,那么就是原合同的id"`
-	IsDelete          int       `json:"-";description:"是否已经删除,0:未删除,1:已删除"`
+	IsDelete          int       `json:"-" description:"是否已经删除,0:未删除,1:已删除"`
 	ModifyTime        time.Time `description:"合同最近一次修改时间"`
 	CreateTime        time.Time `description:"合同添加时间"`
 	ApproveTime       time.Time `description:"审批时间"`
@@ -403,9 +403,9 @@ type CompanyNameList struct {
 }
 
 //获取客户名称列表数据
-func GetCompanyNameList(sellerId int, name, status string) (list []*CompanyNameList, err error) {
+func GetCompanyNameList(sellerId int, keyword, status string) (list []*CompanyNameList, err error) {
 	o := orm.NewOrm()
-	sql := `select * from contract where is_delete=0 and seller_id=? and company_name like '%` + name + `%' `
+	sql := `select * from contract where is_delete=0 and seller_id=? and (company_name like '%` + keyword + `%' or credit_code like '%` + keyword + `%') `
 	if status != "" {
 		sql += ` AND status='` + status + `' `
 	}

+ 29 - 9
models/tables/seal/seal.go

@@ -7,7 +7,7 @@ import (
 	"time"
 )
 
-//用印
+//Seal 用印结构体
 type Seal struct {
 	SealId         int       `orm:"column(seal_id);pk"`
 	Code           string    `description:"用印编号,长度32位"`
@@ -25,14 +25,14 @@ type Seal struct {
 	FileUrl        string    `description:"文件附件地址"`
 	FileNum        int       `description:"文件附件份数"`
 	ContractId     int       `description:"系统合同id"`
-	IsDelete       int       `description:"是否已经删除,0:未删除,1:已删除",json:"-"`
+	IsDelete       int       `json:"-" description:"是否已经删除,0:未删除,1:已删除"`
 	ApproveTime    time.Time `description:"审批时间"`
 	InvalidTime    time.Time `description:"作废时间"`
 	ModifyTime     time.Time `description:"最近一次修改时间"`
 	CreateTime     time.Time `description:"添加时间"`
 }
 
-//根据合同id获取合同信息
+//GetSealInfoById 根据合同id获取合同信息
 func GetSealInfoById(sealId int) (sealInfo *Seal, err error) {
 	o := orm.NewOrm()
 	sql := `select * from seal where seal_id = ? `
@@ -40,7 +40,7 @@ func GetSealInfoById(sealId int) (sealInfo *Seal, err error) {
 	return
 }
 
-//用印添加
+//AddSeal 用印添加
 func AddSeal(sealInfo *Seal) (err error) {
 	o := orm.NewOrm()
 	//用印数据入库
@@ -52,14 +52,14 @@ func AddSeal(sealInfo *Seal) (err error) {
 	return
 }
 
-//更新用印信息
+//Update 更新用印信息
 func (seal *Seal) Update(cols []string) (err error) {
 	o := orm.NewOrm()
 	_, err = o.Update(seal, cols...)
 	return
 }
 
-//删除用印
+//DeleteSeal 删除用印
 func DeleteSeal(sealInfo *Seal) (err error) {
 	sealInfo.IsDelete = 1
 	sealInfo.ModifyTime = time.Now()
@@ -68,7 +68,7 @@ func DeleteSeal(sealInfo *Seal) (err error) {
 	return
 }
 
-//作废用印
+//Invalid 作废用印
 func Invalid(sealInfo *Seal) (err error) {
 	sealInfo.Status = "已作废"
 	sealInfo.ModifyTime = time.Now()
@@ -78,7 +78,7 @@ func Invalid(sealInfo *Seal) (err error) {
 	return
 }
 
-//生成合同编号
+//GetSealCode 生成合同编号
 func GetSealCode() (code string, err error) {
 	var num int
 	o := orm.NewOrm()
@@ -97,7 +97,7 @@ type CompanyNameList struct {
 	CompanyName string `description:"客户名称,甲方名称,长度32位"`
 }
 
-//获取客户名称列表数据
+//GetCompanyNameList 获取客户名称列表数据
 func GetCompanyNameList(name string) (list []*CompanyNameList, err error) {
 	o := orm.NewOrm()
 	sql := `select * from seal where company_name like '%` + name + `%' group by company_name order by modify_time desc `
@@ -105,6 +105,7 @@ func GetCompanyNameList(name string) (list []*CompanyNameList, err error) {
 	return
 }
 
+//GetCompanyNameListV2 获取客户名称列表数据V2版本
 func GetCompanyNameListV2(childCondition, condition string, childPars, pars []interface{}) (list []*CompanyNameList, err error) {
 	o := orm.NewOrm()
 	sql := `SELECT c.company_name,a.modify_time from contract_approval a
@@ -120,3 +121,22 @@ WHERE c.is_delete = 0 AND a.approval_type="seal" `
 	_, err = o.Raw(sql, childPars, pars).QueryRows(&list)
 	return
 }
+
+//GetListCount 获取用印列表数据数量
+func GetListCount(condition string, pars []interface{}) (count int, err error) {
+	o := orm.NewOrm()
+	sql := "select count(*) AS COUNT from seal where 1=1 AND is_delete = 0 "
+	sql += condition
+	err = o.Raw(sql, pars).QueryRow(&count)
+	return
+}
+
+//GetList 获取用印列表
+func GetList(condition string, pars []interface{}, startSize, pageSize int) (list []*Seal, err error) {
+	o := orm.NewOrm()
+	sql := "select * from seal where 1=1 AND is_delete = 0 "
+	sql += condition
+	sql += ` order by modify_time desc LIMIT ?,? `
+	_, err = o.Raw(sql, pars, startSize, pageSize).QueryRows(&list)
+	return
+}