Jelajahi Sumber

后:查找缺资质准入范围;审验对比少文件夹就创建;合同审批人置空问题

dubch 4 tahun lalu
induk
melakukan
f6f173077a

+ 34 - 0
src/dashoo.cn/backend/api/business/oilsupplier/supplier/oilsupplierService.go

@@ -461,3 +461,37 @@ func (s *OilSupplierService) ConverseSupplierTypeToInt(typeCode string) (typeInt
 	}
 	return typeInt
 }
+
+func (s *OilSupplierService) GetDeleteSub(TableName, where string , entitiesPtr interface{}) {
+	//var resultsSlice []map[string][]byte
+
+	//获取总记录数
+	//sqlCount := `select count(*) from OilSupplierCertSub a `
+	//if TableName == "OilBasisBuild" {
+	//	sqlCount += ` left join ` + TableName + ` b on b.Id = a.SubClassId`
+	//} else {
+	//	sqlCount += ` left join ` + TableName + ` b on b.ClassId = a.SubClassId`
+	//}
+	//sqlCount += ` where ` + where
+
+	sql := `update OilSupplierCertSub a `
+	if TableName == "OilBasisBuild" {
+		sql += ` left join ` + TableName + ` b on b.Id = a.SubClassId`
+	} else {
+		sql += ` left join ` + TableName + ` b on b.ClassId = a.SubClassId`
+	}
+	sql += ` set IsQuestion = 1 where IsQuestion = 0 and ` + where
+	s.DBE.SQL(sql).Find(entitiesPtr)
+
+	//resultsSlice, _ = s.DBE.Query(sqlCount)
+
+	//if len(resultsSlice) > 0 {
+	//	results := resultsSlice[0]
+	//	for _, value := range results {
+	//		total, _ = strconv.ParseInt(string(value), 10, 64)
+	//		break
+	//	}
+	//}
+
+	//return total
+}

+ 5 - 41
src/dashoo.cn/backend/api/controllers/oilcontract/contractReview.go

@@ -680,7 +680,6 @@ func (this *OilContractReviewController) UpdateEntity() {
 	}
 
 	var modeVO contractReview.OilContractReviewVo
-	svc := contractReview.GetOilContractReviewService(utils.DBE)
 	itemSvc := contractEvaluationItems.GetOilContractEvaluationItemsService(utils.DBE)
 	var jsonBlob = this.Ctx.Input.RequestBody
 	json.Unmarshal(jsonBlob, &modeVO)
@@ -689,46 +688,7 @@ func (this *OilContractReviewController) UpdateEntity() {
 		panic("操作失败!评价细项信息不完整")
 	}
 
-	var reviewMode contractReview.OilContractReview
-	reviewMode.ContractId = modeVO.ContractId
-	reviewMode.Status = "0"
-	reviewMode.ModifiedOn = time.Now()
-	reviewMode.ModifiedBy = this.User.Realname
-	reviewMode.ModifiedUserId, _ = utils.StrTo(this.User.Id).Int()
-
-	cols := []string{
-		"Id",
-
-		"ContractId",
-
-		"BackRemark",
-
-		"FirstAudit",
-
-		"SecondAudit",
-
-		"ThirdAudit",
-
-		"FourthAudit",
-
-		"ProfessionalAudit",
-
-		"AuditIndex",
-
-		"IsFinal",
-
-		"ModifiedOn",
-
-		"ModifiedUserId",
-
-		"ModifiedBy",
-	}
-	err := svc.UpdateEntityBytbl(OilContractReviewName, id, &reviewMode, cols)
-	if err != nil {
-		panic("修改失败!" + utils.AlertProcess(err.Error()))
-	}
-
-	cols = []string{"Score", "Value", "Remark", "ModifiedOn", "ModifiedBy", "ModifiedUserId"}
+	cols := []string{"Score", "Value", "Remark", "ModifiedOn", "ModifiedBy", "ModifiedUserId"}
 	if modeVO.IsBusiness == 0 {
 		//where := "ContentReviewId=" + id + " AND Category = 0 "
 		// 清除掉之前的
@@ -895,6 +855,10 @@ func (this *OilContractReviewController) UnitAuditEntity() {
 		}
 	}()
 
+	if Id == "" || firstAudit == "" || secondAudit == "" || baseUserInfo.UnitId == 0{
+		panic("请求信息不完整")
+	}
+
 	//取出日常评审主表信息
 	conRev := contractReview.GetOilContractReviewService(utils.DBE)
 	var contractReviewEntity contractReview.OilContractReview

+ 10 - 0
src/dashoo.cn/backend/api/controllers/oilsupplier/goodsaptitude.go

@@ -2827,6 +2827,16 @@ func (this *OilGoodsAptitudeController) OilCompare() {
 
 	timeUnixNano := strconv.FormatInt(int64(time.Now().UnixNano()), 10)
 	_dir := utils.Cfg.MustValue("file", "tmplateDir") + "xlsx"
+	_, err = os.Stat(_dir)
+	if err != nil {
+		fmt.Println("path不存在", _dir)
+		err := os.MkdirAll(_dir, os.ModePerm)
+		if err != nil {
+			log.Println("创建失败")
+			log.Println(err)
+		}
+	}
+
 	//60.30.245.229 替换成23
 	url = strings.Replace(url, "60.30.245.229", "10.76.248.23", -1)
 	utils.DownloadFile(url, timeUnixNano+".xlsx", _dir)

+ 148 - 0
src/dashoo.cn/backend/api/controllers/oilsupplier/supplier.go

@@ -2887,6 +2887,154 @@ func (this *OilSupplierController) CheckSupplierFileNew() {
 	this.ServeJSON()
 }
 
+// @Title 检查缺资质
+// @Description
+// @Success	200	{object} controllers.Request
+// @router /checkSupplierFileDelete [post]
+func (this *OilSupplierController) CheckSupplierFileDelete() {
+	//获取主表信息
+	var supplierList []supplier.OilSupplier
+	var errinfo ErrorDataInfo
+	supplierService := supplier.GetOilSupplierService(utils.DBE)
+	supplierService.GetEntitysByWhere(OilSupplierName, "1=1", &supplierList)
+	//var total int64
+	//var total1 int64
+	for _, supplier := range supplierList {
+		var supplierCertEntity []suppliercert.OilSupplierCert
+		supplierService.GetEntitysByWhere("OilSupplierCert", "SupplierId = "+strconv.Itoa(supplier.Id), &supplierCertEntity)
+		for _, cert := range supplierCertEntity {
+			where2 := "("
+			where3 := "("
+			//对准入范围的判断
+			var certSubList []suppliercertsub.OilSupplierCertSub
+			certsubService := suppliercertsub.GetOilSupplierCertSubService(utils.DBE)
+			certsubService.GetListByCertId(strconv.Itoa(cert.Id), &certSubList)
+
+			// 查询出已有哪些资质
+			var tableheaderList []qualchange.OilQualChangeDetail1
+			fileSql := "SELECT * from OilSupplierFile WHERE SupplierId = " + strconv.Itoa(supplier.Id)
+			svcHeader := tableheader.GetTableHeaderService(utils.DBE)
+			svcHeader.DBE.SQL(fileSql).Find(&tableheaderList)
+			var companyHasHeaders string
+			for _, tableheader := range tableheaderList {
+				companyHasHeaders += tableheader.NeedFileType + ","
+			}
+			paramSvc := baseparameter.GetBaseparameterService(utils.DBE)
+			filesvc := supplierfile.GetSupplierfileService(utils.DBE)
+			mergerCertSkipField := paramSvc.GetBaseparameterMessage("GFGL", "paramset", "MergerCertSkipFieldName")
+
+			var ids suppliercertsub.Ids
+			var ids1 suppliercertsub.Ids
+			certsubService.GetIds(strconv.Itoa(cert.Id), cert.SupplierTypeCode, &ids, 3)
+
+			var needList []supplierfile.FileList
+			var needList1 []supplierfile.FileList
+
+			if cert.SupplierTypeCode == "01" {
+				//需要的资质
+				needList1 = filesvc.GetGoodsNeedFileListNew(ids.Id, "2")
+				if supplier.OperType == "制造商" { //制造商
+					//如果是制造商,准入范围按照各项准入范围的类型判断
+					var ids suppliercertsub.Ids
+					// 制造
+					certsubService.GetIds(strconv.Itoa(cert.Id), cert.SupplierTypeCode, &ids, 1)
+					// 非制造
+					certsubService.GetIds(strconv.Itoa(cert.Id), cert.SupplierTypeCode, &ids1, 2)
+					needList = filesvc.GetGoodsNeedFileListNew(ids.Id, "1")
+					needList1 = filesvc.GetGoodsNeedFileListNew(ids1.Id, "2")
+					//for _, need := range needList1 {
+					//	needList = append(needList, need)
+					//}
+				}
+			} else if cert.SupplierTypeCode == "02" {
+				needList = filesvc.GetBasicNeedFileListNew(ids.Id)
+			} else if cert.SupplierTypeCode == "03" {
+				needList = filesvc.GetTechNeedFileListNew(ids.Id)
+			}
+
+			for _, needHeader := range needList {
+				if (supplier.CredentialFlag == "1" || supplier.CredentialFlag == "2") &&
+					strings.Contains(mergerCertSkipField, needHeader.FileName+",") {
+					//三证合一或五证合一的证件,不需要验证了
+					continue
+				}
+
+				if !strings.Contains(companyHasHeaders, needHeader.FileName+",") {
+					var header tableheader.BaseTableheader
+					where1 := "Name = '" + needHeader.FileName + "' and CategoryCode = '" + cert.SupplierTypeCode + "'"
+					if cert.SupplierTypeCode == "01" {
+						where1 += " and IsManuf != '2'"
+					}
+					supplierService.GetEntityByWhere(BaseTableHeader, where1, &header)
+					if header.Code != "" {
+						if where2 == "(" {
+							where2 += header.Code + " = '1'"
+						} else {
+							where2 += " or " + header.Code + " = '1'"
+						}
+					} else {
+						fmt.Print("22222")
+					}
+				}
+			}
+			for _, needHeader := range needList1 {
+				if (supplier.CredentialFlag == "1" || supplier.CredentialFlag == "2") &&
+					strings.Contains(mergerCertSkipField, needHeader.FileName+",") {
+					//三证合一或五证合一的证件,不需要验证了
+					continue
+				}
+
+				if !strings.Contains(companyHasHeaders, needHeader.FileName+",") {
+					var header tableheader.BaseTableheader
+					where1 := "Name = '" + needHeader.FileName + "' and CategoryCode = '" + cert.SupplierTypeCode + "'"
+					if cert.SupplierTypeCode == "01" {
+						// 非制造商
+						where1 += " and IsManuf != '1'"
+					}
+					supplierService.GetEntityByWhere(BaseTableHeader, where1, &header)
+					if header.Code != "" {
+						if where3 == "(" {
+							where3 += header.Code + " = '1'"
+						} else {
+							where3 += " or " + header.Code + " = '1'"
+						}
+					} else {
+						fmt.Print("11111")
+					}
+
+				}
+			}
+			if where2 == "(" && where3 == "(" {
+				continue
+			}
+			if cert.SupplierTypeCode != "01" && where2 == "(" {
+				continue
+			}
+			where2 += ") and a.SupplierId = " + strconv.Itoa(supplier.Id) + " and a.SupplierTypeCode = '" + cert.SupplierTypeCode + "'"
+			where3 += ") and a.SupplierId = " + strconv.Itoa(supplier.Id) + " and a.SupplierTypeCode = '" + cert.SupplierTypeCode + "'"
+			var certSub []suppliercertsub.OilSupplierCertSub
+			if cert.SupplierTypeCode == "01" {
+				if supplier.OperType == "制造商" {
+					where2 += " and IsManufacturer != 2"
+					where3 += " and IsManufacturer = 2"
+					supplierService.GetDeleteSub(OilGoodsAptitudeName, where2, &certSub)
+					supplierService.GetDeleteSub(OilGoodsAptitudeName, where3, &certSub)
+				} else {
+					supplierService.GetDeleteSub(OilGoodsAptitudeName, where2, &certSub)
+				}
+			} else if cert.SupplierTypeCode == "02" {
+				supplierService.GetDeleteSub(OilBasisBuildName, where2, &certSub)
+			} else {
+				supplierService.GetDeleteSub(OilTechnologyServiceName, where2, &certSub)
+			}
+
+		}
+	}
+	errinfo.Code = 1
+	this.Data["json"] = &errinfo
+	this.ServeJSON()
+}
+
 // @Title 对外-招投标系统
 // @Description
 // @Success 200 {object}