zhangchuanxing 1 сар өмнө
parent
commit
c9703aa281

+ 31 - 0
controllers/company_apply_v2.go

@@ -666,6 +666,36 @@ func (this *CompanyApplyController) ApplyTurnPositive() {
 			return
 		}
 		//如果是权益的合同,合同编号另 取
+
+		//if productId == 2 {
+		//	sealCount, err := seal.GetCountByDateAndCompanyId(req.StartDate, req.EndDate, req.CompanyId)
+		//	if err != nil {
+		//		br.Msg = "生成合同编码失败"
+		//		br.ErrMsg = "获取用印合同数量信息失败,Err:" + err.Error()
+		//		return
+		//	}
+		//	crmConfig, err := company.GetConfigDetailByCode("rai_seal_check") //权益非标合同是否校验用印提交
+		//	if err != nil {
+		//		br.Msg = "获取配置失败"
+		//		br.ErrMsg = "获取配置失败,Err:" + err.Error()
+		//		return
+		//	}
+		//
+		//	if sealCount == 0 && crmConfig.ConfigValue == "1" {
+		//		br.Msg = "此合同暂未申请用印,请核对合同期限是否有误"
+		//		return
+		//	}
+		//	if sealCount > 0 {
+		//		sealInfo, err := seal.GetSealInfoByDateAndCompanyId(req.StartDate, req.EndDate, req.CompanyId)
+		//		if err != nil {
+		//			br.Msg = "生成合同编码失败"
+		//			br.ErrMsg = "获取用印合同信息失败,Err:" + err.Error()
+		//			return
+		//		}
+		//		contractCode = sealInfo.Code
+		//	}
+		//}
+
 		if productId == 2 {
 			sealCount, err := seal.GetCountByDateAndCompanyId(req.StartDate, req.EndDate, req.CompanyId)
 			if err != nil {
@@ -694,6 +724,7 @@ func (this *CompanyApplyController) ApplyTurnPositive() {
 				contractCode = sealInfo.Code
 			}
 		}
+
 		//当前是否存在待审批的单子
 		nowCompanyApprovalInfo, err := company.GetCompanyApprovalById(req.CompanyId, productId)
 		if (err == nil || nowCompanyApprovalInfo != nil) || err != nil && err.Error() != utils.ErrNoRow() {

+ 27 - 0
controllers/seal/seal_approval.go

@@ -464,6 +464,33 @@ func (this *SealApprovalController) Apply() {
 		br.ErrMsg = "参数解析异常!Err:" + err.Error()
 		return
 	}
+	//creditCode := req.CreditCode
+	//startDate := req.StartDate
+	//
+	//reqVerify := utils.Rules{
+	//	"Use":         {utils.NotEmpty()},
+	//	"CompanyName": {utils.NotEmpty()},
+	//	"CreditCode":  {utils.NotEmpty()},
+	//	//"ServiceType":       {utils.NotEmpty()} /、/权益非标合同不校验合同类型
+	//	"SealType":          {utils.NotEmpty()},
+	//	"FileUrls":          {utils.NotEmpty()},
+	//	"AffiliatedCompany": {utils.NotEmpty()},
+	//}
+	//
+	//if startDate != "" {
+	//	companyInfo, tmpErr := company.GetCompanyByCreditCode(creditCode)
+	//	//如果查询异常,且并不是在系统中找不到该社会信用码,那么就异常返回
+	//	if tmpErr != nil {
+	//		br.Msg = "根据社会信用码获取客户信息失败!"
+	//		br.ErrMsg = "根据社会信用码获取客户信息失败!Err:" + err.Error()
+	//		return
+	//	}
+	//
+	//	req.CompanyId = companyInfo.CompanyId
+	//} else {
+	//	reqVerify["ServiceType"] = []string{utils.NotEmpty()}
+	//}
+
 	creditCode := req.CreditCode
 	startDate := req.StartDate
 

+ 2 - 2
models/seal/request/seal_approval.go

@@ -13,8 +13,8 @@ type SealApprovalApplyReq struct {
 	FileUrls          []string `description:"多个文件附件地址"`
 	FileNum           int      `description:"文件份数"`
 	AffiliatedCompany string   `description:"归属公司"`
-	CompanyId         int      `description:"客户id"`
-	StartDate         string   `description:"开始日期"`
+	CompanyId         int      `description:"客户id."`
+	StartDate         string   `description:"开始日期."`
 	EndDate           string   `description:"结束日期."`
 }
 

+ 26 - 3
models/seal/seal.go

@@ -34,9 +34,9 @@ type Seal struct {
 	CreateTime        time.Time `description:"添加时间"`
 	CheckBackFileTime time.Time `description:"签回用印附件时间"`
 	AffiliatedCompany string    `description:"归属公司"`
-	ProductId         int       `description:"产品id,1:ficc;2:权益"`
-	CompanyId         int       `description:"客户id"`
-	StartDate         string    `description:"开始日期"`
+	ProductId         int       `description:"产品id,1:ficc;2:权益."`
+	CompanyId         int       `description:"客户id."`
+	StartDate         string    `description:"开始日期."`
 	EndDate           string    `description:"结束日期。"`
 }
 
@@ -236,7 +236,30 @@ type SealApprovalItem struct {
 }
 
 // GetSealApprovalListByWhere 获取用印审批列表-分页
+//func GetSealApprovalListByWhere(condition, joinCondition string, pars []interface{}, startSize, pageSize int) (list []*SealApprovalItem, total int, err error) {
+//	o := orm.NewOrm()
+//	fields := `a.contract_approval_id,c.contract_id,a.apply_content,a.approve_remark,a.apply_user_id,a.apply_user_name,a.curr_node_id,a.start_node_id,c.create_time,a.modify_time,a.status approval_status,
+//			   c.status,c.seal_id,c.seal_type,c.service_type contract_type,c.use,c.company_name,c.file_url,c.approve_time,c.invalid_time,c.code,c.credit_code,c.check_back_file_time,c.check_back_file_url,c.product_id,c.affiliated_company `
+//	sql := `SELECT ` + fields + ` from contract_approval a JOIN ( SELECT max( contract_approval_id ) max_id,contract_id FROM contract_approval where 1=1 and approval_type = "seal" `
+//	sql += ` GROUP BY contract_id ) b on a.contract_approval_id=b.max_id
+//	JOIN seal c ON c.seal_id = a.contract_id
+//	JOIN contract_approval_record d on a.contract_approval_id=d.contract_approval_id ` + joinCondition + `
+//WHERE c.is_delete = 0 AND a.approval_type="seal" `
+//	sql += condition
+//	sql += ` group by c.seal_id order by c.create_time desc`
+//	totalSql := `SELECT COUNT(1) total FROM (` + sql + `) z`
+//	err = o.Raw(totalSql, pars).QueryRow(&total)
+//	if err != nil {
+//		return
+//	}
+//	sql += ` LIMIT ?,? `
+//	_, err = o.Raw(sql, pars, startSize, pageSize).QueryRows(&list)
+//
+//	return
+//}
+
 func GetSealApprovalListByWhere(condition, joinCondition string, pars []interface{}, startSize, pageSize int) (list []*SealApprovalItem, total int, err error) {
+	//git
 	o := orm.NewOrm()
 	fields := `a.contract_approval_id,c.contract_id,a.apply_content,a.approve_remark,a.apply_user_id,a.apply_user_name,a.curr_node_id,a.start_node_id,c.create_time,a.modify_time,a.status approval_status,
 			   c.status,c.seal_id,c.seal_type,c.service_type contract_type,c.use,c.company_name,c.file_url,c.approve_time,c.invalid_time,c.code,c.credit_code,c.check_back_file_time,c.check_back_file_url,c.product_id,c.affiliated_company `

+ 84 - 0
services/seal/seal.go

@@ -123,6 +123,7 @@ func ApplySeal(sysUser *system.Admin, req request.SealApprovalApplyReq) (err err
 	}()
 
 	// 添加用印
+	//sealInfo, err := addSeal(sysUser.AdminId, req.ContractId, req.FileNum, req.CompanyId, sysUser.RealName, req.Use, req.CompanyName, req.UseCompanyName, req.CreditCode, req.ServiceType, req.SealType, req.Remark, req.FileUrls, req.AffiliatedCompany, req.StartDate, req.EndDate)
 	sealInfo, err := addSeal(sysUser.AdminId, req.ContractId, req.FileNum, req.CompanyId, sysUser.RealName, req.Use, req.CompanyName, req.UseCompanyName, req.CreditCode, req.ServiceType, req.SealType, req.Remark, req.FileUrls, req.AffiliatedCompany, req.StartDate, req.EndDate)
 	if err != nil {
 		return
@@ -223,6 +224,89 @@ func addSeal(userId, contractId, fileNum, companyId int, userName, use, companyN
 	return
 }
 
+//func addSeal(userId, contractId, fileNum, companyId int, userName, use, companyName, useCompanyName, creditCode, serviceType, sealType, remark string, fileUrls []string, affiliatedCompany, startDate, endDate string) (sealInfo *seal.Seal, err error) {
+//	if !strings.Contains(strings.Join(seal.EnumUse, ","), use) {
+//		err = errors.New("用印用途异常")
+//		return
+//	}
+//	if !strings.Contains(strings.Join(seal.EnumServiceType, ","), serviceType) {
+//		err = errors.New("业务类型异常")
+//		return
+//	}
+//	adminAll, err := system.GetAdminList()
+//	if err != nil {
+//		return
+//	}
+//	//adminMap := make(map[int]*system.AdminView)
+//	mapRaiSllerId := make(map[int]bool) // 是否为权益销售
+//	for _, v := range adminAll {
+//		//adminMap[v.AdminId] = v
+//		if v.RoleTypeCode == utils.ROLE_TYPE_CODE_RAI_SELLER || v.RoleTypeCode == utils.ROLE_TYPE_CODE_RAI_GROUP || v.RoleTypeCode == utils.ROLE_TYPE_CODE_RAI_ADMIN {
+//			mapRaiSllerId[v.AdminId] = true
+//		}
+//	}
+//
+//	var sealCode string
+//	var productId int
+//	if mapRaiSllerId[userId] {
+//		sealCode, err = seal.GetSealCodeRai()
+//		productId = utils.COMPANY_PRODUCT_RAI_ID
+//	} else {
+//		sealCode, err = seal.GetSealCode()
+//	}
+//	if err != nil {
+//		return
+//	}
+//	fileUrl := ""
+//	now := time.Now()
+//	attachments := make([]*seal.Attachment, 0)
+//	if len(fileUrls) == 1 {
+//		fileUrl = fileUrls[0]
+//	}
+//
+//	sealInfo = &seal.Seal{
+//		Code:              sealCode,
+//		UserId:            userId,
+//		UserName:          userName,
+//		Use:               use,
+//		CompanyName:       companyName,
+//		UseCompanyName:    useCompanyName,
+//		CreditCode:        creditCode,
+//		ServiceType:       serviceType,
+//		SealType:          sealType,
+//		Status:            "待提交",
+//		Remark:            remark,
+//		FileUrl:           fileUrl,
+//		FileNum:           fileNum,
+//		ContractId:        contractId,
+//		ModifyTime:        now,
+//		CreateTime:        now,
+//		AffiliatedCompany: affiliatedCompany,
+//		ProductId:         productId,
+//		CompanyId:         companyId,
+//		StartDate:         startDate,
+//		EndDate:           endDate,
+//	}
+//
+//	err = seal.AddSeal(sealInfo)
+//	if err != nil {
+//		return
+//	}
+//	if len(fileUrls) > 1 {
+//		for _, v := range fileUrls {
+//			tmp := &seal.Attachment{
+//				SealId:     sealInfo.SealId,
+//				FileUrl:    v,
+//				ModifyTime: now,
+//				CreateTime: now,
+//			}
+//			attachments = append(attachments, tmp)
+//		}
+//		err = seal.AddAttachments(attachments)
+//	}
+//	return
+//}
+
 // EditApply 编辑用印审批
 func EditApply(sysUser *system.Admin, req request.SealApprovalEditReq) (err error) {
 	o := orm.NewOrm()