|
@@ -5,6 +5,7 @@ import (
|
|
|
contractReq "hongze/hongze_mobile_admin/models/request/contract"
|
|
|
contractResp "hongze/hongze_mobile_admin/models/response/contract"
|
|
|
"hongze/hongze_mobile_admin/models/tables/contract"
|
|
|
+ "hongze/hongze_mobile_admin/models/tables/contract_approval"
|
|
|
contractService "hongze/hongze_mobile_admin/services/contract"
|
|
|
"hongze/hongze_mobile_admin/utils"
|
|
|
"rdluck_tools/paging"
|
|
@@ -193,6 +194,147 @@ func (this *ContractCommon) List() {
|
|
|
}, "获取成功")
|
|
|
}
|
|
|
|
|
|
+// @Title 合同列表(包含待提交的)
|
|
|
+// @Description 合同列表接口(包含待提交的)
|
|
|
+// @Param ContractType query string false "合同类型,枚举值:'新签合同','续约合同','补充协议'"
|
|
|
+// @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 SellerId query string false "选择的销售id"
|
|
|
+// @Param Keyword query string false "搜索关键字"
|
|
|
+// @Success 200 {object} contract.ContractListRespV2
|
|
|
+// @router /listV2 [get]
|
|
|
+func (this *ContractCommon) ListV2() {
|
|
|
+ sysUser := this.AdminWx
|
|
|
+
|
|
|
+ //合同类型、产品类型、合同状态、更新时间、所选销售
|
|
|
+ //关键字:合同编号、客户名称,社会信用码
|
|
|
+ contractType := this.GetString("ContractType")
|
|
|
+ status := this.GetString("Status")
|
|
|
+ productId, _ := this.GetInt("ProductId")
|
|
|
+ modifyStartTime := this.GetString("ModifyStartTime")
|
|
|
+ modifyEndTime := this.GetString("ModifyEndTime")
|
|
|
+ sellerIds := this.GetString("SellerId")
|
|
|
+ keyword := this.GetString("Keyword")
|
|
|
+
|
|
|
+ childCondition := ""
|
|
|
+ condition := ""
|
|
|
+ unionCondition := ""
|
|
|
+
|
|
|
+ childPars := make([]interface{}, 0)
|
|
|
+ pars := make([]interface{}, 0)
|
|
|
+ unionPars := make([]interface{}, 0)
|
|
|
+
|
|
|
+ //归属
|
|
|
+ if status == "待审批" {
|
|
|
+ condition += ` AND ((c.seller_id = ? and a.start_node_id = a.curr_node_id) OR (d.approve_user_id = ? )) and d.status="待审批" `
|
|
|
+ } else {
|
|
|
+ condition += ` AND (c.seller_id = ? or d.approve_user_id = ?)`
|
|
|
+ }
|
|
|
+ pars = append(pars, sysUser.AdminId, sysUser.AdminId)
|
|
|
+
|
|
|
+ unionCondition += ` AND c.seller_id = ? `
|
|
|
+ unionPars = append(unionPars, sysUser.AdminId)
|
|
|
+
|
|
|
+ //合同类型、、更新时间、所选销售
|
|
|
+ //关键字:合同编号、客户名称,社会信用码
|
|
|
+ if contractType != "" {
|
|
|
+ condition += ` AND c.contract_type = ? `
|
|
|
+ pars = append(pars, contractType)
|
|
|
+
|
|
|
+ unionCondition += ` AND c.contract_type = ? `
|
|
|
+ unionPars = append(unionPars, contractType)
|
|
|
+ }
|
|
|
+ //审批状态
|
|
|
+ if status != "" {
|
|
|
+ if status == "已审批" {
|
|
|
+ condition += ` AND c.status in ("已审批","已驳回") `
|
|
|
+ unionCondition += ` AND c.status in ("已审批","已驳回") `
|
|
|
+ } else {
|
|
|
+ condition += ` AND c.status = ? `
|
|
|
+ unionCondition += ` AND c.status = ? `
|
|
|
+ if status == "处理中" {
|
|
|
+ pars = append(pars, "待审批")
|
|
|
+ unionPars = append(unionPars, "待审批")
|
|
|
+ } else {
|
|
|
+ pars = append(pars, status)
|
|
|
+ unionPars = append(unionPars, status)
|
|
|
+ }
|
|
|
+ }
|
|
|
+ } else {
|
|
|
+ condition += ` AND c.status not in ("已撤回","待提交") `
|
|
|
+ unionCondition += ` AND c.status = "待提交" `
|
|
|
+ }
|
|
|
+ //产品类型
|
|
|
+ if productId > 0 {
|
|
|
+ condition += ` AND c.product_id = ? `
|
|
|
+ pars = append(pars, productId)
|
|
|
+
|
|
|
+ unionCondition += ` AND c.product_id = ? `
|
|
|
+ unionPars = append(unionPars, productId)
|
|
|
+ }
|
|
|
+ //所选销售
|
|
|
+ if sellerIds != "" {
|
|
|
+ condition += ` AND c.seller_id IN (` + sellerIds + `) `
|
|
|
+ unionCondition += ` AND c.seller_id IN (` + sellerIds + `) `
|
|
|
+ }
|
|
|
+ //更新开始时间
|
|
|
+ if modifyStartTime != "" {
|
|
|
+ condition += ` AND a.modify_time >= ? `
|
|
|
+ pars = append(pars, modifyStartTime)
|
|
|
+
|
|
|
+ unionCondition += ` AND a.modify_time >= ? `
|
|
|
+ unionPars = append(unionPars, modifyStartTime)
|
|
|
+ }
|
|
|
+ //更新结束时间
|
|
|
+ if modifyEndTime != "" {
|
|
|
+ condition += ` AND a.modify_time <= ? `
|
|
|
+ pars = append(pars, modifyEndTime)
|
|
|
+
|
|
|
+ unionCondition += ` AND a.modify_time <= ? `
|
|
|
+ unionPars = append(unionPars, modifyEndTime)
|
|
|
+ }
|
|
|
+ //关键字
|
|
|
+ if keyword != "" {
|
|
|
+ condition += ` AND (c.contract_code LIKE '%` + keyword + `%' OR c.company_name LIKE '%` + keyword + `%' OR c.credit_code LIKE '%` + keyword + `%' ) `
|
|
|
+ unionCondition += ` AND (c.contract_code LIKE '%` + keyword + `%' OR c.company_name LIKE '%` + keyword + `%' OR c.credit_code LIKE '%` + keyword + `%' ) `
|
|
|
+ }
|
|
|
+
|
|
|
+ pageSize, _ := this.GetInt("PageSize")
|
|
|
+ currentIndex, _ := this.GetInt("CurrentIndex")
|
|
|
+
|
|
|
+ var startSize int
|
|
|
+ if pageSize <= 0 {
|
|
|
+ pageSize = utils.PageSize20
|
|
|
+ }
|
|
|
+ if currentIndex <= 0 {
|
|
|
+ currentIndex = 1
|
|
|
+ }
|
|
|
+ startSize = paging.StartIndex(currentIndex, pageSize)
|
|
|
+
|
|
|
+ joinCondition := " and a.curr_node_id=d.node_id"
|
|
|
+
|
|
|
+ total, err := contract_approval.GetContractListCountV2(childCondition, condition, joinCondition, unionCondition, childPars, pars, unionPars)
|
|
|
+ if err != nil {
|
|
|
+ this.FailWithMessage("获取失败", "获取数据总数失败,Err:"+err.Error())
|
|
|
+ return
|
|
|
+ }
|
|
|
+ list, err := contract_approval.GetContractListV2(childCondition, condition, joinCondition, unionCondition, childPars, pars, unionPars, startSize, pageSize)
|
|
|
+
|
|
|
+ if err != nil {
|
|
|
+ this.FailWithMessage("获取合同列表失败", "获取合同列表失败,Err:"+err.Error())
|
|
|
+ return
|
|
|
+ }
|
|
|
+
|
|
|
+ page := paging.GetPaging(currentIndex, pageSize, total)
|
|
|
+
|
|
|
+ this.OkDetailed(contractResp.ContractListRespV2{
|
|
|
+ List: list,
|
|
|
+ Paging: page,
|
|
|
+ }, "获取成功")
|
|
|
+}
|
|
|
+
|
|
|
// @Title 作废合同
|
|
|
// @Description 作废合同接口
|
|
|
// @Param request body contract.InvalidReq true "type json string"
|