Ver código fonte

历史数据导入优化

yuedefeng 5 anos atrás
pai
commit
d55974c1c7

+ 39 - 14
src/dashoo.cn/backend/api/business/tmpzcgf/tmpzcgfSession.go

@@ -204,7 +204,8 @@ func (s *TmpzcgtSession) InsertOilPaymentInfo() error {
 }
 
 func (s *TmpzcgtSession) UpdateOilPaymentInfo() error {
-	sql := "UPDATE OilPaymentInfo b SET b.SupplierId= (SELECT  DISTINCT(a.SupplierId) FROM `OilSupplierCert` a WHERE  a.GfId = b.ID_GF )"
+	// sql := "UPDATE OilPaymentInfo b SET b.SupplierId= (SELECT  DISTINCT(a.SupplierId) FROM `OilSupplierCert` a WHERE  a.GfId = b.ID_GF )"
+	sql := "UPDATE OilPaymentInfo b left join `OilSupplierCert` a ON b.ID_GF=a.GfId SET b.SupplierId=a.SupplierId"
 	_, err := s.DBE.Query(sql)
 	return err
 }
@@ -233,17 +234,25 @@ func (s *TmpzcgtSession) InsterBadRecord() error {
 }
 
 func (s *TmpzcgtSession) UpdateBadRecord() error {
-	sql := "UPDATE BadRecord b SET " +
+	/** sql := "UPDATE BadRecord b SET " +
 		"b.CompanyCode = (SELECT DISTINCT(a.SupplierId) FROM `OilSupplierCert` a WHERE  a.GfId = b.Bak1 AND a.SupplierId IS NOT NULL)," +
-		"b.CompanyName = (SELECT DISTINCT(a.OutsideFlog) FROM `OilSupplierCert` a WHERE  a.GfId = b.Bak1 AND a.OutsideFlog IS NOT NULL) "
+		"b.CompanyName = (SELECT DISTINCT(a.OutsideFlog) FROM `OilSupplierCert` a WHERE  a.GfId = b.Bak1 AND a.OutsideFlog IS NOT NULL) " */
+
+	sql := "UPDATE BadRecord b left join `OilSupplierCert` a ON a.GfId = b.Bak1 SET " +
+		"b.CompanyCode = a.SupplierId," +
+		"b.CompanyName = a.OutsideFlog " +
+		" where a.OutsideFlog IS NOT NULL and a.SupplierId IS NOT NULL"
 	_, err := s.DBE.Query(sql)
 	return err
 }
 
 func (s *TmpzcgtSession) UpdateOilAnnualAudit() error {
-	sql := "UPDATE OilAnnualAudit b SET b.SupplierId = (SELECT a.SupplierId FROM OilSupplierCert a WHERE a.GfId =b.OldId AND a.SupplierTypeCode = b.SupplierTypeName )," +
+	/** sql := "UPDATE OilAnnualAudit b SET b.SupplierId = (SELECT a.SupplierId FROM OilSupplierCert a WHERE a.GfId =b.OldId AND a.SupplierTypeCode = b.SupplierTypeName )," +
 		"b.CerId = (SELECT a.Id FROM OilSupplierCert a WHERE a.GfId =b.OldId AND a.SupplierTypeCode = b.SupplierTypeName )," +
-		"b.AccessCardNo = (SELECT a.AccessCardNo FROM OilSupplierCert a WHERE a.GfId =b.OldId AND a.SupplierTypeCode = b.SupplierTypeName )"
+		"b.AccessCardNo = (SELECT a.AccessCardNo FROM OilSupplierCert a WHERE a.GfId =b.OldId AND a.SupplierTypeCode = b.SupplierTypeName )" */
+	sql := "UPDATE OilAnnualAudit b left join OilSupplierCert a ON (a.GfId =b.OldId AND a.SupplierTypeCode = b.SupplierTypeName) SET b.SupplierId = a.SupplierId," +
+		"b.CerId = a.Id," +
+		"b.AccessCardNo = a.AccessCardNo"
 	_, err := s.DBE.Query(sql)
 	return err
 }
@@ -276,22 +285,27 @@ func (s *TmpzcgtSession) InsertCertSub() error {
 }
 
 func (s *TmpzcgtSession) UpdateCertSub(where string) error {
-	sql := "UPDATE OilSupplierCertSub b SET b.SupplierId = IFNULL((SELECT a.SupplierId FROM OilSupplierCert a WHERE a.GfId =b.OldId AND a.SupplierTypeCode = b.SupplierTypeCode AND a.SupplierId IS NOT NULL limit 1 ), 0)," +
-		"b.SupplierCertId = (SELECT a.Id FROM OilSupplierCert a WHERE a.GfId =b.OldId AND a.SupplierTypeCode = b.SupplierTypeCode limit 1) " + where
+	/** sql := "UPDATE OilSupplierCertSub b SET b.SupplierId = IFNULL((SELECT a.SupplierId FROM OilSupplierCert a WHERE a.GfId =b.OldId AND a.SupplierTypeCode = b.SupplierTypeCode AND a.SupplierId IS NOT NULL limit 1 ), 0)," +
+		"b.SupplierCertId = (SELECT a.Id FROM OilSupplierCert a WHERE a.GfId =b.OldId AND a.SupplierTypeCode = b.SupplierTypeCode limit 1) " + where */
+
+	sql := "UPDATE OilSupplierCertSub b left join OilSupplierCert a on (a.GfId =b.OldId AND a.SupplierTypeCode = b.SupplierTypeCode)  SET b.SupplierId = IFNULL(a.SupplierId, 0)," +
+		"b.SupplierCertId = IFNULL(a.Id, 0) " + where +
+		" AND a.SupplierId IS NOT NULL"
+
 	_, err := s.DBE.Query(sql)
 	return err
 }
 
 func (s *TmpzcgtSession) UpdateCertSub01classId(where string) error {
 
-	sql1 := "UPDATE OilSupplierCertSub b SET b.SubClassId = (SELECT a.Id FROM OilGoodsAptitudeClass a WHERE a.Code = b.Code ) " +
+	sql1 := "UPDATE OilSupplierCertSub left join OilGoodsAptitudeClass a ON a.Code = b.Code b SET b.SubClassId = a.Id " +
 		"WHERE b.SupplierTypeCode = '01'" + where
 	_, err := s.DBE.Query(sql1)
 	return err
 }
 
 func (s *TmpzcgtSession) UpdateCertSub02classId(where string) error {
-	sql2 := "UPDATE OilSupplierCertSub b SET b.SubClassId = (SELECT a.Id FROM OilBasisBuild a WHERE a.Code = b.Code ) " +
+	sql2 := "UPDATE OilSupplierCertSub b left join OilBasisBuild a ON a.Code = b.Code SET b.SubClassId = a.Id " +
 		"WHERE b.SupplierTypeCode = '02'" + where
 	_, err := s.DBE.Query(sql2)
 	return err
@@ -299,7 +313,9 @@ func (s *TmpzcgtSession) UpdateCertSub02classId(where string) error {
 }
 
 func (s *TmpzcgtSession) UpdateCertSub03classId(where string) error {
-	sql3 := "UPDATE OilSupplierCertSub b SET b.SubClassId = (SELECT a.Id FROM OilBasisBuild a WHERE a.Code = b.Code ) " +
+	/** sql3 := "UPDATE OilSupplierCertSub b SET b.SubClassId = (SELECT a.Id FROM OilBasisBuild a WHERE a.Code = b.Code ) " +
+		"WHERE b.SupplierTypeCode = '03'" + where */
+	sql3 := "UPDATE OilSupplierCertSub b left join OilBasisBuild a ON a.Code = b.Code SET b.SubClassId = a.Id " +
 		"WHERE b.SupplierTypeCode = '03'" + where
 	_, err := s.DBE.Query(sql3)
 	return err
@@ -345,24 +361,33 @@ func (s *TmpzcgtSession) InsertOilSupplierCertSub() error {
 }
 
 func (s *TmpzcgtSession) UpdateOilInfoChange() error {
+	// sql := "UPDATE OilInfoChange b SET b.SupplierId=IFNULL((SELECT a.SupplierId FROM OilSupplierCert a WHERE a.GfId = b.HouseNo limit 1), 0)"
 	sql := "UPDATE OilInfoChange b SET b.SupplierId=IFNULL((SELECT a.SupplierId FROM OilSupplierCert a WHERE a.GfId = b.HouseNo limit 1), 0)"
 	_, err := s.DBE.Query(sql)
 	return err
 }
 
 func (s *TmpzcgtSession) UpOilSupplierCertAppend() error {
-	sql := "UPDATE OilSupplierCertAppend b SET " +
+	/** sql := "UPDATE OilSupplierCertAppend b SET " +
 		"b.SupplierId = IFNULL((SELECT a.`SupplierId` FROM OilSupplierCert a WHERE a.`GfId` = b.OldId AND a.SupplierTypeCode = b.AppendType limit 1), 0), " +
-		"b.SupplierCertId = IFNULL((SELECT a.`Id` FROM OilSupplierCert a WHERE a.`GfId` = b.OldId AND a.SupplierTypeCode = b.AppendType limit 1), 0) "
+		"b.SupplierCertId = IFNULL((SELECT a.`Id` FROM OilSupplierCert a WHERE a.`GfId` = b.OldId AND a.SupplierTypeCode = b.AppendType limit 1), 0) " */
+	sql := "UPDATE OilSupplierCertAppend b left join OilSupplierCert a ON (a.`GfId` = b.OldId AND a.SupplierTypeCode = b.AppendType) SET " +
+		"b.SupplierId = IFNULL(a.`SupplierId`, 0), " +
+		"b.SupplierCertId = IFNULL(a.`Id`, 0) "
 	_, err := s.DBE.Query(sql)
 	return err
 }
 
 func (s *TmpzcgtSession) UpdateCertSubIsType2(where string) error {
-	sql := "UPDATE OilSupplierCertSub b SET " +
+	/** sql := "UPDATE OilSupplierCertSub b SET " +
 		"b.SupplierId = IFNULL((SELECT a.`SupplierId` FROM OilSupplierCertAppend a WHERE a.`OldId` = b.OldId AND a.AppendType = b.SupplierTypeCode AND a.ApplyDate = b.CreateOn limit 1), 0), " +
 		"b.SupplierCertId = IFNULL((SELECT a.`SupplierCertId` FROM OilSupplierCertAppend a WHERE a.`OldId` = b.OldId AND a.AppendType = b.SupplierTypeCode AND a.ApplyDate = b.CreateOn limit 1), 0), " +
 		"b.SupplierCertAppendId = IFNULL((SELECT a.`Id` FROM OilSupplierCertAppend a WHERE a.`OldId` = b.OldId AND a.AppendType = b.SupplierTypeCode AND a.ApplyDate = b.CreateOn limit 1), 0) " +
+		where */
+	sql := "UPDATE OilSupplierCertSub b left join OilSupplierCertAppend a ON (a.`OldId` = b.OldId AND a.AppendType = b.SupplierTypeCode AND a.ApplyDate = b.CreateOn) SET " +
+		"b.SupplierId = IFNULL(a.`SupplierId`, 0), " +
+		"b.SupplierCertId = IFNULL(a.`SupplierCertId`, 0), " +
+		"b.SupplierCertAppendId = IFNULL(a.`Id`, 0) " +
 		where
 	_, err := s.DBE.Query(sql)
 	return err
@@ -382,7 +407,7 @@ func (s *TmpzcgtSession) InsertFileName() error {
 }
 
 func (s *TmpzcgtSession) UpdateSupplierFileSId() error {
-	sql := "UPDATE `OilSupplierFile` b SET b.SupplierId = IFNULL((SELECT a.Id FROM `OilSupplier` a WHERE a.SupplierName = b.Remark AND a.Id IS NOT NULL limit 1 ), 0) "
+	sql := "UPDATE `OilSupplierFile` b left join `OilSupplier` a ON (a.SupplierName = b.Remark AND a.Id IS NOT NULL) SET b.SupplierId = IFNULL(a.Id, 0) "
 	_, err := s.DBE.Query(sql)
 	return err
 }