Răsfoiți Sursa

资质关联删除

Signed-off-by: lijunqing <lijunqing@dashoo.cn>
lijunqing 6 ani în urmă
părinte
comite
e3e655265d

+ 49 - 4
src/dashoo.cn/backend/api/controllers/oilsupplier/suppliercertsub.go

@@ -604,16 +604,61 @@ func (this *OilSupplierCertSubController) BusinessDelete() {
 		this.ServeJSON()
 		return
 	}
+	//根据Id查出OilSupplierCertSub的SubClassId
+	svc := suppliercertsub.GetOilSupplierCertSubService(utils.DBE) //获得数据库引擎
+	filesvc := supplierfile.GetSupplierfileService(utils.DBE)
+	paramSvc := baseparameter.GetBaseparameterService(utils.DBE)
+	var datamain suppliercertsub.OilSupplierCertSub    //创建OilSupplierCertSub结构体(映射用)
+	var datamain2 []suppliercertsub.OilSupplierCertSub //空的查询用
+
 	where := " Id= " + Id
-	svc := suppliercertsub.GetOilSupplierCertSubService(utils.DBE)
-	err := svc.DeleteEntityBytbl(OilSupplierCertSubName, where)
-	if err == nil {
+	svc.GetEntity(&datamain, where) //根据Id查找,映射结构体
+
+	//再根据企业id查找这个企业有几个准入范围(如果只有一个准入范围了,基本资质也删除)
+
+	supplierId := datamain.SupplierId
+	where = "SupplierId=" + strconv.Itoa(supplierId)
+	svc.GetEntities(&datamain2, where)
+	flag := 0
+	if len(datamain2) == 1 {
+		flag = 1
+	}
+	subClassId := datamain.SubClassId //4.拿到结构体中的准入范围SubClassId
+	//根据SubClassId查出此准入范围所拥有的资质名称
+	var needList []supplierfile.FileList                                               //定义存储所拥有资质名称的数组
+	needList = filesvc.GetGoodsNeedFileList(strconv.Itoa(subClassId))                  //通过准入范围Id获得资质名称并填充数组
+	var mustField string
+	mustField = paramSvc.GetBaseparameterMessage("GFGL", "paramset", "MustFieldName") //必需的资质
+
+	//根据企业ID(SupplierId)和此准入范围所拥有的资质名称删除OilSupplierFile表中对应的资质
+	for j := 0; j < len(needList); j++ { //循环遍历资质名称数组,逐条删除
+
+		if flag == 0 && strings.Contains(mustField, needList[j].FileName+",") {
+			continue
+		}
+		where := " SupplierId= '" + strconv.Itoa(datamain.SupplierId) + "' and NeedFileType='" + needList[j].FileName + "'" //拼接删除sql
+		err := svc.DeleteEntityBytbl(OilSupplierFileName, where)                                                            //删除第j条资质数据
+		if err == nil {
+			errinfo.Message = "删除成功"
+			errinfo.Code = 0
+			this.Data["json"] = &errinfo
+			this.ServeJSON()
+		} else {
+			errinfo.Message = "删除失败!" + utils.AlertProcess(err.Error())
+			errinfo.Code = -1
+			this.Data["json"] = &errinfo
+			this.ServeJSON()
+		}
+	}
+	where = " Id= " + Id
+	err2 := svc.DeleteEntityBytbl(OilSupplierCertSubName, where) //删除OilSupplierCertSub单条准入范围
+	if err2 == nil {
 		errinfo.Message = "删除成功"
 		errinfo.Code = 0
 		this.Data["json"] = &errinfo
 		this.ServeJSON()
 	} else {
-		errinfo.Message = "删除失败!" + utils.AlertProcess(err.Error())
+		errinfo.Message = "删除失败!" + utils.AlertProcess(err2.Error())
 		errinfo.Code = -1
 		this.Data["json"] = &errinfo
 		this.ServeJSON()

+ 2 - 2
src/dashoo.cn/frontend_web/src/components/oilsupplier/goodsinfo.vue

@@ -77,8 +77,8 @@
          <el-col :span="8">
           <el-form-item label="管理单位" >
             <el-select filterable v-model="formData.MgrUnit" maxlength="255" :readonly="!canUpdateSupplier" placeholder="请输入" style="width: 100%">
-            <el-option  v-for="item in ManagementUnitOptions" :key="item.Id" :label="item.Key"
-                         :value="item.Value">
+            <el-option  v-for="item in ManagementUnitOptions" :key="item.Value" :label="item.Key"
+                         :value="item.Key">
               </el-option>
             </el-select>
           </el-form-item>