|
|
@@ -1297,60 +1297,59 @@ func (this *OilGoodsAptitudeController) ImportExcel() {
|
|
|
this.ServeJSON()
|
|
|
}
|
|
|
|
|
|
- _dir := utils.Cfg.MustValue("file", "tmplateDir") + "xlsx"
|
|
|
- filename := strconv.Itoa(int(time.Now().Unix())) + ".xlsx"
|
|
|
- utils.DownloadFile(url, filename, _dir)
|
|
|
- t := time.Now()
|
|
|
- filePath := utils.Cfg.MustValue("file", "tmplateDir") + "xlsx/" + filename
|
|
|
- xlFile, err := xlsx.OpenFile(filePath)
|
|
|
- var errLineNum string
|
|
|
-
|
|
|
- //excelFileName := "F:/物资类项目与资质对照表-2017.xlsx"
|
|
|
- if err != nil {
|
|
|
- fmt.Printf("open failed: %s\n", err)
|
|
|
- }
|
|
|
- var sheet = xlFile.Sheets[0]
|
|
|
+ go func() {
|
|
|
+ _dir := utils.Cfg.MustValue("file", "tmplateDir") + "xlsx"
|
|
|
+ filename := strconv.Itoa(int(time.Now().Unix())) + ".xlsx"
|
|
|
+ utils.DownloadFile(url, filename, _dir)
|
|
|
+ t := time.Now()
|
|
|
+ filePath := utils.Cfg.MustValue("file", "tmplateDir") + "xlsx/" + filename
|
|
|
+ xlFile, err := xlsx.OpenFile(filePath)
|
|
|
+ var errLineNum string
|
|
|
+
|
|
|
+ //excelFileName := "F:/物资类项目与资质对照表-2017.xlsx"
|
|
|
+ if err != nil {
|
|
|
+ fmt.Printf("open failed: %s\n", err)
|
|
|
+ }
|
|
|
+ var sheet = xlFile.Sheets[0]
|
|
|
|
|
|
- Fstrs := svc.GetFCode()
|
|
|
- Fstrs = "GoodsLevel,GoodsDesc,Standard,CompanyType," + Fstrs
|
|
|
- columnArr := strings.Split(Fstrs, ",")
|
|
|
+ Fstrs := svc.GetFCode()
|
|
|
+ Fstrs = "GoodsLevel,GoodsDesc,Standard,CompanyType," + Fstrs
|
|
|
+ columnArr := strings.Split(Fstrs, ",")
|
|
|
|
|
|
- codemap := make(map[string]int)
|
|
|
- for i := 2; i < len(sheet.Rows); i++ {
|
|
|
- lineNo := strconv.Itoa(i + 1)
|
|
|
- this.OperationCell(lineNo, columnArr, codemap, sheet.Rows[i].Cells, &errLineNum)
|
|
|
- }
|
|
|
- os.Remove(filePath)
|
|
|
+ codemap := make(map[string]int)
|
|
|
+ for i := 2; i < len(sheet.Rows); i++ {
|
|
|
+ lineNo := strconv.Itoa(i + 1)
|
|
|
+ this.OperationCell(lineNo, columnArr, codemap, sheet.Rows[i].Cells, &errLineNum)
|
|
|
+ }
|
|
|
+ os.Remove(filePath)
|
|
|
|
|
|
- if errLineNum != "" {
|
|
|
- errorinfo.Code = -1
|
|
|
- errorinfo.Message = "导入失败!错误行号:" + errLineNum
|
|
|
- this.Data["json"] = &errorinfo
|
|
|
- this.ServeJSON()
|
|
|
- } else {
|
|
|
- elapsed := time.Since(t)
|
|
|
- log.Println(elapsed)
|
|
|
- //清空
|
|
|
- svc.TruncateTable("OilSupplierContrast")
|
|
|
- // 插入对比列表
|
|
|
- svc := goodsaptitude.GetOilGoodsAptitudeService(utils.DBE)
|
|
|
- var list1 []supplier.OilSupplier
|
|
|
- svc.GetMyPagingEntitiesWithOrderBytbl(OilSupplierName, 0, 0, "Id", false, &list1, " 1=1")
|
|
|
- for _, item := range list1 {
|
|
|
- var list []supplier.OilSupplierContrast
|
|
|
- where := " b.SupplierTypeCode='01' and a.Id = " + strconv.Itoa(item.Id)
|
|
|
- svc.GetPagingTmpCheckedEntities(&list, where)
|
|
|
- if list != nil {
|
|
|
- svc.InsertEntityBytbl("OilSupplierContrast", list[0])
|
|
|
+ if errLineNum != "" {
|
|
|
+ log.Println("导入失败!错误行号:" + errLineNum)
|
|
|
+ } else {
|
|
|
+ elapsed := time.Since(t)
|
|
|
+ log.Println(elapsed)
|
|
|
+ //清空
|
|
|
+ svc.TruncateTable("OilSupplierContrast")
|
|
|
+ // 插入对比列表
|
|
|
+ svc := goodsaptitude.GetOilGoodsAptitudeService(utils.DBE)
|
|
|
+ var list1 []supplier.OilSupplier
|
|
|
+ svc.GetMyPagingEntitiesWithOrderBytbl(OilSupplierName, 0, 0, "Id", false, &list1, " 1=1")
|
|
|
+ for _, item := range list1 {
|
|
|
+ var list []supplier.OilSupplierContrast
|
|
|
+ where := " b.SupplierTypeCode='01' and a.Id = " + strconv.Itoa(item.Id)
|
|
|
+ svc.GetPagingTmpCheckedEntities(&list, where)
|
|
|
+ if list != nil {
|
|
|
+ svc.InsertEntityBytbl("OilSupplierContrast", list[0])
|
|
|
+ }
|
|
|
}
|
|
|
+ elapsed1 := time.Since(t)
|
|
|
+ log.Println(elapsed1)
|
|
|
}
|
|
|
- elapsed1 := time.Since(t)
|
|
|
- log.Println(elapsed1)
|
|
|
- errorinfo.Code = 0
|
|
|
- errorinfo.Message = "导入成功!"
|
|
|
- this.Data["json"] = &errorinfo
|
|
|
- this.ServeJSON()
|
|
|
- }
|
|
|
+ }()
|
|
|
+ errorinfo.Code = 0
|
|
|
+ errorinfo.Message = "导入中,请等待!"
|
|
|
+ this.Data["json"] = &errorinfo
|
|
|
+ this.ServeJSON()
|
|
|
}
|
|
|
|
|
|
func (this *OilGoodsAptitudeController) OperationCell(lineNo string, columnArr []string, codemap map[string]int, cellsArr []*xlsx.Cell, errLineNum *string) {
|
|
|
@@ -2003,6 +2002,12 @@ func (this *OilGoodsAptitudeController) GetDelCertSubList() {
|
|
|
code := strings.Split(model[0]["Codes"], ",")
|
|
|
i := 1
|
|
|
for _, value := range code {
|
|
|
+ if i == 36 || i== 37 || i == 1 {
|
|
|
+ if (code[0] == "1" && strings.Index(item.HeaderCodes, "F1") < 0) && (code[35] == "1" && strings.Index(item.HeaderCodes, "F36") < 0) && (code[36] == "1" && strings.Index(item.HeaderCodes, "F37") < 0) {
|
|
|
+ list[a].Checked = 1
|
|
|
+ break
|
|
|
+ }
|
|
|
+ }
|
|
|
if i > 10 {
|
|
|
if value == "1" && strings.Index(item.HeaderCodes, "F"+strconv.Itoa(i)) < 0 {
|
|
|
list[a].Checked = 1
|