|
@@ -2,13 +2,16 @@ package samplessource
|
|
|
|
|
|
|
|
import (
|
|
import (
|
|
|
"fmt"
|
|
"fmt"
|
|
|
- "github.com/tealeg/xlsx"
|
|
|
|
|
"os"
|
|
"os"
|
|
|
|
|
+
|
|
|
"time"
|
|
"time"
|
|
|
|
|
|
|
|
|
|
+ "github.com/tealeg/xlsx"
|
|
|
|
|
+
|
|
|
//"fmt"
|
|
//"fmt"
|
|
|
"strconv"
|
|
"strconv"
|
|
|
|
|
|
|
|
|
|
+ "dashoo.cn/backend/api/business/codecsequence"
|
|
|
. "dashoo.cn/backend/api/mydb"
|
|
. "dashoo.cn/backend/api/mydb"
|
|
|
"dashoo.cn/utils"
|
|
"dashoo.cn/utils"
|
|
|
. "dashoo.cn/utils/db"
|
|
. "dashoo.cn/utils/db"
|
|
@@ -77,12 +80,11 @@ func (s *SamplesSourceService) InsertExcelAnimal(excelpath, tablename, accode, c
|
|
|
excelpath = dir + excelpath
|
|
excelpath = dir + excelpath
|
|
|
xlFile, _ := xlsx.OpenFile(excelpath)
|
|
xlFile, _ := xlsx.OpenFile(excelpath)
|
|
|
var warn1 string
|
|
var warn1 string
|
|
|
- fmt.Println("ssdsdsd",xlFile.Sheets)
|
|
|
|
|
for sheetindex, sheet := range xlFile.Sheets { //循环页数
|
|
for sheetindex, sheet := range xlFile.Sheets { //循环页数
|
|
|
sheetrows := len(xlFile.Sheets[sheetindex].Rows)
|
|
sheetrows := len(xlFile.Sheets[sheetindex].Rows)
|
|
|
for rowindex, row := range sheet.Rows { //循环行数
|
|
for rowindex, row := range sheet.Rows { //循环行数
|
|
|
- notefieldstr := ""
|
|
|
|
|
- notevaluestr := ""
|
|
|
|
|
|
|
+ //notefieldstr := ""
|
|
|
|
|
+ //notevaluestr := ""
|
|
|
if rowindex == 0 {
|
|
if rowindex == 0 {
|
|
|
continue
|
|
continue
|
|
|
}
|
|
}
|
|
@@ -146,21 +148,23 @@ func (s *SamplesSourceService) InsertExcelAnimal(excelpath, tablename, accode, c
|
|
|
basestation.CreateUserId = createuserid
|
|
basestation.CreateUserId = createuserid
|
|
|
|
|
|
|
|
sqlfield := "AccCode,Genus,InnerNo,Name,Amount,Unit,Province,ProvinceName,City,CityName,"
|
|
sqlfield := "AccCode,Genus,InnerNo,Name,Amount,Unit,Province,ProvinceName,City,CityName,"
|
|
|
- sqlfield = sqlfield + "Street,StreetName,Address,AreaCode,Longitude,Latitude,Altitude,SurveyDate"
|
|
|
|
|
|
|
+ sqlfield = sqlfield + "Street,StreetName,Address,AreaCode,Longitude,Latitude,Altitude,SurveyDate,"
|
|
|
sqlfield = sqlfield + "ProjectId,ProjectName,"
|
|
sqlfield = sqlfield + "ProjectId,ProjectName,"
|
|
|
- sqlfield = sqlfield + "CreateUserId,CreateBy,CreateOn"
|
|
|
|
|
- sqlfield = sqlfield + notefieldstr
|
|
|
|
|
|
|
+ sqlfield = sqlfield + "CreateUserId,CreateBy,CreateOn,"
|
|
|
|
|
+ sqlfield = sqlfield + "ZBack11,ZBack17"
|
|
|
|
|
+ //sqlfield = sqlfield + notefieldstr
|
|
|
|
|
|
|
|
sqlvalue := "'" + basestation.AccCode + "','" + basestation.Genus + "','" + basestation.InnerNo + "','" + basestation.Name + "'," + utils.ToStr(basestation.Amount) + ",'" + basestation.Unit + "',"
|
|
sqlvalue := "'" + basestation.AccCode + "','" + basestation.Genus + "','" + basestation.InnerNo + "','" + basestation.Name + "'," + utils.ToStr(basestation.Amount) + ",'" + basestation.Unit + "',"
|
|
|
- sqlvalue = sqlvalue + "'" + basestation.Province + "','" + basestation.ProvinceName + "','" + basestation.City + "','" + basestation.CityName + "','"+ basestation.Street + "',"
|
|
|
|
|
|
|
+ sqlvalue = sqlvalue + "'" + basestation.Province + "','" + basestation.ProvinceName + "','" + basestation.City + "','" + basestation.CityName + "','" + basestation.Street + "',"
|
|
|
sqlvalue = sqlvalue + "'" + basestation.StreetName + "','" + basestation.Address + "','" + basestation.AreaCode + "','" + basestation.Longitude + "','" + basestation.Latitude + "',"
|
|
sqlvalue = sqlvalue + "'" + basestation.StreetName + "','" + basestation.Address + "','" + basestation.AreaCode + "','" + basestation.Longitude + "','" + basestation.Latitude + "',"
|
|
|
sqlvalue = sqlvalue + "'" + basestation.Altitude + "','" + basestation.SurveyDate.Format("2006-1-2 15:4:5") + "'," + utils.ToStr(basestation.ProjectId) + ",'" + basestation.ProjectName + "',"
|
|
sqlvalue = sqlvalue + "'" + basestation.Altitude + "','" + basestation.SurveyDate.Format("2006-1-2 15:4:5") + "'," + utils.ToStr(basestation.ProjectId) + ",'" + basestation.ProjectName + "',"
|
|
|
- sqlvalue = sqlvalue + "" + utils.ToStr(basestation.CreateUserId) + ",'" + basestation.CreateBy + "','" + "now(),now()'"
|
|
|
|
|
- sqlvalue = sqlvalue + notevaluestr
|
|
|
|
|
- s.AddLine(tablename, sqlfield, sqlvalue)
|
|
|
|
|
|
|
+ sqlvalue = sqlvalue + "" + utils.ToStr(basestation.CreateUserId) + ",'" + basestation.CreateBy + "'," + "now(),"
|
|
|
|
|
+ sqlvalue = sqlvalue + "'" + basestation.ZBack11 + "','" + basestation.ZBack17 + "'"
|
|
|
|
|
+ //sqlvalue = sqlvalue + notevaluestr
|
|
|
|
|
+ s.AddLine(tablename, sqlfield, sqlvalue, basestation.InnerNo)
|
|
|
|
|
|
|
|
if rowindex == (sheetrows) {
|
|
if rowindex == (sheetrows) {
|
|
|
- s.AddLine(tablename, sqlfield, sqlvalue)
|
|
|
|
|
|
|
+ s.AddLine(tablename, sqlfield, sqlvalue, basestation.InnerNo)
|
|
|
}
|
|
}
|
|
|
}
|
|
}
|
|
|
}
|
|
}
|
|
@@ -168,9 +172,52 @@ func (s *SamplesSourceService) InsertExcelAnimal(excelpath, tablename, accode, c
|
|
|
}
|
|
}
|
|
|
|
|
|
|
|
//数据写入数据库
|
|
//数据写入数据库
|
|
|
-func (s *SamplesSourceService) AddLine(tableName, fieldName, fieldValue string) error {
|
|
|
|
|
- sql := "insert into " + tableName + "(" + fieldName + ") values(" + fieldValue + ")"
|
|
|
|
|
|
|
+func (s *SamplesSourceService) AddLine(tablename, fieldName, fieldValue, innerno string) error {
|
|
|
|
|
+ sql := "insert into " + tablename + "(" + fieldName + ") values(" + fieldValue + ")"
|
|
|
fmt.Println(sql)
|
|
fmt.Println(sql)
|
|
|
_, err := s.DBE.Exec(sql)
|
|
_, err := s.DBE.Exec(sql)
|
|
|
|
|
+
|
|
|
|
|
+ s.AddCodes(tablename, innerno)
|
|
|
|
|
+
|
|
|
return err
|
|
return err
|
|
|
-}
|
|
|
|
|
|
|
+}
|
|
|
|
|
+
|
|
|
|
|
+func (s *SamplesSourceService) AddCodes(tablename, innerno string) error {
|
|
|
|
|
+ var model AnimalInfo
|
|
|
|
|
+ where := "InnerNo = '" + innerno + "'"
|
|
|
|
|
+ s.DBE.Table(tablename).Where(where).Get(&model)
|
|
|
|
|
+
|
|
|
|
|
+ entityname := "CodecSequence"
|
|
|
|
|
+ var list []codecsequence.CodecSequence
|
|
|
|
|
+ where_seq := "AccCode = '" + model.AccCode + "'"
|
|
|
|
|
+ where_seq += " and AreaCode = '" + model.AreaCode + "'"
|
|
|
|
|
+ s.DBE.Table(entityname).Where(where_seq).Find(&list)
|
|
|
|
|
+
|
|
|
|
|
+ if len(list) == 0 {
|
|
|
|
|
+ var entity codecsequence.CodecSequence
|
|
|
|
|
+ entity.AccCode = model.AccCode
|
|
|
|
|
+ entity.SeqName = strconv.Itoa(model.Id)
|
|
|
|
|
+ entity.AreaCode = model.AreaCode
|
|
|
|
|
+ entity.MinValue = 1
|
|
|
|
|
+ entity.MaxValue = model.Amount
|
|
|
|
|
+ entity.CurrentVal = 1
|
|
|
|
|
+ entity.IncrementVal = 1
|
|
|
|
|
+ entity.CreateBy = model.CreateBy
|
|
|
|
|
+ entity.CreateUserId = model.CreateUserId
|
|
|
|
|
+ _, err := s.DBE.Table(entityname).Insert(entity)
|
|
|
|
|
+ return err
|
|
|
|
|
+ } else {
|
|
|
|
|
+ var entity codecsequence.CodecSequence
|
|
|
|
|
+ entity.AccCode = model.AccCode
|
|
|
|
|
+ entity.SeqName = strconv.Itoa(model.Id)
|
|
|
|
|
+ entity.AreaCode = model.AreaCode
|
|
|
|
|
+ entity.MinValue = list[len(list)-1].MaxValue + 1
|
|
|
|
|
+ entity.MaxValue = list[len(list)-1].MaxValue + model.Amount
|
|
|
|
|
+ entity.CurrentVal = list[len(list)-1].MaxValue + 1
|
|
|
|
|
+ entity.IncrementVal = 1
|
|
|
|
|
+ entity.CreateBy = model.CreateBy
|
|
|
|
|
+ entity.CreateUserId = model.CreateUserId
|
|
|
|
|
+ _, err := s.DBE.Table(entityname).Insert(entity)
|
|
|
|
|
+ return err
|
|
|
|
|
+ }
|
|
|
|
|
+}
|