123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131 |
- package company
- import (
- "hongze/hongze_task/models"
- "rdluck_tools/orm"
- "time"
- )
- //试用转正式
- func TryOutToFormal(companyId, productId, sellerId, companyContractId int, startDate, endDate, sellerName, productName string) (err error) {
- o := orm.NewOrm()
- o.Begin()
- defer func() {
- if err != nil {
- o.Rollback()
- } else {
- o.Commit()
- }
- }()
- sql := `UPDATE company_product SET status='正式',start_date=?,end_date=?,modify_time=NOW(),formal_time=NOW() WHERE company_id=? AND product_id=? `
- _, err = o.Raw(sql, startDate, endDate, companyId, productId).Exec()
- if err != nil {
- return
- }
- sql = `UPDATE company SET type=1,last_updated_time=NOW() WHERE company_id=? `
- _, err = o.Raw(sql, companyId).Exec()
- if err != nil {
- return
- }
- items := make([]*models.CompanyReportPermission, 0)
- sql = `SELECT * FROM company_report_permission WHERE company_id=? AND product_id=? `
- _, err = o.Raw(sql, companyId, productId).QueryRows(&items)
- for _, pv := range items {
- cpLog := new(models.CompanyPermissionLog)
- cpLog.CompanyId = companyId
- cpLog.ChartPermissionId = pv.ChartPermissionId
- cpLog.CreateTime = time.Now()
- cpLog.SysUserId = sellerId
- cpLog.SysUserName = sellerName
- cpLog.StartDate = pv.StartDate
- cpLog.EndDate = pv.EndDate
- cpLog.ProductId = productId
- cpLog.ProductName = pv.ProductName
- go models.AddCompanyPermissionLog(cpLog)
- }
- sql = `DELETE FROM company_report_permission WHERE company_id=? AND product_id=?`
- _, err = o.Raw(sql, companyId, productId).Exec()
- if err != nil {
- return
- }
- contractPermission := make([]*models.CompanyReportPermission, 0)
- sql = `SELECT * FROM company_contract_permission WHERE company_contract_id=? AND company_id=? `
- _, err = o.Raw(sql, companyContractId, companyId).QueryRows(&contractPermission)
- if err != nil {
- return
- }
- for _, pv := range contractPermission {
- sql = `INSERT INTO company_report_permission(company_id, report_permission_id,created_time, last_updated_time,
- chart_permission_id, start_date,end_date,product_id,product_name, modify_time,company_contract_id,status)
- VALUES(?,?,NOW(),NOW(),?,?,?,?,?,NOW(),?,?) `
- _, err = o.Raw(sql, companyId, pv.ChartPermissionId, pv.ChartPermissionId, pv.StartDate, pv.EndDate, productId, productName, companyContractId, "正式").Exec()
- if err != nil {
- return
- }
- }
- return
- }
- //服务更新
- func ApplyServiceUpdate(companyId, productId, sellerId, companyContractId int, startDate, endDate, sellerName, productName string) (err error) {
- o := orm.NewOrm()
- o.Begin()
- defer func() {
- if err != nil {
- o.Rollback()
- } else {
- o.Commit()
- }
- }()
- sql := `UPDATE company_product SET status='正式',start_date=?,end_date=?,modify_time=NOW() WHERE company_id=? AND product_id=? `
- _, err = o.Raw(sql, startDate, endDate, companyId, productId).Exec()
- if err != nil {
- return
- }
- //合同权限变更
- items := make([]*models.CompanyReportPermission, 0)
- sql = `SELECT * FROM company_report_permission WHERE company_id=? AND product_id=? `
- _, err = o.Raw(sql, companyId, productId).QueryRows(&items)
- if err != nil {
- return
- }
- for _, pv := range items {
- cpLog := new(models.CompanyPermissionLog)
- cpLog.CompanyId = companyId
- cpLog.ChartPermissionId = pv.ChartPermissionId
- cpLog.CreateTime = time.Now()
- cpLog.SysUserId = sellerId
- cpLog.SysUserName = sellerName
- cpLog.StartDate = pv.StartDate
- cpLog.EndDate = pv.EndDate
- cpLog.ProductId = productId
- cpLog.ProductName = pv.ProductName
- go models.AddCompanyPermissionLog(cpLog)
- }
- sql = `DELETE FROM company_report_permission WHERE company_id=? AND product_id=? `
- _, err = o.Raw(sql, companyId, productId).Exec()
- if err != nil {
- return
- }
- contractPermission := make([]*models.CompanyReportPermission, 0)
- sql = `SELECT * FROM company_contract_permission WHERE company_contract_id=? AND company_id=? `
- _, err = o.Raw(sql, companyContractId, companyId).QueryRows(&contractPermission)
- if err != nil {
- return
- }
- for _, pv := range contractPermission {
- sql = `INSERT INTO company_report_permission(company_id, report_permission_id,created_time, last_updated_time,
- chart_permission_id, start_date,end_date,product_id,product_name, modify_time,company_contract_id,status)
- VALUES(?,?,NOW(),NOW(),?,?,?,?,?,NOW(),?,?) `
- _, err = o.Raw(sql, companyId, pv.ChartPermissionId, pv.ChartPermissionId, pv.StartDate, pv.EndDate, productId, productName, companyContractId, "正式").Exec()
- if err != nil {
- return
- }
- }
- return
- }
|