ソースを参照

supplierCertSub数据导入

Kevin 6 年 前
コミット
d0a8087e5b

+ 96 - 0
src/dashoo.cn/backend/api/business/tmpzcgf/tmpCertSubSession.go

@@ -0,0 +1,96 @@
+package tmpzcgf
+
+import (
+	"dashoo.cn/backend/api/business/oilsupplier/suppliercertsub"
+	"dashoo.cn/backend/api/controllers/tmpzcgf"
+	. "dashoo.cn/backend/api/mydb"
+	"github.com/go-xorm/xorm"
+
+
+)
+
+type TmpCertSession struct {
+	MySessionBase
+}
+
+type SubClassId struct{
+	id int
+}
+
+type AllId struct{
+	Id int
+}
+
+func GetTmpCertService(session *xorm.Session) *TmpCertSession {
+	s := new(TmpCertSession)
+	s.Session = session
+	return s
+}
+
+//获取tmp_zcgf所有Id
+func (s *TmpCertSession) GetAllId() []AllId{
+	var ids []AllId
+	sql := `SELECT
+				id 
+			FROM
+				tmp_zcgf`
+	s.Session.SQL(sql).Find(&ids)
+	return ids
+}
+
+//从tmp_zcgf获取一条数据
+func (s *TmpCertSession) SelectOne(id int) tmpzcgf.TmpCertController {
+	var one tmpzcgf.TmpCertController
+	sql := `SELECT
+				a.准入范围 AccessRange,
+				c.id SupplierCertId,
+				c.SupplierTypeCode SupplierTypeCode
+			FROM
+				tmp_zcgf a
+				LEFT JOIN oilsupplier b ON a.企业名称 = b.SupplierName
+				JOIN oilsuppliercert c ON b.id = c.SupplierId 
+				AND a.准入类别 = c.SupplierTypeName 
+			WHERE
+				a.id =` + string(id)
+	 s.Session.SQL(sql).Find(&one)
+	return one
+}
+
+
+//获取subClassId
+func (s *TmpCertSession) GetSubClassId(code string, supplierTypeCode string) int{
+	//var subClassName
+	var id SubClassId
+	var tableName string
+	switch supplierTypeCode{
+	case "01":
+		tableName = "OilGoodsAptitudeClass"
+		//subClassName = []goodsaptitudeclass.OilGoodsAptitudeClass
+	case "02":
+		tableName = "OilBasisBuild"
+		//subClassName = []basisbuild.OilBasisBuild
+	case "03":
+		tableName = "OilTechnologyServiceClass"
+		//subClassName = []technologyserviceclass.OilTechnologyServiceClass
+	}
+	var sql = `SELECT id FROM`+tableName+`WHERE	1 = 1 AND code =`+ code
+
+	s.Session.SQL(sql).Find(&id)
+	return id.id
+
+}
+
+func (s *TmpCertSession) InsertSupplierCertSub(sub suppliercertsub.OilSupplierCertSub) error {
+	var supplierId = string(sub.SupplierId)
+	var	supplierCertId = string(sub.SupplierCertId)
+	var	supplierTypeCode = sub.SupplierTypeCode
+	var	subClassId = string(sub.SubClassId)
+	var	code = sub.Code
+	var	name = sub.Name
+	sql := `INSERT INTO OilSupplierCertSub ( SupplierId, SupplierCertId, SupplierTypeCode, SubClassId, CODE, NAME )
+	VALUES ( ’`	+ supplierId+`‘,‘`+supplierCertId+`','`+supplierTypeCode+`','`+subClassId+`','`+code+`','`+name+`')`
+
+	_,err := s.Session.Query(sql)
+	return err
+}
+

+ 95 - 0
src/dashoo.cn/backend/api/controllers/tmpzcgf/tmpcertsub.go

@@ -0,0 +1,95 @@
+package tmpzcgf
+
+import (
+	"dashoo.cn/backend/api/business/oilsupplier/suppliercertsub"
+	"dashoo.cn/backend/api/business/tmpzcgf"
+	"dashoo.cn/utils"
+	"fmt"
+	"strings"
+	"time"
+)
+
+//type TmpCertController struct {
+//
+//	AccessCardNo  			int				    `json:"accessCardNo"`  //准入证号
+//	SupplierTypeName		string 			    `json:"supplierTypeName"`	//准入类别
+//	InFlag					int					`json:"inFlag"`				//准入标识
+//	EffectStartTime			time.Time			`json:"effectStartTime"`	//有效期起
+//	EffectEndTime			time.Time			`json:"effectEndTime"`		//有效期止
+//	ApplyTime				time.Time			`json:"applyTime"`			//年审日期
+//
+//}
+
+type TmpCertController struct {
+
+	SupplierCertId			int
+	SupplierTypeCode		string
+	AccessRange				string
+}
+
+// @Title 跟新OilSupplier
+// @Description get user by token
+// @Success 200 {object}
+// @router /insertCertSub[get]
+func (this *TmpCertController) InsertCertSub(){
+	fmt.Printf("Insertsubcert start!")
+	var total []tmpzcgf.AllId
+	var one TmpCertController
+	t := time.Now()
+	session := utils.DBE.NewSession()
+	defer session.Close()
+	err := session.Begin()
+	svc := tmpzcgf.GetTmpCertService(session)
+	total = svc.GetAllId()
+	for index := range total{
+		id := total[index].Id
+		//fmt.Printf('%T',id)
+		one = svc.SelectOne(id)
+
+		accessRange := one.AccessRange
+		accessRanges := strings.Split(accessRange,";")
+		for index := range accessRanges{
+			item := strings.Split(accessRanges[index]," ")
+			code := item[0]
+			code = code[2:]
+			name := item[1]
+
+			var newOne suppliercertsub.OilSupplierCertSub
+			newOne.SupplierCertId = one.SupplierCertId
+			newOne.SupplierTypeCode = one.SupplierTypeCode
+			newOne.Code = code
+			newOne.Name = name
+			subClassId := svc.GetSubClassId(code,one.SupplierTypeCode)
+			newOne.SubClassId = subClassId
+
+			 svc.InsertSupplierCertSub(newOne)
+
+			fmt.Println("Insertsubcert end!")
+
+		}
+
+	}
+
+	//if err != nil {
+	//	session.Rollback()
+	//}
+	err = session.Commit()
+	fmt.Println(err)
+	elapsed := time.Since(t)
+	fmt.Println(elapsed)
+}
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+