瀏覽代碼

前后:提交审核判断资质

dubch 5 年之前
父節點
當前提交
c69429dc0f

+ 77 - 7
src/dashoo.cn/backend/api/business/oilsupplier/suppliercert/oilsuppliercertService.go

@@ -4,9 +4,11 @@ import (
 	"dashoo.cn/backend/api/business/auditsetting"
 	"dashoo.cn/backend/api/business/oilsupplier/classorgsetting"
 	"dashoo.cn/backend/api/business/oilsupplier/supplier"
+	"dashoo.cn/backend/api/business/oilsupplier/suppliercertappendsub"
 	"dashoo.cn/backend/api/business/oilsupplier/suppliercertsub"
 	"dashoo.cn/backend/api/business/oilsupplier/supplierfile"
 	"dashoo.cn/backend/api/business/oilsupplier/supplierscenefile"
+	"dashoo.cn/backend/api/business/oilsupplier/tableheader"
 	"dashoo.cn/backend/api/business/workflow"
 	. "dashoo.cn/backend/api/mydb"
 	baseparameter "dashoo.cn/business2/parameter"
@@ -176,16 +178,85 @@ func (s *OilSupplierCertService) IsSupplierCertCanSubmit(supplierId, supplierCer
 		panic("准入范围不能为空!")
 	}
 
-	if supplierEntity.Grade == supplier.GRADE_2 {
-		for _, certSubItem := range certSubList {
-			if certSubItem.GoodsLevel == supplier.GOODS_LEVEL_1 {
-				panic("二级供应商不能准入一级物资!")
+	// 查询出已有哪些资质
+	supplierTypeCode := supplierCertEntity.SupplierTypeCode
+	var tableheaderList []supplierfile.OilSupplierFile
+	fileSql := "SELECT * from OilSupplierFile WHERE SupplierId = " + supplierId
+	fileSql += " AND (SupplierTypeCode='" + supplierTypeCode + "' or SupplierTypeCode='000')"
+	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)
+	IsManufacturer := 0
+	mergerCertSkipField := paramSvc.GetBaseparameterMessage("GFGL", "paramset", "MergerCertSkipFieldName")
+	for _, certSubItem := range certSubList {
+		if certSubItem.GoodsLevel == supplier.GOODS_LEVEL_1 {
+			panic("二级供应商不能准入一级物资!")
+		}
+		var needList []supplierfile.FileList
+		if supplierTypeCode == "01" {
+			if supplierEntity.OperType == "制造商" {
+				IsManufacturer = 1
+			} else if supplierEntity.OperType == "贸易商" || supplierEntity.OperType == "代理商"{
+				IsManufacturer = 2
+				if certSubItem.IsManufacturer == 1 {
+					panic("非制造商准入范围不能为制造商,请手动修改!")
+				}
+			}
+			//需要的资质
+			needList = filesvc.GetGoodsNeedFileList(strconv.Itoa(certSubItem.SubClassId), strconv.Itoa(IsManufacturer))
+		} else if supplierTypeCode == "02" {
+			needList = filesvc.GetBasicNeedFileList(strconv.Itoa(certSubItem.SubClassId))
+		} else if supplierTypeCode == "03" {
+			needList = filesvc.GetTechNeedFileList(strconv.Itoa(certSubItem.SubClassId))
+		}
+
+		if IsManufacturer == 1 { //制造商
+			var needFile supplierfile.FileList
+			// 质量管理体系认证证书
+			CNPCrenkezhengshu := paramSvc.GetBaseparameterMessage("GFGL", "paramset", "CNPCrenkezhengshu")
+			needFile.FileName = CNPCrenkezhengshu
+			needList = append(needList, needFile)
+		}
+
+		if supplierCertEntity.InStyle == "4" {
+			var needFile supplierfile.FileList
+			//战略合作协议扫描件
+			needFile.FileName = paramSvc.GetBaseparameterMessage("GFGL", "paramset", "CooperationFile")
+			needList = append(needList, needFile)
+		}
+
+		for _, needHeader := range needList {
+			if ( supplierEntity.CredentialFlag == "1" ||  supplierEntity.CredentialFlag == "2") &&
+				strings.Contains(mergerCertSkipField, needHeader.FileName+",") {
+				//三证合一或五证合一的证件,不需要验证了
+				continue
+			}
+			var fileist1 supplierfile.OilSupplierFile
+			where1 := " SupplierId = '" + supplierId + "' and NeedFileType = '" + needHeader.FileName + "'"
+			filesvc.GetEntityByWhere("OilSupplierFile", where1, &fileist1)
+
+			var filelist2 suppliercertappendsub.OilAppendChangeDetail
+			where2 := " SupplierId = '" + supplierId + "' and NeedFileType = '" +needHeader.FileName + "'"
+			svc2 := suppliercertappendsub.GetOilSupplierCertAppendSubService (utils.DBE)
+			svc2.GetEntityByWhere("OilAppendChangeDetail", where2, &filelist2)
+
+			if !strings.Contains(companyHasHeaders, needHeader.FileName+",") {
+				panic("请上传" + needHeader.FileName + "!")
+			} else {
+				if filelist2.FileName == "" && fileist1.FileName == "" {
+					//缺少的资质
+					panic("请上传!" + needHeader.FileName + "!")
+				}
 			}
 		}
 	}
 
 	//请上传现场考察报告
-	paramSvc := baseparameter.GetBaseparameterService(utils.DBE)
 	isInvestigate := paramSvc.GetBaseparameterMessage("GFGL1", "paramset", "isInvestigate")
 	if isInvestigate == "true" &&
 		supplierCertEntity.Type == supplier.SUPPLIER_TYPE_GOODS && //当前只有物资类才可上传现场考察报告
@@ -225,6 +296,5 @@ func (s *OilSupplierCertService) IsSupplierCertCanSubmit(supplierId, supplierCer
 	if needBiddingBook && !hasBiddingBook {
 		panic("招标准入需提供招标中标结果 !")
 	}
-
 	return true
-}
+}

+ 28 - 15
src/dashoo.cn/backend/api/controllers/oilsupplier/suppliercertsub.go

@@ -1320,6 +1320,10 @@ func (this *OilSupplierCertSubController) UpdateStatusWithLog() {
 	}
 }
 
+type FileList struct {
+	FileName string
+}
+
 // @Title 物资类准入提交审核检查资质 2021-01-08
 // @Description 物资类准入提交审核检查资质
 // @Success 200 {object} business.device.DeviceChannels
@@ -1356,25 +1360,34 @@ func (this *OilSupplierCertSubController) CheckSubFile () {
 	where := "SupplierId = " + strconv.Itoa(supplierId) + " and SupplierCertId = "+ strconv.Itoa(datamain.SupplierCertId) + " and SupplierTypeCode = "+ supplierTypeCode
 	svcSupplier.GetEntitysByWhere(OilSupplierCertSubName, where, &dataother)
 
+	paramSvc := baseparameter.GetBaseparameterService(utils.DBE)
+	filesvc := supplierfile.GetSupplierfileService(utils.DBE)
+	var needList []supplierfile.FileList
+
 	//逐条检查需要的资质
 	for _,sub := range dataother {
-		if supplierModel.OperType == "制造商" {
-			datamain.IsManufacturer = 1
-		} else {
-			datamain.IsManufacturer = 2
-			if sub.IsManufacturer == 1 {
-				var tmpLostCert LostCertFiles
-				tmpLostCert.Code = "0"
-				tmpLostCert.Name = ""
-				tmpLostCert.CertFileName = "非制造商准入范围不能为制造商,请手动修改"
-				lostCertList = append(lostCertList, tmpLostCert)
-				break
+		if supplierTypeCode == "01" {
+			if supplierModel.OperType == "制造商" {
+				datamain.IsManufacturer = 1
+			} else if supplierModel.OperType == "贸易商" || supplierModel.OperType == "代理商"{
+				datamain.IsManufacturer = 2
+				if sub.IsManufacturer == 1 {
+					var tmpLostCert LostCertFiles
+					tmpLostCert.Code = "0"
+					tmpLostCert.Name = ""
+					tmpLostCert.CertFileName = "非制造商准入范围不能为制造商,请手动修改"
+					lostCertList = append(lostCertList, tmpLostCert)
+					break
+				}
 			}
+			//需要的资质
+			needList = filesvc.GetGoodsNeedFileList(strconv.Itoa(sub.SubClassId), strconv.Itoa(datamain.IsManufacturer))
+		} else if supplierTypeCode == "02" {
+			needList = filesvc.GetBasicNeedFileList(strconv.Itoa(sub.SubClassId))
+		} else if supplierTypeCode == "03" {
+			needList = filesvc.GetTechNeedFileList(strconv.Itoa(sub.SubClassId))
 		}
-		//检查是否资质全面
-		paramSvc := baseparameter.GetBaseparameterService(utils.DBE)
-		filesvc := supplierfile.GetSupplierfileService(utils.DBE)
-		needList := filesvc.GetGoodsNeedFileList(strconv.Itoa(sub.SubClassId), strconv.Itoa(datamain.IsManufacturer)) // 需要的资质
+
 		//三证合一或五证合一不需要的字段
 		mergerCertSkipField := paramSvc.GetBaseparameterMessage("GFGL", "paramset", "MergerCertSkipFieldName")
 		if supplierCertModel.InStyle == "4" {

+ 16 - 2
src/dashoo.cn/frontend_web/src/pages/oilsupplier/supplier/_opera/goodsedit.vue

@@ -1893,8 +1893,22 @@ export default {
           return false
         }
       }
-      // 检查是否缺资质
-      this.checkSubFile()
+      this.saveEntity(1)
+      this.updateNumberEntityNoInfo()
+      apiCert.checkSupplierCertCanSubmit(this.formData.CertId, this.$axios)
+        .then(res => {
+          if (res.data.code === 0) {
+            this.selectAuditOrg()
+          } else {
+            this.$message({
+              type: 'warning',
+              message: res.data.message
+            })
+          }
+        })
+        .catch(err => {
+          console.error(err)
+        })
     },
     checkSubFile () {
       let _this = this