calendar.go 22 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597
  1. package roadshow
  2. import (
  3. "github.com/rdlucklib/rdluck_tools/orm"
  4. "github.com/rdlucklib/rdluck_tools/paging"
  5. "hongze/hongze_mobile_admin/models/tables/admin"
  6. "time"
  7. )
  8. type AddActivityReq struct {
  9. ActivityType string `description:"活动类型"`
  10. RoadshowType string `description:"路演形式"`
  11. RoadshowPlatform string `description:"路演平台"`
  12. CompanyId int `description:"客户id"`
  13. CompanyName string `description:"客户名称"`
  14. Province string `description:"省"`
  15. ProvinceCode string `description:"省编码"`
  16. City string `description:"市"`
  17. CityCode string `description:"市编码"`
  18. Theme string `description:"会议主题"`
  19. CooperationName string `description:"合作方名称"`
  20. ActivityCategory string `description:"活动类别"`
  21. ResearcherList []*CalendarResearcher
  22. }
  23. type CalendarResearcher struct {
  24. ResearcherId int `description:"研究员id"`
  25. ResearcherName string `description:"研究员名称"`
  26. StartDate string `description:"开始日期"`
  27. EndDate string `description:"结束日期"`
  28. StartTime string `description:"开始时间"`
  29. EndTime string `description:"结束时间"`
  30. StartWeek string `description:"开始日期对应周"`
  31. EndWeek string `description:"结束日期对应周"`
  32. }
  33. type RsCalendar struct {
  34. RsCalendarId int `orm:"column(rs_calendar_id);pk"`
  35. SysUserId int `description:"创建人id"`
  36. SysUserRealName string `description:"创建人名称"`
  37. ActivityType string `description:"活动类型"`
  38. RoadshowType string `description:"路演形式"`
  39. RoadshowPlatform string `description:"路演平台"`
  40. CompanyId int `description:"客户id"`
  41. CompanyName string `description:"客户名称"`
  42. Province string `description:"省"`
  43. ProvinceCode string `description:"省编码"`
  44. City string `description:"市"`
  45. CityCode string `description:"市编码"`
  46. Theme string `description:"会议主题"`
  47. CooperationName string `description:"合作方名称"`
  48. Title string `description:"展示在日历的标题"`
  49. Source int8 `description:"来源,0:自系统,1:上海方的"`
  50. CreateTime time.Time
  51. ModifyTime time.Time
  52. ActivityCategory string `description:"活动类别"`
  53. IsSynced int `description:"是否与上海同步 0:未同步 1:已同步"`
  54. }
  55. type RsCalendarResearcher struct {
  56. RsCalendarResearcherId int `orm:"column(rs_calendar_researcher_id);pk"`
  57. RsCalendarId int `description:"日历活动id"`
  58. ResearcherId int `description:"研究员id"`
  59. ResearcherName string `description:"研究员名称"`
  60. StartDate string `description:"开始日期"`
  61. EndDate string `description:"结束日期"`
  62. StartTime string `description:"开始时间"`
  63. EndTime string `description:"结束时间"`
  64. StartWeek string `description:"开始日期对应周"`
  65. EndWeek string `description:"结束日期对应周"`
  66. CreateTime time.Time
  67. ModifyTime time.Time
  68. Status int `description:"状态:1:待接受,2:已接受,3:已拒绝,4:已删除,5:已撤回,6:已结束"`
  69. RefuseReason string `description:"拒绝理由"`
  70. RefuseTime time.Time `description:"拒绝时间"`
  71. DeleteReason string `description:"删除理由"`
  72. DeleteTime time.Time `description:"删除时间"`
  73. ApproveTime time.Time `description:"接受时间"`
  74. IsSynced int `description:"是否与上海同步 0:未同步 1:已同步"`
  75. ResearcherSort int `description:"研究员新增排序"`
  76. }
  77. func GetRsCalendarById(rsCalendarId int) (item *RsCalendar, err error) {
  78. o := orm.NewOrm()
  79. sql := `SELECT * FROM rs_calendar WHERE rs_calendar_id=? `
  80. err = o.Raw(sql, rsCalendarId).QueryRow(&item)
  81. return
  82. }
  83. func GetRsCalendarResearcherById(rsCalendarResearcherId int) (item *RsCalendarResearcher, err error) {
  84. o := orm.NewOrm()
  85. sql := `SELECT * FROM rs_calendar_researcher WHERE rs_calendar_researcher_id=? `
  86. err = o.Raw(sql, rsCalendarResearcherId).QueryRow(&item)
  87. return
  88. }
  89. func GetRsCalendarResearcherListById(rsCalendarId int) (item []*RsCalendarResearcher, err error) {
  90. o := orm.NewOrm()
  91. sql := `SELECT * FROM rs_calendar_researcher WHERE rs_calendar_id=? `
  92. _, err = o.Raw(sql, rsCalendarId).QueryRows(&item)
  93. return
  94. }
  95. func GetRsCalendarResearcherListByCalendarResearcherId(rsCalendarResearcherId int) (item []*RsCalendarResearcher, err error) {
  96. o := orm.NewOrm()
  97. sql := `SELECT * FROM rs_calendar_researcher WHERE rs_calendar_researcher_id=? `
  98. _, err = o.Raw(sql, rsCalendarResearcherId).QueryRows(&item)
  99. return
  100. }
  101. type Researcher struct {
  102. AdminId int `description:"研究员id"`
  103. RealName string `description:"研究员名称"`
  104. GroupId int `description:"分组id"`
  105. GroupName string `description:"分组名称"`
  106. RoleTypeCode string `description:"角色编码"`
  107. }
  108. type ResearcherGroup struct {
  109. GroupId int `description:"分组id"`
  110. GroupName string `description:"分组名称"`
  111. ResearcherList []*Researcher
  112. }
  113. type CalendarListView struct {
  114. RsCalendarId int `orm:"column(rs_calendar_id);pk"`
  115. SysUserId int `description:"创建人id"`
  116. SysUserRealName string `description:"创建人名称"`
  117. ActivityType string `description:"活动类型"`
  118. RoadshowType string `description:"路演形式"`
  119. RoadshowPlatform string `description:"路演平台"`
  120. CompanyId int `description:"客户id"`
  121. CompanyName string `description:"客户名称"`
  122. CompanyStatus string `description:"客户状态"`
  123. RsCalendarResearcherId int `description:"活动研究员id"`
  124. ResearcherId string `description:"研究员id"`
  125. ResearcherName string `description:"研究员名称"`
  126. StartDate string `description:"开始日期"`
  127. EndDate string `description:"结束日期"`
  128. StartTime string `description:"开始时间"`
  129. EndTime string `description:"结束时间"`
  130. StartWeek string `description:"开始日期对应周"`
  131. EndWeek string `description:"结束日期对应周"`
  132. CreateTime time.Time
  133. ModifyTime time.Time
  134. Status int `description:"状态:1:待接受,2:已接受,3:已拒绝,4:已删除,5:已撤回"`
  135. RefuseReason string `description:"拒绝理由"`
  136. RefuseTime time.Time `description:"拒绝时间"`
  137. DeleteReason string `description:"删除原因"`
  138. Province string `description:"省"`
  139. ProvinceCode string `description:"省编码"`
  140. City string `description:"市"`
  141. CityCode string `description:"市编码"`
  142. Theme string `description:"会议主题"`
  143. CooperationName string `description:"合作方名称"`
  144. ActivityCategory string `description:"活动类别"`
  145. Source int `description:"来源,0:自系统,1:上海方的"`
  146. Title string `description:"活动标题"`
  147. }
  148. type CalendarListResp struct {
  149. Paging *paging.PagingItem
  150. List []*CalendarListView
  151. }
  152. func GetCalendarListCount(condition string, pars []interface{}) (count int, err error) {
  153. o := orm.NewOrm()
  154. sql := `SELECT COUNT(1) AS count FROM rs_calendar AS a
  155. INNER JOIN rs_calendar_researcher AS b ON a.rs_calendar_id=b.rs_calendar_id
  156. WHERE 1=1 `
  157. if condition != "" {
  158. sql += condition
  159. }
  160. err = o.Raw(sql, pars).QueryRow(&count)
  161. return
  162. }
  163. func GetCalendarList(condition string, pars []interface{}, status int, pageLimit ...int) (list []*CalendarListView, err error) {
  164. o := orm.NewOrm()
  165. sql := `SELECT * FROM rs_calendar AS a
  166. INNER JOIN rs_calendar_researcher AS b ON a.rs_calendar_id=b.rs_calendar_id
  167. `
  168. if condition != "" {
  169. sql += condition
  170. }
  171. if status == 1 {
  172. sql += ` ORDER BY b.create_time ASC LIMIT ?,? `
  173. } else {
  174. sql += ` ORDER BY b.create_time DESC LIMIT ?,? `
  175. }
  176. _, err = o.Raw(sql, pars, pageLimit).QueryRows(&list)
  177. return
  178. }
  179. type AcceptReq struct {
  180. RsCalendarId int `description:"日历活动id"`
  181. RsCalendarResearcherId int `description:"活动研究员id"`
  182. }
  183. type DeleteReq struct {
  184. RsCalendarId int `description:"日历活动id"`
  185. RsCalendarResearcherId int `description:"活动研究员id"`
  186. DeleteReason string `description:"删除原因"`
  187. }
  188. type RefuseReq struct {
  189. RsCalendarId int `description:"日历活动id"`
  190. RsCalendarResearcherId int `description:"活动研究员id"`
  191. RefuseReason string `description:"拒绝原因"`
  192. }
  193. // 更新
  194. func UpdateCalendarResearcher(where, updateParams map[string]interface{}) error {
  195. o := orm.NewOrm()
  196. ptrStructOrTableName := "rs_calendar_researcher"
  197. qs := o.QueryTable(ptrStructOrTableName)
  198. for expr, exprV := range where {
  199. qs = qs.Filter(expr, exprV)
  200. }
  201. _, err := qs.Update(updateParams)
  202. return err
  203. }
  204. // 更新
  205. func UpdateCalendarResearcherFromSH(item *RsCalendarResearcher) error {
  206. o := orm.NewOrm()
  207. _, err := o.Update(item, "")
  208. return err
  209. }
  210. type AddMattersReq struct {
  211. StartDate string `description:"开始日期"`
  212. EndDate string `description:"结束日期"`
  213. StartTime string `description:"开始时间"`
  214. EndTime string `description:"结束时间"`
  215. StartWeek string `description:"开始日期周"`
  216. EndWeek string `description:"结束日期周"`
  217. MatterContent string `description:"事项内容"`
  218. }
  219. type RsMatters struct {
  220. RsMattersId int `orm:"column(rs_matters_id);pk"`
  221. SysUserId int `description:"添加事项人id"`
  222. SysUserRealName string `description:"创建人姓名"`
  223. StartDate string `description:"开始日期"`
  224. EndDate string `description:"结束日期"`
  225. StartTime string `description:"开始时间"`
  226. EndTime string `description:"结束时间"`
  227. StartWeek string `description:"开始日期周"`
  228. EndWeek string `description:"结束日期周"`
  229. MatterContent string `description:"事项内容"`
  230. Status int8 `description:"状态:1:进行中,6:已结束"`
  231. CreateTime time.Time `description:"创建时间"`
  232. ModifyTime time.Time `description:"修改时间"`
  233. IsSynced int `description:"是否与上海同步 0:未同步 1:已同步"`
  234. }
  235. type UpdateMattersReq struct {
  236. RsMattersId int `orm:"column(rs_matters_id);pk"`
  237. StartDate string `description:"开始日期"`
  238. EndDate string `description:"结束日期"`
  239. StartTime string `description:"开始时间"`
  240. EndTime string `description:"结束时间"`
  241. StartWeek string `description:"开始日期周"`
  242. EndWeek string `description:"结束日期周"`
  243. MatterContent string `description:"事项内容"`
  244. }
  245. type CalendarDetailResp struct {
  246. RsCalendarItem *RsCalendar
  247. RsCalendarResearcherItem *RsCalendarResearcher
  248. CompanyDetail *CompanyDetailView
  249. }
  250. type MattersListResp struct {
  251. Paging *paging.PagingItem
  252. List []*RsMattersView
  253. }
  254. type RsMattersView struct {
  255. RsMattersId int `orm:"column(rs_matters_id);pk"`
  256. SysUserId int `description:"添加事项人id"`
  257. SysUserRealName string `description:"创建人姓名"`
  258. StartDate string `description:"开始日期"`
  259. EndDate string `description:"结束日期"`
  260. StartTime string `description:"开始时间"`
  261. EndTime string `description:"结束时间"`
  262. StartWeek string `description:"开始日期周"`
  263. EndWeek string `description:"结束日期周"`
  264. MatterContent string `description:"事项内容"`
  265. Status int8 `description:"状态:1:进行中,6:已结束"`
  266. CreateTime string `description:"创建时间"`
  267. ModifyTime string `description:"修改时间"`
  268. IsSynced int `description:"是否与上海同步 0:未同步 1:已同步"`
  269. }
  270. func GetMattersListCount(condition string, pars []interface{}) (count int, err error) {
  271. o := orm.NewOrm()
  272. sql := `SELECT COUNT(1) AS count FROM rs_matters AS a
  273. WHERE 1=1 `
  274. if condition != "" {
  275. sql += condition
  276. }
  277. err = o.Raw(sql, pars).QueryRow(&count)
  278. return
  279. }
  280. func GetMattersList(condition string, pars []interface{}, pageLimit ...int) (list []*RsMattersView, err error) {
  281. o := orm.NewOrm()
  282. sql := `SELECT * FROM rs_matters AS a
  283. WHERE 1=1 `
  284. if condition != "" {
  285. sql += condition
  286. }
  287. sql += ` ORDER BY a.create_time DESC LIMIT ?,? `
  288. _, err = o.Raw(sql, pars, pageLimit).QueryRows(&list)
  289. return
  290. }
  291. type DeleteMattersReq struct {
  292. RsMattersId int `description:"事项id"`
  293. }
  294. // 删除事项
  295. func DeleteRsMatters(rsMattersId int) (err error) {
  296. o := orm.NewOrm()
  297. sql := ` DELETE FROM rs_matters WHERE rs_matters_id=? `
  298. _, err = o.Raw(sql, rsMattersId).Exec()
  299. return err
  300. }
  301. func CheckMattersCount(condition string, pars []interface{}) (count int, err error) {
  302. o := orm.NewOrm()
  303. sql := `SELECT COUNT(1) AS count FROM rs_matters AS a
  304. WHERE 1=1 `
  305. if condition != "" {
  306. sql += condition
  307. }
  308. err = o.Raw(sql, pars).QueryRow(&count)
  309. return
  310. }
  311. func GetResearcherFromAdmin(condition string, pars []interface{}) (lists []*admin.Admin, err error) {
  312. o := orm.NewOrm()
  313. sql := `SELECT * FROM admin WHERE 1=1 `
  314. if condition != "" {
  315. sql += condition
  316. }
  317. _, err = o.Raw(sql, pars).QueryRows(&lists)
  318. return
  319. }
  320. // 更新活动信息
  321. func UpdateRsCalendar(where, updateParams map[string]interface{}) error {
  322. o := orm.NewOrm()
  323. ptrStructOrTableName := "rs_calendar"
  324. qs := o.QueryTable(ptrStructOrTableName)
  325. for expr, exprV := range where {
  326. qs = qs.Filter(expr, exprV)
  327. }
  328. _, err := qs.Update(updateParams)
  329. return err
  330. }
  331. // 更新
  332. func UpdateRsMatters(where, updateParams map[string]interface{}) error {
  333. o := orm.NewOrm()
  334. ptrStructOrTableName := "rs_matters"
  335. qs := o.QueryTable(ptrStructOrTableName)
  336. for expr, exprV := range where {
  337. qs = qs.Filter(expr, exprV)
  338. }
  339. _, err := qs.Update(updateParams)
  340. return err
  341. }
  342. type EditActivityReq struct {
  343. EditType int `description:"修改方式: 1:修改,2:修改重提"`
  344. RsCalendarId int `description:"路演活动id"`
  345. RsCalendarResearcherId int `description:"活动研究员id"`
  346. ActivityType string `description:"活动类型"`
  347. RoadshowType string `description:"路演形式"`
  348. RoadshowPlatform string `description:"路演平台"`
  349. CompanyId int `description:"客户id"`
  350. CompanyName string `description:"客户名称"`
  351. Province string `description:"省"`
  352. ProvinceCode string `description:"省编码"`
  353. City string `description:"市"`
  354. CityCode string `description:"市编码"`
  355. Theme string `description:"会议主题"`
  356. CooperationName string `description:"合作方名称"`
  357. ActivityCategory string `description:"活动类别"`
  358. ResearcherList []*CalendarResearcher
  359. }
  360. // GetRsCalendarResearcherListByRsCalendarId 根据路演id获取路演研究员列表
  361. func GetRsCalendarResearcherListByRsCalendarId(rsCalendarId int) (items []*RsCalendarResearcher, err error) {
  362. o := orm.NewOrm()
  363. sql := `SELECT * FROM rs_calendar_researcher WHERE rs_calendar_id=? `
  364. _, err = o.Raw(sql, rsCalendarId).QueryRows(&items)
  365. return
  366. }
  367. func CheckCalendarResearcherCount(condition string, pars []interface{}) (count int, err error) {
  368. o := orm.NewOrm()
  369. sql := `SELECT COUNT(1) AS count FROM rs_calendar_researcher AS a
  370. WHERE 1=1 `
  371. if condition != "" {
  372. sql += condition
  373. }
  374. err = o.Raw(sql, pars).QueryRow(&count)
  375. return
  376. }
  377. func GetMattersById(rsMatters int) (item *RsMatters, err error) {
  378. o := orm.NewOrm()
  379. sql := `SELECT * FROM rs_matters
  380. WHERE rs_matters_id=? `
  381. err = o.Raw(sql, rsMatters).QueryRow(&item)
  382. return
  383. }
  384. //添加RsCalendarResearcher
  385. func AddRsMatters(item *RsMatters) (id int64, err error) {
  386. o := orm.NewOrm()
  387. id, err = o.Insert(item)
  388. return
  389. }
  390. //添加RsCalendar
  391. func AddRsCalendar(item *RsCalendar) (lastId int64, err error) {
  392. o := orm.NewOrm()
  393. lastId, err = o.Insert(item)
  394. return
  395. }
  396. //添加RsCalendarResearcher
  397. func AddRsCalendarResearcher(item *RsCalendarResearcher) (lastId int64, err error) {
  398. o := orm.NewOrm()
  399. lastId, err = o.Insert(item)
  400. return
  401. }
  402. func GetRsCalendarResearcherByRsCalendarIdAndResearcherId(rsCalendarId, researcherId int) (item *RsCalendarResearcher, err error) {
  403. o := orm.NewOrm()
  404. sql := `SELECT * FROM rs_calendar_researcher WHERE rs_calendar_id=? AND researcher_id=? `
  405. err = o.Raw(sql, rsCalendarId, researcherId).QueryRow(&item)
  406. return
  407. }
  408. func GetRsCalendarResearcherByCalendarId(rsCalendarId int) (item []*RsCalendarResearcher, err error) {
  409. o := orm.NewOrm()
  410. sql := `SELECT * FROM rs_calendar_researcher WHERE rs_calendar_id=? `
  411. _, err = o.Raw(sql, rsCalendarId).QueryRows(&item)
  412. return
  413. }
  414. // 删除
  415. func DeleteRsCalendarResearcher(rsCalendarId int) (err error) {
  416. o := orm.NewOrm()
  417. sql := ` DELETE FROM rs_calendar_researcher WHERE rs_calendar_id=? `
  418. _, err = o.Raw(sql, rsCalendarId).Exec()
  419. return err
  420. }
  421. func GetResearcherGroup() (list []*ResearcherGroup, err error) {
  422. o := orm.NewOrm()
  423. sql := ` SELECT group_id,group_name FROM admin AS a
  424. WHERE a.role_type_code IN('researcher','ficc_researcher','ficc_admin')
  425. AND a.enabled=1
  426. AND a.group_id>0
  427. AND a.group_name<>'无'
  428. GROUP BY a.group_id
  429. ORDER BY a.group_id ASC `
  430. _, err = o.Raw(sql).QueryRows(&list)
  431. return
  432. }
  433. func GetResearcher() (list []*Researcher, err error) {
  434. o := orm.NewOrm()
  435. sql := ` SELECT * FROM admin AS a
  436. WHERE a.role_type_code IN('researcher','rai_researcher','ficc_researcher','ficc_admin')
  437. AND a.enabled=1 AND a.real_name<>'于菲' `
  438. _, err = o.Raw(sql).QueryRows(&list)
  439. return
  440. }
  441. // 删除
  442. func DeleteCalendar(rsCalendarId, rsCalendarResearcherId int) (err error) {
  443. o := orm.NewOrm()
  444. sql := ` DELETE FROM rs_calendar_researcher WHERE rs_calendar_id=? `
  445. _, err = o.Raw(sql, rsCalendarId).Exec()
  446. if err != nil {
  447. return err
  448. }
  449. //var count int
  450. //sql = ` SELECT COUNT(1) AS count FROM rs_calendar_researcher WHERE rs_calendar_id=? `
  451. //err = o.Raw(sql, rsCalendarId).QueryRow(&count)
  452. //if err != nil && err.Error() != utils.ErrNoRow() {
  453. // return err
  454. //}
  455. //if count <= 0 {
  456. // sql := ` DELETE FROM rs_calendar WHERE rs_calendar_id=? `
  457. // _, err = o.Raw(sql, rsCalendarId).Exec()
  458. // if err != nil {
  459. // return err
  460. // }
  461. //}
  462. sql = ` DELETE FROM rs_calendar WHERE rs_calendar_id=? `
  463. _, err = o.Raw(sql, rsCalendarId).Exec()
  464. if err != nil {
  465. return err
  466. }
  467. return err
  468. }
  469. type ActivityTypeList struct {
  470. ActivityTypeId int `description:"活动类型ID"`
  471. ActivityTypeName string `description:"活动类型名称"`
  472. Pid int `description:"父级id,默认是:0"`
  473. Sort int `description:"排序字段"`
  474. FrontIsShow int8 `description:"是否在前台展示,0:不展示,1:展示"`
  475. CreateTime time.Time `description:"创建时间"`
  476. ChildList []*ActivityTypeList `description:"下级活动类型列表"`
  477. }
  478. // GetActivityTypeListByActivityTypePId 根据上级id获取活动分类列表
  479. func GetActivityTypeListByActivityTypePId(pid int) (list []*ActivityTypeList, err error) {
  480. o := orm.NewOrm()
  481. sql := `select * from yb_activity_type where pid=? order by sort asc ,activity_type_id asc`
  482. _, err = o.Raw(sql, pid).QueryRows(&list)
  483. return
  484. }
  485. type CalendarPanelDetailResp struct {
  486. CalendarList []*CalendarListView
  487. RsMattersList []*RsMatters
  488. }
  489. func GetCalendarDetailList(condition string, pars []interface{}) (list []*CalendarListView, err error) {
  490. o := orm.NewOrm()
  491. sql := `SELECT a.*,b.*,c.status AS company_status FROM rs_calendar AS a
  492. INNER JOIN rs_calendar_researcher AS b ON a.rs_calendar_id=b.rs_calendar_id
  493. LEFT JOIN company_product AS c ON a.company_id=c.company_id AND c.product_id=1
  494. WHERE 1=1 `
  495. if condition != "" {
  496. sql += condition
  497. }
  498. sql += ` ORDER BY a.create_time DESC `
  499. _, err = o.Raw(sql, pars).QueryRows(&list)
  500. return
  501. }
  502. func GetRsMattersList(startDate, endDate string, researcherId int) (list []*RsMatters, err error) {
  503. o := orm.NewOrm()
  504. //sql := `SELECT * FROM rs_matters AS a WHERE a.start_date>=? AND a.end_date<=? AND sys_user_id=? `
  505. //sql := `SELECT * FROM rs_matters AS a WHERE a.end_date>=? AND sys_user_id=? `
  506. sql := `SELECT * FROM rs_matters AS a WHERE sys_user_id=? `
  507. sql += ` ORDER BY a.create_time DESC `
  508. _, err = o.Raw(sql, researcherId).QueryRows(&list)
  509. return
  510. }
  511. func GetCalendarTypeList(condition string, pars []interface{}, startSize, pageSize int) (list []*CalendarListView, err error) {
  512. o := orm.NewOrm()
  513. sql := ` SELECT a.rs_calendar_id,a.activity_type,a.roadshow_type,a.activity_category,a.roadshow_platform,b.create_time,
  514. b.modify_time,GROUP_CONCAT(b.researcher_id ORDER BY researcher_sort ASC) AS researcher_id,GROUP_CONCAT(b.researcher_name ORDER BY researcher_sort ASC) AS researcher_name,
  515. b.rs_calendar_researcher_id,b.start_date,
  516. b.end_date,b.start_time,b.end_time,b.start_week,b.end_week,b.status,b.refuse_reason,b.refuse_time,
  517. b.delete_reason,a.sys_user_real_name,a.city,a.province,a.company_name,a.company_id,
  518. a.cooperation_name,a.theme,a.activity_category
  519. FROM rs_calendar AS a
  520. INNER JOIN rs_calendar_researcher AS b ON a.rs_calendar_id=b.rs_calendar_id
  521. WHERE 1=1
  522. `
  523. if condition != "" {
  524. sql += condition
  525. }
  526. sql += ` GROUP BY a.rs_calendar_id
  527. ORDER BY b.create_time DESC LIMIT ?,? `
  528. _, err = o.Raw(sql, pars, startSize, pageSize).QueryRows(&list)
  529. return
  530. }
  531. func GetCalendarTypeListCount(condition string, pars []interface{}) (count int, err error) {
  532. o := orm.NewOrm()
  533. sql := `SELECT COUNT(1) AS count FROM(SELECT COUNT(1) AS count
  534. FROM rs_calendar AS a
  535. INNER JOIN rs_calendar_researcher AS b ON a.rs_calendar_id=b.rs_calendar_id
  536. WHERE 1=1 `
  537. if condition != "" {
  538. sql += condition
  539. }
  540. sql += ` GROUP BY a.rs_calendar_id ) AS t `
  541. err = o.Raw(sql, pars).QueryRow(&count)
  542. return
  543. }