calendar.go 23 KB

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