Browse Source

Merge branch 'feature/pool_93_contract_souce' into debug

xiexiaoyuan 2 years ago
parent
commit
dcf7c37809

+ 25 - 0
controllers/approval_new.go

@@ -6,6 +6,7 @@ import (
 	approval2 "hongze/hongze_mobile_admin/models/request/approval"
 	approvalResp "hongze/hongze_mobile_admin/models/response/approval"
 	"hongze/hongze_mobile_admin/models/tables/company_approval"
+	"hongze/hongze_mobile_admin/models/tables/company_contract"
 	"hongze/hongze_mobile_admin/models/tables/company_delay_permission"
 	"hongze/hongze_mobile_admin/models/tables/company_product"
 	"hongze/hongze_mobile_admin/models/tables/company_report_permission"
@@ -106,11 +107,24 @@ func (c *ApprovalCommon) ListV2() {
 	listLen := len(list)
 	if listLen > 0 {
 		contractApprovalIdSlice := make([]string, 0)
+		companyContractIdSlice := make([]string, 0)
 		for i := 0; i < len(list); i++ {
 			contractApprovalIdSlice = append(contractApprovalIdSlice, strconv.Itoa(list[i].ContractApprovalId))
+			companyContractIdSlice = append(companyContractIdSlice, strconv.Itoa(list[i].CompanyContractId))
 		}
 		contractApprovalIdStr := strings.Join(contractApprovalIdSlice, ",")
 
+		companyContractMap := make(map[int]*company_contract.CompanyContract)
+		if len(companyContractIdSlice) >0  {
+			companyContractIdStr := strings.Join(companyContractIdSlice, ",")
+			companyContractList, e := company_contract.GetCompanyContractDetailByContractIds(companyContractIdStr)
+			if e == nil {
+				for _, v := range companyContractList {
+					companyContractMap[v.CompanyContractId] = v
+				}
+			}
+		}
+
 		//获取审批流列表数据
 		contractApprovalRecordList, err := contract_approval_record.GetContractApprovalRecordList(contractApprovalIdStr, sysUser.AdminId)
 		if err != nil {
@@ -139,6 +153,16 @@ func (c *ApprovalCommon) ListV2() {
 				return
 			}
 			list[i].ContractInfo = contractDetail
+			//申请转正时合同相关信息
+			if item.CompanyContractId > 0 {
+				if com, ok := companyContractMap[item.CompanyContractId]; ok {
+					if com.Source == "系统合同" {
+						item.ContractSourceTag = "标准合同"
+					}else{
+						item.ContractSourceTag = "非标合同"
+					}
+				}
+			}
 			//校验最新审批流数据
 			if contractApprovalRecord, has := contractApprovalRecordMap[item.ContractApprovalId]; has {
 				//审批流id
@@ -201,6 +225,7 @@ func (c *ApprovalCommon) ListV2() {
 				CompanyApprovalId: item.CompanyApprovalId,
 				//ApprovalCount     int            `description:"已延期审批次数"`
 				CompanyContractId: item.CompanyContractId,
+				ContractSourceTag: item.ContractSourceTag,
 				//DelayPermission   :
 				ApplyRealName: item.ApplyRealName,
 				ApplyUserId:   item.ApplyUserId,

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

@@ -123,6 +123,7 @@ type CompanyApprovalList struct {
 	CurrNodeId          int    `description:"当前审批操作节点"`
 	ApplyContractType   int    `description:"申请合同类型  0 非标  1 标准"`
 	ApplyUserId         int    `description:"申请人编号id" json:"-"`
+	ContractSourceTag   string `description:"合同来源标签:非标合同,标准合同"`
 }
 
 // GetApprovalList 获取客户单列表

+ 8 - 0
models/tables/company_contract/company_contract.go

@@ -23,6 +23,7 @@ type CompanyContract struct {
 	CreateTime        time.Time `description:"合同创建时间"`
 	ModifyTime        time.Time `description:"合同修改时间"`
 	Status            int       `description:"状态"`
+	Source            string    `description:"合同来源:上传附件, 系统合同"`
 	PackageType       int       `description:"套餐类型,0:无,1:大套餐,2:小套餐"`
 }
 
@@ -42,6 +43,7 @@ type CompanyContractDetail struct {
 	ModifyTime        time.Time `description:"合同修改时间"`
 	Status            int       `description:"状态"`
 	PackageType       int       `description:"套餐类型,0:无,1:大套餐,2:小套餐"`
+	Source            string    `description:"合同来源:上传附件, 系统合同"`
 	PermissionList    []*company_report_permission.PermissionLookList
 }
 
@@ -65,3 +67,9 @@ func GetCompanyContractPermissionCheckByContractId(companyId, companyContractId,
 	return
 }
 
+func GetCompanyContractDetailByContractIds(contractIds string) (list []*CompanyContract, err error)  {
+	o := orm.NewOrm()
+	sql := `SELECT * FROM company_contract WHERE company_contract_id in (` + contractIds + `)`
+	_, err = o.Raw(sql).QueryRows(&list)
+	return
+}

+ 1 - 0
models/tables/contract_approval/contract_approval.go

@@ -739,6 +739,7 @@ type CompanyApprovalList struct {
 	CompanyContractId    int    `description:"合同id"`
 	DelayPermission      string `description:"延期申请品种"`
 	ApplyRealName        string `description:"申请人姓名"`
+	ContractSourceTag    string `description:"合同来源标签:非标合同,标准合同"`
 }
 
 func GetCompanyApprovalCount(condition string, pars []interface{}) (count int, err error) {

+ 11 - 0
services/company_approval/company_approval.go

@@ -1042,6 +1042,17 @@ func GetApprovalDetailByCompanyApprovalId(companyApprovalId int, opUser *custom.
 		err = errors.New("获取客户单详情失败,ERR:" + err.Error())
 		return
 	}
+	//查询相关的合同详情
+	if approvalItem.CompanyContractId > 0 {
+		companyContractDetail, e := company_contract.GetCompanyContractDetail(approvalItem.CompanyId, approvalItem.ProductId, approvalItem.CompanyContractId)
+		if e == nil {
+			if companyContractDetail.Source == "系统合同" {
+				approvalItem.ContractSourceTag = "标准合同"
+			}else{
+				approvalItem.ContractSourceTag = "非标合同"
+			}
+		}
+	}
 	if approvalItem.FreezeStartDate != "" && approvalItem.FreezeEndDate != "" && approvalItem.Status == utils.COMPANY_STATUS_FREEZE {
 		freezeEndDate, _ := time.Parse(utils.FormatDate, approvalItem.FreezeEndDate)
 		if time.Now().Before(freezeEndDate) {