You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 
 
 
 
 

632 lines
31 KiB

  1. var refreshGirdData;
  2. var StuId;
  3. var bootstrap = function ($, learun) {
  4. "use strict";
  5. var page = {
  6. init: function () {
  7. page.initGird();
  8. page.bind();
  9. },
  10. bind: function () {
  11. $('#multiple_condition_query').lrMultipleQuery(function (queryJson) {
  12. page.search(queryJson);
  13. }, 420, 400);
  14. $('#DeptNo').lrDataSourceSelect({ code: 'CdDeptInfo', value: 'deptno', text: 'deptname' });
  15. $('#MajorNo').lrDataSourceSelect({ code: 'CdMajorInfo', value: 'majorno', text: 'majorname' });
  16. $('#ClassNo').lrDataSourceSelect({ code: 'bjsj', value: 'classno', text: 'classname' });
  17. $('#F_ProvinceId').lrDataSourceSelect({
  18. code: 'DIC_PROVINCE', value: 'pcode', text: 'pname',
  19. select: function (item) {
  20. if (item) {
  21. $('#F_CityId').lrselectRefresh({
  22. url: top.$.rootUrl + "/DIC_CITY/GetListByProvinceCode",
  23. param: { ProvinceCode: item.pcode },
  24. value: 'CCODE',
  25. text: 'CNAME'
  26. });
  27. } else {
  28. $('#F_CityId').lrselectRefresh({
  29. url: "",
  30. data: []
  31. });
  32. }
  33. $('#F_CountyId').lrselectRefresh({
  34. url: "",
  35. data: []
  36. });
  37. }
  38. });
  39. $('#F_CityId').lrselect({
  40. value: 'ccode', text: 'cname',
  41. select: function (item) {
  42. if (item) {
  43. $('#F_CountyId').lrselectRefresh({
  44. url: top.$.rootUrl + "/DIC_AREA/GetAreasListByCityCode",
  45. param: { cityCode: item.CCODE },
  46. value: 'ACODE',
  47. text: 'ANAME'
  48. });
  49. }
  50. }
  51. });
  52. $('#F_CountyId').lrselect({
  53. value: 'ACODE', text: 'ANAME'
  54. });
  55. $('#GenderNo').lrDataItemSelect({ code: 'usersexbit' });
  56. $('#PieceCultivateWay').lrDataItemSelect({ code: 'EducationLevel' });
  57. $('#NationalityNo').lrDataItemSelect({ code: 'National' });
  58. // 刷新
  59. $('#lr_refresh').on('click', function () {
  60. location.reload();
  61. });
  62. $("#lr_photo").on('click', function () {
  63. StuId = $("#gridtable").jfGridValue('StuId');
  64. if (learun.checkrow(StuId)) {
  65. takeImg();
  66. }
  67. });
  68. // 新增
  69. $('#lr_add').on('click', function () {
  70. learun.layerForm({
  71. id: 'form',
  72. title: '新增',
  73. url: top.$.rootUrl + '/EducationalAdministration/StuInfoBasic/Form?Crowning=' + 0,
  74. width: 800,
  75. height: 600,
  76. callBack: function (id) {
  77. return top[id].acceptClick(refreshGirdData);
  78. }
  79. });
  80. });
  81. // 编辑
  82. $('#lr_edit').on('click', function () {
  83. var keyValue = $('#gridtable').jfGridValue('StuId');
  84. if (learun.checkrow(keyValue)) {
  85. if (keyValue.indexOf(',') != -1) {
  86. learun.alert.warning("只能选择一条记录进行编辑!");
  87. return;
  88. }
  89. var CheckMark = $('#gridtable').jfGridValue('CheckMark');
  90. if (CheckMark === "1") {
  91. learun.alert.warning("当前项目已审核不能编辑!");
  92. return;
  93. }
  94. learun.layerForm({
  95. id: 'form',
  96. title: '编辑',
  97. url: top.$.rootUrl + '/EducationalAdministration/StuInfoBasic/Form?keyValue=' + keyValue + '&Crowning=' + 0,
  98. width: 800,
  99. height: 600,
  100. callBack: function (id) {
  101. return top[id].acceptClick(refreshGirdData);
  102. }
  103. });
  104. }
  105. });
  106. // 删除
  107. $('#lr_delete').on('click', function () {
  108. var keyValue = $('#gridtable').jfGridValue('StuId');
  109. if (learun.checkrow(keyValue)) {
  110. var CheckMark = $('#gridtable').jfGridValue('CheckMark');
  111. if (CheckMark.indexOf('1') != -1) {
  112. learun.alert.warning("选中记录中包含已审核项目,已审核不能删除!");
  113. return;
  114. }
  115. learun.layerConfirm('是否确认删除该项!', function (res) {
  116. if (res) {
  117. learun.deleteForm(top.$.rootUrl + '/EducationalAdministration/StuInfoBasic/DeleteForm', { keyValue: keyValue }, function () {
  118. refreshGirdData();
  119. });
  120. }
  121. });
  122. }
  123. });
  124. //查看
  125. $('#lr_view').on('click', function () {
  126. var keyValue = $('#gridtable').jfGridValue('StuId');
  127. if (learun.checkrow(keyValue)) {
  128. if (keyValue.indexOf(',') != -1) {
  129. learun.alert.warning("只能选择一条记录进行查看!");
  130. return;
  131. }
  132. learun.layerForm({
  133. id: 'form',
  134. title: '编辑',
  135. url: top.$.rootUrl + '/EducationalAdministration/StuInfoBasic/FormView?keyValue=' + keyValue,
  136. width: 1162,
  137. height: 600,
  138. btn: null
  139. });
  140. }
  141. });
  142. // 打印
  143. $('#lr_print').on('click', function () {
  144. $('#gridtable').jqprintTable();
  145. });
  146. //审核
  147. $('#check').on('click', function () {
  148. var keyValue = $('#gridtable').jfGridValue('StuId');
  149. if (learun.checkrow(keyValue)) {
  150. var CheckMark = $('#gridtable').jfGridValue('CheckMark');
  151. if (CheckMark.indexOf('1') != -1) {
  152. learun.alert.warning("选中记录中包含已审核项目!");
  153. return;
  154. }
  155. learun.layerConfirm('是否确认审核该项?', function (res) {
  156. if (res) {
  157. learun.postForm(top.$.rootUrl + '/EducationalAdministration/StuInfoBasic/Check', { keyValue: keyValue }, function () {
  158. refreshGirdData();
  159. });
  160. }
  161. });
  162. }
  163. });
  164. //去审
  165. $('#uncheck').on('click', function () {
  166. var keyValue = $('#gridtable').jfGridValue('StuId');
  167. if (learun.checkrow(keyValue)) {
  168. var CheckMark = $('#gridtable').jfGridValue('CheckMark');
  169. var CheckMarkArr = CheckMark.split(',');
  170. if ($.inArray('0', CheckMarkArr) != -1 || $.inArray('', CheckMarkArr) != -1) {
  171. learun.alert.warning("选中记录中包含未审核项目!");
  172. return;
  173. }
  174. learun.layerConfirm('是否确认取消审核该项?', function (res) {
  175. if (res) {
  176. learun.postForm(top.$.rootUrl + '/EducationalAdministration/StuInfoBasic/UnCheck', { keyValue: keyValue }, function () {
  177. refreshGirdData();
  178. });
  179. }
  180. });
  181. }
  182. });
  183. //审核全部
  184. $('#checkall').on('click', function () {
  185. learun.layerConfirm('是否确认全部审核?', function (res) {
  186. if (res) {
  187. learun.postForm(top.$.rootUrl + '/EducationalAdministration/StuInfoBasic/CheckAll', {}, function () {
  188. refreshGirdData();
  189. });
  190. }
  191. });
  192. });
  193. //生成帐号
  194. $('#lr_generate').on('click', function () {
  195. learun.layerConfirm('是否确认生成帐号?', function (res) {
  196. if (res) {
  197. learun.postForm(top.$.rootUrl + '/EducationalAdministration/StuInfoBasic/Generate', {}, function () {
  198. refreshGirdData();
  199. });
  200. }
  201. });
  202. });
  203. $('#lr_update').on('click', function () {
  204. learun.layerConfirm('是否确认更新帐号?', function (res) {
  205. if (res) {
  206. learun.postForm(top.$.rootUrl + '/EducationalAdministration/StuInfoBasic/UpdateAccount', {}, function () {
  207. refreshGirdData();
  208. })
  209. }
  210. })
  211. })
  212. //查看异动
  213. $("#lr_searchChange").on('click', function () {
  214. var keyValue = $('#gridtable').jfGridValue('StuId');
  215. if (learun.checkrow(keyValue)) {
  216. if (keyValue.indexOf(',') != -1) {
  217. learun.alert.warning("只能选择一条记录!");
  218. return;
  219. }
  220. learun.layerForm({
  221. id: 'form',
  222. title: '异动记录',
  223. url: top.$.rootUrl + '/EducationalAdministration/StuInfoBasic_ChangeLog/Index?keyValue=' + keyValue,
  224. width: 800,
  225. height: 600,
  226. btn: null
  227. });
  228. }
  229. })
  230. //同步照片
  231. $('#lr_synPhoto').on('click', function () {
  232. learun.loading(true, '正在同步,请稍后')
  233. learun.httpAsync('get', top.$.rootUrl + '/EducationalAdministration/StuInfoBasic/SynPhoto', {}, function (res) {
  234. learun.loading(false)
  235. })
  236. })
  237. //打印简历表
  238. $('#lr_printInfo').on('click', function () {
  239. var keyValue = $('#gridtable').jfGridValue('StuId');
  240. if (learun.checkrow(keyValue)) {
  241. if (keyValue.indexOf(',') != -1) {
  242. learun.alert.warning("只能选择一条记录进行查看!");
  243. return;
  244. }
  245. learun.layerForm({
  246. id: 'print',
  247. title: '学生简历表',
  248. url: top.$.rootUrl + '/EducationalAdministration/StuInfoBasic/Print?keyValue=' + keyValue,
  249. width: 1100,
  250. height: 800,
  251. btn: null
  252. });
  253. }
  254. });
  255. // 同步系部
  256. $('#lr_syn').on('click', function () {
  257. learun.postForm(top.$.rootUrl + '/EducationalAdministration/StuInfoBasic/SyncDept', function () {
  258. refreshGirdData();
  259. });
  260. });
  261. // 同步专业
  262. $('#lr_synmajor').on('click', function () {
  263. learun.postForm(top.$.rootUrl + '/EducationalAdministration/StuInfoBasic/SyncMajor', function () {
  264. refreshGirdData();
  265. });
  266. });
  267. },
  268. // 初始化列表
  269. initGird: function () {
  270. $('#gridtable').jfGrid({
  271. url: top.$.rootUrl + '/EducationalAdministration/StuInfoBasic/GetPageList',
  272. headData: [
  273. { label: "考生号", name: "ksh", width: 100, align: "left" },
  274. { label: "学号", name: "StuNo", width: 100, align: "left" },
  275. { label: "姓名", name: "StuName", width: 100, align: "left" },
  276. {
  277. label: "性别", name: "GenderNo", width: 80, align: "left",
  278. formatter: function (cellvalue) {
  279. return cellvalue == true ? "男" : "女";
  280. }
  281. },
  282. { label: "出生日期", name: "Birthday", width: 100, align: "left" },
  283. { label: "身份证号", name: "IdentityCardNo", width: 100, align: "left" },
  284. {
  285. label: "民族", name: "NationalityNo", width: 100, align: "left",
  286. formatterAsync: function (callback, value, row, op, $cell) {
  287. learun.clientdata.getAsync('dataItem', {
  288. key: value,
  289. code: 'National',
  290. callback: function (_data) {
  291. callback(_data.text);
  292. }
  293. });
  294. }
  295. },
  296. {
  297. label: "政治面貌", name: "PartyFaceNo", width: 100, align: "left",
  298. formatterAsync: function (callback, value, row, op, $cell) {
  299. learun.clientdata.getAsync('dataItem', {
  300. key: value,
  301. code: 'BCdPartyFace',
  302. callback: function (_data) {
  303. callback(_data.text);
  304. }
  305. });
  306. }
  307. },
  308. {
  309. label: "系所", name: "DeptNo", width: 100, align: "left",
  310. formatterAsync: function (callback, value, row, op, $cell) {
  311. learun.clientdata.getAsync('custmerData', {
  312. url: '/LR_SystemModule/DataSource/GetDataTable?code=' + 'CdDeptInfo',
  313. key: value,
  314. keyId: 'deptno',
  315. callback: function (_data) {
  316. callback(_data['deptname']);
  317. }
  318. });
  319. }
  320. },
  321. {
  322. label: "专业", name: "MajorNo", width: 100, align: "left",
  323. formatterAsync: function (callback, value, row, op, $cell) {
  324. learun.clientdata.getAsync('custmerData', {
  325. url: '/LR_SystemModule/DataSource/GetDataTable?code=' + 'CdMajorInfo',
  326. key: value,
  327. keyId: 'majorno',
  328. callback: function (_data) {
  329. callback(_data['majorname']);
  330. }
  331. });
  332. }
  333. },
  334. {
  335. label: "班级", name: "ClassNo", width: 100, align: "left",
  336. formatterAsync: function (callback, value, row, op, $cell) {
  337. learun.clientdata.getAsync('custmerData', {
  338. url: '/LR_SystemModule/DataSource/GetDataTable?code=' + 'bjsj',
  339. key: value,
  340. keyId: 'classno',
  341. callback: function (_data) {
  342. callback(_data['classname']);
  343. }
  344. });
  345. }
  346. },
  347. { label: "年级", name: "Grade", width: 100, align: "left" },
  348. {
  349. label: "学制", name: "EduSystem", width: 100, align: "left", formatterAsync: function (callback, value, row, op, $cell) {
  350. learun.clientdata.getAsync('dataItem', {
  351. key: value,
  352. code: 'EduSystem',
  353. callback: function (_data) {
  354. callback(_data.text);
  355. }
  356. });
  357. }
  358. },
  359. {
  360. label: "学习形式", name: "StudyModality", width: 100, align: "left", formatterAsync: function (callback, value, row, op, $cell) {
  361. learun.clientdata.getAsync('dataItem', {
  362. key: value,
  363. code: 'StudyModality',
  364. callback: function (_data) {
  365. callback(_data.text);
  366. }
  367. });
  368. }
  369. },
  370. //{ label: "报到日期", name: "RegisterDate", width: 100, align: "left" },
  371. { label: "入学年月", name: "EntranceDate", width: 100, align: "left" },
  372. //{ label: "余额", name: "Balance", width: 100, align: "left" },
  373. { label: "通讯地址", name: "MailAddress", width: 100, align: "left" },
  374. { label: "联系电话", name: "mobile", width: 100, align: "left" },
  375. {
  376. label: "生源地", name: "StuPlaceCode", width: 100, align: "left",
  377. formatterAsync: function (callback, value, row, op, $cell) {
  378. learun.clientdata.getAsync('custmerData', {
  379. url: '/LR_SystemModule/DataSource/GetDataTable?code=' + 'DIC_CITY',
  380. key: value,
  381. keyId: 'ccode',
  382. callback: function (_data) {
  383. callback(_data['cname']);
  384. }
  385. });
  386. }
  387. },
  388. //{ label: "户口所在地", name: "FatherUnit", width: 100, align: "left" },
  389. //{ label: "档案所在地", name: "MatherUnit", width: 100, align: "left" },
  390. { label: "户籍所在地", name: "Domicile", width: 100, align: "left" },
  391. {
  392. label: "档案是否自带", name: "IsArchives", width: 100, align: "left",
  393. formatterAsync: function (callback, value, row, op, $cell) {
  394. learun.clientdata.getAsync('dataItem', {
  395. key: value,
  396. code: 'YesOrNoInt',
  397. callback: function (_data) {
  398. callback(_data.text);
  399. }
  400. });
  401. }
  402. },
  403. {
  404. label: "户口分类", name: "ResidenceNo", width: 100, align: "left",
  405. formatterAsync: function (callback, value, row, op, $cell) {
  406. learun.clientdata.getAsync('dataItem', {
  407. key: value,
  408. code: 'ResidenceNo',
  409. callback: function (_data) {
  410. callback(_data.text);
  411. }
  412. });
  413. }
  414. },
  415. {
  416. label: "籍贯 (省)", name: "F_ProvinceId", width: 100, align: "left",
  417. formatterAsync: function (callback, value, row, op, $cell) {
  418. learun.clientdata.getAsync('custmerData', {
  419. url: '/LR_SystemModule/DataSource/GetDataTable?code=' + 'DIC_PROVINCE',
  420. key: value,
  421. keyId: 'pcode',
  422. callback: function (_data) {
  423. callback(_data['pname']);
  424. }
  425. });
  426. }
  427. },
  428. {
  429. label: "籍贯 (市)", name: "F_CityId", width: 100, align: "left",
  430. formatterAsync: function (callback, value, row, op, $cell) {
  431. learun.clientdata.getAsync('custmerData', {
  432. url: '/LR_SystemModule/DataSource/GetDataTable?code=' + 'DIC_CITY',
  433. key: value,
  434. keyId: 'ccode',
  435. callback: function (_data) {
  436. callback(_data['cname']);
  437. }
  438. });
  439. }
  440. },
  441. {
  442. label: "籍贯 (县/区)", name: "F_CountyId", width: 100, align: "left",
  443. formatterAsync: function (callback, value, row, op, $cell) {
  444. learun.clientdata.getAsync('custmerData', {
  445. url: '/LR_SystemModule/DataSource/GetDataTable?code=' + 'DIC_AREA',
  446. key: value,
  447. keyId: 'acode',
  448. callback: function (_data) {
  449. callback(_data['aname']);
  450. }
  451. });
  452. }
  453. },
  454. { label: "邮政编码", name: "PostalCode", width: 100, align: "center" },
  455. //{ label: "E-mail", name: "E-mail", width: 100, align: "center" },
  456. //{
  457. // label: "开户银行", name: "DepositBank", width: 100, align: "center",
  458. // formatterAsync: function (callback, value, row, op, $cell) {
  459. // learun.clientdata.getAsync('dataItem', {
  460. // key: value,
  461. // code: 'DepositBank',
  462. // callback: function (_data) {
  463. // callback(_data.text);
  464. // }
  465. // });
  466. // }
  467. //},
  468. //{ label: "开户卡账号", name: "BankCard", width: 100, align: "center" },
  469. //{ label: "开户银行位置", name: "BankLocation", width: 100, align: "center" },
  470. //{
  471. // label: "是否单亲", name: "IsSingle", width: 100, align: "left",
  472. // formatter: function (value, row) {
  473. // if (value == true) {
  474. // return '是';
  475. // }
  476. // else if (value == false) {
  477. // return '否';
  478. // }
  479. // }
  480. //},
  481. { label: "父亲姓名", name: "FatherName", width: 100, align: "center" },
  482. { label: "身份证号", name: "OneIdCardNo", width: 100, align: "center" },
  483. { label: "父亲电话", name: "FatherPhone", width: 100, align: "center" },
  484. //{ label: "户籍地址", name: "OneDomicile", width: 100, align: "center" },
  485. //{ label: "现住址", name: "OneAddress", width: 100, align: "center" },
  486. { label: "母亲姓名", name: "MatherName", width: 100, align: "center" },
  487. { label: "身份证号", name: "TwoIdCardNo", width: 100, align: "center" },
  488. { label: "母亲电话", name: "MatherPhone", width: 100, align: "center" },
  489. //{ label: "户籍地址", name: "TwoDomicile", width: 100, align: "center" },
  490. //{ label: "现住址", name: "TwoAddress", width: 100, align: "center" },
  491. { label: "监护人姓名", name: "GuardianName", width: 100, align: "center" },
  492. { label: "身份证号", name: "GuardianIdCardNo", width: 100, align: "center" },
  493. { label: "监护人电话", name: "GuardianPhone", width: 100, align: "center" },
  494. //{ label: "户籍地址", name: "GuardianDomicile", width: 100, align: "center" },
  495. { label: "现住址", name: "GuardianAddress", width: 100, align: "center" },
  496. {
  497. label: "家庭出身", name: "FamilyOriginNo", width: 100, align: "center",
  498. formatterAsync: function (callback, value, row, op, $cell) {
  499. learun.clientdata.getAsync('dataItem', {
  500. key: value,
  501. code: 'BCdFamilyOrigin',
  502. callback: function (_data) {
  503. callback(_data.text);
  504. }
  505. });
  506. }
  507. },
  508. {
  509. label: "港澳台侨", name: "OverseasChineseNo", width: 100, align: "center",
  510. formatterAsync: function (callback, value, row, op, $cell) {
  511. learun.clientdata.getAsync('dataItem', {
  512. key: value,
  513. code: 'BCdOverseasChinese',
  514. callback: function (_data) {
  515. callback(_data.text);
  516. }
  517. });
  518. }
  519. },
  520. {
  521. label: "培养层次", name: "PieceCultivateWay", width: 100, align: "center",
  522. formatterAsync: function (callback, value, row, op, $cell) {
  523. learun.clientdata.getAsync('dataItem', {
  524. key: value,
  525. code: 'EducationLevel',
  526. callback: function (_data) {
  527. callback(_data.text);
  528. }
  529. });
  530. }
  531. },
  532. //{
  533. // label: "本专科", name: "GraduateNo", width: 100, align: "center",
  534. // formatterAsync: function (callback, value, row, op, $cell) {
  535. // learun.clientdata.getAsync('dataItem', {
  536. // key: value,
  537. // code: 'CollegeType',
  538. // callback: function (_data) {
  539. // callback(_data.text);
  540. // }
  541. // });
  542. // }
  543. //},
  544. {
  545. label: "毕业日期", name: "GraduateYear", width: 100, align: "center",
  546. formatter: function (cellvalue) {
  547. return learun.formatDate(cellvalue, 'yyyy-MM-dd');
  548. }
  549. },
  550. //{ label: "毕业证号", name: "DiplomaNo", width: 100, align: "center" },
  551. //{ label: "毕业证书备注", name: "DiplomaRemark", width: 100, align: "center" },
  552. //{
  553. // label: "入党时间", name: "BankCard", width: 100, align: "center",
  554. // formatter: function (cellvalue) {
  555. // return learun.formatDate(cellvalue, 'yyyy-MM-dd');
  556. // }
  557. //},
  558. //{
  559. // label: "入团时间", name: "BankCard", width: 100, align: "center",
  560. // formatter: function (cellvalue) {
  561. // return learun.formatDate(cellvalue, 'yyyy-MM-dd');
  562. // }
  563. //},
  564. //{ label: "校内地址", name: "InSchoolAddress", width: 100, align: "center" },
  565. //{ label: "校内电话", name: "InSchoolTelephone", width: 100, align: "center" },
  566. //{ label: "QQ", name: "QQ", width: 100, align: "center" },
  567. //{ label: "特长", name: "GoodAt", width: 100, align: "center" },
  568. { label: "备注", name: "Remark", width: 200, align: "center" },
  569. {
  570. label: "异动状态", name: "MoveStatus", width: 80, align: "center",
  571. formatter: function (cellvalue) {
  572. return cellvalue == "1" ? "<i class=\"fa fa-toggle-on\"></i>" : "<i class=\"fa fa-toggle-off\"></i>";
  573. }
  574. },
  575. {
  576. label: "异动类型", name: "MoveType", width: 100, align: "left",
  577. formatterAsync: function (callback, value, row, op, $cell) {
  578. learun.clientdata.getAsync('dataItem', {
  579. key: value,
  580. code: 'StuChangeType',
  581. callback: function (_data) {
  582. callback(_data.text);
  583. }
  584. });
  585. }
  586. },
  587. {
  588. label: "审核状态", name: "CheckMark", width: 80, align: "center",
  589. formatter: function (cellvalue) {
  590. return cellvalue == "1" ? "<span class=\"label label-success\">已审核</span>" : "<span class=\"label label-danger\">未审核</span>";
  591. }
  592. }
  593. ],
  594. mainId: 'StuId',
  595. isPage: true,
  596. isMultiselect: true,
  597. //onSelectRow: function (rowdata) {
  598. // if (rowdata.CheckMark == "1") {
  599. // $("#check").hide();
  600. // $("#uncheck").show();
  601. // $("#lr_edit").hide();
  602. // $("#lr_delete").hide();
  603. // } else {
  604. // $("#uncheck").hide();
  605. // $("#check").show();
  606. // $("#lr_edit").show();
  607. // $("#lr_delete").show();
  608. // }
  609. //}
  610. });
  611. page.search();
  612. },
  613. search: function (param) {
  614. param = param || {};
  615. param.Crowning = 0;
  616. $('#gridtable').jfGridSet('reload', { queryJson: JSON.stringify(param) });
  617. }
  618. };
  619. refreshGirdData = function () {
  620. page.search();
  621. };
  622. page.init();
  623. }