| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141 |
- 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 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" {
- 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" {
- 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) GetAllowCertItemList(supplierId, supplierTypeCode string) (goodsClassList []goodsaptitudeclass.OilGoodsAptitudeClass) {
- // 查询出已有哪些资质
- var tableheaderList []tableheader.BaseTableheader
- fileSql := "SELECT b.* from OilSupplierFile a LEFT JOIN Base_TableHeader b on a.NeedFileType=b.Name AND a.SupplierTypeCode=b.CategoryCode WHERE a.SupplierId='"+ supplierId +"' AND (a.SupplierTypeCode='" + supplierTypeCode + "' or a.SupplierTypeCode='000')"
- s.DBE.SQL(fileSql).Find(&tableheaderList)
- var needHeaders string
- for _, tableheader := range tableheaderList {
- needHeaders += tableheader.Code + ","
- }
- // 获取符合资质的列表树
- sql := "SELECT a.* FROM OilGoodsAptitudeClass a LEFT JOIN OilGoodsAptitude b ON a.Id=b.ClassId WHERE 1=1"
- var i int
- for i=1; i<=46; i++ {
- fileNo := fmt.Sprintf("%02d", i)
- fileNo = "F" + fileNo
- ret := strings.ContainsAny(needHeaders, fileNo + ",")
- if !ret {
- sql += " AND (" + fileNo + " = '' or " + fileNo + " is null)"
- } else {
- sql += " AND " + fileNo + " = '1' or " + fileNo + " is null)"
- }
- }
- s.DBE.SQL(sql).Find(&goodsClassList)
- return goodsClassList
- } */
|