SMMNP04600.js 23 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522
  1. /* ---------------------------------------------------------------------
  2. 누적물품 의뢰/확정 관리(SMMNP04600.xfm - JScript )
  3. - Version :
  4. 1) : Ver.1.00.01
  5. : Create By 김진명
  6. : 2007.08.11
  7. ---------------------------------------------------------------------- */
  8. /* --------------------------------------------------------*/
  9. /* model.getValue(); 를 함수로 만들었습니다. */
  10. /* param1 : node는 grid의 xPath입니다. */
  11. /* param2 : row는 grid에서 선택한 row값입니다. */
  12. /* param3 : element는 getvalue할 해당 element 명입니다. */
  13. /* */
  14. /* 해당 getvalue값을 return 해줍니다. */
  15. /* return 하지 않으면 해당값을 가져올 수 없습니다. */
  16. /* --------------------------------------------------------*/
  17. function fGetDateAdd(day) {
  18. var curtDate = getCurrentDate();
  19. curtDate = curtDate.substr(0, 8);
  20. var curtYY = parseInt(curtDate.substr(0, 4), 10);
  21. var curtMM = parseInt(curtDate.substr(4, 2), 10);
  22. var curtDD = parseInt(curtDate.substr(6, 2), 10);
  23. var cntDay = fGetCntDate(curtYY, curtMM);//구하려는 달의 일자수를 가져온다.
  24. if( (curtDD - day) > 0 ) {
  25. curtDD = curtDD - day;
  26. }else {
  27. if( curtMM == 1 ) {
  28. curtYY = curtYY - 1;
  29. curtMM = 12;
  30. curtDD = cntDay + curtDD - day;
  31. }else {
  32. curtMM = curtMM - 1;
  33. curtDD = cntDay + curtDD - day;
  34. }
  35. }
  36. curtYY = curtYY + "";
  37. curtMM = curtMM + "";
  38. curtDD = curtDD + "";
  39. var bfDay = curtYY + curtMM.getLeftPad(2, '0') + curtDD.getLeftPad(2, '0');
  40. return bfDay;
  41. }
  42. /* --------------------------------------------------*/
  43. /* type : function */
  44. /* access : public */
  45. /* desc : 구하려는 달의 총일수 */
  46. /* param : 구하려는 달 */
  47. /* return : 달의 일수 */
  48. /* --------------------------------------------------*/
  49. function fGetCntDate(year, month) {
  50. var cntday = 0;
  51. switch(month) {
  52. case 1:
  53. cntday = 31;
  54. break;
  55. case 2:
  56. if( ( (Number(year) % 4 == 0) && (Number(year) % 100 != 0) ) || (Number(year) % 400 == 0) ) {
  57. cntday = 29;
  58. }else {
  59. cntday = 28;
  60. }
  61. break;
  62. case 3:
  63. cntday = 31;
  64. break;
  65. case 4:
  66. cntday = 30;
  67. break;
  68. case 5:
  69. cntday = 31;
  70. break;
  71. case 6:
  72. cntday = 30;
  73. break;
  74. case 7:
  75. cntday = 31;
  76. break;
  77. case 8:
  78. cntday = 31;
  79. break;
  80. case 9:
  81. cntday = 30;
  82. break;
  83. case 10:
  84. cntday = 31;
  85. break;
  86. case 11:
  87. cntday = 30;
  88. break;
  89. case 12:
  90. cntday = 31;
  91. break;
  92. }
  93. return cntday;
  94. }
  95. /* --------------------------------------------------*/
  96. /* type : function */
  97. /* access : public */
  98. /* desc : 누적물품 의뢰/불출관리 초기화 */
  99. /* param : */
  100. /* return : */
  101. /* --------------------------------------------------*/
  102. function fInit() {
  103. var reqenddd, deliveday, fromdd, todd;
  104. model.removeNodeset("/root/main/acmlgooddelivelist");
  105. model.setValue("/root/main/cond/refdd", getCurrentDate().substr(0, 8));
  106. submit("TRMNP04604");
  107. var level = model.getValue("/root/temp/logginlevel/usrlevel");
  108. if( ( level == "0" ) ) {//관리자가 아니면 권한관리 버튼 숨김
  109. btn_noprcplist.visible = true;//비처방 물품조회
  110. btn_goodsearch.visible = true;//물품조회
  111. btn_emplevel.visible = false;//권한관리 버튼
  112. btn_delivecnfm.visible = false;//불출확정 버튼
  113. btn_reqsave.visible = true;//의뢰저장 버튼
  114. grd_acmlgooddelivelist.colDisabled(18) = false;//의뢰량
  115. grd_acmlgooddelivelist.colDisabled(22) = true;//불출수량
  116. grd_acmlgooddelivelist.colDisabled(23) = true;//미불출수량
  117. grd_acmlgooddelivelist.colDisabled(28) = true;//미불출사유
  118. btn_tempsave.disabled = false;
  119. document.title = "방재고의뢰물품 불출의뢰";
  120. cap_title.attribute("text") = "방재고의뢰물품 불출의뢰";
  121. }else {
  122. btn_noprcplist.visible = false;//비처방 물품조회
  123. btn_goodsearch.visible = false;//물품조회
  124. btn_emplevel.visible = true;
  125. btn_delivecnfm.visible = true;
  126. btn_reqsave.visible = false;
  127. btn_tempsave.disabled = true;
  128. model.setValue("/root/main/cond/deliveflag", "1");//관리자 미불출자동셋팅
  129. grd_acmlgooddelivelist.colDisabled(18) = true;//의뢰량
  130. grd_acmlgooddelivelist.colDisabled(22) = false;//불출수량
  131. grd_acmlgooddelivelist.colDisabled(23) = false;//미불출수량
  132. grd_acmlgooddelivelist.colDisabled(28) = false;//미불출사유
  133. document.title = "방재고의뢰물품 불출확정";
  134. cap_title.attribute("text") = "방재고의뢰물품 불출확정";
  135. }
  136. model.removenode("/root/send");
  137. model.makeNode("/root/send/reqdata");
  138. model.copyNode("/root/send/reqdata", "/root/main/cond");
  139. submit("TRMNP04605", false);//마감정보 조회
  140. var basedayflag = model.getValue("/root/init/deliveinfo/basedayflag");
  141. var basedtflag = model.getValue("/root/init/deliveinfo/basedtflag");
  142. var message = model.getValue("/root/init/deliveinfo/message");
  143. var basedelive = model.getValue("/root/init/deliveinfo/basedelive");
  144. if( basedelive == "2" ) {//월불출
  145. var maxday = new Date(getCurrentDate().substr(0,4), getCurrentDate().substr(4,2),0);
  146. var maxflag = maxday.getDay();
  147. var maxdate = maxday.getDateFormat();
  148. if( parseInt(maxflag) > parseInt(basedayflag) ) {//월말 요일이 기준요일보다 클경우
  149. reqenddd = getDateAddc(maxdate, (parseInt(basedayflag)-parseInt(maxflag)));
  150. }else if( parseInt(maxflag) == parseInt(basedayflag)) {//같은 요일일때
  151. reqenddd = maxdate;
  152. }else if( parseInt(maxflag) < parseInt(basedayflag)) {// 기준요일이 클때
  153. reqenddd = getDateAddc(maxdate, -7+(parseInt(basedayflag)-parseInt(maxflag)));
  154. }
  155. if( parseInt(basedayflag)+1 == 6 ) {//불출요일이 토요일이면
  156. deliveday = getDateAddc(reqenddd, 2);
  157. }else {
  158. deliveday = getDateAddc(reqenddd, 1);
  159. }
  160. }else if( basedelive == "1" ) {//주불출
  161. var flag = "N";
  162. var todayflag = getCurrentWeek(flag);
  163. if( parseInt(todayflag) > parseInt(basedayflag) ) { //마감요일보다 클때 차주
  164. reqenddd = getDateAddc(getCurrentDate(), 7+(parseInt(basedayflag)-parseInt(todayflag)));
  165. }else if( parseInt(todayflag) < parseInt(basedayflag) ) {//마감요일이 클때
  166. reqenddd = getDateAddc(getCurrentDate(), (parseInt(basedayflag)-parseInt(todayflag)));
  167. }else if( parseInt(todayflag) == parseInt(basedayflag) ) {//같을때
  168. if( basedtflag > parseInt(getCurrentTime().substr(0, 4)) ) {//마감시간보다 작을때
  169. reqenddd = getCurrentDate().substr(0, 8);
  170. }else {
  171. reqenddd = getDateAddc(getCurrentDate(), 7);
  172. }
  173. }
  174. if( parseInt(basedayflag)+1 == 6 ) {//불출요일이 토요일이면
  175. deliveday = getDateAddc(reqenddd, 3);
  176. }else {
  177. deliveday = getDateAddc(reqenddd, 1);
  178. }
  179. }
  180. model.setValue("/root/main/cond/fromdd", getDateAddc(reqenddd, -6));
  181. model.setValue("/root/main/cond/todd", reqenddd);
  182. model.setValue("/root/main/deliveinfo/reqenddt", reqenddd+basedtflag);
  183. model.setValue("/root/main/deliveinfo/delivecnfmdd", deliveday);
  184. model.setValue("/root/main/deliveinfo/delivemessage", message );
  185. submit("TRMNP03004") // 수술실(Rosette) 가져오기
  186. addComboItem("cmb_rosette","전체","","above");
  187. model.removenode("/root/send");
  188. model.makeNode("/root/send");
  189. model.makeValue("/root/send/reqdata/opcnfmdd" ,model.getValue("/root/main/cond/fromdd") );
  190. model.makeValue("/root/send/reqdata/rosette" ,model.getValue("/root/main/cond/oprosette"));
  191. submit("TRMNP03002"); // 수술실코드 가져오기
  192. addComboItem("cmb_oproomlist","전체","","above");
  193. //submit("TRMNP04603", false);
  194. //addComboItem("cmb_oproomlist", "전 체", "", "above" );
  195. grd_acmlgooddelivelist.fixedcellcheckbox(0, 20) = true;
  196. grd_acmlgooddelivelist.explorerbar = "sort";
  197. model.refresh();
  198. }
  199. /* --------------------------------------------------*/
  200. /* type : function */
  201. /* access : public */
  202. /* desc : 방재고 물품조회 */
  203. /* param : */
  204. /* return : */
  205. /* --------------------------------------------------*/
  206. function fOnClickSearchGoodPopUp(){
  207. var xpos = 200; //event.screenX;
  208. var ypos = 300; //event.screenY-300;
  209. //2008-08-21 오전 12:28:09 taebum 약속 처방 조회시 현재 수술방의 방재고를 함께 조회하기 위한 파라미터 설정 추가
  210. var sOproomcd = model.getValue("/root/main/cond/oproomcd");
  211. var sCartGubn = model.getValue("/root/main/cond/deptflag");
  212. if( sOproomcd == "" ) {
  213. messageBox("수술방을 선택하지 않았습니다.!", "E000");
  214. model.setFocus("cmb_oproomlist");
  215. return;
  216. }
  217. setParameter("SPMNP01602_oproomcd", sOproomcd);
  218. setParameter("SPMNP01602_cartgubn", sCartGubn);
  219. open("SPMNP01602" ,"", xpos, ypos, "SPMNP01602", "", "");
  220. }
  221. /* --------------------------------------------------*/
  222. /* type : function */
  223. /* access : public */
  224. /* desc : 비처방성 물품조회 */
  225. /* param : */
  226. /* return : */
  227. /* --------------------------------------------------*/
  228. function fOnClickSearch(){
  229. var xpos = 200; //event.screenX;
  230. var ypos = 300; //event.screenY-300;
  231. //2008-08-21 오전 12:28:09 taebum 약속 처방 조회시 현재 수술방의 방재고를 함께 조회하기 위한 파라미터 설정 추가
  232. var sOproomcd = model.getValue("/root/main/cond/oproomcd");
  233. var sCartGubn = model.getValue("/root/main/cond/deptflag");
  234. if( sOproomcd == "" ) {
  235. messageBox("수술방을 선택하지 않았습니다.!", "E000");
  236. model.setFocus("cmb_oproomlist");
  237. return;
  238. }
  239. setParameter("SPMNP01601_oproomcd", sOproomcd);
  240. setParameter("SPMNP01601_cartgubn", sCartGubn);
  241. setParameter("SPMNP01601_openflag", "4600");
  242. open("SPMNP01601" ,"", xpos, ypos, "SPMNP01601", "", "");
  243. }
  244. /* --------------------------------------------------*/
  245. /* type : function */
  246. /* access : public */
  247. /* desc : 비처방 물품 리스트 추가 */
  248. /* param : */
  249. /* return : */
  250. /* --------------------------------------------------*/
  251. function fGoodDataDisplay(pParamList) {
  252. var iParamData = pParamList.split("▩");
  253. var pData = "", reqflagnm = "";
  254. var erflag = model.getValue("/root/main/cond/referflag");
  255. for (ii = 0; ii < (iParamData.length-1); ii++) {
  256. grd_acmlgooddelivelist.addRow();
  257. pData = iParamData[ii];
  258. var iSplit_Value = pData.split("|");
  259. if( model.getValue("/root/main/cond/oproomcd") != iSplit_Value[12] ) {
  260. messageBox("물품조회 수술방이 불출의뢰 수술방과 같지않습니다.!", "E000");
  261. return;
  262. }
  263. if( erflag == "Y" ) {
  264. reqflagnm = "응급";
  265. }else {
  266. reqflagnm = "정규";
  267. }
  268. model.setValue("/root/main/acmlgooddelivelist[" + (grd_acmlgooddelivelist.rows-1) + "]/reqgoodnm", "비처방");
  269. model.setValue("/root/main/acmlgooddelivelist[" + (grd_acmlgooddelivelist.rows-1) + "]/reqgoodflag", "N");
  270. model.setValue("/root/main/acmlgooddelivelist[" + (grd_acmlgooddelivelist.rows-1) + "]/deptflag", model.getValue("/root/main/cond/deptflag"));
  271. model.setValue("/root/main/acmlgooddelivelist[" + (grd_acmlgooddelivelist.rows-1) + "]/purcflag", iSplit_Value[0]);
  272. model.setValue("/root/main/acmlgooddelivelist[" + (grd_acmlgooddelivelist.rows-1) + "]/oproomnm", cmb_oproomlist.label);
  273. model.setValue("/root/main/acmlgooddelivelist[" + (grd_acmlgooddelivelist.rows-1) + "]/goodcd", iSplit_Value[1]);
  274. model.setValue("/root/main/acmlgooddelivelist[" + (grd_acmlgooddelivelist.rows-1) + "]/allsizespecid", iSplit_Value[2]);
  275. model.setValue("/root/main/acmlgooddelivelist[" + (grd_acmlgooddelivelist.rows-1) + "]/goodnm", iSplit_Value[3]);
  276. model.setValue("/root/main/acmlgooddelivelist[" + (grd_acmlgooddelivelist.rows-1) + "]/goodspec", iSplit_Value[4]);
  277. model.setValue("/root/main/acmlgooddelivelist[" + (grd_acmlgooddelivelist.rows-1) + "]/goodmodel", iSplit_Value[5]);
  278. model.setValue("/root/main/acmlgooddelivelist[" + (grd_acmlgooddelivelist.rows-1) + "]/prodcmpynm", iSplit_Value[6]);
  279. model.setValue("/root/main/acmlgooddelivelist[" + (grd_acmlgooddelivelist.rows-1) + "]/prcpunit", iSplit_Value[7]);
  280. model.setValue("/root/main/acmlgooddelivelist[" + (grd_acmlgooddelivelist.rows-1) + "]/prcpqty", 0);
  281. model.setValue("/root/main/acmlgooddelivelist[" + (grd_acmlgooddelivelist.rows-1) + "]/acmlbaseqty", 1);
  282. model.setValue("/root/main/acmlgooddelivelist[" + (grd_acmlgooddelivelist.rows-1) + "]/reqflagnm", reqflagnm);
  283. model.setValue("/root/main/acmlgooddelivelist[" + (grd_acmlgooddelivelist.rows-1) + "]/safestocqty", iSplit_Value[8]);
  284. model.setValue("/root/main/acmlgooddelivelist[" + (grd_acmlgooddelivelist.rows-1) + "]/stocqty", iSplit_Value[9]);
  285. model.setValue("/root/main/acmlgooddelivelist[" + (grd_acmlgooddelivelist.rows-1) + "]/reqexchqty", 0);
  286. model.setValue("/root/main/acmlgooddelivelist[" + (grd_acmlgooddelivelist.rows-1) + "]/reqqty", iSplit_Value[11]);
  287. model.setValue("/root/main/acmlgooddelivelist[" + (grd_acmlgooddelivelist.rows-1) + "]/bfreqqty", iSplit_Value[11]);
  288. model.setValue("/root/main/acmlgooddelivelist[" + (grd_acmlgooddelivelist.rows-1) + "]/requnit", iSplit_Value[10]);
  289. if( parseInt(iSplit_Value[11]) > 0 ) {
  290. model.setValue("/root/main/acmlgooddelivelist[" + (grd_acmlgooddelivelist.rows-1) + "]/chkflag", "true");
  291. }else {
  292. model.setValue("/root/main/acmlgooddelivelist[" + (grd_acmlgooddelivelist.rows-1) + "]/chkflag", "false");
  293. }
  294. model.setValue("/root/main/acmlgooddelivelist[" + (grd_acmlgooddelivelist.rows-1) + "]/deliveyn", "N");
  295. model.setValue("/root/main/acmlgooddelivelist[" + (grd_acmlgooddelivelist.rows-1) + "]/deliveqty", 0);
  296. model.setValue("/root/main/acmlgooddelivelist[" + (grd_acmlgooddelivelist.rows-1) + "]/undeliveqty", 0);
  297. model.setValue("/root/main/acmlgooddelivelist[" + (grd_acmlgooddelivelist.rows-1) + "]/reqdd", "");
  298. model.setValue("/root/main/acmlgooddelivelist[" + (grd_acmlgooddelivelist.rows-1) + "]/reqid", "");
  299. model.setValue("/root/main/acmlgooddelivelist[" + (grd_acmlgooddelivelist.rows-1) + "]/delivedd", "");
  300. model.setValue("/root/main/acmlgooddelivelist[" + (grd_acmlgooddelivelist.rows-1) + "]/deliveid", "");
  301. model.setValue("/root/main/acmlgooddelivelist[" + (grd_acmlgooddelivelist.rows-1) + "]/undeliveresn", "");
  302. model.setValue("/root/main/acmlgooddelivelist[" + (grd_acmlgooddelivelist.rows-1) + "]/stat", "I");
  303. model.setValue("/root/main/acmlgooddelivelist[" + (grd_acmlgooddelivelist.rows-1) + "]/oproomcd", iSplit_Value[12]);
  304. model.setValue("/root/main/acmlgooddelivelist[" + (grd_acmlgooddelivelist.rows-1) + "]/delivereqdd", "");
  305. model.setValue("/root/main/acmlgooddelivelist[" + (grd_acmlgooddelivelist.rows-1) + "]/reqno", "");
  306. model.setValue("/root/main/acmlgooddelivelist[" + (grd_acmlgooddelivelist.rows-1) + "]/olddeliveqty", "");
  307. }
  308. }
  309. /* --------------------------------------------------*/
  310. /* type : function */
  311. /* access : public */
  312. /* desc : 누적물품 의뢰/불출관리 조회 */
  313. /* param : */
  314. /* return : */
  315. /* --------------------------------------------------*/
  316. function fSearch() {
  317. var oproomcd = model.getValue("/root/main/cond/oproomcd");
  318. var oprosette = model.getValue("/root/main/cond/oprosette");
  319. var referflag = model.getValue("/root/main/cond/referflag");//응급의뢰
  320. var goodcd = model.getValue("/root/main/cond/goodcd");
  321. model.removenode("/root/send");
  322. model.makeNode("/root/send/reqdata");
  323. model.copyNode("/root/send/reqdata", "/root/main/cond");
  324. var level = model.getValue("/root/temp/logginlevel/usrlevel");
  325. if( (level == "C")||(level == "M") ) {
  326. btn_delivecnfm.visible = true;
  327. btn_reqsave.visible = false;
  328. submit("TRMNP04602");
  329. }else {
  330. if( oproomcd == ""&&oprosette == "" ) {
  331. messageBox("수술방이나 Rosette을 선택 하지", "E007");
  332. model.setFocus("cmb_rosette");
  333. return;
  334. }
  335. if( referflag == "Y" ) {//응급의뢰용
  336. if( goodcd == "" ) {
  337. messageBox("응급의뢰 조회일 경우 물품코드를 입력하십시오.!", "E000");
  338. return;
  339. }
  340. }
  341. submit("TRMNP04601");
  342. }
  343. var refMsg = model.getValue("/root/properties/error/msg");
  344. var refMsgCnt = refMsg.substring(0, 1);
  345. if( refMsgCnt == "0" ) {
  346. messageBox("조회된 결과가", "I004");
  347. }
  348. }
  349. /* --------------------------------------------------*/
  350. /* type : function */
  351. /* access : public */
  352. /* desc : 누적물품 의뢰/불출관리 의뢰저장 */
  353. /* param : */
  354. /* return : */
  355. /* --------------------------------------------------*/
  356. function fReqSave(pFlag) {
  357. var iRows = -1;
  358. var deliveyn, reqdd, delivedd, oproomcd, stat, goodcd, allsizespecid, reqqty, acmldeliveqty, chkflag, reqgoodflag;
  359. var cnt = 0, cnt2 = 0;
  360. iRows = grd_acmlgooddelivelist.rows;
  361. var acmlgooddelivelist = "m▦reqdd▦delivedd▦oproomcd▦goodcd▦allsizespecid▦reqqty▦reqflag▦reqgoodflag";
  362. if( pFlag != "E" ) {
  363. if( model.getValue("/root/main/cond/referflag") == "Y" ) {
  364. messageBox("응급의뢰로만 저장 할 수 있습니다.!", "E000");
  365. return;
  366. }
  367. }
  368. for( var i = 1; i <= iRows; i++ ) {
  369. reqdd = model.getValue("/root/main/acmlgooddelivelist["+i+"]/reqdd");
  370. delivedd = model.getValue("/root/main/acmlgooddelivelist["+i+"]/delivedd");
  371. oproomcd = model.getValue("/root/main/acmlgooddelivelist["+i+"]/oproomcd");
  372. goodcd = model.getValue("/root/main/acmlgooddelivelist["+i+"]/goodcd");
  373. allsizespecid = model.getValue("/root/main/acmlgooddelivelist["+i+"]/allsizespecid");
  374. reqqty = model.getValue("/root/main/acmlgooddelivelist["+i+"]/reqqty");
  375. stat = model.getValue("/root/main/acmlgooddelivelist["+i+"]/stat");
  376. chkflag = model.getValue("/root/main/acmlgooddelivelist["+i+"]/chkflag");
  377. deliveyn = model.getValue("/root/main/acmlgooddelivelist["+i+"]/deliveyn");
  378. reqgoodflag = model.getValue("/root/main/acmlgooddelivelist["+i+"]/reqgoodflag");
  379. if( chkflag == "true" ) {
  380. if( deliveyn == "Y" ) {
  381. messageBox("불출된 물품은 의뢰를 ", "E001");
  382. return;
  383. }
  384. if( reqqty > 0 ) {//의뢰량을 입력시에만
  385. acmlgooddelivelist = acmlgooddelivelist + "▩" + stat + "▦" + reqdd + "▦" + delivedd + "▦" + oproomcd
  386. + "▦" + goodcd + "▦" + allsizespecid + "▦" + reqqty + "▦" + pFlag + "▦" + reqgoodflag;
  387. cnt += 1;
  388. }else {
  389. messageBox("의뢰량을 ", "C001");
  390. return;
  391. }
  392. }
  393. }
  394. if( cnt > 0 ) {
  395. model.removenode("/root/send");
  396. model.makeNode("/root/send/reqdata");
  397. model.makeNode("/root/send/savedata");
  398. model.copyNode("/root/send/reqdata", "/root/main/cond");
  399. model.setValue("/root/send/savedata", acmlgooddelivelist);
  400. submit("TXMNP04602");
  401. }else {
  402. messageBox("선택한것이", "I004");
  403. }
  404. }
  405. /* --------------------------------------------------*/
  406. /* type : function */
  407. /* access : public */
  408. /* desc : 누적물품 의뢰/불출관리 불출저장 */
  409. /* param : */
  410. /* return : */
  411. /* --------------------------------------------------*/
  412. function fDeliveCnfm() {
  413. var iRows = -1;
  414. var delivereqdd, delivedd, oproomcd, stat, goodcd, allsizespecid, exchqty, deliveno, deptflag;
  415. var reqno, reqqty, deliveqty, chkflag, sumqty, undeliveresn, acmlbaseqty, olddeliveqty, undeliveqty, reqgoodflag;
  416. var cnt = 0;
  417. iRows = grd_acmlgooddelivelist.rows;
  418. var acmlgooddelivelist = "m▦delivereqdd▦oproomcd▦goodcd▦allsizespecid▦reqqty▦deliveqty▦reqno▦undeliveqty▦undeliveresn▦deliveno▦delivedd▦olddeliveqty▦"
  419. + "exchqty▦deptflag▦difqty▦reqgoodflag";
  420. for( var i = 1; i < iRows; i++ ) {
  421. delivereqdd = model.getValue("/root/main/acmlgooddelivelist["+i+"]/delivereqdd");
  422. delivedd = model.getValue("/root/main/acmlgooddelivelist["+i+"]/delivedd");
  423. oproomcd = model.getValue("/root/main/acmlgooddelivelist["+i+"]/oproomcd");
  424. goodcd = model.getValue("/root/main/acmlgooddelivelist["+i+"]/goodcd");
  425. allsizespecid = model.getValue("/root/main/acmlgooddelivelist["+i+"]/allsizespecid");
  426. reqqty = model.getValue("/root/main/acmlgooddelivelist["+i+"]/reqqty");
  427. deliveqty = model.getValue("/root/main/acmlgooddelivelist["+i+"]/deliveqty");
  428. stat = model.getValue("/root/main/acmlgooddelivelist["+i+"]/stat");
  429. chkflag = model.getValue("/root/main/acmlgooddelivelist["+i+"]/chkflag");
  430. reqno = model.getValue("/root/main/acmlgooddelivelist["+i+"]/reqno");
  431. undeliveresn = model.getValue("/root/main/acmlgooddelivelist["+i+"]/undeliveresn");
  432. olddeliveqty = model.getValue("/root/main/acmlgooddelivelist["+i+"]/olddeliveqty");
  433. deliveno = model.getValue("/root/main/acmlgooddelivelist["+i+"]/deliveno");
  434. acmlbaseqty = model.getValue("/root/main/acmlgooddelivelist["+i+"]/acmlbaseqty");
  435. undeliveqty = model.getValue("/root/main/acmlgooddelivelist["+i+"]/undeliveqty");
  436. reqgoodflag = model.getValue("/root/main/acmlgooddelivelist["+i+"]/reqgoodflag");
  437. deptflag = model.getValue("/root/main/cond/deptflag");
  438. var exchqty = (parseInt(deliveqty)-parseInt(olddeliveqty))*parseInt(acmlbaseqty);
  439. var difqty = parseInt(deliveqty)-parseInt(olddeliveqty);
  440. if( model.getValue("/root/main/cond/deliveflag") == "2" ) {
  441. stat = "C";//취소
  442. difqty = -(parseInt(olddeliveqty));
  443. }
  444. if( chkflag == "true" ) {
  445. if( deliveqty > 0 ) {//불출수량이 입력된 경우
  446. acmlgooddelivelist = acmlgooddelivelist + "▩" + stat + "▦" + delivereqdd + "▦" + oproomcd + "▦" + goodcd + "▦" + allsizespecid + "▦" + reqqty
  447. + "▦" + deliveqty + "▦" + reqno + "▦" + undeliveqty + "▦" + undeliveresn + "▦" + deliveno + "▦" + delivedd
  448. + "▦" + olddeliveqty + "▦" + exchqty + "▦" + deptflag + "▦" + difqty + "▦" + reqgoodflag;
  449. cnt += 1;
  450. }
  451. }
  452. }
  453. if( cnt > 0 ) {
  454. model.removenode("/root/send");
  455. model.makeNode("/root/send/reqdata");
  456. model.makeNode("/root/send/savedata");
  457. model.copyNode("/root/send/reqdata", "/root/main/cond");
  458. model.setValue("/root/send/savedata", acmlgooddelivelist);
  459. submit("TXMNP04601");
  460. if( model.getValue("/root/properties/error/msg") == "정상적으로 처리되었습니다." ) {
  461. messageBox("저장이", "I002");
  462. }
  463. }else {
  464. messageBox("선택한것이", "I004");
  465. }
  466. }