| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497 |
- package goodsaptitude
- import (
- "strconv"
- . "dashoo.cn/backend/api/mydb"
- "dashoo.cn/utils"
- . "dashoo.cn/utils/db"
- "github.com/go-xorm/xorm"
- )
- type OilGoodsAptitudeService struct {
- MyServiceBase
- }
- func GetOilGoodsAptitudeService(xormEngine *xorm.Engine) *OilGoodsAptitudeService {
- s := new(OilGoodsAptitudeService)
- s.DBE = xormEngine
- return s
- }
- type TotalResult struct {
- Total int64 `xorm:"INT(11) 'total'"`
- }
- func (s *OilGoodsAptitudeService) GetMyPagingEntitiesWithOrderBytbl(tableName string, pageIndex, itemsPerPage int64, order string, asc bool, entitiesPtr interface{}, where ...string) (total int64) {
- var err error
- var resultsSlice []map[string][]byte
- //获取表名
- if len(where) == 0 {
- if asc {
- err = s.DBE.Table(tableName).Limit(int(itemsPerPage), (int(pageIndex)-1)*int(itemsPerPage)).Asc(order).Find(entitiesPtr)
- } else {
- err = s.DBE.Table(tableName).Limit(int(itemsPerPage), (int(pageIndex)-1)*int(itemsPerPage)).Desc(order).Find(entitiesPtr)
- }
- //获取总记录数
- sql := "SELECT COUNT(*) AS total FROM " + tableName
- resultsSlice, err = s.DBE.Query(sql)
- } else {
- if asc {
- err = s.DBE.Table(tableName).Where(where[0]).Limit(int(itemsPerPage), (int(pageIndex)-1)*int(itemsPerPage)).Asc(order).Find(entitiesPtr)
- } else {
- err = s.DBE.Table(tableName).Where(where[0]).Limit(int(itemsPerPage), (int(pageIndex)-1)*int(itemsPerPage)).Desc(order).Find(entitiesPtr)
- }
- sql := "SELECT COUNT(*) AS total FROM " + tableName + " where " + where[0]
- resultsSlice, err = s.DBE.Query(sql)
- }
- //LogError(err)
- if len(resultsSlice) > 0 {
- results := resultsSlice[0]
- for _, value := range results {
- total, err = strconv.ParseInt(string(value), 10, 64)
- LogError(err)
- break
- }
- }
- return total
- }
- func (s *OilGoodsAptitudeService) GetGoodsList(goodsclass, where string) []GoodsBusiness {
- if where == "" {
- where = " 1=1 "
- }
- var sql string
- sql = `select Id, Code, Name, concat(Code, ' ', Name) as CodeName, ParentId, Remark, DeletionStateCode
- from ` + goodsclass + ` where ` + where + ` order by Code asc `
- List := make([]GoodsBusiness, 0)
- utils.DBE.Sql(sql).Find(&List)
- return List
- }
- func (s *OilGoodsAptitudeService) GetList_2019(OilGoodsAptitudeName, OilGoodsAptitudeClassName string, pageIndex, itemsPerPage int64, orderby string, asc bool, entitiesPtr interface{}, where string) (total int64) {
- var resultsSlice []map[string][]byte
- //获取总记录数
- sqlCount := `select count(*) from ` + OilGoodsAptitudeName + ` a `
- sqlCount += ` left join ` + OilGoodsAptitudeClassName + " b on b.Id = a.ClassId"
- sqlCount += ` where ` + where
- var sql string
- sql = `select a.*, b.Code, b.Name `
- sql += ` from ` + OilGoodsAptitudeName + ` a `
- sql += ` left join ` + OilGoodsAptitudeClassName + " b on b.Id = a.ClassId"
- sql += ` where ` + where
- if asc {
- sql += ` order by ` + orderby + ` ASC `
- } else {
- sql += ` order by ` + orderby + ` DESC `
- }
- if (pageIndex != 0 && itemsPerPage !=0) {
- sql += ` limit ` + utils.ToStr((pageIndex-1)*itemsPerPage) + "," + utils.ToStr(itemsPerPage)
- }
- s.DBE.SQL(sql).Find(entitiesPtr)
- resultsSlice, _ = s.DBE.Query(sqlCount)
- if len(resultsSlice) > 0 {
- results := resultsSlice[0]
- for _, value := range results {
- total, _ = strconv.ParseInt(string(value), 10, 64)
- break
- }
- }
- return total
- }
- func (s *OilGoodsAptitudeService) GetFCode() string {
- sql := "select group_concat(Code ORDER BY SortCode) FCodes from `Base_TableHeader` where CategoryCode= '01'"
- results, err :=s.DBE.QueryString(sql)
- if err != nil {
- return ""
- }
- return results[0]["FCodes"]
- }
- func (s *OilGoodsAptitudeService) GetGoodsAptitudeF(entity interface{}, where string) error {
- sql := "select F01,F02,F03,F04,F05,F06,F07,F08,F09,F10,"
- sql += "F11,F12,F13,F14,F15,F16,F17,F18,F19,F20,"
- sql += "F21,F22,F23,F24,F25,F26,F27,F28,F29,F30,"
- sql += "F31,F32,F33,F34,F35,F36,F37,F38,F39,F40,"
- sql += "F41,F42,F43,F44,F45,F46 from OilGoodsAptitude "
- if where != "" {
- sql = sql + " where " + where
- }
- err := s.DBE.Sql(sql).Find(entity)
- return err
- }
- func (s *OilGoodsAptitudeService) DeleteTable(tableName, where string) error {
- sql := "DELETE FROM " + tableName
- if where != "" {
- sql = sql + " Where " + where
- }
- _,err := s.DBE.Query(sql)
- return err
- }
- func (s *OilGoodsAptitudeService) GetMyPagingDelEntitiesWithOrderBytbl(supplierTableName, supplierCertTableName, OilInfoChangeName, OilCorporateInfoName, OilSupplierCertSubName,
- OilSupplierFileName string, pageIndex, itemsPerPage int64, orderby string, asc bool, entitiesPtr interface{}, where,having, liftjoon string) (total int64) {
- var sql string
- sql = `select SQL_CALC_FOUND_ROWS a.Id,a.SupplierName,b.AccessCardNo,b.SupplierTypeCode,`
- sql += `a.LegalPerson,a.RegCapital,a.Mobile,b.AuditDate,b.ApplyTime,b.InFlag,a.ContactName,a.CommercialNo, `
- sql += `a.DepositBank,a.HseTraining,a.CompanyType,a.SetupTime,a.Address,a.Province,a.City,a.Street, `
- sql += `a.LinkAddress,a.LinkProvince,a.LinkCity,a.LinkStreet,a.BusinessScope, `
- sql += `b.InStyle, b.Id CertId, `
- sql += `group_concat(distinct e.NeedFileType) NeedFileType `
- if liftjoon != "" {
- sql += `,group_concat(distinct d.Name) CerSubName `
- }
- sql += `from ` + supplierTableName + ` a `
- sql += `left join ` + supplierCertTableName + ` b on b.SupplierId = a.Id `
- sql += liftjoon
- sql += `left join ` + OilSupplierFileName + ` e on e.SupplierId = a.Id `
- sql += `LEFT JOIN tmp_OilSupplierCertSub t ON t.SupplierCertId = b.Id `
- sql += `where ` + where
- sql += ` group by a.Id,b.Id ` + having
- if asc {
- sql += ` order by ` + orderby + ` ASC `
- } else {
- sql += ` order by ` + orderby + ` DESC `
- }
- sql += ` limit ` + utils.ToStr((pageIndex-1)*itemsPerPage) + "," + utils.ToStr(itemsPerPage)
- sqlCount := "SELECT FOUND_ROWS() as total"
- var totalResult TotalResult
- session := s.DBE.NewSession()
- session.Begin()
- session.SQL(sql).Find(entitiesPtr)
- session.SQL(sqlCount).Get(&totalResult)
- session.Commit()
- total = totalResult.Total
- return total
- }
- //查看贸易或制造商准入资质个数
- func (s *OilGoodsAptitudeService) GetNumOfPass(ismanf string) (total int64) {
- var resultsSlice []map[string][]byte
- sqlCount := "SELECT COUNT(Id) FROM Base_TableHeader WHERE IsManuf = '"+ismanf+"' AND CategoryCode = '01'"
- resultsSlice, _ = s.DBE.Query(sqlCount)
- if len(resultsSlice) > 0 {
- results := resultsSlice[0]
- for _, value := range results {
- total, _ = strconv.ParseInt(string(value), 10, 64)
- break
- }
- }
- return total
- }
- func (s *OilGoodsAptitudeService) TruncateTable(tableName string) error {
- sql := "TRUNCATE TABLE " + tableName
- _,err := s.DBE.Query(sql)
- return err
- }
- func (s *OilGoodsAptitudeService) InsertGoodsAptitude(fromTableName, toTableName string) error {
- sql := "INSERT INTO " + toTableName + " SELECT * FROM " + fromTableName
- _,err := s.DBE.Query(sql)
- return err
- }
- func (s *OilGoodsAptitudeService) InsertTmpGoodsAptitude(parentId, fcode, val string) error {
- sql := "INSERT INTO `tmp_OilGoodsAptitude` (Edition,ClassId," + fcode + ") "
- sql += " VALUES ('1',"+ parentId +"," + val + ")"
- _, err := s.DBE.Query(sql)
- return err
- }
- func (s *OilGoodsAptitudeService) GetPagingCheckedEntities(pageIndex, itemsPerPage int64, orderby string,
- asc bool, entitiesPtr interface{}, having string) (total int64) {
- var sql string
- sql = `SELECT
- a.Id,a.SupplierName,
- b.SupplierTypeCode, b.SupplierTypeName,
- b.AccessCardNo, a.DepositBank,a.HseTraining,
- a.CompanyType,a.SetupTime,a.Address,a.Province,a.City,a.Street,
- a.LegalPerson,a.RegCapital,a.Mobile,b.AuditDate,b.ApplyTime,b.InFlag,
- a.ContactName,a.CommercialNo,a.LinkAddress,a.LinkProvince,
- a.LinkCity,a.LinkStreet,a.BusinessScope,b.InStyle, b.Id CertId,
- COUNT(sub.Id) AS subCnt,
- group_concat(DISTINCT header.Code) AS headerCodes,
- group_concat(distinct sub.Name) AS subNames,
- group_concat(distinct sub.Code) certSubCodes,
- group_concat(DISTINCT sub.SubClassId) AS subClassIds,
- max(goods.F01) AS F01,
- max(goods.F02) AS F02,
- max(goods.F03) AS F03,
- max(goods.F04) AS F04,
- max(goods.F05) AS F05,
- max(goods.F06) AS F06,
- max(goods.F07) AS F07,
- max(goods.F08) AS F08,
- max(goods.F09) AS F09,
- max(goods.F10) AS F10,
- max(goods.F11) AS F11,
- max(goods.F12) AS F12,
- max(goods.F13) AS F13,
- max(goods.F14) AS F14,
- max(goods.F15) AS F15,
- max(goods.F16) AS F16,
- max(goods.F17) AS F17,
- max(goods.F18) AS F18,
- max(goods.F19) AS F19,
- max(goods.F20) AS F20,
- max(goods.F21) AS F21,
- max(goods.F22) AS F22,
- max(goods.F23) AS F23,
- max(goods.F24) AS F24,
- max(goods.F25) AS F25,
- max(goods.F26) AS F26,
- max(goods.F27) AS F27,
- max(goods.F28) AS F28,
- max(goods.F29) AS F29,
- max(goods.F30) AS F30,
- max(goods.F31) AS F31,
- max(goods.F32) AS F32,
- max(goods.F33) AS F33,
- max(goods.F34) AS F34,
- max(goods.F35) AS F35,
- max(goods.F36) AS F36,
- max(goods.F37) AS F37,
- max(goods.F38) AS F38,
- max(goods.F39) AS F39,
- max(goods.F40) AS F40,
- max(goods.F41) AS F41,
- max(goods.F42) AS F42,
- max(goods.F43) AS F43,
- max(goods.F44) AS F44,
- max(goods.F45) AS F45,
- max(goods.F46) AS F46,
-
- (
- if((max(goods.F01)='1' AND LOCATE('F01', group_concat(DISTINCT header.Code)) > 0), TRUE, FALSE) AND
- if((max(goods.F02)='1' AND LOCATE('F02', group_concat(DISTINCT header.Code)) > 0), TRUE, FALSE) AND
- if((max(goods.F03)='1' AND LOCATE('F03', group_concat(DISTINCT header.Code)) > 0), TRUE, FALSE) AND
- if((max(goods.F04)='1' AND LOCATE('F04', group_concat(DISTINCT header.Code)) > 0), TRUE, FALSE) AND
- if((max(goods.F05)='1' AND LOCATE('F05', group_concat(DISTINCT header.Code)) > 0), TRUE, FALSE) AND
- if((max(goods.F06)='1' AND LOCATE('F06', group_concat(DISTINCT header.Code)) > 0), TRUE, FALSE) AND
- if((max(goods.F07)='1' AND LOCATE('F07', group_concat(DISTINCT header.Code)) > 0), TRUE, FALSE) AND
- if((max(goods.F08)='1' AND LOCATE('F08', group_concat(DISTINCT header.Code)) > 0), TRUE, FALSE) AND
- if((max(goods.F09)='1' AND LOCATE('F09', group_concat(DISTINCT header.Code)) > 0), TRUE, FALSE) AND
- if((max(goods.F10)='1' AND LOCATE('F10', group_concat(DISTINCT header.Code)) > 0), TRUE, FALSE) AND
- if((max(goods.F11)='1' AND LOCATE('F12', group_concat(DISTINCT header.Code)) > 0), TRUE, FALSE) AND
- if((max(goods.F13)='1' AND LOCATE('F13', group_concat(DISTINCT header.Code)) > 0), TRUE, FALSE) AND
- if((max(goods.F14)='1' AND LOCATE('F14', group_concat(DISTINCT header.Code)) > 0), TRUE, FALSE) AND
- if((max(goods.F15)='1' AND LOCATE('F15', group_concat(DISTINCT header.Code)) > 0), TRUE, FALSE) AND
- if((max(goods.F16)='1' AND LOCATE('F16', group_concat(DISTINCT header.Code)) > 0), TRUE, FALSE) AND
- if((max(goods.F17)='1' AND LOCATE('F17', group_concat(DISTINCT header.Code)) > 0), TRUE, FALSE) AND
- if((max(goods.F18)='1' AND LOCATE('F18', group_concat(DISTINCT header.Code)) > 0), TRUE, FALSE) AND
- if((max(goods.F19)='1' AND LOCATE('F19', group_concat(DISTINCT header.Code)) > 0), TRUE, FALSE) AND
- if((max(goods.F20)='1' AND LOCATE('F20', group_concat(DISTINCT header.Code)) > 0), TRUE, FALSE) AND
- if((max(goods.F21)='1' AND LOCATE('F21', group_concat(DISTINCT header.Code)) > 0), TRUE, FALSE) AND
- if((max(goods.F22)='1' AND LOCATE('F22', group_concat(DISTINCT header.Code)) > 0), TRUE, FALSE) AND
- if((max(goods.F23)='1' AND LOCATE('F23', group_concat(DISTINCT header.Code)) > 0), TRUE, FALSE) AND
- if((max(goods.F24)='1' AND LOCATE('F24', group_concat(DISTINCT header.Code)) > 0), TRUE, FALSE) AND
- if((max(goods.F25)='1' AND LOCATE('F25', group_concat(DISTINCT header.Code)) > 0), TRUE, FALSE) AND
- if((max(goods.F26)='1' AND LOCATE('F26', group_concat(DISTINCT header.Code)) > 0), TRUE, FALSE) AND
- if((max(goods.F27)='1' AND LOCATE('F27', group_concat(DISTINCT header.Code)) > 0), TRUE, FALSE) AND
- if((max(goods.F28)='1' AND LOCATE('F28', group_concat(DISTINCT header.Code)) > 0), TRUE, FALSE) AND
- if((max(goods.F29)='1' AND LOCATE('F29', group_concat(DISTINCT header.Code)) > 0), TRUE, FALSE) AND
- if((max(goods.F30)='1' AND LOCATE('F30', group_concat(DISTINCT header.Code)) > 0), TRUE, FALSE) AND
- if((max(goods.F31)='1' AND LOCATE('F31', group_concat(DISTINCT header.Code)) > 0), TRUE, FALSE) AND
- if((max(goods.F32)='1' AND LOCATE('F32', group_concat(DISTINCT header.Code)) > 0), TRUE, FALSE) AND
- if((max(goods.F33)='1' AND LOCATE('F33', group_concat(DISTINCT header.Code)) > 0), TRUE, FALSE) AND
- if((max(goods.F34)='1' AND LOCATE('F34', group_concat(DISTINCT header.Code)) > 0), TRUE, FALSE) AND
- if((max(goods.F35)='1' AND LOCATE('F35', group_concat(DISTINCT header.Code)) > 0), TRUE, FALSE) AND
- if((max(goods.F36)='1' AND LOCATE('F36', group_concat(DISTINCT header.Code)) > 0), TRUE, FALSE) AND
- if((max(goods.F37)='1' AND LOCATE('F37', group_concat(DISTINCT header.Code)) > 0), TRUE, FALSE) AND
- if((max(goods.F38)='1' AND LOCATE('F38', group_concat(DISTINCT header.Code)) > 0), TRUE, FALSE) AND
- if((max(goods.F39)='1' AND LOCATE('F39', group_concat(DISTINCT header.Code)) > 0), TRUE, FALSE) AND
- if((max(goods.F40)='1' AND LOCATE('F40', group_concat(DISTINCT header.Code)) > 0), TRUE, FALSE) AND
- if((max(goods.F41)='1' AND LOCATE('F41', group_concat(DISTINCT header.Code)) > 0), TRUE, FALSE) AND
- if((max(goods.F42)='1' AND LOCATE('F42', group_concat(DISTINCT header.Code)) > 0), TRUE, FALSE) AND
- if((max(goods.F43)='1' AND LOCATE('F43', group_concat(DISTINCT header.Code)) > 0), TRUE, FALSE) AND
- if((max(goods.F44)='1' AND LOCATE('F44', group_concat(DISTINCT header.Code)) > 0), TRUE, FALSE) AND
- if((max(goods.F45)='1' AND LOCATE('F45', group_concat(DISTINCT header.Code)) > 0), TRUE, FALSE) AND
- if((max(goods.F46)='1' AND LOCATE('F46', group_concat(DISTINCT header.Code)) > 0), TRUE, FALSE)
- ) AS checked
-
- FROM OilSupplier a
- LEFT JOIN OilSupplierCert b ON a.Id=b.SupplierId
- LEFT JOIN OilSupplierCertSub sub ON b.Id=sub.SupplierCertId
- LEFT JOIN OilSupplierFile files ON a.Id=files.SupplierId
- LEFT JOIN Base_TableHeader header ON files.NeedFileType=header.Name
- LEFT JOIN OilGoodsAptitude goods ON sub.SubClassId=goods.ClassId
- WHERE b.SupplierTypeCode='03'
- GROUP BY a.Id, b.Id`
- sql += having
- if asc {
- sql += ` order by ` + orderby + ` ASC `
- } else {
- sql += ` order by ` + orderby + ` DESC `
- }
- sql += ` limit ` + utils.ToStr((pageIndex-1)*itemsPerPage) + "," + utils.ToStr(itemsPerPage)
- sqlCount := "SELECT count(*) as total FROM OilSupplier a LEFT JOIN OilSupplierCert b ON a.Id=b.SupplierId WHERE b.SupplierTypeCode='03'"
- var totalResult TotalResult
- s.DBE.SQL(sql).Find(entitiesPtr)
- s.DBE.SQL(sqlCount).Get(&totalResult)
- total = totalResult.Total
- return total
- }
- func (s *OilGoodsAptitudeService) GetPagingTmpCheckedEntities(pageIndex, itemsPerPage int64, orderby string,
- asc bool, entitiesPtr interface{}, having string) (total int64) {
- var sql string
- sql = `SELECT
- a.Id,a.SupplierName,
- b.SupplierTypeCode, b.SupplierTypeName,
- b.AccessCardNo, a.DepositBank,a.HseTraining,
- a.CompanyType,a.SetupTime,a.Address,a.Province,a.City,a.Street,
- a.LegalPerson,a.RegCapital,a.Mobile,b.AuditDate,b.ApplyTime,b.InFlag,
- a.ContactName,a.CommercialNo,a.LinkAddress,a.LinkProvince,
- a.LinkCity,a.LinkStreet,a.BusinessScope,b.InStyle, b.Id CertId,
- COUNT(sub.Id) AS subCnt,
- group_concat(DISTINCT header.Code) AS headerCodes,
- group_concat(distinct sub.Name) AS subNames,
- group_concat(distinct sub.Code) certSubCodes,
- group_concat(DISTINCT sub.SubClassId) AS subClassIds,
- max(goods.F01) AS F01,
- max(goods.F02) AS F02,
- max(goods.F03) AS F03,
- max(goods.F04) AS F04,
- max(goods.F05) AS F05,
- max(goods.F06) AS F06,
- max(goods.F07) AS F07,
- max(goods.F08) AS F08,
- max(goods.F09) AS F09,
- max(goods.F10) AS F10,
- max(goods.F11) AS F11,
- max(goods.F12) AS F12,
- max(goods.F13) AS F13,
- max(goods.F14) AS F14,
- max(goods.F15) AS F15,
- max(goods.F16) AS F16,
- max(goods.F17) AS F17,
- max(goods.F18) AS F18,
- max(goods.F19) AS F19,
- max(goods.F20) AS F20,
- max(goods.F21) AS F21,
- max(goods.F22) AS F22,
- max(goods.F23) AS F23,
- max(goods.F24) AS F24,
- max(goods.F25) AS F25,
- max(goods.F26) AS F26,
- max(goods.F27) AS F27,
- max(goods.F28) AS F28,
- max(goods.F29) AS F29,
- max(goods.F30) AS F30,
- max(goods.F31) AS F31,
- max(goods.F32) AS F32,
- max(goods.F33) AS F33,
- max(goods.F34) AS F34,
- max(goods.F35) AS F35,
- max(goods.F36) AS F36,
- max(goods.F37) AS F37,
- max(goods.F38) AS F38,
- max(goods.F39) AS F39,
- max(goods.F40) AS F40,
- max(goods.F41) AS F41,
- max(goods.F42) AS F42,
- max(goods.F43) AS F43,
- max(goods.F44) AS F44,
- max(goods.F45) AS F45,
- max(goods.F46) AS F46,
-
- (
- if((max(goods.F01)='1' AND LOCATE('F01', group_concat(DISTINCT header.Code)) > 0) or (max(goods.F01) is null) or (max(goods.F01) = ''), TRUE, FALSE) AND
- if((max(goods.F02)='1' AND LOCATE('F02', group_concat(DISTINCT header.Code)) > 0) or (max(goods.F02) is null) or (max(goods.F02) = ''), TRUE, FALSE) AND
- if((max(goods.F03)='1' AND LOCATE('F03', group_concat(DISTINCT header.Code)) > 0) or (max(goods.F03) is null) or (max(goods.F03) = ''), TRUE, FALSE) AND
- if((max(goods.F04)='1' AND LOCATE('F04', group_concat(DISTINCT header.Code)) > 0) or (max(goods.F04) is null) or (max(goods.F04) = ''), TRUE, FALSE) AND
- if((max(goods.F05)='1' AND LOCATE('F05', group_concat(DISTINCT header.Code)) > 0) or (max(goods.F05) is null) or (max(goods.F05) = ''), TRUE, FALSE) AND
- if((max(goods.F06)='1' AND LOCATE('F06', group_concat(DISTINCT header.Code)) > 0) or (max(goods.F06) is null) or (max(goods.F06) = ''), TRUE, FALSE) AND
- if((max(goods.F07)='1' AND LOCATE('F07', group_concat(DISTINCT header.Code)) > 0) or (max(goods.F07) is null) or (max(goods.F07) = ''), TRUE, FALSE) AND
- if((max(goods.F08)='1' AND LOCATE('F08', group_concat(DISTINCT header.Code)) > 0) or (max(goods.F08) is null) or (max(goods.F08) = ''), TRUE, FALSE) AND
- if((max(goods.F09)='1' AND LOCATE('F09', group_concat(DISTINCT header.Code)) > 0) or (max(goods.F09) is null) or (max(goods.F09) = ''), TRUE, FALSE) AND
- if((max(goods.F10)='1' AND LOCATE('F10', group_concat(DISTINCT header.Code)) > 0) or (max(goods.F10) is null) or (max(goods.F10) = ''), TRUE, FALSE) AND
- if((max(goods.F10)='1' AND LOCATE('F11', group_concat(DISTINCT header.Code)) > 0) or (max(goods.F11) is null) or (max(goods.F11) = ''), TRUE, FALSE) AND
- if((max(goods.F11)='1' AND LOCATE('F12', group_concat(DISTINCT header.Code)) > 0) or (max(goods.F12) is null) or (max(goods.F12) = ''), TRUE, FALSE) AND
- if((max(goods.F13)='1' AND LOCATE('F13', group_concat(DISTINCT header.Code)) > 0) or (max(goods.F13) is null) or (max(goods.F13) = ''), TRUE, FALSE) AND
- if((max(goods.F14)='1' AND LOCATE('F14', group_concat(DISTINCT header.Code)) > 0) or (max(goods.F14) is null) or (max(goods.F14) = ''), TRUE, FALSE) AND
- if((max(goods.F15)='1' AND LOCATE('F15', group_concat(DISTINCT header.Code)) > 0) or (max(goods.F15) is null) or (max(goods.F15) = ''), TRUE, FALSE) AND
- if((max(goods.F16)='1' AND LOCATE('F16', group_concat(DISTINCT header.Code)) > 0) or (max(goods.F16) is null) or (max(goods.F16) = ''), TRUE, FALSE) AND
- if((max(goods.F17)='1' AND LOCATE('F17', group_concat(DISTINCT header.Code)) > 0) or (max(goods.F17) is null) or (max(goods.F17) = ''), TRUE, FALSE) AND
- if((max(goods.F18)='1' AND LOCATE('F18', group_concat(DISTINCT header.Code)) > 0) or (max(goods.F18) is null) or (max(goods.F18) = ''), TRUE, FALSE) AND
- if((max(goods.F19)='1' AND LOCATE('F19', group_concat(DISTINCT header.Code)) > 0) or (max(goods.F19) is null) or (max(goods.F19) = ''), TRUE, FALSE) AND
- if((max(goods.F20)='1' AND LOCATE('F20', group_concat(DISTINCT header.Code)) > 0) or (max(goods.F20) is null) or (max(goods.F20) = ''), TRUE, FALSE) AND
- if((max(goods.F21)='1' AND LOCATE('F21', group_concat(DISTINCT header.Code)) > 0) or (max(goods.F21) is null) or (max(goods.F21) = ''), TRUE, FALSE) AND
- if((max(goods.F22)='1' AND LOCATE('F22', group_concat(DISTINCT header.Code)) > 0) or (max(goods.F22) is null) or (max(goods.F22) = ''), TRUE, FALSE) AND
- if((max(goods.F23)='1' AND LOCATE('F23', group_concat(DISTINCT header.Code)) > 0) or (max(goods.F23) is null) or (max(goods.F23) = ''), TRUE, FALSE) AND
- if((max(goods.F24)='1' AND LOCATE('F24', group_concat(DISTINCT header.Code)) > 0) or (max(goods.F24) is null) or (max(goods.F24) = ''), TRUE, FALSE) AND
- if((max(goods.F25)='1' AND LOCATE('F25', group_concat(DISTINCT header.Code)) > 0) or (max(goods.F25) is null) or (max(goods.F25) = ''), TRUE, FALSE) AND
- if((max(goods.F26)='1' AND LOCATE('F26', group_concat(DISTINCT header.Code)) > 0) or (max(goods.F26) is null) or (max(goods.F26) = ''), TRUE, FALSE) AND
- if((max(goods.F27)='1' AND LOCATE('F27', group_concat(DISTINCT header.Code)) > 0) or (max(goods.F27) is null) or (max(goods.F27) = ''), TRUE, FALSE) AND
- if((max(goods.F28)='1' AND LOCATE('F28', group_concat(DISTINCT header.Code)) > 0) or (max(goods.F28) is null) or (max(goods.F28) = ''), TRUE, FALSE) AND
- if((max(goods.F29)='1' AND LOCATE('F29', group_concat(DISTINCT header.Code)) > 0) or (max(goods.F29) is null) or (max(goods.F29) = ''), TRUE, FALSE) AND
- if((max(goods.F30)='1' AND LOCATE('F30', group_concat(DISTINCT header.Code)) > 0) or (max(goods.F30) is null) or (max(goods.F30) = ''), TRUE, FALSE) AND
- if((max(goods.F31)='1' AND LOCATE('F31', group_concat(DISTINCT header.Code)) > 0) or (max(goods.F31) is null) or (max(goods.F31) = ''), TRUE, FALSE) AND
- if((max(goods.F32)='1' AND LOCATE('F32', group_concat(DISTINCT header.Code)) > 0) or (max(goods.F32) is null) or (max(goods.F32) = ''), TRUE, FALSE) AND
- if((max(goods.F33)='1' AND LOCATE('F33', group_concat(DISTINCT header.Code)) > 0) or (max(goods.F33) is null) or (max(goods.F33) = ''), TRUE, FALSE) AND
- if((max(goods.F34)='1' AND LOCATE('F34', group_concat(DISTINCT header.Code)) > 0) or (max(goods.F34) is null) or (max(goods.F34) = ''), TRUE, FALSE) AND
- if((max(goods.F35)='1' AND LOCATE('F35', group_concat(DISTINCT header.Code)) > 0) or (max(goods.F35) is null) or (max(goods.F35) = ''), TRUE, FALSE) AND
- if((max(goods.F36)='1' AND LOCATE('F36', group_concat(DISTINCT header.Code)) > 0) or (max(goods.F36) is null) or (max(goods.F36) = ''), TRUE, FALSE) AND
- if((max(goods.F37)='1' AND LOCATE('F37', group_concat(DISTINCT header.Code)) > 0) or (max(goods.F37) is null) or (max(goods.F37) = ''), TRUE, FALSE) AND
- if((max(goods.F38)='1' AND LOCATE('F38', group_concat(DISTINCT header.Code)) > 0) or (max(goods.F38) is null) or (max(goods.F38) = ''), TRUE, FALSE) AND
- if((max(goods.F39)='1' AND LOCATE('F39', group_concat(DISTINCT header.Code)) > 0) or (max(goods.F39) is null) or (max(goods.F39) = ''), TRUE, FALSE) AND
- if((max(goods.F40)='1' AND LOCATE('F40', group_concat(DISTINCT header.Code)) > 0) or (max(goods.F40) is null) or (max(goods.F40) = ''), TRUE, FALSE) AND
- if((max(goods.F41)='1' AND LOCATE('F41', group_concat(DISTINCT header.Code)) > 0) or (max(goods.F41) is null) or (max(goods.F41) = ''), TRUE, FALSE) AND
- if((max(goods.F42)='1' AND LOCATE('F42', group_concat(DISTINCT header.Code)) > 0) or (max(goods.F42) is null) or (max(goods.F42) = ''), TRUE, FALSE) AND
- if((max(goods.F43)='1' AND LOCATE('F43', group_concat(DISTINCT header.Code)) > 0) or (max(goods.F43) is null) or (max(goods.F43) = ''), TRUE, FALSE) AND
- if((max(goods.F44)='1' AND LOCATE('F44', group_concat(DISTINCT header.Code)) > 0) or (max(goods.F44) is null) or (max(goods.F44) = ''), TRUE, FALSE) AND
- if((max(goods.F45)='1' AND LOCATE('F45', group_concat(DISTINCT header.Code)) > 0) or (max(goods.F45) is null) or (max(goods.F45) = ''), TRUE, FALSE) AND
- if((max(goods.F46)='1' AND LOCATE('F46', group_concat(DISTINCT header.Code)) > 0) or (max(goods.F46) is null) or (max(goods.F46) = ''), TRUE, FALSE)
- ) AS checked
-
- FROM OilSupplier a
- LEFT JOIN OilSupplierCert b ON a.Id=b.SupplierId
- LEFT JOIN OilSupplierCertSub sub ON b.Id=sub.SupplierCertId
- LEFT JOIN OilSupplierFile files ON a.Id=files.SupplierId
- LEFT JOIN Base_TableHeader header ON files.NeedFileType=header.Name
- LEFT JOIN tmp_OilGoodsAptitudeClass class ON sub.Code=class.Code
- LEFT JOIN tmp_OilGoodsAptitude goods ON class.Id=goods.ClassId
- WHERE b.SupplierTypeCode='01' and `
- sql += having
- sql += ` GROUP BY a.Id, b.Id `
- if asc {
- sql += ` order by ` + orderby + ` ASC `
- } else {
- sql += ` order by ` + orderby + ` DESC `
- }
- sql += ` limit ` + utils.ToStr((pageIndex-1)*itemsPerPage) + "," + utils.ToStr(itemsPerPage)
- sqlCount := "SELECT count(DISTINCT a.Id) as total FROM OilSupplier a LEFT JOIN OilSupplierCert b ON a.Id=b.SupplierId LEFT JOIN OilSupplierCertSub sub ON b.Id=sub.SupplierCertId LEFT JOIN OilSupplierFile files ON a.Id=files.SupplierId LEFT JOIN Base_TableHeader header ON files.NeedFileType=header.Name LEFT JOIN tmp_OilGoodsAptitudeClass class ON sub.Code=class.Code LEFT JOIN tmp_OilGoodsAptitude goods ON class.Id=goods.ClassId WHERE b.SupplierTypeCode='01' AND " + having
- var totalResult TotalResult
- s.DBE.SQL(sql).Find(entitiesPtr)
- s.DBE.SQL(sqlCount).Get(&totalResult)
- total = totalResult.Total
- return total
- }
|