ssti.js 32 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586878889909192939495969798991001011021031041051061071081091101111121131141151161171181191201211221231241251261271281291301311321331341351361371381391401411421431441451461471481491501511521531541551561571581591601611621631641651661671681691701711721731741751761771781791801811821831841851861871881891901911921931941951961971981992002012022032042052062072082092102112122132142152162172182192202212222232242252262272282292302312322332342352362372382392402412422432442452462472482492502512522532542552562572582592602612622632642652662672682692702712722732742752762772782792802812822832842852862872882892902912922932942952962972982993003013023033043053063073083093103113123133143153163173183193203213223233243253263273283293303313323333343353363373383393403413423433443453463473483493503513523533543553563573583593603613623633643653663673683693703713723733743753763773783793803813823833843853863873883893903913923933943953963973983994004014024034044054064074084094104114124134144154164174184194204214224234244254264274284294304314324334344354364374384394404414424434444454464474484494504514524534544554564574584594604614624634644654664674684694704714724734744754764774784794804814824834844854864874884894904914924934944954964974984995005015025035045055065075085095105115125135145155165175185195205215225235245255265275285295305315325335345355365375385395405415425435445455465475485495505515525535545555565575585595605615625635645655665675685695705715725735745755765775785795805815825835845855865875885895905915925935945955965975985996006016026036046056066076086096106116126136146156166176186196206216226236246256266276286296306316326336346356366376386396406416426436446456466476486496506516526536546556566576586596606616626636646656666676686696706716726736746756766776786796806816826836846856866876886896906916926936946956966976986997007017027037047057067077087097107117127137147157167177187197207217227237247257267277287297307317327337347357367377387397407417427437447457467477487497507517527537547557567577587597607617627637647657667677687697707717727737747757767777787797807817827837847857867877887897907917927937947957967977987998008018028038048058068078088098108118128138148158168178188198208218228238248258268278288298308318328338348358368378388398408418428438448458468478488498508518528538548558568578588598608618628638648658668678688698708718728738748758768778788798808818828838848858868878888898908918928938948958968978988999009019029039049059069079089099109119129139149159169179189199209219229239249259269279289299309319329339349359369379389399409419429439449459469479489499509519529539549559569579589599609619629639649659669679689699709719729739749759769779789799809819829839849859869879889899909919929939949959969979989991000100110021003100410051006100710081009101010111012101310141015101610171018101910201021102210231024102510261027102810291030103110321033
  1. // ROUTES FOR OUR API
  2. // =============================================================================
  3. var express = require('express');
  4. var bcrypt = require('bcryptjs');
  5. var router = express.Router(); // get an instance of the express Router
  6. var http = require('http');
  7. var qs = require('qs');
  8. const querystring = require('querystring');
  9. var mysql = require('./mysql');
  10. // const _mysqlLabor = ["10.3.16.226", "ssti_cm"]; //本地双创數據庫信息
  11. // const _mysqlLabor = ["127.0.0.1", "ssti_cm"]; //本地双创數據庫信息
  12. // const _mysqlLabor = ["172.16.12.5", "pbl"]; //双创數據庫信
  13. const _mysqlLabor = ["10.16.30.130", "ssti_cm"]; //真实双创數據庫信息
  14. // const _mysqlLabor = ["43.139.158.220", "ssti_cm"]; // 袁一鸣服务器数据库
  15. var crypto = require('crypto');
  16. var https = require('https');
  17. //統壹處理區域
  18. router.use(async function(req, res, next) {
  19. await asynnext(req, res, next);
  20. //// make sure we go to the next routes and don't stop here
  21. //res.end("");
  22. });
  23. /**
  24. * @des 參數解釋同上
  25. */
  26. function asynnext(req, res, next) {
  27. //異步處理
  28. return new Promise(async(resolve, reject) => {
  29. next();
  30. //resolve(true);aa
  31. });
  32. }
  33. /*測試*/
  34. router.route('/a').all((req, res, next) => {
  35. var json = GetData(req);
  36. getmysql(req, res, "a");
  37. });
  38. //qgt 查看数据库是否有此人
  39. // router.use((req,res,next)=>{
  40. // const uid = GetData(req)['uid'];
  41. // let p = [_mysqlLabor[0], _mysqlLabor[1], 'select_UserByUserId',uid];
  42. // mysql.usselect(p,function(result){
  43. // if(result[0].length==1){
  44. // next();
  45. // }else{
  46. // res.Back(1,"用户不存在",GetData(req))
  47. // }
  48. // })
  49. // })
  50. //测试接口
  51. router.get('/testApi', function(req, res, next) {
  52. // 创建第三方服务器请求的选项对象
  53. const options = {
  54. hostname: 'cxcy.ssti.net.cn',
  55. path: "/sso/api",
  56. method: 'GET', // 请求方法
  57. headers: req.headers
  58. };
  59. console.log(options);
  60. // 发送第三方服务器请求
  61. const proxyReq = https.request(options, (proxyRes) => {
  62. // // 将第三方服务器的响应头部信息转发给用户
  63. // res.writeHead(proxyRes.statusCode, proxyRes.headers);
  64. // // 将第三方服务器的响应数据转发给用户
  65. // proxyRes.pipe(res);
  66. console.log(options);
  67. let data = '';
  68. // 接收响应数据
  69. proxyRes.on('data', (chunk) => {
  70. data += chunk;
  71. });
  72. // 响应结束时处理数据
  73. proxyRes.on('end', () => {
  74. console.log(data); // 输出获取到的数据
  75. res.end(data)
  76. });
  77. });
  78. // 处理请求错误
  79. proxyReq.on('error', (error) => {
  80. console.error(error);
  81. res.statusCode = 500;
  82. res.end('Internal Server Error');
  83. });
  84. // 将用户请求的数据转发给第三方服务器
  85. req.pipe(proxyReq);
  86. // // 创建向后端服务器的请求
  87. // const options = {
  88. // hostname: 'cxcy.ssti.net.cn',
  89. // path: "/sso/api",
  90. // method: 'GET' //, // 请求方法
  91. // //headers: req.headers
  92. // };
  93. // // 发送HTTP请求
  94. // const backendReq = https.request(options, (res) => {
  95. // console.log(res)
  96. // let data = '';
  97. // // 接收响应数据
  98. // res.on('data', (chunk) => {
  99. // data += chunk;
  100. // });
  101. // // 响应结束时处理数据
  102. // res.on('end', () => {
  103. // console.log(data); // 输出获取到的数据
  104. // });
  105. });
  106. // // 处理请求错误
  107. // backendReq.on('error', (error) => {
  108. // console.error(error);
  109. // });
  110. // // 发送请求
  111. // backendReq.end();
  112. // const backendReq = https.request(options, (res) => {
  113. // // 处理响应
  114. // res.on('data', (data) => {
  115. // console.log(data.toString());
  116. // });
  117. // });
  118. // backendReq.on('error', (error) => {
  119. // console.error(error);
  120. // });
  121. // backendReq.end();
  122. //})
  123. //消息与任务接口
  124. router.post('/getTest', function(req, res, next) {
  125. const options = {
  126. hostname: 'apis.ssti.net.cn',
  127. port: 80,
  128. path: '/taskcenterapp/sys/taskCenter/taskReceive/pushTask.do',
  129. method: 'POST',
  130. headers: {
  131. 'Content-Type': 'application/x-www-form-urlencoded',
  132. 'appId': '36dd21cde3b2f30a',
  133. 'accessToken': '463e95bdad1a9506bd1b271194f89383'
  134. }
  135. };
  136. const req1 = http.request(options, (item) => {
  137. console.log(`statusCode: ${item.statusCode}`);
  138. item.on('data', (data) => {
  139. console.log(data.toString());
  140. res.end(JSON.stringify(data.toString()));
  141. });
  142. });
  143. req1.on('error', (error) => {
  144. console.error(error);
  145. });
  146. const bodyData = qs.stringify({ appId: "36dd21cde3b2f30a", taskInfo: req.body[0].taskInfo });
  147. req1.write(bodyData);
  148. req1.end();
  149. // request({
  150. // url:"http://apis.ssti.net.cn:80/taskcenterapp/sys/taskCenter/taskReceive/pushTask.do",
  151. // method:"POST",
  152. // encoding:null,
  153. // header:{
  154. // 'appId':'36dd21cde3b2f30a',
  155. // 'accessToken':'463e95bdad1a9506bd1b271194f89383'
  156. // },
  157. // data:{}
  158. // }),function(error,response,body){
  159. // console.log(error,response,body);
  160. // }
  161. })
  162. //qgt 新增全站通知 有用
  163. router.post("/CreateNewNotification", (req, res) => {
  164. QMysql(req, res, "insert_New")
  165. })
  166. //qgt 获取全站通知 有用
  167. router.get('/SelectNotification', (req, res) => {
  168. QMysql(req, res, 'select_NewByTitle')
  169. })
  170. //qgt 删除通知 有用
  171. router.post("/DeleteNotification", (req, res) => {
  172. QMysql(req, res, "update_NewStatusById");
  173. })
  174. //qgt 获取消息通知详细 有用
  175. router.get("/SelectNotificationDetail", (req, res) => {
  176. QMysql(req, res, "select_NewDetailById");
  177. })
  178. //qgt 获取所有的学院 有用
  179. router.post("/SelectAllDepartment", (req, res) => {
  180. let data = GetData(req);
  181. const str = req.headers.cookie ? req.headers.cookie : '';
  182. const getUserid = getUid(str);
  183. mysql.usselect([_mysqlLabor[0], _mysqlLabor[1], 'selectUserIdentity', getUserid], (ret3) => {
  184. if (ret3[0][0].type == 0) {
  185. if (data['uid'] == getUserid) {
  186. QMysql(req, res, "select_AllDepartment");
  187. } else {
  188. res.end(JSON.stringify({ a: "身份认证失败!" }));
  189. }
  190. } else {
  191. res.end(JSON.stringify({ a: "权限不足!" }));
  192. }
  193. })
  194. })
  195. // //qgt 获取所有的分类
  196. // router.get("/SelectAllType", (req, res) => {
  197. // QMysql(req, res, "select_AllType")
  198. // })
  199. // //qgt 添加项目申请
  200. // router.post("/CreateProject", (req, res) => {
  201. // QMysql(req, res, "insert_project");
  202. // })
  203. //qgt 项目立项申请获取数据 有用
  204. router.get("/SelectAllProject", (req, res) => {
  205. let data = GetData(req);
  206. const str = req.headers.cookie ? req.headers.cookie : '';
  207. const getUserid = getUid(str);
  208. if (data['uid'] == getUserid) {
  209. QMysql(req, res, "select_AllProject");
  210. } else {
  211. res.end(JSON.stringify({ a: "身份认证失败!" }));
  212. }
  213. })
  214. // //qgt 获取立项申请的基础信息
  215. // router.get('/GetProjectBase', (req, res) => {
  216. // QMysql(req, res, "select_ProjectBaseById");
  217. // })
  218. // //qgt 获取项目详细信息
  219. // router.get('/GetProjectDetailMessage', (req, res) => {
  220. // QMysql(req, res, "select_ProjectMessageById")
  221. // })
  222. //qgt 删除项目详细信息 有用
  223. router.post('/DeleteProject', (req, res) => {
  224. const data = GetData(req);
  225. mysql.usselect([_mysqlLabor[0], _mysqlLabor[1], 'update_ProjectDeleteById', data['uid'], data['pid'], 1], result => res.end(JSON.stringify(result)));
  226. })
  227. // //qgt 项目立项申请提交审核
  228. // router.post("/ApproveProject", (req, res) => {
  229. // const data = GetData(req);
  230. // mysql.usselect([_mysqlLabor[0], _mysqlLabor[1], 'update_ProjectIsupload', data['uid'], data['pid'], 1], result => res.end(JSON.stringify(result)));
  231. // })
  232. //qgt 修改项目立项申请基础信息
  233. // router.post('/UpdateProjectBase', (req, res) => {
  234. // QMysql(req, res, "update_ProjectBase");
  235. // })
  236. // //qgt 修改项目立项申请详细信息
  237. // router.post("/UpdateProjectDetail", (req, res) => {
  238. // QMysql(req, res, 'update_ProjectDetail');
  239. // })
  240. //qgt 获取所有项目名称和ID 有用
  241. router.get("/GetAllProjectName", (req, res) => {
  242. let data = GetData(req);
  243. const str = req.headers.cookie ? req.headers.cookie : '';
  244. const getUserid = getUid(str);
  245. if (data['uid'] == getUserid) {
  246. QMysql(req, res, 'select_AllProjectName');
  247. } else {
  248. res.end(JSON.stringify({ a: "身份认证失败!" }));
  249. }
  250. })
  251. // //qgt 创建创客活动
  252. // router.post('/CreateActivity', (req, res) => {
  253. // QMysql(req, res, "insert_Activity")
  254. // })
  255. //qgt 获取所有的创客活动 有用
  256. router.get('/GetAllActivity', (req, res) => {
  257. let data = GetData(req);
  258. const str = req.headers.cookie ? req.headers.cookie : '';
  259. const getUserid = getUid(str);
  260. if (data['uid'] == getUserid) {
  261. QMysql(req, res, "select_AllActivity")
  262. } else {
  263. res.end(JSON.stringify({ a: "身份认证失败!" }));
  264. }
  265. })
  266. // //qgt 获取创客活动详细
  267. // router.get("/GetActivityDetail", (req, res) => {
  268. // QMysql(req, res, "select_ActivityDetail");
  269. // })
  270. // //qgt 修改活动管理
  271. // router.post("/UpdateActivity", (req, res) => {
  272. // QMysql(req, res, "update_Activity");
  273. // })
  274. //qgt 修改活动管理状态 有用
  275. router.post("/UpdateActivityState", (req, res) => {
  276. QMysql(req, res, "update_ActivityState");
  277. })
  278. //qgt 活动管理上传报告 有用
  279. router.post("/UploadActivityFile", (req, res) => {
  280. QMysql(req, res, "update_ActivityReportFile")
  281. })
  282. //yym 项目管理结项上传报告 有用
  283. router.post("/UploadProjectManageFile", (req, res) => {
  284. QMysql(req, res, "update_ProjectManageFile")
  285. })
  286. //yym 项目管理-进度详情-项目结题附件-获取项目结题附件 有用
  287. router.get("/SelectProjectManageFile", (req, res) => {
  288. QMysql(req, res, "select_ProjectManageFile")
  289. })
  290. //yym 项目管理-进度详情-项目附件-获取项目附件
  291. // router.get("/SelectProjectFile", (req, res) => {
  292. // QMysql(req, res, "select_ProjectFile")
  293. // })
  294. //yym 项目管理-进度详情-项目结题附件-上传项目结题附件 有用
  295. router.post("/AddProjectManageFile", (req, res) => {
  296. QMysql(req, res, "update_EndProjectFile")
  297. })
  298. //yym 项目管理-资金申报明细-获取资金申报明细
  299. // router.get("/SelectFundDetail", (req, res) => {
  300. // QMysql(req, res, "select_FundDetail")
  301. // })
  302. // yym 项目结项-获取项目结项首页渲染数据
  303. // router.get("/SelectSettlement", (req, res) => {
  304. // QMysql(req, res, "select_Settlement")
  305. // })
  306. // yym 项目结项-结项评语
  307. // router.post("/UpdateSettlementRemark", (req, res) => {
  308. // QMysql(req, res, "update_SettlementRemark")
  309. // })
  310. // yym 项目结项-获取结项评语数据
  311. // router.get("/SelectSettlementRemark", (req, res) => {
  312. // QMysql(req, res, "select_SettlementRemark")
  313. // })
  314. // yym 项目结项-确定完结项目
  315. // router.post("/UpdateSettlementIsUpload", (req, res) => {
  316. // QMysql(req, res, "update_SettlementIsUpload")
  317. // })
  318. // qgt 项目结项-确定完结项目 有用
  319. router.post('/UpdateSettlementEndProject', (req, res) => {
  320. QMysql(req, res, "update_SettlementEndProject");
  321. })
  322. // yym 项目结项-修改项目结项 有用(暑假新修改暂时无用)
  323. // router.post("/UpdateAmendFinish", (req, res) => {
  324. // QMysql(req, res, "update_amendFinish")
  325. // })
  326. // yym 项目资金使用管理-创客资金申请
  327. // router.post("/insertMakerFund", (req, res) => {
  328. // QMysql(req, res, "Insert_MakerFund")
  329. // })
  330. // yym 项目资金使用管理-获取渲染首页页面数据
  331. // router.get("/SelectMakerFund", (req, res) => {
  332. // QMysql(req, res, "select_MakerFund")
  333. // })
  334. // yym 项目资金使用管理-资金申请详情页面修改
  335. // router.post("/UpdateMakerFund", (req, res) => {
  336. // QMysql(req, res, "update_MakerFund")
  337. // })
  338. // yym 项目资金使用管理-审核按钮 有用
  339. router.post("/UpdateMakerFundState", (req, res) => {
  340. QMysql(req, res, "update_MakerFundState")
  341. })
  342. // yym 项目资金使用管理-创客资金申请详情项目名称下拉框
  343. // router.get("/SelectMakerFundDetailSelects", (req, res) => {
  344. // QMysql(req, res, "select_MakerFundDetailSelects")
  345. // })
  346. // yym 项目结项-项目基本内容-基础信息修改
  347. // router.post("/UpdateSettlementDetail", (req, res) => {
  348. // QMysql(req, res, "update_settlementDetail")
  349. // })
  350. //qgt 通过项目ID获取所有的活动附件
  351. // router.get("/GetActivityFileByProjectId", (req, res) => {
  352. // QMysql(req, res, "select_AllActivityFileByProjectId")
  353. // })
  354. //qgt 创业公司上传文件 有用
  355. router.post("/UploadFirmFile", (req, res) => {
  356. QMysql(req, res, "insert_startups")
  357. })
  358. //qgt 获取创业公司上传的文件 有用
  359. router.get("/GetFirmFile", (req, res) => {
  360. QMysql(req, res, "select_startupsByTitle");
  361. })
  362. //qgt 修改创业公司文件的状态 有用
  363. router.post("/UpdateFirmFileState", (req, res) => {
  364. QMysql(req, res, "update_startupsState");
  365. })
  366. //qgt 获取已经结项的
  367. // router.get("/GetProjectIsEndProject", (req, res) => {
  368. // QMysql(req, res, "select_ProjectIsEndProject");
  369. // })
  370. //qgt 通过ID获取已经结项项目的数据
  371. // router.get("/GetProjectEndByID", (req, res) => {
  372. // QMysql(req, res, "select_ProjectEndBaseById")
  373. // })
  374. //qgt 通过ID修改学生学分
  375. // router.post("/UpdateStudentScore", (req, res) => {
  376. // QMysql(req, res, "update_ProjectStudentScore");
  377. // })
  378. //qgt 获取项目下所有活动的预算
  379. // router.get('/GetAllActivityMoneyByProjectId', (req, res) => {
  380. // QMysql(req, res, "select_ActivityAllMoneyByProjectId")
  381. // })
  382. //qgt 获取已经结项的项目 有用
  383. router.post('/GetProjectIsConclusion', (req, res) => {
  384. let data = GetData(req);
  385. const str = req.headers.cookie ? req.headers.cookie : '';
  386. const getUserid = getUid(str);
  387. mysql.usselect([_mysqlLabor[0], _mysqlLabor[1], 'selectUserIdentity', getUserid], (ret3) => {
  388. if (ret3[0][0].type == 0) {
  389. if (data['uid'] == getUserid) {
  390. QMysql(req, res, "select_ProjectIsConclusion");
  391. } else {
  392. res.end(JSON.stringify({ a: "身份认证失败!" }));
  393. }
  394. } else {
  395. res.end(JSON.stringify({ a: "权限不足!" }));
  396. }
  397. })
  398. })
  399. //qgt 获取已经结项的项目详细 有用
  400. router.get("/GetProjectDetailIsConclusion", (req, res) => {
  401. QMysql(req, res, "select_ProjectResultDetail");
  402. })
  403. //qgt 获取项目下所有未完结的活动和资金 有用
  404. router.get("/GetActivityNoReportByPId", (req, res) => {
  405. QMysql(req, res, "select_ActivityNoReportById")
  406. })
  407. //qgt 修改结题文件 有用
  408. router.post('/UpdateProjectEndFile', (req, res) => {
  409. QMysql(req, res, 'update_ProjectEndFile')
  410. })
  411. //qgt 添加项目申请特色创客空间建设项目申报
  412. // router.post('/InsertProjectMakerSpace', (req, res) => {
  413. // QMysql(req, res, 'insert_project_MakerSpace')
  414. // })
  415. // //qgt 查询特色创客空间建设项目的基础信息
  416. // router.get("/SelectProjectMakerSpace", (req, res) => {
  417. // QMysql(req, res, 'select_projectApplyDetail_MakerSpace')
  418. // })
  419. // //qgt 修改特色创客空间建设项目的基础信息
  420. // router.post('/UpdateProjectMakerSpaceBase', (req, res) => {
  421. // QMysql(req, res, 'update_projectBase_MakerSpace')
  422. // })
  423. // //qgt 获取特色创客空间建设项目的详细信息
  424. // router.get("/SelectProjectChapterMakerSpace", (req, res) => {
  425. // QMysql(req, res, "select_projectChapters_MakerSpace")
  426. // })
  427. // //qgt 修改特色创客空间建设项目的详细信息
  428. // router.post("/UpdateProjectChaptersMakerSpace", (req, res) => {
  429. // QMysql(req, res, "update_projectCharters_MakerSpace")
  430. // })
  431. // //yym 添加项目申请学生创客项目申报
  432. // router.post('/InsertProjectStudent', (req, res) => {
  433. // QMysql(req, res, 'insert_project_student')
  434. // })
  435. // //yym 添加项目申请学生创客项目申报
  436. // router.get('/SelectProjectApplyDetailStudent', (req, res) => {
  437. // QMysql(req, res, 'Select_ProjectApplyDetail_Student')
  438. // })
  439. // //yym 修改项目立项申请-项目基本内容-学生项目基本内容修改
  440. // router.post('/updateProjectApplyDetailStudent', (req, res) => {
  441. // QMysql(req, res, 'update_ProjectApplyDetail_Student')
  442. // })
  443. // //yym 修改项目立项申请-项目基本内容-学生项目详情修改
  444. // router.post('/updateProjectApplication2Student', (req, res) => {
  445. // QMysql(req, res, 'update_ProjectApplication2_Student')
  446. // })
  447. //yym 获取成果展示学生创业项目数据 有用
  448. router.get("/SelectResultDetailStudent", (req, res) => {
  449. QMysql(req, res, "select_resultDetail_student");
  450. })
  451. // //qgt 获取项目的详细和资金申请
  452. // router.get("/SelectProjectWordMakerSpace", (req, res) => {
  453. // QMysql(req, res, 'select_projectWord_MakerSpace');
  454. // })
  455. //yym 获取学生项目的详细和资金申请 有用
  456. router.get("/SelectProjectWordMakerStudent", (req, res) => {
  457. QMysql(req, res, 'select_projectWord_makerStudent');
  458. })
  459. // //qgt 获取活动的文档信息
  460. // router.get("/SelectActivityWord", (req, res) => {
  461. // QMysql(req, res, 'select_Activity_Word');
  462. // })
  463. //qgt 查询项目管理的所有项目 有用
  464. router.get("/SelectAllProjectManagement", (req, res) => {
  465. QMysql(req, res, 'select_AllProjectManagement');
  466. })
  467. //qgt 查询项目结项的所有项目 有用
  468. router.get('/SelectAllProjectSettlement', (req, res) => {
  469. QMysql(req, res, 'select_AllProjectSettlement')
  470. })
  471. //yym 项目立项申请-驳回项目立项申请 有用
  472. router.post("/updateIsupload", (req, res) => {
  473. QMysql(req, res, 'update_Isupload');
  474. })
  475. //qgt //获取最后创建的项目编号 有用
  476. router.get('/getProjectNo', (req, res) => {
  477. QMysql(req, res, 'select_LastProjectNo')
  478. })
  479. //qgt //获取最后创建的活动编号 有用
  480. router.get('/getActivityNo', (req, res) => {
  481. QMysql(req, res, 'select_LastActvityNo');
  482. })
  483. //qgt //获取最后创建的项目编号 有用
  484. router.get('/getFundNo', (req, res) => {
  485. QMysql(req, res, 'select_LastFundNo')
  486. })
  487. //qgt 特色空间建设项目申请Word 有用
  488. router.post('/MakerSpaceWordApply', (req, res) => {
  489. QMysql(req, res, 'insert_Project_MakerSpaceWord');
  490. })
  491. //qgt 获取特色空间建设项目表格数据 有用
  492. router.get("/getMakerSpaceWordData", (req, res) => {
  493. QMysql(req, res, 'select_projectMakerSpaceWord')
  494. })
  495. //qgt 修改特色空间建设项目表格数据 有用
  496. router.post('/updateMakerSpaceWordData', (req, res) => {
  497. QMysql(req, res, 'update_projectMakerSpaceWord')
  498. })
  499. //yym 学生创客项目申请Word 新有用
  500. router.post('/studentProjectWordApply', (req, res) => {
  501. QMysql(req, res, 'insert_Project_studentProject');
  502. })
  503. //yym 项目立项申请-查看详情-获取学生创客项目申请Word数据 新有用
  504. router.get('/studentProjectData', (req, res) => {
  505. QMysql(req, res, 'select_Project_studentProjectData');
  506. })
  507. //yym 项目立项申请-查看详情-更新学生创客项目申请Word数据 新
  508. router.post('/updateStudentProjectData', (req, res) => {
  509. QMysql(req, res, 'update_Project_studentProjectData');
  510. })
  511. // qgt 获取项目的总经费和关联活动的预算 有用
  512. router.get('/getProjectFund', (req, res) => {
  513. QMysql(req, res, 'select_project_activityFund');
  514. })
  515. //qgt 添加活动申请word 有用
  516. router.post("/ActivityApply", (req, res) => {
  517. QMysql(req, res, 'insert_activityWord')
  518. })
  519. //qgt 获取活动申请word数据 有用
  520. router.get("/getActivityWordData", (req, res) => {
  521. QMysql(req, res, 'select_activityWord')
  522. })
  523. //qgt 修改活动word数据 有用
  524. router.post('/UpdateActivityWordData', (req, res) => {
  525. QMysql(req, res, 'update_activityWord')
  526. })
  527. //yym 事后汇总-活动创客项目-获取资金数据 新有用
  528. router.get('/selectMarkerFundData', (req, res) => {
  529. QMysql(req, res, 'select_MarkerFundData');
  530. })
  531. // yym 项目资金使用管理-下拉框获取 有用
  532. router.get("/SelectMakerFundSelects", (req, res) => {
  533. let data = GetData(req);
  534. const str = req.headers.cookie ? req.headers.cookie : '';
  535. const getUserid = getUid(str);
  536. if (data['uid'] == getUserid) {
  537. QMysql(req, res, "select_MakerFundSelects")
  538. } else {
  539. res.end(JSON.stringify({ a: "身份认证失败!" }));
  540. }
  541. })
  542. // yym 项目资金使用管理-提交资金申请 有用
  543. router.post("/insertFundApply", (req, res) => {
  544. QMysql(req, res, "insert_fundApply")
  545. })
  546. // yym 事后汇总-获取所有资金申请 有用
  547. router.get("/selectAllFundApply", (req, res) => {
  548. let data = GetData(req);
  549. const str = req.headers.cookie ? req.headers.cookie : '';
  550. const getUserid = getUid(str);
  551. if (data['uid'] == getUserid) {
  552. QMysql(req, res, "select_AllFundApply")
  553. } else {
  554. res.end(JSON.stringify({ a: "身份认证失败!" }));
  555. }
  556. })
  557. // yym 事后汇总-查看详情-获取活动资金详细 有用
  558. router.get("/selectActivityFundDetail", (req, res) => {
  559. QMysql(req, res, "select_activity_fundDetail")
  560. })
  561. // yym 事后汇总-查看详情-更新数据 有用
  562. router.post("/updateActivityFundDetail", (req, res) => {
  563. QMysql(req, res, "update_activity_fundDetail")
  564. })
  565. //qgt 通过活动ID获取未完结的资金 有用
  566. router.get("/getNoEndFundByActivity", (req, res) => {
  567. QMysql(req, res, 'select_fundNoEndByActivity')
  568. })
  569. //qgt 通过项目ID获取该项目下所有活动下所有的资金实际使用情况 有用
  570. router.get('/getProjectActivityFundIsUseDetail', (req, res) => {
  571. QMysql(req, res, 'select_projectIsUseFundDetail')
  572. })
  573. //qgt 通过项目ID获取该项目下所有活动下所有的资金列表 有用
  574. router.get('/getProjectActivityAllFund', (req, res) => {
  575. QMysql(req, res, 'select_projectActivityAllFund')
  576. })
  577. //qgt 获取数据监测数据
  578. router.get('/getEchartsData', (req, res) => {
  579. QMysql(req, res, 'select_EchartsData')
  580. })
  581. //qgt 查询数据库状态
  582. router.get('/getSystemState', (req, res) => {
  583. let data = GetData(req);
  584. const str = req.headers.cookie ? req.headers.cookie : '';
  585. const getUserid = getUid(str);
  586. if (data['uid'] == getUserid) {
  587. QMysql(req, res, 'select_systemState')
  588. } else {
  589. res.end(JSON.stringify({ a: "身份认证失败!" }));
  590. }
  591. })
  592. //qgt 修改数据库状态
  593. router.post('/setSystemState', (req, res) => {
  594. QMysql(req, res, 'update_systemState')
  595. })
  596. //qgt 项目截止快到期了给与通知。30天、7天、3天分别给与提示提醒
  597. router.get("/SelectProjectEndData", (req, res) => {
  598. let data = GetData(req);
  599. const str = req.headers.cookie ? req.headers.cookie : '';
  600. const getUserid = getUid(str);
  601. if (data['uid'] == getUserid) {
  602. QMysql(req, res, 'select_PlanEndProject')
  603. } else {
  604. res.end(JSON.stringify({ a: "身份认证失败!" }));
  605. }
  606. })
  607. //zyc 获取个人常用语
  608. router.get("/selectPhrases", (req, res) => {
  609. QMysql(req, res, 'selectPhrases')
  610. })
  611. //zyc 插入个人常用语
  612. router.get("/insertPhrases", (req, res) => {
  613. QMysql(req, res, 'insertPhrases')
  614. })
  615. //zyc 插入该代办公文签批意见
  616. router.post("/insertSign", (req, res) => {
  617. QMysql(req, res, "insertSign")
  618. })
  619. //zyc 获取该代办公文签批意见
  620. router.get("/selectSign", (req, res) => {
  621. QMysql(req, res, 'selectSign')
  622. })
  623. //yym 项目管理-进度详情-项目附件-获取项目附件
  624. router.get("/SelectProjectFile", (req, res) => {
  625. QMysql(req, res, "select_ProjectFile")
  626. })
  627. // yym 项目管理-进度详情-项目附件-上传项目附件
  628. router.post("/AddProjectFile", (req, res) => {
  629. QMysql(req, res, "update_ProjectFile")
  630. })
  631. // yym 项目管理-进度详情-项目附件-上传项目附件
  632. router.get("/getClosingstatementData", (req, res) => {
  633. QMysql(req, res, "select_ClosingstatementData")
  634. })
  635. // yym 项目管理-提交结项书
  636. router.post("/updateClosingstatementData", (req, res) => {
  637. QMysql(req, res, "update_ClosingstatementData")
  638. })
  639. // yym 项目管理-修改结项书
  640. router.get("/selectAmendFinish", (req, res) => {
  641. QMysql(req, res, "select_AmendFinish")
  642. })
  643. //yym 项目结项-获取项目结项书基础数据
  644. router.get("/getProjectBookData", (req, res) => {
  645. QMysql(req, res, "select_ProjectBookData")
  646. })
  647. function getUid(str) {
  648. const variables = str.split(";");
  649. const values = {}
  650. for (var i = 0; i < variables.length; i++) {
  651. const noSpace = variables[i].trim(); // 去变量两端的空格
  652. const [key, value] = noSpace.split("="); //将变量分割成健和值
  653. values[key] = value;
  654. }
  655. return values['vue_admin_template_token'];
  656. }
  657. //qgt 用户登录后获取数据,如果数据库没有这个人则添加数据
  658. router.post('/userLogin', (req, res) => {
  659. let data = GetData(req);
  660. const str = req.headers.cookie ? req.headers.cookie : '';
  661. const getUserid = getUid(str);
  662. if (data['id'] == getUserid) {
  663. //查询用户的数据
  664. mysql.usselect([_mysqlLabor[0], _mysqlLabor[1], 'select_UserByUserId', data['id']], function(ret) {
  665. if (ret[0].length == 0) { //数据库没有这个人的数据,查询学生表或者老师表获取数据
  666. mysql.usselect([_mysqlLabor[0], _mysqlLabor[1], 'select_UserMessageById', data['id']], (ret2) => {
  667. let userData = {};
  668. // console.log(ret2);
  669. if (ret2[0].length) {
  670. userData = ret2[0][0];
  671. userData['type'] = 2
  672. } //学生数据
  673. else if (ret2[1].length) {
  674. userData = ret2[1][0]
  675. userData['zymc'] = '';
  676. userData['type'] = 1; //老师数据
  677. };
  678. // console.log(userData);
  679. // console.log();
  680. let bm = '';
  681. if (userData['type'] == 1) bm = userData['bm'] //因为老师部门和学生专业不一样,所以要判断用户类型进行填充user中的bm
  682. if (userData['type'] == 2) bm = userData['xy']
  683. //数据库用户表添加用户
  684. mysql.usselect([_mysqlLabor[0], _mysqlLabor[1], 'insert_User', userData['id'], userData['xm'], userData['type'], bm, userData['zymc']], (ret3) => {
  685. console.log(ret3);
  686. if (ret3 == 1) {
  687. res.end(JSON.stringify({ userid: userData['id'] }))
  688. } else {
  689. res.end('ERROR')
  690. }
  691. })
  692. })
  693. } else {
  694. //数据库有数据
  695. res.end(JSON.stringify({...ret[0][0] }));
  696. }
  697. });
  698. } else {
  699. res.end(JSON.stringify({ a: "身份认证失败!" }));
  700. }
  701. })
  702. //zyc 用户登录后获取数据,如果数据库没有这个人则添加数据(防止修改uid能直接获取到其他老师信息)
  703. router.post('/userLogin2', (req, res) => {
  704. let data = GetData(req);
  705. //查询用户的数据
  706. mysql.usselect([_mysqlLabor[0], _mysqlLabor[1], 'select_UserByUserId1', data['id']], function(ret) {
  707. res.end(JSON.stringify(ret[0][0]));
  708. });
  709. })
  710. GetData = function(req) {
  711. var a = req.url.split("?");
  712. var json = querystring.parse(a[1])
  713. if (Object.keys(json).length != 0) {
  714. return json
  715. } else if (req.body) {
  716. return req.body
  717. } else if (req.body.mode) {
  718. return req.body.mode;
  719. }
  720. }
  721. //存储过程处理
  722. QMysql = function(req, res, functionName) {
  723. if (GetData(req)) {
  724. p = Object.values(GetData(req));
  725. // console.log(p);
  726. p.unshift(_mysqlLabor[0], _mysqlLabor[1], functionName);
  727. //執行存儲過程
  728. mysql.usselect(p, function(ret) { res.end(JSON.stringify(ret)); });
  729. } else {
  730. res.end("未获取参数")
  731. }
  732. }
  733. //post存儲過程處理
  734. // PostMysql = function(req, res, functionName) {
  735. // //mode的處理
  736. // if (GetData(req)) {
  737. // p = Object.values(GetData(req));
  738. // p.unshift(_mysqlLabor[0], _mysqlLabor[1], functionName);
  739. // //執行存儲過程
  740. // mysql.usselect(p, function(ret) { res.end(JSON.stringify(ret)); });
  741. // }else{
  742. // res.end("未获取参数")
  743. // }
  744. // }
  745. // GetMysql = function(req,res,functionName){
  746. // if(GetData(req)){
  747. // p = Object.values(GetData(req));
  748. // p.unshift(_mysqlLabor[0], _mysqlLabor[1], functionName);
  749. // mysql.usselect(p, function(ret) { res.end(JSON.stringify(ret)); });
  750. // }else{
  751. // res.end("未获取参数")
  752. // }
  753. // }
  754. //post存儲過程處理
  755. // postmysql = function(req, res, functionname) {
  756. // //mode的處理
  757. // if (req.body[0]) {
  758. // p = Object.values(req.body[0]);
  759. // p.unshift(_mysqlLabor[0], _mysqlLabor[1], functionname);
  760. // //執行存儲過程
  761. // mysql.usselect(p, function(ret) { res.end(JSON.stringify(ret)); });
  762. // }
  763. // }
  764. //post存儲過程處理
  765. postmysql2 = function(req, res, functionname) {
  766. //mode的處理
  767. if (req.body) {
  768. p = Object.values(req.body)[0].split(",");
  769. p.unshift(_mysqlLabor[0], _mysqlLabor[1], functionname);
  770. //執行存儲過程
  771. mysql.usselect(p, function(ret) { res.end(JSON.stringify(ret)); });
  772. }
  773. }
  774. // router.route('/selectStudentCourseDetail').all((req, res, next) => { //学生
  775. // var json = queryString(req.url);
  776. // getmysql(req, res, "selectStudentCourseDetail", json['courseId']);
  777. // });
  778. // router.route('/addWorks').all((req, res, next) => {
  779. // postmysql(req, res, "add_works");
  780. // });
  781. //post存儲過程處理
  782. postmysql3 = function(req, res, functionname) {
  783. //mode的處理
  784. if (req.body) {
  785. p = Object.values(req.body);
  786. p.unshift(_mysqlLabor[0], _mysqlLabor[1], functionname);
  787. //執行存儲過程
  788. mysql.usselect(p, function(ret) { res.end(JSON.stringify(ret)); });
  789. }
  790. }
  791. //get獲取數據庫信息
  792. getmysql = function(req, res, functionname, ...p) {
  793. p = p || [];
  794. p.unshift(_mysqlLabor[0], _mysqlLabor[1], functionname);
  795. //執行存儲過程
  796. mysql.usselect(p, function(ret) { res.end(JSON.stringify(ret)); }); //
  797. }
  798. //post存储过程处理
  799. userpostmysql = function(req, res, functionname) {
  800. //mode的处理
  801. if (req.body.mode) {
  802. p = req.body.mode.split(",");
  803. p.unshift(_mysqlLabor[0], _mysqlLabor[1], functionname);
  804. //执行存储过程
  805. mysql.usselect(p, function(ret) { res.end(JSON.stringify(ret)); });
  806. }
  807. }
  808. //get获取数据库信息
  809. usergetmysql = function(req, res, functionname, ...p) {
  810. p = p || [];
  811. p.unshift(_mysqlLabor[0], _mysqlLabor[1], functionname);
  812. //执行存储过程
  813. mysql.usselect(p, function(ret) { res.end(JSON.stringify(ret)); }); //
  814. }
  815. // //获取请求数据
  816. // function GetData(req){
  817. // if(req.body['uid']==null){
  818. // return req.query
  819. // }else{
  820. // return req.body
  821. // }
  822. // // return req.query | req.body;
  823. // // if(req.method =='POST'){
  824. // // return req.body;
  825. // // }else if(req.method =="GET"){
  826. // // return req.query;
  827. // // }
  828. // }
  829. //获取当前时间
  830. // function getNowDate() {
  831. // let date = new Date();
  832. // let year = date.getFullYear(); //年
  833. // let month = date.getMonth() + 1; //月
  834. // let day = date.getDate(); //日
  835. // let hour = date.getHours(); //时
  836. // let minutes = date.getMinutes(); //分
  837. // let seconds = date.getSeconds(); //秒
  838. // if (month > 1 && month <= 9) month = "0" + month;
  839. // if (day > 0 && day <= 9) day = "0" + day;
  840. // if (hour > 0 && hour < 9) hour = "0" + hour;
  841. // if (minutes > 0 && minutes <= 9) minutes = "0" + minutes;
  842. // if (seconds > 0 && seconds < 9) seconds = "0" + seconds;
  843. // return `${year}-${month}-${day} ${hour}:${minutes}:${seconds}`;
  844. // }
  845. module.exports = router;