9cffdb8d6cae7b5b0ce9b700c816adacf8d2ccc0.svn-base 38 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659660661662663664665666667668669670671672673674675676677678679680681682683684685686687688689690691692693694695696697698699700701702703704705706707708709710711712713714715716717718719720721722723724725726727728729730731732733734735736737738739740741742743744745746747748749750751752753754755756757758759760761762763764765766767768769770771772773774775776777778779780781782783784785786787788789790791792793794795796797798799800801802803804805806807808809810811812813814815816817818819820821822823824825826827828829830831832833834835836837
  1. BemsWebApplication.PeopleIncreaseRentalRate = function (params, viewInfo) {
  2. "use strict";
  3. var endpointSelector = "";
  4. if (BemsWebApplication.config.mode == "production") {
  5. endpointSelector = new DevExpress.EndpointSelector(BemsWebApplication.config.endpoints).config.db.production;
  6. } else {
  7. endpointSelector = new DevExpress.EndpointSelector(BemsWebApplication.config.endpoints).config.db.local;
  8. }
  9. //권한설정
  10. var hasnotModificationPermission = ko.observable(true);
  11. var rentalRateYear = "";
  12. var peopleIncreaseYear = "";
  13. var rentalRate =
  14. [{ month: "1", value: 0 },
  15. { month: "2", value: 0 },
  16. { month: "3", value: 0 },
  17. { month: "4", value: 0 },
  18. { month: "5", value: 0 },
  19. { month: "6", value: 0 },
  20. { month: "7", value: 0 },
  21. { month: "8", value: 0 },
  22. { month: "9", value: 0 },
  23. { month: "10", value: 0 },
  24. { month: "11", value: 0 },
  25. { month: "12", value: 0 }];
  26. var peopleIncrease =
  27. [{ month: "1", value: 0 },
  28. { month: "2", value: 0 },
  29. { month: "3", value: 0 },
  30. { month: "4", value: 0 },
  31. { month: "5", value: 0 },
  32. { month: "6", value: 0 },
  33. { month: "7", value: 0 },
  34. { month: "8", value: 0 },
  35. { month: "9", value: 0 },
  36. { month: "10", value: 0 },
  37. { month: "11", value: 0 },
  38. { month: "12", value: 0 }];
  39. function GetSitePeopleIncrease() {
  40. var now = new Date();
  41. var dataSource = new DevExpress.data.DataSource({
  42. store: {
  43. type: "odata",
  44. url: endpointSelector + "/BemsPeopleIncrease"
  45. },
  46. requireTotalCount: true,
  47. pageSize: 1
  48. });
  49. dataSource.filter([
  50. ["SiteId", "=", BWA.UserInfo.SiteId()],
  51. "and",
  52. ["Date", "=", now.getFullYear().toString()]
  53. ]);
  54. dataSource.sort({ getter: "Date", desc: true });
  55. dataSource.load()
  56. .done(function (result) {
  57. if (result.length != 0) {
  58. peopleIncreaseYear = result[0].Date;
  59. peopleIncrease[0].value = result[0].m1;
  60. peopleIncrease[1].value = result[0].m2;
  61. peopleIncrease[2].value = result[0].m3;
  62. peopleIncrease[3].value = result[0].m4;
  63. peopleIncrease[4].value = result[0].m5;
  64. peopleIncrease[5].value = result[0].m6;
  65. peopleIncrease[6].value = result[0].m7;
  66. peopleIncrease[7].value = result[0].m8;
  67. peopleIncrease[8].value = result[0].m9;
  68. peopleIncrease[9].value = result[0].m10;
  69. peopleIncrease[10].value = result[0].m11;
  70. peopleIncrease[11].value = result[0].m12;
  71. var tmpValue;
  72. for (var i = 11; i >= 0; i--) {
  73. if (peopleIncrease[i].value != null) {
  74. tmpValue = peopleIncrease[i].value;
  75. for (var j = i; j <= now.getMonth() ; j++) {
  76. peopleIncrease[j].value = tmpValue;
  77. }
  78. break;
  79. }
  80. }
  81. var store = new DevExpress.data.ODataStore({
  82. url: endpointSelector + "/BemsPeopleIncrease",
  83. key: ["Date", "SiteId"],
  84. keyType: { Date: "String", SiteId: "Int32" }
  85. });
  86. store.update({ Date: peopleIncreaseYear.toString(), SiteId: BWA.UserInfo.SiteId() },
  87. {
  88. m1: peopleIncrease[0].value,
  89. m2: peopleIncrease[1].value,
  90. m3: peopleIncrease[2].value,
  91. m4: peopleIncrease[3].value,
  92. m5: peopleIncrease[4].value,
  93. m6: peopleIncrease[5].value,
  94. m7: peopleIncrease[6].value,
  95. m8: peopleIncrease[7].value,
  96. m9: peopleIncrease[8].value,
  97. m10: peopleIncrease[9].value,
  98. m11: peopleIncrease[10].value,
  99. m12: peopleIncrease[11].value
  100. })
  101. } else if (result.length == 0) {
  102. var dataSource2 = new DevExpress.data.DataSource({
  103. store: {
  104. type: "odata",
  105. url: endpointSelector + "/BemsPeopleIncrease"
  106. },
  107. requireTotalCount: true,
  108. pageSize: 1
  109. });
  110. dataSource2.filter([
  111. ["SiteId", "=", BWA.UserInfo.SiteId()],
  112. ]);
  113. dataSource2.sort({ getter: "Date", desc: true });
  114. dataSource2.load()
  115. .done(function (result2) {
  116. if (result2.length != 0) {
  117. peopleIncreaseYear = result2[0].Date;
  118. peopleIncrease[0].value = result2[0].m1;
  119. peopleIncrease[1].value = result2[0].m2;
  120. peopleIncrease[2].value = result2[0].m3;
  121. peopleIncrease[3].value = result2[0].m4;
  122. peopleIncrease[4].value = result2[0].m5;
  123. peopleIncrease[5].value = result2[0].m6;
  124. peopleIncrease[6].value = result2[0].m7;
  125. peopleIncrease[7].value = result2[0].m8;
  126. peopleIncrease[8].value = result2[0].m9;
  127. peopleIncrease[9].value = result2[0].m10;
  128. peopleIncrease[10].value = result2[0].m11;
  129. peopleIncrease[11].value = result2[0].m12;
  130. var tmpValue;
  131. for (var i = 11; i >= 0; i--) {
  132. if (peopleIncrease[i].value != null) {
  133. tmpValue = peopleIncrease[i].value;
  134. for (var j = i; j < peopleIncrease.length; j++) {
  135. peopleIncrease[j].value = tmpValue;
  136. }
  137. break;
  138. }
  139. }
  140. var store = new DevExpress.data.ODataStore({
  141. url: endpointSelector + "/BemsPeopleIncrease",
  142. key: ["Date", "SiteId"],
  143. keyType: { Date: "String", SiteId: "Int32" }
  144. });
  145. store.update({ Date: peopleIncreaseYear.toString(), SiteId: BWA.UserInfo.SiteId() },
  146. {
  147. m1: peopleIncrease[0].value,
  148. m2: peopleIncrease[1].value,
  149. m3: peopleIncrease[2].value,
  150. m4: peopleIncrease[3].value,
  151. m5: peopleIncrease[4].value,
  152. m6: peopleIncrease[5].value,
  153. m7: peopleIncrease[6].value,
  154. m8: peopleIncrease[7].value,
  155. m9: peopleIncrease[8].value,
  156. m10: peopleIncrease[9].value,
  157. m11: peopleIncrease[10].value,
  158. m12: peopleIncrease[11].value
  159. })
  160. var curYear = new Date().getFullYear() - (parseInt(peopleIncreaseYear));
  161. for (var i = 0; i < curYear; i++) {
  162. if (i == curYear - 1) {
  163. peopleIncreaseYear = new Date().getFullYear();
  164. var tmpMonth = new Date().getMonth();
  165. for (var j = 0; j < peopleIncrease.length; j++) {
  166. if (j <= tmpMonth) {
  167. peopleIncrease[j].value = tmpValue;
  168. } else {
  169. peopleIncrease[j].value = null;
  170. }
  171. }
  172. store.insert({
  173. Date: peopleIncreaseYear.toString(),
  174. SiteId: BWA.UserInfo.SiteId(),
  175. m1: CheckNull(peopleIncrease[0].value),
  176. m2: CheckNull(peopleIncrease[1].value),
  177. m3: CheckNull(peopleIncrease[2].value),
  178. m4: CheckNull(peopleIncrease[3].value),
  179. m5: CheckNull(peopleIncrease[4].value),
  180. m6: CheckNull(peopleIncrease[5].value),
  181. m7: CheckNull(peopleIncrease[6].value),
  182. m8: CheckNull(peopleIncrease[7].value),
  183. m9: CheckNull(peopleIncrease[8].value),
  184. m10: CheckNull(peopleIncrease[9].value),
  185. m11: CheckNull(peopleIncrease[10].value),
  186. m12: CheckNull(peopleIncrease[11].value)
  187. })
  188. } else {
  189. store.insert({
  190. Date: (parseInt(peopleIncreaseYear.toString()) + (i + 1)).toString(),
  191. SiteId: BWA.UserInfo.SiteId(),
  192. m1: tmpValue.toString(),
  193. m2: tmpValue.toString(),
  194. m3: tmpValue.toString(),
  195. m4: tmpValue.toString(),
  196. m5: tmpValue.toString(),
  197. m6: tmpValue.toString(),
  198. m7: tmpValue.toString(),
  199. m8: tmpValue.toString(),
  200. m9: tmpValue.toString(),
  201. m10: tmpValue.toString(),
  202. m11: tmpValue.toString(),
  203. m12: tmpValue.toString()
  204. })
  205. }
  206. }
  207. } else {
  208. utils.toast.show("데이터가 없습니다.");
  209. }
  210. })
  211. .fail(function (error) {
  212. utils.toast.show(error);
  213. });
  214. }
  215. })
  216. .fail(function (error) {
  217. utils.toast.show(error);
  218. });
  219. }
  220. function GetSitePeopleIncreaseHistory() {
  221. var selectDate = $("#standardDatePicker").dxDateBox("instance").option('value');
  222. var dataSource = new DevExpress.data.DataSource({
  223. store: {
  224. type: "odata",
  225. url: endpointSelector + "/BemsPeopleIncrease"
  226. },
  227. requireTotalCount: true,
  228. pageSize: 1
  229. });
  230. dataSource.filter([
  231. ["SiteId", "=", BWA.UserInfo.SiteId()],
  232. "and",
  233. ["Date", "=", selectDate.getFullYear().toString()]
  234. ]);
  235. dataSource.sort({ getter: "Date", desc: true });
  236. dataSource.load()
  237. .done(function (result) {
  238. if (result.length == 0) {
  239. peopleIncreaseYear = selectDate.getFullYear();
  240. peopleIncrease[0].value = null;
  241. peopleIncrease[1].value = null;
  242. peopleIncrease[2].value = null;
  243. peopleIncrease[3].value = null;
  244. peopleIncrease[4].value = null;
  245. peopleIncrease[5].value = null;
  246. peopleIncrease[6].value = null;
  247. peopleIncrease[7].value = null;
  248. peopleIncrease[8].value = null;
  249. peopleIncrease[9].value = null;
  250. peopleIncrease[10].value = null;
  251. peopleIncrease[11].value = null;
  252. } else {
  253. peopleIncreaseYear = result[0].Date;
  254. peopleIncrease[0].value = result[0].m1;
  255. peopleIncrease[1].value = result[0].m2;
  256. peopleIncrease[2].value = result[0].m3;
  257. peopleIncrease[3].value = result[0].m4;
  258. peopleIncrease[4].value = result[0].m5;
  259. peopleIncrease[5].value = result[0].m6;
  260. peopleIncrease[6].value = result[0].m7;
  261. peopleIncrease[7].value = result[0].m8;
  262. peopleIncrease[8].value = result[0].m9;
  263. peopleIncrease[9].value = result[0].m10;
  264. peopleIncrease[10].value = result[0].m11;
  265. peopleIncrease[11].value = result[0].m12;
  266. }
  267. })
  268. .fail(function (error) {
  269. utils.toast.show(error);
  270. });
  271. }
  272. function GetSiteRentalRate() {
  273. var now = new Date();
  274. var dataSource = new DevExpress.data.DataSource({
  275. store: {
  276. type: "odata",
  277. url: endpointSelector + "/BemsRentalRate"
  278. },
  279. requireTotalCount: true,
  280. pageSize: 1
  281. });
  282. dataSource.filter([
  283. ["SiteId", "=", BWA.UserInfo.SiteId()],
  284. "and",
  285. ["Date", "=", now.getFullYear().toString()]
  286. ]);
  287. dataSource.sort({ getter: "Date", desc: true });
  288. dataSource.load()
  289. .done(function (result) {
  290. if (result.length != 0) {
  291. rentalRateYear = result[0].Date;
  292. rentalRate[0].value = result[0].m1;
  293. rentalRate[1].value = result[0].m2;
  294. rentalRate[2].value = result[0].m3;
  295. rentalRate[3].value = result[0].m4;
  296. rentalRate[4].value = result[0].m5;
  297. rentalRate[5].value = result[0].m6;
  298. rentalRate[6].value = result[0].m7;
  299. rentalRate[7].value = result[0].m8;
  300. rentalRate[8].value = result[0].m9;
  301. rentalRate[9].value = result[0].m10;
  302. rentalRate[10].value = result[0].m11;
  303. rentalRate[11].value = result[0].m12;
  304. var tmpValue;
  305. for (var i = 11; i >= 0; i--) {
  306. if (rentalRate[i].value != null) {
  307. tmpValue = rentalRate[i].value;
  308. for (var j = i; j <= now.getMonth() ; j++) {
  309. rentalRate[j].value = tmpValue;
  310. }
  311. break;
  312. }
  313. }
  314. var store = new DevExpress.data.ODataStore({
  315. url: endpointSelector + "/BemsRentalRate",
  316. key: ["Date", "SiteId"],
  317. keyType: { Date: "String", SiteId: "Int32" }
  318. });
  319. store.update({ Date: rentalRateYear.toString(), SiteId: BWA.UserInfo.SiteId() },
  320. {
  321. m1: rentalRate[0].value,
  322. m2: rentalRate[1].value,
  323. m3: rentalRate[2].value,
  324. m4: rentalRate[3].value,
  325. m5: rentalRate[4].value,
  326. m6: rentalRate[5].value,
  327. m7: rentalRate[6].value,
  328. m8: rentalRate[7].value,
  329. m9: rentalRate[8].value,
  330. m10: rentalRate[9].value,
  331. m11: rentalRate[10].value,
  332. m12: rentalRate[11].value
  333. })
  334. } else if (result.length == 0) {
  335. var dataSource2 = new DevExpress.data.DataSource({
  336. store: {
  337. type: "odata",
  338. url: endpointSelector + "/BemsRentalRate"
  339. },
  340. requireTotalCount: true,
  341. pageSize: 1
  342. });
  343. dataSource2.filter([
  344. ["SiteId", "=", BWA.UserInfo.SiteId()],
  345. ]);
  346. dataSource2.sort({ getter: "Date", desc: true });
  347. dataSource2.load()
  348. .done(function (result2) {
  349. if (result2.length != 0) {
  350. rentalRateYear = result2[0].Date;
  351. rentalRate[0].value = result2[0].m1;
  352. rentalRate[1].value = result2[0].m2;
  353. rentalRate[2].value = result2[0].m3;
  354. rentalRate[3].value = result2[0].m4;
  355. rentalRate[4].value = result2[0].m5;
  356. rentalRate[5].value = result2[0].m6;
  357. rentalRate[6].value = result2[0].m7;
  358. rentalRate[7].value = result2[0].m8;
  359. rentalRate[8].value = result2[0].m9;
  360. rentalRate[9].value = result2[0].m10;
  361. rentalRate[10].value = result2[0].m11;
  362. rentalRate[11].value = result2[0].m12;
  363. var tmpValue;
  364. for (var i = 11; i >= 0; i--) {
  365. if (rentalRate[i].value != null) {
  366. tmpValue = rentalRate[i].value;
  367. for (var j = i; j < rentalRate.length; j++) {
  368. rentalRate[j].value = tmpValue;
  369. }
  370. break;
  371. }
  372. }
  373. var store = new DevExpress.data.ODataStore({
  374. url: endpointSelector + "/BemsRentalRate",
  375. key: ["Date", "SiteId"],
  376. keyType: { Date: "String", SiteId: "Int32" }
  377. });
  378. store.update({ Date: rentalRateYear.toString(), SiteId: BWA.UserInfo.SiteId() },
  379. {
  380. m1: rentalRate[0].value,
  381. m2: rentalRate[1].value,
  382. m3: rentalRate[2].value,
  383. m4: rentalRate[3].value,
  384. m5: rentalRate[4].value,
  385. m6: rentalRate[5].value,
  386. m7: rentalRate[6].value,
  387. m8: rentalRate[7].value,
  388. m9: rentalRate[8].value,
  389. m10: rentalRate[9].value,
  390. m11: rentalRate[10].value,
  391. m12: rentalRate[11].value
  392. })
  393. var curYear = new Date().getFullYear() - (parseInt(rentalRateYear));
  394. for (var i = 0; i < curYear; i++) {
  395. if (i == curYear - 1) {
  396. rentalRateYear = new Date().getFullYear();
  397. var tmpMonth = new Date().getMonth();
  398. for (var j = 0; j < rentalRate.length; j++) {
  399. if (j <= tmpMonth) {
  400. rentalRate[j].value = tmpValue;
  401. } else {
  402. rentalRate[j].value = null;
  403. }
  404. }
  405. store.insert({
  406. Date: rentalRateYear.toString(),
  407. SiteId: BWA.UserInfo.SiteId(),
  408. m1: CheckNull(rentalRate[0].value),
  409. m2: CheckNull(rentalRate[1].value),
  410. m3: CheckNull(rentalRate[2].value),
  411. m4: CheckNull(rentalRate[3].value),
  412. m5: CheckNull(rentalRate[4].value),
  413. m6: CheckNull(rentalRate[5].value),
  414. m7: CheckNull(rentalRate[6].value),
  415. m8: CheckNull(rentalRate[7].value),
  416. m9: CheckNull(rentalRate[8].value),
  417. m10: CheckNull(rentalRate[9].value),
  418. m11: CheckNull(rentalRate[10].value),
  419. m12: CheckNull(rentalRate[11].value)
  420. })
  421. } else {
  422. store.insert({
  423. Date: (parseInt(rentalRateYear.toString()) + (i + 1)).toString(),
  424. SiteId: BWA.UserInfo.SiteId(),
  425. m1: tmpValue.toString(),
  426. m2: tmpValue.toString(),
  427. m3: tmpValue.toString(),
  428. m4: tmpValue.toString(),
  429. m5: tmpValue.toString(),
  430. m6: tmpValue.toString(),
  431. m7: tmpValue.toString(),
  432. m8: tmpValue.toString(),
  433. m9: tmpValue.toString(),
  434. m10: tmpValue.toString(),
  435. m11: tmpValue.toString(),
  436. m12: tmpValue.toString()
  437. })
  438. }
  439. }
  440. } else {
  441. utils.toast.show("데이터가 없습니다.");
  442. }
  443. })
  444. .fail(function (error) {
  445. utils.toast.show(error);
  446. });
  447. }
  448. })
  449. .fail(function (error) {
  450. utils.toast.show(error);
  451. });
  452. }
  453. function CheckNull(value) {
  454. if (value == null) {
  455. return null;
  456. } else if (value == 0) {
  457. return value.toString();
  458. } else {
  459. return value;
  460. }
  461. }
  462. function GetSiteRentalRateHistory() {
  463. var selectDate = $("#standardDatePicker2").dxDateBox("instance").option('value');
  464. var dataSource = new DevExpress.data.DataSource({
  465. store: {
  466. type: "odata",
  467. url: endpointSelector + "/BemsRentalRate"
  468. },
  469. requireTotalCount: true,
  470. pageSize: 1
  471. });
  472. dataSource.filter([
  473. ["SiteId", "=", BWA.UserInfo.SiteId()],
  474. "and",
  475. ["Date", "=", selectDate.getFullYear().toString()]
  476. ]);
  477. dataSource.sort({ getter: "Date", desc: true });
  478. dataSource.load()
  479. .done(function (result) {
  480. if (result.length == 0) {
  481. rentalRateYear = selectDate.getFullYear();
  482. rentalRate[0].value = null;
  483. rentalRate[1].value = null;
  484. rentalRate[2].value = null;
  485. rentalRate[3].value = null;
  486. rentalRate[4].value = null;
  487. rentalRate[5].value = null;
  488. rentalRate[6].value = null;
  489. rentalRate[7].value = null;
  490. rentalRate[8].value = null;
  491. rentalRate[9].value = null;
  492. rentalRate[10].value = null;
  493. rentalRate[11].value = null;
  494. } else {
  495. rentalRateYear = result[0].Date;
  496. rentalRate[0].value = result[0].m1;
  497. rentalRate[1].value = result[0].m2;
  498. rentalRate[2].value = result[0].m3;
  499. rentalRate[3].value = result[0].m4;
  500. rentalRate[4].value = result[0].m5;
  501. rentalRate[5].value = result[0].m6;
  502. rentalRate[6].value = result[0].m7;
  503. rentalRate[7].value = result[0].m8;
  504. rentalRate[8].value = result[0].m9;
  505. rentalRate[9].value = result[0].m10;
  506. rentalRate[10].value = result[0].m11;
  507. rentalRate[11].value = result[0].m12;
  508. }
  509. })
  510. .fail(function (error) {
  511. utils.toast.show(error);
  512. });
  513. }
  514. function SetData() {
  515. for (var i = 0; i < 12; i++) {
  516. var setValue1 = peopleIncrease[i].value;
  517. var setValue2 = rentalRate[i].value;
  518. if (setValue1 == null) {
  519. setValue1 == '';
  520. }
  521. if (setValue2 == null) {
  522. setValue2 == '';
  523. }
  524. $("#textBoxp" + (i + 1).toString()).dxTextBox("instance").option('value', setValue1);
  525. $("#textBoxr" + (i + 1).toString()).dxTextBox("instance").option('value', setValue2);
  526. }
  527. }
  528. function SetDisableTextBox() {
  529. var now = new Date();
  530. var selectYear = $("#standardDatePicker").dxDateBox("instance").option('value');
  531. var selectYear2 = $("#standardDatePicker2").dxDateBox("instance").option('value');
  532. if (selectYear.getFullYear() == now.getFullYear()) {
  533. for (var i = now.getMonth() + 1 ; i < 12; i++) {
  534. $("#textBoxp" + (i + 1).toString()).dxTextBox("instance").option('disabled', true);
  535. }
  536. } else if (selectYear.getFullYear() > now.getFullYear()) {
  537. for (var i = 0 ; i < 12; i++) {
  538. $("#textBoxp" + (i + 1).toString()).dxTextBox("instance").option('disabled', true);
  539. }
  540. } else {
  541. for (var i = 0 ; i < 12; i++) {
  542. $("#textBoxp" + (i + 1).toString()).dxTextBox("instance").option('disabled', false);
  543. }
  544. }
  545. if (selectYear2.getFullYear() == now.getFullYear()) {
  546. for (var i = now.getMonth() + 1 ; i < 12; i++) {
  547. $("#textBoxr" + (i + 1).toString()).dxTextBox("instance").option('disabled', true);
  548. }
  549. } else if (selectYear2.getFullYear() > now.getFullYear()) {
  550. for (var i = 0 ; i < 12; i++) {
  551. $("#textBoxr" + (i + 1).toString()).dxTextBox("instance").option('disabled', true);
  552. }
  553. } else {
  554. for (var i = 0 ; i < 12; i++) {
  555. $("#textBoxr" + (i + 1).toString()).dxTextBox("instance").option('disabled', false);
  556. }
  557. }
  558. }
  559. function UpdatePeopleIncrease() {
  560. var selectYear = $("#standardDatePicker").dxDateBox("instance").option('value');
  561. var dataSource = new DevExpress.data.DataSource({
  562. store: {
  563. type: "odata",
  564. url: endpointSelector + "/BemsPeopleIncrease"
  565. },
  566. requireTotalCount: true,
  567. pageSize: 1
  568. });
  569. dataSource.filter([
  570. ["SiteId", "=", BWA.UserInfo.SiteId()],
  571. "and",
  572. ["Date", "=", selectYear.getFullYear().toString()]
  573. ]);
  574. dataSource.sort({ getter: "Date", desc: true });
  575. dataSource.load()
  576. .done(function (result) {
  577. var store = new DevExpress.data.ODataStore({
  578. url: endpointSelector + "/BemsPeopleIncrease",
  579. key: ["Date", "SiteId"],
  580. keyType: { Date: "String", SiteId: "Int32" }
  581. });
  582. peopleIncreaseYear = selectYear.getFullYear();
  583. peopleIncrease[0].value = $("#textBoxp1").dxTextBox("instance").option('value');
  584. peopleIncrease[1].value = $("#textBoxp2").dxTextBox("instance").option('value');
  585. peopleIncrease[2].value = $("#textBoxp3").dxTextBox("instance").option('value');
  586. peopleIncrease[3].value = $("#textBoxp4").dxTextBox("instance").option('value');
  587. peopleIncrease[4].value = $("#textBoxp5").dxTextBox("instance").option('value');
  588. peopleIncrease[5].value = $("#textBoxp6").dxTextBox("instance").option('value');
  589. peopleIncrease[6].value = $("#textBoxp7").dxTextBox("instance").option('value');
  590. peopleIncrease[7].value = $("#textBoxp8").dxTextBox("instance").option('value');
  591. peopleIncrease[8].value = $("#textBoxp9").dxTextBox("instance").option('value');
  592. peopleIncrease[9].value = $("#textBoxp10").dxTextBox("instance").option('value');
  593. peopleIncrease[10].value = $("#textBoxp11").dxTextBox("instance").option('value');
  594. peopleIncrease[11].value = $("#textBoxp12").dxTextBox("instance").option('value');
  595. if (result.length == 0) {
  596. store.insert({
  597. Date: peopleIncreaseYear.toString(),
  598. SiteId: BWA.UserInfo.SiteId(),
  599. m1: CheckNull(peopleIncrease[0].value),
  600. m2: CheckNull(peopleIncrease[1].value),
  601. m3: CheckNull(peopleIncrease[2].value),
  602. m4: CheckNull(peopleIncrease[3].value),
  603. m5: CheckNull(peopleIncrease[4].value),
  604. m6: CheckNull(peopleIncrease[5].value),
  605. m7: CheckNull(peopleIncrease[6].value),
  606. m8: CheckNull(peopleIncrease[7].value),
  607. m9: CheckNull(peopleIncrease[8].value),
  608. m10: CheckNull(peopleIncrease[9].value),
  609. m11: CheckNull(peopleIncrease[10].value),
  610. m12: CheckNull(peopleIncrease[11].value)
  611. }).done(function (key, result) {
  612. utils.toast.show("재실 인원 입력 되었습니다.");
  613. })
  614. .fail(function (error) {
  615. utils.toast.show(error);
  616. });
  617. } else {
  618. store.update({ Date: peopleIncreaseYear.toString(), SiteId: BWA.UserInfo.SiteId() },
  619. {
  620. m1: CheckNull(peopleIncrease[0].value),
  621. m2: CheckNull(peopleIncrease[1].value),
  622. m3: CheckNull(peopleIncrease[2].value),
  623. m4: CheckNull(peopleIncrease[3].value),
  624. m5: CheckNull(peopleIncrease[4].value),
  625. m6: CheckNull(peopleIncrease[5].value),
  626. m7: CheckNull(peopleIncrease[6].value),
  627. m8: CheckNull(peopleIncrease[7].value),
  628. m9: CheckNull(peopleIncrease[8].value),
  629. m10: CheckNull(peopleIncrease[9].value),
  630. m11: CheckNull(peopleIncrease[10].value),
  631. m12: CheckNull(peopleIncrease[11].value)
  632. }).done(function (key, result) {
  633. utils.toast.show("재실 인원 수정 되었습니다.");
  634. })
  635. .fail(function (error) {
  636. utils.toast.show(error);
  637. });
  638. }
  639. })
  640. .fail(function (error) {
  641. utils.toast.show(error);
  642. });
  643. }
  644. function UpdateRentalRate() {
  645. var selectYear = $("#standardDatePicker2").dxDateBox("instance").option('value');
  646. var dataSource = new DevExpress.data.DataSource({
  647. store: {
  648. type: "odata",
  649. url: endpointSelector + "/BemsRentalRate"
  650. },
  651. requireTotalCount: true,
  652. pageSize: 1
  653. });
  654. dataSource.filter([
  655. ["SiteId", "=", BWA.UserInfo.SiteId()],
  656. "and",
  657. ["Date", "=", selectYear.getFullYear().toString()]
  658. ]);
  659. dataSource.sort({ getter: "Date", desc: true });
  660. dataSource.load()
  661. .done(function (result) {
  662. var store = new DevExpress.data.ODataStore({
  663. url: endpointSelector + "/BemsRentalRate",
  664. key: ["Date", "SiteId"],
  665. keyType: { Date: "String", SiteId: "Int32" }
  666. });
  667. rentalRateYear = selectYear.getFullYear();
  668. rentalRate[0].value = $("#textBoxr1").dxTextBox("instance").option('value');
  669. rentalRate[1].value = $("#textBoxr2").dxTextBox("instance").option('value');
  670. rentalRate[2].value = $("#textBoxr3").dxTextBox("instance").option('value');
  671. rentalRate[3].value = $("#textBoxr4").dxTextBox("instance").option('value');
  672. rentalRate[4].value = $("#textBoxr5").dxTextBox("instance").option('value');
  673. rentalRate[5].value = $("#textBoxr6").dxTextBox("instance").option('value');
  674. rentalRate[6].value = $("#textBoxr7").dxTextBox("instance").option('value');
  675. rentalRate[7].value = $("#textBoxr8").dxTextBox("instance").option('value');
  676. rentalRate[8].value = $("#textBoxr9").dxTextBox("instance").option('value');
  677. rentalRate[9].value = $("#textBoxr10").dxTextBox("instance").option('value');
  678. rentalRate[10].value = $("#textBoxr11").dxTextBox("instance").option('value');
  679. rentalRate[11].value = $("#textBoxr12").dxTextBox("instance").option('value');
  680. if (result.length == 0) {
  681. store.insert({
  682. Date: rentalRateYear.toString(),
  683. SiteId: BWA.UserInfo.SiteId(),
  684. m1: CheckNull(rentalRate[0].value),
  685. m2: CheckNull(rentalRate[1].value),
  686. m3: CheckNull(rentalRate[2].value),
  687. m4: CheckNull(rentalRate[3].value),
  688. m5: CheckNull(rentalRate[4].value),
  689. m6: CheckNull(rentalRate[5].value),
  690. m7: CheckNull(rentalRate[6].value),
  691. m8: CheckNull(rentalRate[7].value),
  692. m9: CheckNull(rentalRate[8].value),
  693. m10: CheckNull(rentalRate[9].value),
  694. m11: CheckNull(rentalRate[10].value),
  695. m12: CheckNull(rentalRate[11].value)
  696. }).done(function (key, result) {
  697. utils.toast.show("임대율이 입력 되었습니다.");
  698. })
  699. .fail(function (error) {
  700. utils.toast.show(error);
  701. });
  702. } else {
  703. store.update({ Date: rentalRateYear.toString(), SiteId: BWA.UserInfo.SiteId() },
  704. {
  705. m1: CheckNull(rentalRate[0].value),
  706. m2: CheckNull(rentalRate[1].value),
  707. m3: CheckNull(rentalRate[2].value),
  708. m4: CheckNull(rentalRate[3].value),
  709. m5: CheckNull(rentalRate[4].value),
  710. m6: CheckNull(rentalRate[5].value),
  711. m7: CheckNull(rentalRate[6].value),
  712. m8: CheckNull(rentalRate[7].value),
  713. m9: CheckNull(rentalRate[8].value),
  714. m10: CheckNull(rentalRate[9].value),
  715. m11: CheckNull(rentalRate[10].value),
  716. m12: CheckNull(rentalRate[11].value)
  717. }).done(function (key, result) {
  718. utils.toast.show("임대율이 수정 되었습니다.");
  719. })
  720. .fail(function (error) {
  721. utils.toast.show(error);
  722. });
  723. }
  724. })
  725. .fail(function (error) {
  726. utils.toast.show(error);
  727. });
  728. }
  729. function handleViewShowing() {
  730. //권한설정
  731. hasnotModificationPermission(!BWA.UserInfo.hasPermissionOfModification(viewInfo.viewName));
  732. GetSiteRentalRate();
  733. GetSitePeopleIncrease();
  734. }
  735. function handleViewShown() {
  736. $("#loadIndicator").dxLoadIndicator("instance").option('visible', true);
  737. setTimeout(function () {
  738. SetData();
  739. SetDisableTextBox();
  740. $("#loadIndicator").dxLoadIndicator("instance").option('visible', false);
  741. }, 500);
  742. }
  743. var searchViewOptions = {
  744. };
  745. function handleSearchInSearchView() {
  746. }
  747. var viewModel = $.extend(BWA.CommonView.create(params, viewInfo, searchViewOptions, ko.observable(null), handleViewShown, null, handleSearchInSearchView),
  748. {
  749. viewShowing: handleViewShowing,
  750. textBoxp1: {},
  751. textBoxp2: {},
  752. textBoxp3: {},
  753. textBoxp4: {},
  754. textBoxp5: {},
  755. textBoxp6: {},
  756. textBoxp7: {},
  757. textBoxp8: {},
  758. textBoxp9: {},
  759. textBoxp10: {},
  760. textBoxp11: {},
  761. textBoxp12: {},
  762. AcceptButtonClicked: function () {
  763. UpdatePeopleIncrease();
  764. },
  765. standardDatePicker: {
  766. pickerType: "calendar",
  767. value: new Date(),
  768. formatString: "yyyy년",
  769. maxZoomLevel: "decade",
  770. width: "30%",
  771. onValueChanged: function () {
  772. GetSitePeopleIncreaseHistory();
  773. $("#loadIndicator").dxLoadIndicator("instance").option('visible', true);
  774. setTimeout(function () {
  775. SetData();
  776. SetDisableTextBox();
  777. $("#loadIndicator").dxLoadIndicator("instance").option('visible', false);
  778. }, 500);
  779. }
  780. },
  781. textBoxr1: {},
  782. textBoxr2: {},
  783. textBoxr3: {},
  784. textBoxr4: {},
  785. textBoxr5: {},
  786. textBoxr6: {},
  787. textBoxr7: {},
  788. textBoxr8: {},
  789. textBoxr9: {},
  790. textBoxr10: {},
  791. textBoxr11: {},
  792. textBoxr12: {},
  793. AcceptButtonClicked2: function () {
  794. UpdateRentalRate();
  795. },
  796. standardDatePicker2: {
  797. pickerType: "calendar",
  798. value: new Date(),
  799. formatString: "yyyy년",
  800. maxZoomLevel: "decade",
  801. onValueChanged: function () {
  802. GetSiteRentalRateHistory();
  803. $("#loadIndicator").dxLoadIndicator("instance").option('visible', true);
  804. setTimeout(function () {
  805. SetData();
  806. SetDisableTextBox();
  807. $("#loadIndicator").dxLoadIndicator("instance").option('visible', false);
  808. }, 500);
  809. }
  810. },
  811. loadIndicator: {
  812. visible: false
  813. },
  814. hasnotModificationPermission: hasnotModificationPermission //권한설정
  815. });
  816. return viewModel;
  817. };