2
3
dubch 5 жил өмнө
parent
commit
ede8bfb63f

+ 3 - 3
src/dashoo.cn/backend/api/business/oilsupplier/goodsaptitude/oilgoodsaptitudeService.go

@@ -420,7 +420,9 @@ func (s *OilGoodsAptitudeService) GetPagingTmpCheckedEntities(entitiesPtr interf
 			max(goods.F46) AS F46,
 			
 			(
-			if((max(goods.F01)='1' AND LOCATE('F01', group_concat(DISTINCT header.Code)) > 0) or (max(goods.F01) is null) or (max(goods.F01) = ''), TRUE, FALSE) AND 
+			((if((max(goods.F01)='1' AND LOCATE('F01', group_concat(DISTINCT header.Code)) > 0) or (max(goods.F01) is null) or (max(goods.F01) = ''), TRUE, FALSE)) or 
+			(if((max(goods.F36)='1' AND LOCATE('F36',  group_concat(DISTINCT header.Code)) > 0) or (max(goods.F36) is null) or (max(goods.F36) = ''), TRUE, FALSE)) or
+			(if((max(goods.F37)='1' AND LOCATE('F37',  group_concat(DISTINCT header.Code)) > 0) or (max(goods.F37) is null) or (max(goods.F37) = ''), TRUE, FALSE))) AND 
 			if((max(goods.F02)='1' AND LOCATE('F02',  group_concat(DISTINCT header.Code)) > 0) or (max(goods.F02) is null) or (max(goods.F02) = ''), TRUE, FALSE) AND
 			if((max(goods.F03)='1' AND LOCATE('F03',  group_concat(DISTINCT header.Code)) > 0) or (max(goods.F03) is null) or (max(goods.F03) = ''), TRUE, FALSE) AND
 			if((max(goods.F04)='1' AND LOCATE('F04',  group_concat(DISTINCT header.Code)) > 0) or (max(goods.F04) is null) or (max(goods.F04) = ''), TRUE, FALSE) AND
@@ -455,8 +457,6 @@ func (s *OilGoodsAptitudeService) GetPagingTmpCheckedEntities(entitiesPtr interf
 			if((max(goods.F33)='1' AND LOCATE('F33',  group_concat(DISTINCT header.Code)) > 0) or (max(goods.F33) is null) or (max(goods.F33) = ''), TRUE, FALSE) AND
 			if((max(goods.F34)='1' AND LOCATE('F34',  group_concat(DISTINCT header.Code)) > 0) or (max(goods.F34) is null) or (max(goods.F34) = ''), TRUE, FALSE) AND
 			if((max(goods.F35)='1' AND LOCATE('F35',  group_concat(DISTINCT header.Code)) > 0) or (max(goods.F35) is null) or (max(goods.F35) = ''), TRUE, FALSE) AND
-			if((max(goods.F36)='1' AND LOCATE('F36',  group_concat(DISTINCT header.Code)) > 0) or (max(goods.F36) is null) or (max(goods.F36) = ''), TRUE, FALSE) AND
-			if((max(goods.F37)='1' AND LOCATE('F37',  group_concat(DISTINCT header.Code)) > 0) or (max(goods.F37) is null) or (max(goods.F37) = ''), TRUE, FALSE) AND
 			if((max(goods.F38)='1' AND LOCATE('F38',  group_concat(DISTINCT header.Code)) > 0) or (max(goods.F38) is null) or (max(goods.F38) = ''), TRUE, FALSE) AND
 			if((max(goods.F39)='1' AND LOCATE('F39',  group_concat(DISTINCT header.Code)) > 0) or (max(goods.F39) is null) or (max(goods.F39) = ''), TRUE, FALSE) AND
 			if((max(goods.F40)='1' AND LOCATE('F40',  group_concat(DISTINCT header.Code)) > 0) or (max(goods.F40) is null) or (max(goods.F40) = ''), TRUE, FALSE) AND

+ 54 - 49
src/dashoo.cn/backend/api/controllers/oilsupplier/goodsaptitude.go

@@ -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