supplierfileService.go 4.5 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141
  1. package supplierfile
  2. import (
  3. "dashoo.cn/backend/api/business/oilsupplier/tableheader"
  4. "reflect"
  5. "strconv"
  6. "strings"
  7. "dashoo.cn/backend/api/business/oilsupplier/basisbuild"
  8. "dashoo.cn/backend/api/business/oilsupplier/goodsaptitude"
  9. "dashoo.cn/backend/api/business/oilsupplier/suppliercertsub"
  10. "dashoo.cn/backend/api/business/oilsupplier/technologyservice"
  11. . "dashoo.cn/backend/api/mydb"
  12. //"dashoo.cn/utils"
  13. //. "dashoo.cn/utils/db"
  14. "github.com/go-xorm/xorm"
  15. )
  16. type SupplierfileService struct {
  17. MyServiceBase
  18. }
  19. type FileList struct {
  20. FileName string
  21. }
  22. func GetSupplierfileService(xormEngine *xorm.Engine) *SupplierfileService {
  23. s := new(SupplierfileService)
  24. s.DBE = xormEngine
  25. return s
  26. }
  27. func (s *SupplierfileService) GetGoodsNeedFileList(classid string,IsManuf ...string) (needList []FileList) {
  28. Ids := strings.Split(classid, ",")
  29. search := ""
  30. if len(IsManuf) == 0 {
  31. search = ""
  32. } else {
  33. search = IsManuf[0]
  34. }
  35. for i := 0; i < len(Ids); i++ {
  36. classid = Ids[i]
  37. var entity goodsaptitude.OilGoodsAptitude
  38. sql := "select * from OilGoodsAptitude where ClassId in (" + classid + ")"
  39. s.DBE.Sql(sql).Get(&entity)
  40. tbHeaderSvc := tableheader.GetTableHeaderService(s.DBE)
  41. var headerList []tableheader.BaseTableheader
  42. tbHeaderSvc.ListGoodTableHeader(&headerList)
  43. for _, header := range headerList {
  44. curCertConfig := reflect.ValueOf(entity)
  45. setValue := curCertConfig.FieldByName(header.Code).String()
  46. if setValue != "" && setValue != "0" {
  47. if search != "" {
  48. if header.IsManuf == search || header.IsManuf == "0" {
  49. needList = append(needList, FileList{FileName: header.Name})
  50. }
  51. } else {
  52. needList = append(needList, FileList{FileName: header.Name})
  53. }
  54. }
  55. }
  56. }
  57. return needList
  58. }
  59. func (s *SupplierfileService) GetBasicNeedFileList(classid string) (needList []FileList) {
  60. var entity basisbuild.OilBasisBuild
  61. sql := "select * from OilBasisBuild where Id in (" + classid + ")"
  62. s.DBE.Sql(sql).Get(&entity)
  63. tbHeaderSvc := tableheader.GetTableHeaderService(s.DBE)
  64. var headerList []tableheader.BaseTableheader
  65. tbHeaderSvc.ListBbTableHeader(&headerList)
  66. for _, header := range headerList {
  67. curCertConfig := reflect.ValueOf(entity)
  68. setValue := curCertConfig.FieldByName(header.Code).String()
  69. if setValue != "" && setValue != "0" {
  70. needList = append(needList, FileList{FileName: header.Name})
  71. }
  72. }
  73. return needList
  74. }
  75. func (s *SupplierfileService) GetTechNeedFileList(classid string) (needList []FileList) {
  76. var entity technologyservice.OilTechnologyService
  77. sql := "select * from OilTechnologyService where ClassId in (" + classid + ")"
  78. s.DBE.Sql(sql).Get(&entity)
  79. tbHeaderSvc := tableheader.GetTableHeaderService(s.DBE)
  80. var headerList []tableheader.BaseTableheader
  81. tbHeaderSvc.ListTsTableHeader(&headerList)
  82. for _, header := range headerList {
  83. curCertConfig := reflect.ValueOf(entity)
  84. setValue := curCertConfig.FieldByName(header.Code).String()
  85. if setValue != "" && setValue != "0" {
  86. needList = append(needList, FileList{FileName: header.Name})
  87. }
  88. }
  89. return needList
  90. }
  91. //查看是否为制造商
  92. func (s *SupplierfileService) CheckIsManuf(id string) (IsManufacturer string) {
  93. var entity suppliercertsub.OilSupplierCertSub
  94. sql := "select * from OilSupplierCertSub where id = " + id
  95. s.DBE.Sql(sql).Get(&entity)
  96. IsManufacturer = strconv.Itoa(entity.IsManufacturer)
  97. return IsManufacturer
  98. }
  99. /** func (s *SupplierfileService) GetAllowCertItemList(supplierId, supplierTypeCode string) (goodsClassList []goodsaptitudeclass.OilGoodsAptitudeClass) {
  100. // 查询出已有哪些资质
  101. var tableheaderList []tableheader.BaseTableheader
  102. 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')"
  103. s.DBE.SQL(fileSql).Find(&tableheaderList)
  104. var needHeaders string
  105. for _, tableheader := range tableheaderList {
  106. needHeaders += tableheader.Code + ","
  107. }
  108. // 获取符合资质的列表树
  109. sql := "SELECT a.* FROM OilGoodsAptitudeClass a LEFT JOIN OilGoodsAptitude b ON a.Id=b.ClassId WHERE 1=1"
  110. var i int
  111. for i=1; i<=46; i++ {
  112. fileNo := fmt.Sprintf("%02d", i)
  113. fileNo = "F" + fileNo
  114. ret := strings.ContainsAny(needHeaders, fileNo + ",")
  115. if !ret {
  116. sql += " AND (" + fileNo + " = '' or " + fileNo + " is null)"
  117. } else {
  118. sql += " AND " + fileNo + " = '1' or " + fileNo + " is null)"
  119. }
  120. }
  121. s.DBE.SQL(sql).Find(&goodsClassList)
  122. return goodsClassList
  123. } */