package supplierfile import ( "dashoo.cn/backend/api/business/oilsupplier/tableheader" "reflect" "strconv" "strings" "dashoo.cn/backend/api/business/oilsupplier/basisbuild" "dashoo.cn/backend/api/business/oilsupplier/goodsaptitude" "dashoo.cn/backend/api/business/oilsupplier/suppliercertsub" "dashoo.cn/backend/api/business/oilsupplier/technologyservice" . "dashoo.cn/backend/api/mydb" //"dashoo.cn/utils" //. "dashoo.cn/utils/db" "github.com/go-xorm/xorm" ) type SupplierfileService struct { MyServiceBase } type FileList struct { FileName string } func GetSupplierfileService(xormEngine *xorm.Engine) *SupplierfileService { s := new(SupplierfileService) s.DBE = xormEngine return s } func (s *SupplierfileService) GetGoodsNeedFileList(classid string,IsManuf ...string) (needList []FileList) { Ids := strings.Split(classid, ",") search := "" if len(IsManuf) == 0 { search = "" } else { search = IsManuf[0] } for i := 0; i < len(Ids); i++ { classid = Ids[i] var entity goodsaptitude.OilGoodsAptitude sql := "select * from OilGoodsAptitude where ClassId in (" + classid + ")" s.DBE.Sql(sql).Get(&entity) tbHeaderSvc := tableheader.GetTableHeaderService(s.DBE) var headerList []tableheader.BaseTableheader tbHeaderSvc.ListGoodTableHeader(&headerList) for _, header := range headerList { curCertConfig := reflect.ValueOf(entity) setValue := curCertConfig.FieldByName(header.Code).String() //if setValue != "" && setValue != "0" { if setValue == "1" { if search != "" { if header.IsManuf == search || header.IsManuf == "0" { needList = append(needList, FileList{FileName: header.Name}) } } else { needList = append(needList, FileList{FileName: header.Name}) } } } } return needList } func (s *SupplierfileService) GetBasicNeedFileList(classid string) (needList []FileList) { var entity basisbuild.OilBasisBuild sql := "select * from OilBasisBuild where Id in (" + classid + ")" s.DBE.Sql(sql).Get(&entity) tbHeaderSvc := tableheader.GetTableHeaderService(s.DBE) var headerList []tableheader.BaseTableheader tbHeaderSvc.ListBbTableHeader(&headerList) for _, header := range headerList { curCertConfig := reflect.ValueOf(entity) setValue := curCertConfig.FieldByName(header.Code).String() //if setValue != "" && setValue != "0" { if setValue == "1" { needList = append(needList, FileList{FileName: header.Name}) } } return needList } func (s *SupplierfileService) GetTechNeedFileList(classid string) (needList []FileList) { var entity technologyservice.OilTechnologyService sql := "select * from OilTechnologyService where ClassId in (" + classid + ")" s.DBE.Sql(sql).Get(&entity) tbHeaderSvc := tableheader.GetTableHeaderService(s.DBE) var headerList []tableheader.BaseTableheader tbHeaderSvc.ListTsTableHeader(&headerList) for _, header := range headerList { curCertConfig := reflect.ValueOf(entity) setValue := curCertConfig.FieldByName(header.Code).String() //if setValue != "" && setValue != "0" { if setValue == "1" { needList = append(needList, FileList{FileName: header.Name}) } } return needList } //查看是否为制造商 func (s *SupplierfileService) CheckIsManuf(id string) (IsManufacturer string) { var entity suppliercertsub.OilSupplierCertSub sql := "select * from OilSupplierCertSub where id = " + id s.DBE.Sql(sql).Get(&entity) IsManufacturer = strconv.Itoa(entity.IsManufacturer) return IsManufacturer } //查看是否为制造商 func (s *SupplierfileService) GetListBySupplierId(SupplierId string) (entitys []OilSupplierFile) { queryWhere := "SupplierId='" + SupplierId + "'" s.GetEntitysByWhere("OilSupplierFile", queryWhere, &entitys) return entitys }