package oilsupplier import ( "dashoo.cn/backend/api/business/oilsupplier/supplier" "dashoo.cn/backend/api/business/oilsupplier/suppliercert" "dashoo.cn/backend/api/business/oilsupplier/suppliercertsub" "dashoo.cn/backend/api/business/oilsupplier/supplierfile" "dashoo.cn/business2/parameter" "encoding/json" "strconv" "strings" "time" "dashoo.cn/backend/api/business/oilsupplier/suppliercertappendsub" . "dashoo.cn/backend/api/controllers" "dashoo.cn/utils" ) type OilSupplierCertAppendSubController struct { BaseController } // @Title 获取列表 // @Description 获取列表 // @Success 200 {object} []suppliercertappendsub.OilSupplierCertAppendSub // @router /getList [get] func (this *OilSupplierCertAppendSubController) GetList() { //获取分页信息 //page := this.GetPageInfoForm() //where := " 1=1 " //orderby := "Id" //asc := false //Order := this.GetString("Order") //Prop := this.GetString("Prop") //if Order != "" && Prop != "" { // orderby = Prop // if Order == "asc" { // asc = true // } //} //SupplierCertAppendId := this.GetString("SupplierCertAppendId") //if SupplierCertAppendId != "" { // where = where + " and SupplierCertAppendId = " + SupplierCertAppendId //} SupplierCertId := this.GetString("SupCertId") SupplierTypeCode := this.GetString("SupTypeCode") suwhere := " SupplierCertId = "+ SupplierCertId+ " and SupplierTypeCode = "+ SupplierTypeCode svc := suppliercertappendsub.GetOilSupplierCertAppendSubService(utils.DBE) var list []suppliercertsub.OilSupplierCertSub //svc.GetEntitysByWhere(OilSupplierCertAppendSubName, where, &list) svc.GetEntitysByOrderbyWhere(OilSupplierCertSubName, suwhere,"CreateOn asc", &list) var datainfo ErrorDataInfo datainfo.Item = list this.Data["json"] = &datainfo this.ServeJSON() } // @Title 获取列表 // @Description 获取列表 // @Success 200 {object} []suppliercertappendsub.OilSupplierCertAppendSub // @router /getMyList [get] func (this *OilSupplierCertAppendSubController) GetMyList() { SupplierCertId := this.GetString("SupCertId") SupplierTypeCode := this.GetString("SupTypeCode") SuppAppendId := this.GetString("SupplierCertAppendId") suwhere := " SupplierCertId = "+ SupplierCertId+ " and SupplierTypeCode = '"+ SupplierTypeCode +"' and SupplierCertAppendId = "+ SuppAppendId svc := suppliercertappendsub.GetOilSupplierCertAppendSubService(utils.DBE) var list []suppliercertsub.OilSupplierCertSub svc.GetEntitysByOrderbyWhere(OilSupplierCertSubName, suwhere,"CreateOn asc", &list) var datainfo ErrorDataInfo datainfo.Item = list this.Data["json"] = &datainfo this.ServeJSON() } // @Title 获取列表 // @Description 获取列表 // @Success 200 {object} []suppliercertappendsub.OilSupplierCertAppendSub // @router /getListappend [get] func (this *OilSupplierCertAppendSubController) GetListAppend() { //获取分页信息 //page := this.GetPageInfoForm() //where := " 1=1 " //orderby := "Id" //asc := false //Order := this.GetString("Order") //Prop := this.GetString("Prop") //if Order != "" && Prop != "" { // orderby = Prop // if Order == "asc" { // asc = true // } //} //SupplierCertAppendId := this.GetString("SupplierCertAppendId") //if SupplierCertAppendId != "" { // where = where + " and SupplierCertAppendId = " + SupplierCertAppendId //} SupplierCertAppendId := this.GetString("SupplierCertAppendId") SupplierCertId := this.GetString("SupCertId") SupplierTypeCode := this.GetString("SupTypeCode") suwhere := " SupplierCertId = "+ SupplierCertId+ " and SupplierCertAppendId= "+ SupplierCertAppendId +" and SupplierTypeCode = '"+ SupplierTypeCode +"' and Type in(2,3) " svc := suppliercertappendsub.GetOilSupplierCertAppendSubService(utils.DBE) var list []suppliercertsub.OilSupplierCertSub //svc.GetEntitysByWhere(OilSupplierCertAppendSubName, where, &list) svc.GetEntitysByOrderbyWhere(OilSupplierCertSubName, suwhere,"CreateOn asc", &list) var datainfo ErrorDataInfo datainfo.Item = list this.Data["json"] = &datainfo this.ServeJSON() } // @Title 添加 // @Description 添加增项分类信息基建类 // @Success 200 {object} controllers.Request // @router /addappendsub [post] func (this *OilSupplierCertAppendSubController) AddAppendSub() { var model suppliercertsub.OilSupplierCertSub var err error var jsonblob = this.Ctx.Input.RequestBody json.Unmarshal(jsonblob, &model) model.CreateBy = this.User.Realname model.CreateUserId, _ = utils.StrTo(this.User.Id).Int() model.CertSubStatus="1" svc := suppliercertsub.GetOilSupplierCertSubService(utils.DBE) var submodel suppliercertsub.OilSupplierCertSub where_certsub := " SupplierCertId = "+ utils.ToStr(model.SupplierCertId) + " and SupplierTypeCode = 02" where_certsub += " and SubClassId = '" + utils.ToStr(model.SubClassId) + "'" has := svc.GetEntityByWhere(OilSupplierCertSubName, where_certsub, &submodel) if !has{ //添加到准入分类表中 _, err = svc.InsertEntityBytbl(OilSupplierCertSubName, &model) }else{ model.Id = submodel.Id } var supplierCertModel suppliercert.OilSupplierCert svcCert := suppliercert.GetOilSupplierCertService(utils.DBE) svcCert.GetEntityById(model.SupplierCertId, &supplierCertModel) var supplierModel supplier.OilSupplier svcSupplier := supplier.GetOilSupplierService(utils.DBE) svcSupplier.GetEntityById(model.SupplierId, &supplierModel) paramSvc := baseparameter.GetBaseparameterService(utils.DBE) filesvc := supplierfile.GetSupplierfileService(utils.DBE) var needList []supplierfile.FileList if model.SupplierTypeCode == "01" { // needList = filesvc.GetGoodsNeedFileList(model.SubClassId) } else if model.SupplierTypeCode == "02" { needList = filesvc.GetBasicNeedFileList(model.SubClassId) } else { // needList = filesvc.GetTechNeedFileList(model.SubClassId) } if supplierCertModel.InStyle == "4" { var needFile supplierfile.FileList needFile.FileName = paramSvc.GetBaseparameterMessage("GFGL", "paramset", "CooperationFile") needList = append(needList, needFile) } if err == nil { var list []supplierfile.OilSupplierFile where := "SupplierId = '" + strconv.Itoa(model.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 = model.SupplierId //加入对应表OilSupplierCert2File var cert2File suppliercertsub.OilSupplierCert2File //创建结构体 cert2File.SupplierId = model.SupplierId cert2File.SupplierCertId = model.SupplierCertId cert2File.SupplierTypeCode = model.SupplierTypeCode cert2File.SubClassId= model.SubClassId cert2File.Code = model.Code cert2File.Name = model.Name cert2File.NeedFileType = needList[i].FileName svc.InsertEntityBytbl(OilSupplierCert2FileName, &cert2File) if (supplierModel.CredentialFlag == "1" || supplierModel.CredentialFlag == "2") && strings.Contains(mergerCertSkipField, needList[i].FileName+",") { //三证合一或五证合一了 continue } if strings.Contains(mustField, needList[i].FileName+",") { entity.SupplierTypeCode = "000" } else { entity.SupplierTypeCode = model.SupplierTypeCode } 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 = 2 entity.SupplierCertSubId = model.SupplierCertAppendId 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) } } var errinfo ErrorDataInfo if err == nil { errinfo.Message = "操作成功!" errinfo.Code = 0 errinfo.Item = model.Id this.Data["json"] = &errinfo this.ServeJSON() } else { errinfo.Message = "操作失败!" + utils.AlertProcess(err.Error()) errinfo.Code = -1 this.Data["json"] = &errinfo this.ServeJSON() } } // @Title 批量添加增项准入范围--技术服务类 // @Description 批量添加准入范围 // @Success 200 {object} business.device.DeviceChannels // @router /addtechbus [post] func (this *OilSupplierCertAppendSubController) AddTechBus() { var jsonblob = this.Ctx.Input.RequestBody var datamain suppliercertsub.OilSupplierCertSub var dataother suppliercertsub.TechnologySubModel json.Unmarshal(jsonblob, &datamain) json.Unmarshal(jsonblob, &dataother) var supplierCertModel suppliercert.OilSupplierCert svcCert := suppliercert.GetOilSupplierCertService(utils.DBE) svcCert.GetEntityById(datamain.SupplierCertId, &supplierCertModel) var supplierModel supplier.OilSupplier svcSupplier := supplier.GetOilSupplierService(utils.DBE) svcSupplier.GetEntityById(datamain.SupplierId, &supplierModel) for n := 0; n < len(dataother.CheckList); n++ { where_sub := "SupplierTypeCode = 03 and SupplierId = '" + strconv.Itoa(dataother.SupplierId) + "'" where_sub += " and SupplierCertId = '" + strconv.Itoa(dataother.SupplierCertId) + "'" where_sub += " and SubClassId = '" + strconv.Itoa(dataother.CheckList[n].Id) + "'" var model suppliercertsub.OilSupplierCertSub svc := suppliercertsub.GetOilSupplierCertSubService(utils.DBE) has := svc.GetEntityByWhere(OilSupplierCertSubName, where_sub, &model) if !has { datamain.SubClassId = dataother.CheckList[n].Id datamain.Code = dataother.CheckList[n].Code datamain.Name = dataother.CheckList[n].Name datamain.Remark = dataother.Remark datamain.CertSubStatus="1" datamain.IsDelete = 0 datamain.CreateBy = this.User.Realname datamain.CreateUserId, _ = utils.StrTo(this.User.Id).Int() svc.InsertEntityBytbl(OilSupplierCertSubName, &datamain) paramSvc := baseparameter.GetBaseparameterService(utils.DBE) filesvc := supplierfile.GetSupplierfileService(utils.DBE) needList := filesvc.GetTechNeedFileList(dataother.CheckList[n].Id) if supplierCertModel.InStyle == "4" { var needFile supplierfile.FileList needFile.FileName = paramSvc.GetBaseparameterMessage("GFGL", "paramset", "CooperationFile") needList = append(needList, needFile) } var list []supplierfile.OilSupplierFile where := "SupplierId = '" + strconv.Itoa(dataother.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 = dataother.SupplierId if (supplierModel.CredentialFlag == "1" || supplierModel.CredentialFlag == "2") && strings.Contains(mergerCertSkipField, needList[i].FileName+",") { //三证合一或五证合一了 continue } //加入对应表OilSupplierCert2File var cert2File suppliercertsub.OilSupplierCert2File //创建结构体 cert2File.SupplierId = dataother.SupplierId cert2File.SupplierCertId = dataother.SupplierCertId cert2File.SupplierTypeCode = dataother.SupplierTypeCode cert2File.SubClassId= dataother.CheckList[n].Id cert2File.Code = dataother.CheckList[n].Code cert2File.Name = dataother.CheckList[n].Name cert2File.NeedFileType = needList[i].FileName svc.InsertEntityBytbl(OilSupplierCert2FileName, &cert2File) if strings.Contains(mustField, needList[i].FileName+",") { entity.SupplierTypeCode = "000" } else { entity.SupplierTypeCode = dataother.SupplierTypeCode } entity.SupplierCertSubId = datamain.SupplierCertAppendId 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 = 2 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) } } } var errinfo ErrorDataInfo errinfo.Message = "操作成功!" errinfo.Code = 0 this.Data["json"] = &errinfo this.ServeJSON() } // @Title 批量添加增项准入范围--物资类 // @Description 批量添加增项准入范围 // @Success 200 {object} business.device.DeviceChannels // @router /addgoodsbus [post] func (this *OilSupplierCertAppendSubController) AddGoodsBus() { var jsonblob = this.Ctx.Input.RequestBody var datamain suppliercertsub.OilSupplierCertSub var dataother suppliercertsub.SupplierCertSubModel json.Unmarshal(jsonblob, &datamain) json.Unmarshal(jsonblob, &dataother) var supplierCertModel suppliercert.OilSupplierCert svcCert := suppliercert.GetOilSupplierCertService(utils.DBE) svcCert.GetEntityById(datamain.SupplierCertId, &supplierCertModel) var supplierModel supplier.OilSupplier svcSupplier := supplier.GetOilSupplierService(utils.DBE) svcSupplier.GetEntityById(datamain.SupplierId, &supplierModel) 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) + "'" where_sub += " and SubClassId = '" + dataother.CheckList[n].Id + "'" var model suppliercertsub.OilSupplierCertSub svc := suppliercertsub.GetOilSupplierCertSubService(utils.DBE) has := svc.GetEntityByWhere(OilSupplierCertSubName, where_sub, &model) if !has { datamain.SubClassId, _ = utils.StrTo(dataother.CheckList[n].Id).Int() datamain.Code = dataother.CheckList[n].Code datamain.Name = dataother.CheckList[n].Name datamain.CertSubStatus="1" datamain.Remark = dataother.Remark datamain.IsDelete = 0 datamain.CreateBy = this.User.Realname datamain.CreateUserId, _ = utils.StrTo(this.User.Id).Int() svc.InsertEntityBytbl(OilSupplierCertSubName, &datamain) paramSvc := baseparameter.GetBaseparameterService(utils.DBE) filesvc := supplierfile.GetSupplierfileService(utils.DBE) needList := filesvc.GetGoodsNeedFileList(dataother.CheckList[n].Id) if supplierCertModel.InStyle == "4" { var needFile supplierfile.FileList //战略合作协议扫描件 needFile.FileName = paramSvc.GetBaseparameterMessage("GFGL", "paramset", "CooperationFile") needList = append(needList, needFile) } var list []supplierfile.OilSupplierFile where := "SupplierId = '" + strconv.Itoa(dataother.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 = dataother.SupplierId if (supplierModel.CredentialFlag == "1" || supplierModel.CredentialFlag == "2") && strings.Contains(mergerCertSkipField, needList[i].FileName+",") { //三证合一或五证合一了 continue } //加入对应表OilSupplierCert2File var cert2File suppliercertsub.OilSupplierCert2File //创建结构体 cert2File.SupplierId = dataother.SupplierId cert2File.SupplierCertId = dataother.SupplierCertId cert2File.SupplierTypeCode = dataother.SupplierTypeCode cert2File.SubClassId, _ = utils.StrTo(dataother.CheckList[n].Id).Int() cert2File.Code = dataother.CheckList[n].Code cert2File.Name = dataother.CheckList[n].Name cert2File.NeedFileType = needList[i].FileName svc.InsertEntityBytbl(OilSupplierCert2FileName, &cert2File) if strings.Contains(mustField, needList[i].FileName+",") { entity.SupplierTypeCode = "000" } else { entity.SupplierTypeCode = dataother.SupplierTypeCode } 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 = 2 entity.SupplierCertSubId = datamain.SupplierCertAppendId 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) } } } var errinfo ErrorDataInfo errinfo.Message = "操作成功!" errinfo.Code = 0 this.Data["json"] = &errinfo this.ServeJSON() } // @Title 修改实体 // @Description 修改实体 // @Success 200 {object} controllers.Request // @router /update/:id [post] func (this *OilSupplierCertAppendSubController) UpdateEntity() { var errinfo ErrorInfo var model suppliercertappendsub.OilSupplierCertAppendSub id := this.Ctx.Input.Param(":id") if id == "" { errinfo.Message = "操作失败!请求信息不完整" errinfo.Code = -2 this.Data["json"] = &errinfo this.ServeJSON() return } svc := suppliercertappendsub.GetOilSupplierCertAppendSubService(utils.DBE) var jsonBlob = this.Ctx.Input.RequestBody json.Unmarshal(jsonBlob, &model) model.ModifiedOn = time.Now() model.ModifiedBy = this.User.Realname model.ModifiedUserId, _ = utils.StrTo(this.User.Id).Int() cols := []string{ "SortFlag", "Code", "Name", "Remark", "ModifiedOn", "ModifiedUserId", "ModifiedBy", } err := svc.UpdateEntityBytbl(OilSupplierCertAppendSubName, id, &model, cols) 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() } } // @Title 删除 // @Description 删除信息 // @Success 200 {object} ErrorInfo // @Failure 403 :id 为空 // @router /delete/:Id [delete] func (this *OilSupplierCertAppendSubController) DeleteEntity() { Id := this.Ctx.Input.Param(":Id") var errinfo ErrorInfo if Id == "" { errinfo.Message = "操作失败!请求信息不完整" errinfo.Code = -2 this.Data["json"] = &errinfo this.ServeJSON() return } var model suppliercertappendsub.OilSupplierCertAppendSub var entityempty suppliercertappendsub.OilSupplierCertAppendSub svc := suppliercertappendsub.GetOilSupplierCertAppendSubService(utils.DBE) opdesc := "删除-" + Id err := svc.DeleteOperationAndWriteLogBytbl(OilSupplierCertAppendSubName, BaseOperationLogName, Id, &model, &entityempty, utils.ToStr(this.User.Id), this.User.Username, opdesc, this.User.AccCode, "增项分类") 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() } }