소스 검색

新增 批量修改是否为 制造商

wlin1 5 년 전
부모
커밋
c8f13cf5b6
2개의 변경된 파일326개의 추가작업 그리고 16개의 파일을 삭제
  1. 9 12
      src/dashoo.cn/backend/api/controllers/oilsupplier/infochange.go
  2. 317 4
      src/dashoo.cn/backend/api/controllers/oilsupplier/suppliercertsub.go

+ 9 - 12
src/dashoo.cn/backend/api/controllers/oilsupplier/infochange.go

@@ -568,7 +568,7 @@ func (this *InfoChangeController) GetChangeEntity() {
 	models[0] = model
 
 	var infoitems []infochange.OilInfoChangeItem
-	where := " SupplierId = " + Id +" and InfoId ="+InfoId
+	where := " SupplierId = " + Id + " and InfoId =" + InfoId
 	where = where + " and ChangeStatus = 0"
 	svc.GetEntitysByWhere(OilInfoChangeItemName, where, &infoitems)
 	tmpModel := &model
@@ -591,7 +591,7 @@ func (this *InfoChangeController) GetChangeEntity() {
 				floatchangeinfo, _ := strconv.ParseFloat(info.ChangeInfo, 64)
 				elem.FieldByName(info.SelectItem).SetFloat(floatchangeinfo)
 			} else if elem.FieldByName(info.SelectItem).Type().String() == "time.Time" {
-				t, _ := time.Parse("2006-01-02", info.ChangeInfo[0 : 10])
+				t, _ := time.Parse("2006-01-02", info.ChangeInfo[0:10])
 				elem.FieldByName(info.SelectItem).Set(reflect.ValueOf(t))
 			} else {
 				elem.FieldByName(info.SelectItem).SetString(info.ChangeInfo)
@@ -707,7 +707,6 @@ func (this *InfoChangeController) DeleteEntity() {
 	}
 }
 
-
 // @Title 删除信息变更
 // @Description
 // @Success 200 {object} ErrorInfo
@@ -728,7 +727,7 @@ func (this *InfoChangeController) DelInfoChangech() {
 	var infoChange infochange.OilInfoChange
 	where := "Id=" + Id + " and Status <= '0'"
 	has1 := svc.GetEntity(&infoChange, where)
- 	if !has1 {
+	if !has1 {
 		errinfo.Message = "删除失败"
 		errinfo.Code = -1
 		this.Data["json"] = &errinfo
@@ -1125,7 +1124,6 @@ func (this *InfoChangeController) CommitAuditEntity() {
 		firstAudit = strings.Trim(userIds, ",")
 	}
 
-
 	//取出审批列表
 	svc := infochange.GetInfoChangeService(utils.DBE)
 	var infochangeentity infochange.OilInfoChange
@@ -1323,7 +1321,7 @@ func (this *InfoChangeController) InfoAudit() {
 	var infomodel infochange.OilInfoChange
 	svc.GetEntityById(utils.ToStr(dataother.InfoId), &infomodel)
 	var infoitems []infochange.OilInfoChangeItem
-	where := "SupplierId = " + utils.ToStr(dataother.SuppId) +" and InfoId = " +utils.ToStr(dataother.InfoId)
+	where := "SupplierId = " + utils.ToStr(dataother.SuppId) + " and InfoId = " + utils.ToStr(dataother.InfoId)
 	svc.GetEntities(&infoitems, where)
 	var errinfo ErrorDataInfo
 	defer func() { //finally处理失败的异常
@@ -1546,7 +1544,7 @@ func (this *InfoChangeController) updatesupplier(supname string, suppid int, inf
 			where := " Id = " + utils.ToStr(suppid)
 			var sql string
 			if infoitems[i].SelectItem == "SetupTime" {
-				sql = `UPDATE ` + supname + ` set ` + infoitems[i].SelectItem + ` = '` + infoitems[i].ChangeInfo[0: 10] + `' where ` + where
+				sql = `UPDATE ` + supname + ` set ` + infoitems[i].SelectItem + ` = '` + infoitems[i].ChangeInfo[0:10] + `' where ` + where
 			} else {
 				sql = `UPDATE ` + supname + ` set ` + infoitems[i].SelectItem + ` = '` + infoitems[i].ChangeInfo + `' where ` + where
 			}
@@ -1558,7 +1556,6 @@ func (this *InfoChangeController) updatesupplier(supname string, suppid int, inf
 	return err
 }
 
-
 func (this *InfoChangeController) BusinessDelete(SupplierId string) {
 	SupplierTypeCode := "01"
 	var IsManufacturer string
@@ -1575,9 +1572,9 @@ func (this *InfoChangeController) BusinessDelete(SupplierId string) {
 
 	Id := ""
 	for _, item := range DelCertSublList {
-		Id = Id + ","	+ strconv.Itoa(item.Id)
+		Id = Id + "," + strconv.Itoa(item.Id)
 	}
-	Id = strings.Trim(Id,",")
+	Id = strings.Trim(Id, ",")
 	if Id != "" {
 		Ids := strings.Split(Id, ",")
 
@@ -1689,7 +1686,7 @@ func (this *InfoChangeController) FileDelete(supplierId string) {
 	var delfiles []supplierfile.OilSupplierFile
 	svc.GetEntities(&delfiles, where)
 	delfilenames := ""
-	for _, delfile :=  range delfiles {
+	for _, delfile := range delfiles {
 		delfilenames += delfile.NeedFileType + ","
 	}
 	fmt.Println("del==" + delfilenames)
@@ -1710,4 +1707,4 @@ func (this *InfoChangeController) FileDelete(supplierId string) {
 	svc.DeleteEntityBytbl(OilSupplierFileName, where)
 	sp := time.Since(s)
 	log.Println(sp, "++++++++++++++++++++")
-}
+}

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

@@ -363,7 +363,7 @@ func (this *OilSupplierCertSubController) AddGoodsBus() {
 	svcSupplier := supplier.GetOilSupplierService(utils.DBE)
 	svcSupplier.GetEntityById(datamain.SupplierId, &supplierModel)
 
-	LABEL1:
+LABEL1:
 	for n := 0; n < len(dataother.CheckList); n++ {
 		where_sub := "SupplierTypeCode = 01 and SupplierId = '" + strconv.Itoa(dataother.SupplierId) + "'"
 		where_sub += " and SupplierCertId = '" + strconv.Itoa(dataother.SupplierCertId) + "'"
@@ -422,7 +422,7 @@ func (this *OilSupplierCertSubController) AddGoodsBus() {
 			}
 
 			var Havelist []supplierfile.OilSupplierFile // 已经有的资质
-			where := "SupplierTypeCode in (01,000) and IsManuf in ('0','"+ strconv.Itoa(datamain.IsManufacturer) +"', '') and SupplierId = '" + strconv.Itoa(dataother.SupplierId) + "'"
+			where := "SupplierTypeCode in (01,000) and IsManuf in ('0','" + strconv.Itoa(datamain.IsManufacturer) + "', '') and SupplierId = '" + strconv.Itoa(dataother.SupplierId) + "'"
 			svc.GetEntitysByWhere(OilSupplierFileName, where, &Havelist)
 
 			//三证合一或五证合一不需要的字段
@@ -430,7 +430,6 @@ func (this *OilSupplierCertSubController) AddGoodsBus() {
 			//"营业执照,组织代码,组织机构代码证,税务登记证,税务登记,开户许可,银行开户许可证,承诺书,诚信合规承诺书,企业信息系统截图,战略合作协议扫描件,"
 			mustField := paramSvc.GetBaseparameterMessage("GFGL", "paramset", "MustFieldName")
 
-
 			for i := 0; i < len(needList); i++ {
 				var entity supplierfile.OilSupplierFile
 				entity.SupplierId = dataother.SupplierId
@@ -993,6 +992,320 @@ func (this *OilSupplierCertSubController) UpdateStatus() {
 	}
 }
 
+// @Title 批量修改是否为制造商
+// Update by wanglin 7-11
+// @Description
+// @router /updatemanufacturer/:Id/:SupplierId/:IsManufacturer [get]
+func (this *OilSupplierCertSubController) SetManufacturer() {
+	Ids := this.Ctx.Input.Param(":Id")
+	IsManufacturer := this.Ctx.Input.Param(":IsManufacturer")
+	SupplierId := this.Ctx.Input.Param(":SupplierId")
+	SupplierTypeCode := "01"
+
+	svc := suppliercertsub.GetOilSupplierCertSubService(utils.DBE)
+	var CertSublList []suppliercertsub.OilSupplierCertSub
+	where := "SupplierId=" + SupplierId + " and Id not in (" + Ids + ") and SupplierTypeCode ='" + SupplierTypeCode + "'" // 没有删除的准入范围
+	svc.GetEntities(&CertSublList, where)
+	var SupplierCertId int
+	for _, CertSub := range CertSublList {
+		SupplierCertId = CertSub.SupplierCertId
+	}
+
+	var supplierCertModel suppliercert.OilSupplierCert
+	svcCert := suppliercert.GetOilSupplierCertService(utils.DBE)
+	svcCert.GetEntityById(SupplierCertId, &supplierCertModel)
+
+	var supplierModel supplier.OilSupplier
+	svcSupplier := supplier.GetOilSupplierService(utils.DBE)
+	svcSupplier.GetEntityById(SupplierId, &supplierModel)
+
+	var error error
+
+	if IsManufacturer == "2" {
+		var errinfo ErrorInfo
+		//根据Id查出OilSupplierCertSub的SubClassId
+		filesvc := supplierfile.GetSupplierfileService(utils.DBE)
+		paramSvc := baseparameter.GetBaseparameterService(utils.DBE)
+
+		SubClassIds := ""
+		for _, CertSub := range CertSublList {
+			SubClassIds += strconv.Itoa(CertSub.SubClassId) + ","
+		}
+		var SurplusList []supplierfile.FileList
+		SubClassIds = strings.Trim(SubClassIds, ",")
+		if SubClassIds != "" {
+			if SupplierTypeCode == "01" {
+				var CertSublList2 []suppliercertsub.OilSupplierCertSub
+				wheregood := "SupplierId=" + SupplierId + " and Id not in (" + Ids + ") and SupplierTypeCode =" + SupplierTypeCode + " and IsManufacturer =" + IsManufacturer // 没有删除的准入范围
+				svc.GetEntities(&CertSublList2, wheregood)
+				SubClassIds2 := ""
+				for _, CertSub := range CertSublList2 {
+					SubClassIds2 += strconv.Itoa(CertSub.SubClassId) + ","
+				}
+				SubClassIds2 = strings.Trim(SubClassIds2, ",")
+				SurplusList = filesvc.GetGoodsNeedFileList(SubClassIds2, IsManufacturer)
+			}
+		}
+		fileNames := ""
+		for _, CertSub := range SurplusList {
+			fileNames += CertSub.FileName + ","
+		}
+		var datamain suppliercertsub.OilSupplierCertSub    //创建OilSupplierCertSub结构体(映射用)
+		var datamain2 []suppliercertsub.OilSupplierCertSub //空的查询用
+
+		//where = " Id= " + Id
+		where = " Id in( " + Ids + ") "
+
+		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), IsManufacturer) //通过准入范围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
+			}
+			if flag == 0 && strings.Contains(fileNames, needList[j].FileName+",") {
+				continue
+			}
+			where := " SupplierId= '" + strconv.Itoa(datamain.SupplierId) + "' and SupplierTypeCode =" + SupplierTypeCode + " and IsManuf='" + IsManufacturer + "' 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()
+			}
+		}
+		needList = filesvc.GetGoodsNeedFileList(strconv.Itoa(subClassId), "1")
+		if supplierCertModel.InStyle == "4" {
+			var needFile supplierfile.FileList
+			//战略合作协议扫描件
+			needFile.FileName = paramSvc.GetBaseparameterMessage("GFGL", "paramset", "CooperationFile")
+			needList = append(needList, needFile)
+		}
+
+		var list []supplierfile.OilSupplierFile
+		where := "SupplierTypeCode in (01,000) and IsManuf in ('0','1') and SupplierId =" + strconv.Itoa(supplierId)
+		svc.GetEntitysByWhere(OilSupplierFileName, where, &list)
+
+		//三证合一或五证合一不需要的字段
+		mergerCertSkipField := paramSvc.GetBaseparameterMessage("GFGL", "paramset", "MergerCertSkipFieldName")
+		//"营业执照,组织代码,组织机构代码证,税务登记证,税务登记,开户许可,银行开户许可证,承诺书,诚信合规承诺书,企业信息系统截图,战略合作协议扫描件,"
+		mustField = paramSvc.GetBaseparameterMessage("GFGL", "paramset", "MustFieldName")
+
+		for i := 0; i < len(needList); i++ {
+			var entity supplierfile.OilSupplierFile
+			entity.SupplierId = supplierId
+
+			if (supplierModel.CredentialFlag == "1" || supplierModel.CredentialFlag == "2") && strings.Contains(mergerCertSkipField, needList[i].FileName+",") { //三证合一或五证合一了
+				continue
+			}
+			//加入对应表OilSupplierCertFile
+			if strings.Contains(mustField, needList[i].FileName+",") {
+				entity.SupplierTypeCode = "000"
+				entity.IsManuf = "0"
+			} else {
+				entity.SupplierTypeCode = "01"
+				entity.IsManuf = "1"
+			}
+			entity.NeedFileType = needList[i].FileName
+			entity.FileType = 1
+			//entity.EffectDate = time.Now()
+			entity.CreateBy = this.User.Realname
+			entity.CreateUserId, _ = utils.StrTo(this.User.Id).Int()
+			entity.SupType = 1
+
+			isRepeat := false
+			for j := 0; j < len(list); j++ {
+				if list[j].NeedFileType == needList[i].FileName {
+					isRepeat = true
+					break
+				}
+			}
+			if isRepeat == true {
+				continue
+			}
+			svc.InsertEntityBytbl(OilSupplierFileName, &entity)
+		}
+		_, error = svc.DBE.Exec("update " + OilSupplierCertSubName + " set IsManufacturer =1 where Id in (" + Ids + ")")
+	} else if IsManufacturer == "1" {
+		var errinfo ErrorInfo
+
+		//根据Id查出OilSupplierCertSub的SubClassId
+		filesvc := supplierfile.GetSupplierfileService(utils.DBE)
+		paramSvc := baseparameter.GetBaseparameterService(utils.DBE)
+
+		SubClassIds := ""
+		for _, CertSub := range CertSublList {
+			SubClassIds += strconv.Itoa(CertSub.SubClassId) + ","
+		}
+		var SurplusList []supplierfile.FileList
+		SubClassIds = strings.Trim(SubClassIds, ",")
+		if SubClassIds != "" {
+			if SupplierTypeCode == "01" {
+				var CertSublList2 []suppliercertsub.OilSupplierCertSub
+				wheregood := "SupplierId=" + SupplierId + " and Id not in (" + Ids + ") and SupplierTypeCode =" + SupplierTypeCode + " and IsManufacturer =" + IsManufacturer // 没有删除的准入范围
+				svc.GetEntities(&CertSublList2, wheregood)
+				SubClassIds2 := ""
+				for _, CertSub := range CertSublList2 {
+					SubClassIds2 += strconv.Itoa(CertSub.SubClassId) + ","
+				}
+				SubClassIds2 = strings.Trim(SubClassIds2, ",")
+				SurplusList = filesvc.GetGoodsNeedFileList(SubClassIds2, IsManufacturer)
+			}
+		}
+		fileNames := ""
+		for _, CertSub := range SurplusList {
+			fileNames += CertSub.FileName + ","
+		}
+		var datamain suppliercertsub.OilSupplierCertSub    //创建OilSupplierCertSub结构体(映射用)
+		var datamain2 []suppliercertsub.OilSupplierCertSub //空的查询用
+
+		where = " Id in( " + Ids + ") "
+		//where = " Id= " + Id
+		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), IsManufacturer) //通过准入范围Id获得资质名称并填充数组
+
+		CNPCrenkezhengshu := paramSvc.GetBaseparameterMessage("GFGL", "paramset", "CNPCrenkezhengshu")
+		for _, item := range needList {
+			if CNPCrenkezhengshu == item.FileName {
+				errinfo.Message = "该准入项不能修改为非制造类!"
+				errinfo.Code = -2
+				this.Data["json"] = &errinfo
+				this.ServeJSON()
+				return
+			}
+		}
+
+		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
+			}
+			if flag == 0 && strings.Contains(fileNames, needList[j].FileName+",") {
+				continue
+			}
+			where := " SupplierId= '" + strconv.Itoa(datamain.SupplierId) + "' and SupplierTypeCode =" + SupplierTypeCode + " and IsManuf='" + IsManufacturer + "' 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()
+			}
+		}
+		needList = filesvc.GetGoodsNeedFileList(strconv.Itoa(subClassId), "2")
+		if supplierCertModel.InStyle == "4" {
+			var needFile supplierfile.FileList
+			//战略合作协议扫描件
+			needFile.FileName = paramSvc.GetBaseparameterMessage("GFGL", "paramset", "CooperationFile")
+			needList = append(needList, needFile)
+		}
+
+		var list []supplierfile.OilSupplierFile
+		where := "SupplierTypeCode in (01,000) and IsManuf in ('0','2') and SupplierId =" + strconv.Itoa(supplierId)
+		svc.GetEntitysByWhere(OilSupplierFileName, where, &list)
+
+		//三证合一或五证合一不需要的字段
+		mergerCertSkipField := paramSvc.GetBaseparameterMessage("GFGL", "paramset", "MergerCertSkipFieldName")
+		//"营业执照,组织代码,组织机构代码证,税务登记证,税务登记,开户许可,银行开户许可证,承诺书,诚信合规承诺书,企业信息系统截图,战略合作协议扫描件,"
+		mustField = paramSvc.GetBaseparameterMessage("GFGL", "paramset", "MustFieldName")
+
+		for i := 0; i < len(needList); i++ {
+			var entity supplierfile.OilSupplierFile
+			entity.SupplierId = supplierId
+
+			if (supplierModel.CredentialFlag == "1" || supplierModel.CredentialFlag == "2") && strings.Contains(mergerCertSkipField, needList[i].FileName+",") { //三证合一或五证合一了
+				continue
+			}
+			//加入对应表OilSupplierCertFile
+			if strings.Contains(mustField, needList[i].FileName+",") {
+				entity.SupplierTypeCode = "000"
+				entity.IsManuf = "0"
+			} else {
+				entity.SupplierTypeCode = "01"
+				entity.IsManuf = "2"
+			}
+			entity.NeedFileType = needList[i].FileName
+			entity.FileType = 1
+			//entity.EffectDate = time.Now()
+			entity.CreateBy = this.User.Realname
+			entity.CreateUserId, _ = utils.StrTo(this.User.Id).Int()
+			entity.SupType = 1
+
+			isRepeat := false
+			for j := 0; j < len(list); j++ {
+				if list[j].NeedFileType == needList[i].FileName {
+					isRepeat = true
+					break
+				}
+			}
+			if isRepeat == true {
+				continue
+			}
+			svc.InsertEntityBytbl(OilSupplierFileName, &entity)
+		}
+		_, error = svc.DBE.Exec("update " + OilSupplierCertSubName + " set IsManufacturer=2 where Id in(" + Ids + ")")
+	}
+
+	var errinfo ErrorDataInfo
+	if error == nil {
+		errinfo.Message = "修改成功!"
+		errinfo.Code = 0
+		this.Data["json"] = &errinfo
+		this.ServeJSON()
+	} else {
+		errinfo.Message = "修改失败!"
+		errinfo.Code = -1
+		this.Data["json"] = &errinfo
+		this.ServeJSON()
+	}
+}
+
 // @Title 修改是否为供应商
 // @Description
 // @router /updatemanufacturer/:Id/:SupplierId/:IsManufacturer [get]
@@ -1318,7 +1631,7 @@ func (this *OilSupplierCertSubController) UpdateManufacturers() {
 	svc.GetEntities(&CertSublListAll, wherea)
 
 	var error error
-	LABEL1:
+LABEL1:
 	for _, item := range CertSublListAll {
 		Id := strconv.Itoa(item.Id)
 		var CertSublList []suppliercertsub.OilSupplierCertSub