|
@@ -219,7 +219,15 @@ func ImportManualData(path string, sysUser *system.Admin) (err error, errMsg str
|
|
|
return
|
|
|
}
|
|
|
|
|
|
+
|
|
|
+ successCount := 0
|
|
|
+
|
|
|
+ failDataList := make([]*models.EdbdataImportFail, 0)
|
|
|
+ var indexDataList []ImportManualIndexData
|
|
|
+
|
|
|
for _, sheet := range xlFile.Sheets {
|
|
|
+ var tmpIndexDataList []ImportManualIndexData
|
|
|
+ var tmpFailDataList []*models.EdbdataImportFail
|
|
|
rowList := sheet.Rows
|
|
|
if len(rowList) <= 0 {
|
|
|
errMsg = sheet.Name + "页异常"
|
|
@@ -237,32 +245,27 @@ func ImportManualData(path string, sysUser *system.Admin) (err error, errMsg str
|
|
|
switch templateName {
|
|
|
case "导入模板2/Import Template 2":
|
|
|
|
|
|
- fmt.Println(getDataByTemplate2(sheet))
|
|
|
+ tmpIndexDataList, tmpFailDataList, err, errMsg = getDataByTemplate2(sheet)
|
|
|
default:
|
|
|
|
|
|
- fmt.Println(getDataByTemplate1(sheet))
|
|
|
-
|
|
|
+ tmpIndexDataList, tmpFailDataList, err, errMsg = getDataByTemplate1(sheet)
|
|
|
}
|
|
|
- fmt.Println(sheet)
|
|
|
+ indexDataList = append(indexDataList, tmpIndexDataList...)
|
|
|
+ failDataList = append(failDataList, tmpFailDataList...)
|
|
|
+ }
|
|
|
+
|
|
|
+
|
|
|
+ userId := sysUser.AdminId
|
|
|
+ if sysUser.RoleTypeCode == utils.ROLE_TYPE_CODE_ADMIN {
|
|
|
+ userId = 0
|
|
|
+ }
|
|
|
+
|
|
|
+ classifyNameStrList, edbDataClassifyMap, err := GetEdbClassifyNameListByAdminId(int64(userId))
|
|
|
+ if err != nil {
|
|
|
+ errMsg = "获取分类数据失败"
|
|
|
+ return
|
|
|
}
|
|
|
|
|
|
-
|
|
|
-
|
|
|
-
|
|
|
-
|
|
|
-
|
|
|
-
|
|
|
-
|
|
|
-
|
|
|
-
|
|
|
-
|
|
|
-
|
|
|
-
|
|
|
-
|
|
|
-
|
|
|
-
|
|
|
-
|
|
|
-
|
|
|
|
|
|
|
|
|
|
|
@@ -648,10 +651,11 @@ type ImportManualIndexData struct {
|
|
|
|
|
|
|
|
|
|
|
|
-func getDataByTemplate1(sheet *xlsx.Sheet) (indexDataList []ImportManualIndexData, err error, errMsg string) {
|
|
|
+func getDataByTemplate1(sheet *xlsx.Sheet, sysUserId int) (indexDataList []ImportManualIndexData, failDataList []*models.EdbdataImportFail, err error, errMsg string) {
|
|
|
fmt.Println("sheet name: ", sheet.Name)
|
|
|
indexDataList = make([]ImportManualIndexData, 0)
|
|
|
indexDataListMap := make(map[string]ImportManualIndexData, 0)
|
|
|
+ failDataList = make([]*models.EdbdataImportFail, 0)
|
|
|
|
|
|
|
|
|
maxRow := sheet.MaxRow
|
|
@@ -729,35 +733,35 @@ func getDataByTemplate1(sheet *xlsx.Sheet) (indexDataList []ImportManualIndexDat
|
|
|
continue
|
|
|
}
|
|
|
|
|
|
- createDate, tmpErr := getExcelDate(createDate)
|
|
|
+ currDate, tmpErr := getExcelDate(createDate)
|
|
|
if tmpErr != nil {
|
|
|
-
|
|
|
-
|
|
|
-
|
|
|
-
|
|
|
-
|
|
|
-
|
|
|
-
|
|
|
-
|
|
|
-
|
|
|
-
|
|
|
-
|
|
|
-
|
|
|
+ failDataList = append(failDataList, &models.EdbdataImportFail{
|
|
|
+
|
|
|
+ ClassifyName: classifyName,
|
|
|
+ CreateDate: createDate,
|
|
|
+ SecName: indexName,
|
|
|
+ Close: closeVal,
|
|
|
+ Remark: "日期格式异常",
|
|
|
+ SysUserId: strconv.Itoa(sysUserId),
|
|
|
+ Frequency: frequency,
|
|
|
+ Unit: unit,
|
|
|
+ })
|
|
|
+ continue
|
|
|
}
|
|
|
|
|
|
closeValFloat, tmpErr := cells[3].Float()
|
|
|
if tmpErr != nil {
|
|
|
-
|
|
|
-
|
|
|
-
|
|
|
-
|
|
|
-
|
|
|
-
|
|
|
-
|
|
|
-
|
|
|
-
|
|
|
-
|
|
|
-
|
|
|
+ failDataList = append(failDataList, &models.EdbdataImportFail{
|
|
|
+
|
|
|
+ ClassifyName: classifyName,
|
|
|
+ CreateDate: currDate,
|
|
|
+ SecName: indexName,
|
|
|
+ Close: cells[3].Value,
|
|
|
+ Remark: "值类型异常",
|
|
|
+ SysUserId: strconv.Itoa(sysUserId),
|
|
|
+ Frequency: frequency,
|
|
|
+ Unit: unit,
|
|
|
+ })
|
|
|
continue
|
|
|
}
|
|
|
newDecimal := decimal.NewFromFloat(closeValFloat)
|
|
@@ -778,7 +782,7 @@ func getDataByTemplate1(sheet *xlsx.Sheet) (indexDataList []ImportManualIndexDat
|
|
|
}
|
|
|
}
|
|
|
|
|
|
- indexDataListMap[indexName].DataMap[createDate] = closeVal
|
|
|
+ indexDataListMap[indexName].DataMap[currDate] = closeVal
|
|
|
}
|
|
|
|
|
|
for _, v := range indexDataListMap {
|
|
@@ -796,9 +800,10 @@ func getDataByTemplate1(sheet *xlsx.Sheet) (indexDataList []ImportManualIndexDat
|
|
|
|
|
|
|
|
|
|
|
|
-func getDataByTemplate2(sheet *xlsx.Sheet) (indexDataList []ImportManualIndexData, err error, errMsg string) {
|
|
|
+func getDataByTemplate2(sheet *xlsx.Sheet) (indexDataList []ImportManualIndexData, failDataList []*models.EdbdataImportFail, err error, errMsg string) {
|
|
|
fmt.Println("sheet name: ", sheet.Name)
|
|
|
indexDataList = make([]ImportManualIndexData, 0)
|
|
|
+ failDataList = make([]*models.EdbdataImportFail, 0)
|
|
|
|
|
|
|
|
|
maxRow := sheet.MaxRow
|
|
@@ -873,7 +878,7 @@ func getDataByTemplate2(sheet *xlsx.Sheet) (indexDataList []ImportManualIndexDat
|
|
|
|
|
|
for k, v := range cells {
|
|
|
if k == 0 {
|
|
|
- createDate, tmpErr := getExcelDate(v.Value)
|
|
|
+ tmpCurrDate, tmpErr := getExcelDate(v.Value)
|
|
|
if tmpErr != nil {
|
|
|
|
|
|
|
|
@@ -890,7 +895,7 @@ func getDataByTemplate2(sheet *xlsx.Sheet) (indexDataList []ImportManualIndexDat
|
|
|
dateErr = true
|
|
|
}
|
|
|
|
|
|
- currDate = createDate
|
|
|
+ currDate = tmpCurrDate
|
|
|
continue
|
|
|
}
|
|
|
|