|
|
@@ -3,6 +3,7 @@ package tech |
|
|
|
import ( |
|
|
|
"net/http" |
|
|
|
"strconv" |
|
|
|
"strings" |
|
|
|
|
|
|
|
"github.com/lunny/log" |
|
|
|
|
|
|
@@ -32,17 +33,76 @@ func ImportBasicInfo(ctx *context.APIContext) { |
|
|
|
for i, row := range rows { |
|
|
|
if i != 0 { |
|
|
|
baseInfo := &models.TechConvergeBaseInfo{} |
|
|
|
baseInfo.ProjectNumber = row[2] |
|
|
|
baseInfo.ApplyYear, err = strconv.Atoi(row[1]) |
|
|
|
baseInfo.ProjectNumber = strings.TrimSpace(row[2]) |
|
|
|
baseInfo.ApplyYear, err = strconv.Atoi(strings.TrimSpace(row[1])) |
|
|
|
log.Warn("base info apply year parse err ", i) |
|
|
|
baseInfo.ProjectName = row[3] |
|
|
|
baseInfo.Type = row[16] |
|
|
|
baseInfo.Owner = row[8] |
|
|
|
baseInfo.Email = row[10] |
|
|
|
baseInfo.Phone = row[9] |
|
|
|
baseInfo.Recommend = row[7] |
|
|
|
baseInfo.Institution = row[4] |
|
|
|
baseInfo.ProjectName = strings.TrimSpace(row[3]) |
|
|
|
baseInfo.Type = strings.TrimSpace(row[16]) |
|
|
|
baseInfo.Owner = strings.TrimSpace(row[8]) |
|
|
|
baseInfo.Email = strings.TrimSpace(row[10]) |
|
|
|
baseInfo.Phone = strings.TrimSpace(row[9]) |
|
|
|
baseInfo.Recommend = strings.TrimSpace(row[7]) |
|
|
|
baseInfo.Institution = strings.TrimSpace(row[4]) |
|
|
|
baseInfo.Category = strings.TrimSpace(row[6]) |
|
|
|
baseInfo.Province = strings.TrimSpace(row[5]) |
|
|
|
baseInfo.Contact = strings.TrimSpace(row[11]) |
|
|
|
baseInfo.ContactPhone = strings.TrimSpace(row[12]) |
|
|
|
baseInfo.ContactEmail = strings.TrimSpace(row[13]) |
|
|
|
baseInfo.ExecuteMonth, _ = strconv.Atoi(strings.TrimSpace(row[14])) |
|
|
|
baseInfo.ExecutePeriod = strings.TrimSpace(row[15]) |
|
|
|
baseInfo.ExecuteStartYear, baseInfo.ExecuteEndYear = getBeginEndYear(baseInfo.ExecutePeriod) |
|
|
|
baseInfo.StartUp = strings.TrimSpace(row[17]) |
|
|
|
baseInfo.NumberTopic, _ = strconv.Atoi(strings.TrimSpace(row[30])) |
|
|
|
baseInfo.Topic1 = strings.TrimSpace(row[31]) |
|
|
|
baseInfo.Topic2 = strings.TrimSpace(row[32]) |
|
|
|
baseInfo.Topic3 = strings.TrimSpace(row[33]) |
|
|
|
baseInfo.Topic4 = strings.TrimSpace(row[34]) |
|
|
|
baseInfo.Topic5 = strings.TrimSpace(row[35]) |
|
|
|
|
|
|
|
replaceNewLineWithComma(strings.TrimSpace(row[36])) |
|
|
|
|
|
|
|
//启智项目名称、科技项目名称、项目立项编号、项目承担单位、申报年度、所属省(省市)、单位性质、推荐单位、项目负责人、负责人电话、负责人邮箱 |
|
|
|
// //、项目联系人、联系人电话、联系人邮箱、 |
|
|
|
//、启动会时间、课题数量、课题一名称及承担单位、课题二名称及承担单位、课题三名称及承担单位、课题四名称及承担单位、课题五名称及承担单位、所有参与单位、申请账号、操作 |
|
|
|
|
|
|
|
} |
|
|
|
} |
|
|
|
} |
|
|
|
|
|
|
|
func replaceNewLineWithComma(s string) string { |
|
|
|
const replacement = "," |
|
|
|
|
|
|
|
var replacer = strings.NewReplacer( |
|
|
|
"\r\n", replacement, |
|
|
|
"\r", replacement, |
|
|
|
"\n", replacement, |
|
|
|
"\v", replacement, |
|
|
|
"\f", replacement, |
|
|
|
"\u0085", replacement, |
|
|
|
"\u2028", replacement, |
|
|
|
"\u2029", replacement, |
|
|
|
) |
|
|
|
return replacer.Replace(s) |
|
|
|
} |
|
|
|
|
|
|
|
/** |
|
|
|
2019.12-2023.12 |
|
|
|
*/ |
|
|
|
func getBeginEndYear(executePeriod string) (int, int) { |
|
|
|
period := strings.Split(executePeriod, "-") |
|
|
|
if len(period) == 2 { |
|
|
|
start := strings.Split(period[0], ".") |
|
|
|
end := strings.Split(period[1], ".") |
|
|
|
|
|
|
|
if len(start) == 2 && len(end) == 2 { |
|
|
|
startYear, err := strconv.Atoi(start[0]) |
|
|
|
endYear, err1 := strconv.Atoi(end[0]) |
|
|
|
if err == nil && err1 == nil { |
|
|
|
return startYear, endYear |
|
|
|
} |
|
|
|
|
|
|
|
} |
|
|
|
|
|
|
|
} |
|
|
|
return 0, 0 |
|
|
|
} |