|
@@ -0,0 +1,131 @@
|
|
|
+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
|
|
|
+}
|