| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100 |
- package documentmanage
- import (
- "strconv"
- . "dashoo.cn/backend/api/mydb"
- "dashoo.cn/utils"
- . "dashoo.cn/utils/db"
- "github.com/go-xorm/xorm"
- )
- type DocumentmanageService struct {
- MyServiceBase
- }
- func GetDocumentmanageService(xormEngine *xorm.Engine) *DocumentmanageService {
- s := new(DocumentmanageService)
- s.DBE = xormEngine
- return s
- }
- //获取文档名与创建时间
- func (s *DocumentmanageService) GetDocumentNameAndTime(table string, colName string) []DocumentNameTimeInfo {
- var err error
- var sql string
- sql = "select Name, CreateOn from " + table + " WHERE " + colName + " = 1 " + " ORDER BY CreateOn DESC "
- List := make([]DocumentNameTimeInfo, 0)
- err = utils.DBE.Sql(sql).Find(&List)
- LogError(err)
- return List
- }
- //获取文档信息
- func (s *DocumentmanageService) GetDocumentInfoByWhere(pageIndex, itemsPerPage int64, order, table string, where string) (int64, []DocumentInfo) {
- var err error
- var total int64
- if where == "" {
- where = " 1=1 "
- }
- //获取总记录数
- sqlCount := `select count(*) from ` + table + ` where ` + where
- var sql string
- sql = `select * from ` + table + ` where ` + where + ` order by ` + order + ` limit ` + utils.ToStr((pageIndex-1)*itemsPerPage) + "," + utils.ToStr(itemsPerPage)
- List := make([]DocumentInfo, 0)
- utils.DBE.Sql(sql).Find(&List)
- resultsSlice, err := s.DBE.Query(sqlCount)
- 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, List
- }
- //获取文档历史列表信息
- func (s *DocumentmanageService) GetDocumentHistoryByWhere(pageIndex, itemsPerPage int64, order, docinfo, dochistory string, infoid string) (int64, []DocumentHistoryModel) {
- var err error
- var total int64
- //获取总记录数
- sqlCount := `select count(*) from (
- select a.Name from ` + docinfo + ` a where a.Id=` + infoid + `
- union all (select b.Name from ` + dochistory + ` b where b.InfoId=` + infoid + `) ) m`
- var sql string
- sql = `select a.Id,a.Name,a.VersionInfo,a.FileURL,a.AuthorOn,a.AuthorUserId,a.AuthorBy,a.AuditorOn,a.AuditorUserId,a.AuditorBy,a.Remark,1 VersionFlag
- from ` + docinfo + ` a where a.Id=` + infoid + ` union all
- (select b.Id,b.Name,b.VersionInfo,b.FileURL,b.AuthorOn,b.AuthorUserId,b.AuthorBy,b.AuditorOn,b.AuditorUserId,b.AuditorBy,b.Remark,0 VersionFlag
- from ` + dochistory + ` b where b.InfoId=` + infoid + ` order by ` + order + ` limit ` + utils.ToStr((pageIndex-1)*itemsPerPage) + `,` + utils.ToStr(itemsPerPage) + `)`
- List := make([]DocumentHistoryModel, 0)
- utils.DBE.Sql(sql).Find(&List)
- resultsSlice, err := s.DBE.Query(sqlCount)
- 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, List
- }
- //修改历史文档删除状态
- func (s *DocumentmanageService) UpdateDocHistoryDelete(table, where, deletionState string) {
- var sql string
- sql = `UPDATE ` + table + ` set DeletionStateCode = ` + deletionState + ` where ` + where
- s.DBE.Exec(sql)
- return
- }
|