SMLAW00400_물품T사용.xrw 42 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485868788899091929394959697989910010110210310410510610710810911011111211311411511611711811912012112212312412512612712812913013113213313413513613713813914014114214314414514614714814915015115215315415515615715815916016116216316416516616716816917017117217317417517617717817918018118218318418518618718818919019119219319419519619719819920020120220320420520620720820921021121221321421521621721821922022122222322422522622722822923023123223323423523623723823924024124224324424524624724824925025125225325425525625725825926026126226326426526626726826927027127227327427527627727827928028128228328428528628728828929029129229329429529629729829930030130230330430530630730830931031131231331431531631731831932032132232332432532632732832933033133233333433533633733833934034134234334434534634734834935035135235335435535635735835936036136236336436536636736836937037137237337437537637737837938038138238338438538638738838939039139239339439539639739839940040140240340440540640740840941041141241341441541641741841942042142242342442542642742842943043143243343443543643743843944044144244344444544644744844945045145245345445545645745845946046146246346446546646746846947047147247347447547647747847948048148248348448548648748848949049149249349449549649749849950050150250350450550650750850951051151251351451551651751851952052152252352452552652752852953053153253353453553653753853954054154254354454554654754854955055155255355455555655755855956056156256356456556656756856957057157257357457557657757857958058158258358458558658758858959059159259359459559659759859960060160260360460560660760860961061161261361461561661761861962062162262362462562662762862963063163263363463563663763863964064164264364464564664764864965065165265365465565665765865966066166266366466566666766866967067167267367467567667767867968068168268368468568668768868969069169269369469569669769869970070170270370470570670770870971071171271371471571671771871972072172272372472572672772872973073173273373473573673773873974074174274374474574674774874975075175275375475575675775875976076176276376476576676776876977077177277377477577677777877978078178278378478578678778878979079179279379479579679779879980080180280380480580680780880981081181281381481581681781881982082182282382482582682782882983083183283383483583683783883984084184284384484584684784884985085185285385485585685785885986086186286386486586686786886987087187287387487587687787887988088188288388488588688788888989089189289389489589689789889990090190290390490590690790890991091191291391491591691791891992092192292392492592692792892993093193293393493593693793893994094194294394494594694794894995095195295395495595695795895996096196296396496596696796896997097197297397497597697797897998098198298398498598698798898999099199299399499599699799899910001001100210031004100510061007100810091010101110121013101410151016101710181019102010211022102310241025102610271028102910301031103210331034103510361037103810391040104110421043104410451046104710481049105010511052105310541055105610571058105910601061106210631064106510661067106810691070107110721073107410751076107710781079108010811082108310841085108610871088108910901091109210931094109510961097109810991100110111021103110411051106110711081109111011111112111311141115111611171118111911201121112211231124112511261127112811291130113111321133113411351136113711381139
  1. <?xml version="1.0" encoding="EUC-KR"?>
  2. <!--
  3. * 제 목 : SMLAW00400_물품T사용.xrw
  4. * 설 명 : 물품T사용
  5. * 설 계 자 : 설계자가 별도로 존재시 작성
  6. * 작 성 자 : 한음미
  7. * 작 성 일 : 2007.10.13
  8. * 수정이력 : 최종작성일 기준으로 변경사항 이력관리
  9. * 기 타 : 주석문에 반영되어야 할 사항 표기
  10. -->
  11. <?xml-stylesheet href="../../../com/commonweb/css/common.css" type="text/css" ?>
  12. <xhtml:html xmlns:xhtml="http://www.w3.org/1999/xhtml" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns="http://www.w3.org/2002/01/xforms" xmlns:ev="http://www.w3.org/2001/xml-events">
  13. <xhtml:head>
  14. <xhtml:title>물품T사용</xhtml:title>
  15. <model id="model1">
  16. <instance id="instance1">
  17. <root xmlns="">
  18. <main>
  19. <goodcd>
  20. <goodcdlist>
  21. <choi/>
  22. <goodcd/>
  23. <goodnm/>
  24. <stocqty/>
  25. <tqty/>
  26. <unitcost/>
  27. </goodcdlist>
  28. </goodcd>
  29. <datalist>
  30. <usedd/>
  31. <goodcd/>
  32. <useqty/>
  33. <usedg/>
  34. <cncldd/>
  35. <cncltm/>
  36. <cnclid/>
  37. <lotno/>
  38. <dutdeptcd/>
  39. <unitcost/>
  40. <posdeptcd/>
  41. <instcd/>
  42. </datalist>
  43. </main>
  44. <send>
  45. </send>
  46. <init>
  47. <dutdept>
  48. <appdeptcd/>
  49. </dutdept>
  50. <seamthdcd/>
  51. <popupmenu>
  52. <item>
  53. <name>행추가</name>
  54. <func>fExeInsertRow</func>
  55. </item>
  56. <item>
  57. <name>행삭제</name>
  58. <func>fExeDeleteRow</func>
  59. </item>
  60. </popupmenu>
  61. <mlist>
  62. <winvol/>
  63. <prest/>
  64. <winqty/>
  65. <enddd/>
  66. </mlist>
  67. <bfvol/>
  68. <calendar>
  69. <year/>
  70. <month/>
  71. <weeklist>
  72. <list>
  73. <sun/>
  74. <mon/>
  75. <tue/>
  76. <wed/>
  77. <thu/>
  78. <fri/>
  79. <sat/>
  80. <sun_memo/>
  81. <mon_memo/>
  82. <tue_memo/>
  83. <wed_memo/>
  84. <thu_memo/>
  85. <fri_memo/>
  86. <sat_memo/>
  87. </list>
  88. </weeklist>
  89. </calendar>
  90. <appdeptcd/>
  91. <grdcellcolor>
  92. <calrow/>
  93. <calcol/>
  94. </grdcellcolor>
  95. <enddd/>
  96. </init>
  97. <hidden>
  98. <wiqty/>
  99. <prqty/>
  100. </hidden>
  101. </root>
  102. </instance>
  103. <script type="javascript" ev:event="xforms-ready">
  104. <![CDATA[
  105. fExeInitialize();
  106. ]]>
  107. </script>
  108. <submission id="TRLAF00402" mediatype="application/x-www-form-urlencoded" method="post" ref="/root/send" replace="instance" resultref="/root/init/deptinfo"/>
  109. <submission id="TRLAA00103" mediatype="application/x-www-form-urlencoded" method="post" ref="/root/send" replace="instance" resultref="/root/init/dutdept/appdeptcd"/>
  110. <submission id="TRLAW00401" mediatype="application/x-www-form-urlencoded" method="post" ref="/root/send" replace="instance" resultref="/root/main/datalist"/>
  111. <submission id="TRLAW00402" mediatype="application/x-www-form-urlencoded" method="post" ref="/root/send" replace="instance" resultref="/root/init/mlist"/>
  112. <submission id="TXLAW00401" mediatype="application/x-www-form-urlencoded" method="post" ref="/root/send" replace="instance" resultref="/root/message"/>
  113. <submission id="TXLAW00402" mediatype="application/x-www-form-urlencoded" method="post" ref="/root/send" replace="instance" resultref="/root/message"/>
  114. <submission id="TXLAW00403" mediatype="application/x-www-form-urlencoded" method="post" ref="/root/send" replace="instance" resultref="/root/message"/>
  115. </model>
  116. <script type="javascript" src="../../../com/commonweb/js/common.js"/>
  117. <script type="javascript" src="../../../com/commonweb/js/tfHelper.js"/>
  118. <script type="javascript" src="../../../com/commonweb/js/dateHelper.js"/>
  119. <script type="javascript" src="../../../com/basiccodeweb/js/ZBC001.js"/>
  120. <script type="javascript" src="../../../com/commonweb/js/stringHelper.js"/>
  121. <script type="javascript" src="../../../com/commonweb/js/numericHelper.js"/>
  122. <script type="javascript">
  123. <![CDATA[
  124. /* @group : 물품T사용
  125. * @ver : 2007.10.13 (CMCDEV-0001)
  126. * @by : 한음미
  127. * @-----------------------------------
  128. * @type : function
  129. * @access : public
  130. * @desc : 초기화 Function
  131. */
  132. function fExeInitialize() {
  133. //--------------------------------
  134. model.removeNodeset("/root/send");
  135. model.removeNodeset("/root/main/goodcd/goodcdlist"); // 물품코드목록 초기화
  136. model.removeNodeset("/root/main/winappgood/winappgoodlist"); // 입고신청 물품목록 초기화
  137. model.removeNodeset("/root/main/wingood/wingoodlist"); // 입고물품 목록 초기화
  138. //--------------------------------------------------------------------
  139. model.makeValue("/root/send/instcd", getUserInfo("dutplceinstcd"));
  140. model.makeValue("/root/send/userid", getUserInfo("userid"));
  141. submit("TRLAF00402", false); // 사용자가 속한 과코드 조회
  142. model.makeValue("/root/send/posdeptcd", model.getValue("/root/init/deptinfo/cd"));
  143. submit("TRLAA00103"); // 부서코드 목록
  144. //-------------
  145. initCalendar(); // 달력 초기화
  146. setCurrentDate();
  147. //----------------------------------------------------------
  148. model.makeValue("/root/init/enddd", getCurrentDate());
  149. model.makeValue("/root/init/mlist/enddd", "");
  150. model.makeValue("/root/init/scrno", "40"); // Test별 물품사용
  151. //--------------------
  152. cmb_seadept.select(0);
  153. model.refresh();
  154. }
  155. /* @group : 물품T사용
  156. * @ver : 2007.10.13 (CMCDEV-0001)
  157. * @by : 한음미
  158. * @-----------------------------------
  159. * @type : function
  160. * @access : public
  161. * @desc : 달력의 값 입력 , 수정, 삭제 Function
  162. */
  163. function fSaveGoodCount(pFlagCd) {
  164. var sNode = "/root/main/datalist";
  165. var objNode = null;
  166. //--------------------------------
  167. if (getNodesetCount(sNode) <= 0) {
  168. messageBox("저장할 사용량이 없습니다! ", "I007");
  169. return false;
  170. }
  171. //---------------------
  172. grd_data.clearStatus();
  173. //-----------------
  174. // 빈공백 노드 삭제
  175. for (var iNo=getNodesetCount(sNode); iNo > 0; iNo--) {
  176. objNode = instance1.selectSingleNode(sNode+"["+iNo+"]/goodcd");
  177. if (objNode == null) {
  178. model.removeNodeset(sNode+"["+iNo+"]");
  179. }
  180. }
  181. //-----------------------------------------------------
  182. for (var iNo=1; iNo <= getNodesetCount(sNode); iNo++) {
  183. objNode = instance1.selectSingleNode(sNode+"["+iNo+"]/goodcd");
  184. if (objNode == null) {
  185. model.removeNodeset(sNode+"["+iNo+"]");
  186. }
  187. //------------------
  188. // 사용량 신규 등록
  189. if (model.getValue(sNode+"["+iNo+"]/goodcd") != "") {
  190. if (model.getValue(sNode+"["+iNo+"]/usedg") == "0") {
  191. if (Number(model.getValue(sNode+"["+iNo+"]/useqty")) != 0) {
  192. grd_data.addStatus(iNo, "insert");
  193. }
  194. } else {
  195. if (Number(model.getValue(sNode+"["+iNo+"]/useqty")) == 0) {
  196. grd_data.addStatus(iNo, "delete");
  197. } else if (Number(model.getValue(sNode+"["+iNo+"]/useqty")) != Number(model.getValue(sNode+"["+iNo+"]/bfuseqty"))) {
  198. grd_data.addStatus(iNo, "update");
  199. }
  200. }
  201. }
  202. }
  203. //--------------------------------
  204. if (pFlagCd != "0") setAlertOn();
  205. //--------------------------------
  206. model.removeNodeset("/root/send");
  207. model.makeValue("/root/send/cnt", grd_data.getUpdateData());
  208. if (submit("TXLAW00401")) {
  209. fSelectGoodCdList();
  210. }
  211. }
  212. /* @group : 물품T사용
  213. * @ver : 2007.10.13 (CMCDEV-0001)
  214. * @by : 한음미
  215. * @-----------------------------------
  216. * @type : function
  217. * @access : public
  218. * @desc : 오늘 날짜 달력에 표시 Function
  219. */
  220. function setCurrentDate() {
  221. var sNode = "/root/init/calendar/weeklist/list";
  222. var curDate = getCurrentDate().substr(6,2); //오늘날짜
  223. var curWeek = getCurrentDate().toDate().getDayOfWeek("E").toLowerCase(); //오늘 요일
  224. //-----------------
  225. switch (curWeek) {
  226. case "sun" : model.makeValue("/root/init/grdcellcolor/calcol", 0);
  227. break;
  228. case "mon" : model.makeValue("/root/init/grdcellcolor/calcol", 1);
  229. break;
  230. case "tue" : model.makeValue("/root/init/grdcellcolor/calcol", 2);
  231. break;
  232. case "wed" : model.makeValue("/root/init/grdcellcolor/calcol", 3);
  233. break;
  234. case "thu" : model.makeValue("/root/init/grdcellcolor/calcol", 4);
  235. break;
  236. case "fri" : model.makeValue("/root/init/grdcellcolor/calcol", 5);
  237. break;
  238. case "sat" : model.makeValue("/root/init/grdcellcolor/calcol", 6);
  239. break;
  240. }
  241. //-------------------------------------------------------
  242. for (var iNo=0 ; iNo <= getNodesetCount(sNode); iNo++ ) {
  243. if (model.getValue(sNode+"["+iNo+"]/"+curWeek) == curDate ) {
  244. model.makeValue("/root/init/grdcellcolor/calrow", iNo);
  245. }
  246. }
  247. //-------------------------
  248. setCellColor(grd_calendar);
  249. }
  250. /* @group : 물품T사용
  251. * @ver : 2007.10.13 (CMCDEV-0001)
  252. * @by : 한음미
  253. * @-----------------------------------
  254. * @type : function
  255. * @access : public
  256. * @desc : 달력의 값 입력 , 수정, 삭제 Function
  257. */
  258. function getRsrvPossTm(gridObj) {
  259. var calRow = model.getValue("/root/init/grdcellcolor/calrow");
  260. var calCol = model.getValue("/root/init/grdcellcolor/calcol");
  261. //----------------
  262. if ( calCol >= 7 ) {
  263. calCol -= 7;
  264. }
  265. var yyyy = model.getValue("/root/init/calendar/year");
  266. var mm = model.getValue("/root/init/calendar/month");
  267. var dd = model.getValue("/root/init/calendar/weeklist/list[" + calRow + "]/" + gridObj.colAttribute(calCol, "ref"));
  268. //-----------------------------
  269. if (getStringLength(dd) == 1) {
  270. dd = "0" + dd;
  271. }
  272. //------------------------------------------------
  273. model.makeValue("/root/send/cal", yyyy + mm + dd);
  274. }
  275. /* @group : 물품T사용
  276. * @ver : 2007.10.13 (CMCDEV-0001)
  277. * @by : 한음미
  278. * @-----------------------------------
  279. * @type : function
  280. * @access : public
  281. * @desc : 그리드에 있는 값 달력에 뿌려주는 Function
  282. */
  283. function fSelectGoodCdList() {
  284. var iBfVol = 0;
  285. var iPrestQty = 0;
  286. var sGoodNode = "/root/main/goodcd/goodcdlist";
  287. var setRow = grd_goodlist.row;
  288. //------------------------------------------------------------------------
  289. if (model.getValue(sGoodNode+"["+ grd_goodlist.row +"]/choi") == "true") {
  290. model.setValue("/root/init/mlist/prest", Number(model.getValue(sGoodNode+"["+grd_goodlist.row+"]/stocqty"))
  291. * Number(model.getValue(sGoodNode+"["+grd_goodlist.row+"]/tqty")));
  292. //--------------------------------
  293. model.removeNodeset("/root/send");
  294. model.makeValue("/root/send/goodcd", model.getValue(sGoodNode+"["+ grd_goodlist.row +"]/goodcd"));
  295. model.makeValue("/root/send/instcd", getUserInfo("dutplceinstcd"));
  296. model.makeValue("/root/send/posdeptcd", model.getValue("/root/init/deptinfo/cd"));
  297. model.makeValue("/root/send/dutdeptcd", model.getValue("/root/init/appdeptcd"));
  298. model.makeValue("/root/send/lotno", model.getValue(sGoodNode+"["+ grd_goodlist.row +"]/lotno"));
  299. model.makeValue("/root/send/bfvol", model.getValue("/root/init/bfvol"));
  300. model.makeValue("/root/send/stocym", model.getValue("/root/init/calendar/year")+model.getValue("/root/init/calendar/month"));
  301. //--------------------------------
  302. // 현재달의 사용량과 입고량을 조회
  303. submit("TRLAW00402");
  304. //------------------------------------------------------------------------------------------------------
  305. if (model.getValue("/root/init/mlist/enddd") == "" || model.getValue("/root/init/mlist/enddd") == "-") {
  306. btn_qtycncl.disabled = true;
  307. } else {
  308. btn_qtycncl.disabled = false;
  309. }
  310. //-----------------------------------------------------------------------------
  311. iPrestQty = Number(model.getValue(sGoodNode+"["+grd_goodlist.row+"]/stocqty"))
  312. * Number(model.getValue(sGoodNode+"["+grd_goodlist.row+"]/tqty"));
  313. iBfVol = Number(model.getValue("/root/init/mlist/winqty")) - iPrestQty;
  314. model.makeValue("/root/init/bfvol", iBfVol);
  315. model.makeValue("/root/init/mlist/prest", Number(model.getValue(sGoodNode+"["+grd_goodlist.row+"]/stocqty"))
  316. * Number(model.getValue(sGoodNode+"["+grd_goodlist.row+"]/tqty")));
  317. }
  318. //--------------------------
  319. // 체크 된것 외 체크 false로
  320. for (var iRow=1; iRow <= getNodesetCount(sGoodNode); iRow++) {
  321. if (model.getValue(sGoodNode+"["+iRow+"]/choi") == "true") {
  322. if(setRow != iRow) {
  323. model.setValue(sGoodNode+"["+iRow+"]/choi", "false");
  324. }
  325. }
  326. }
  327. //------------
  328. // 달력 초기화
  329. fExeCalValueInit();
  330. //-----------------------------------------
  331. model.removeNodeset("/root/main/datalist");
  332. submit("TRLAW00401"); // grd_data 그리드에 입력
  333. var isMonth = model.getValue("/root/init/calendar/month");
  334. var isYear = model.getValue("/root/init/calendar/year");
  335. var isDate = (isYear+isMonth+1).toDate();
  336. var startDay = isDate.getDay();
  337. //-------------------------------------------
  338. for (var iNo=1; iNo < grd_data.rows; iNo++) {
  339. var dd = model.getValue("/root/main/datalist["+iNo+"]/usedd");
  340. var _year = dd.substr(0, 4);
  341. var _month = dd.substr(4, 2);
  342. // if ( _year != isYear || _month != isMonth) continue;
  343. var colidx = dd.toDate().getDay();
  344. var rowidx = Math.ceil( ( startDay + Number(dd.substr(6,2)) ) / 7 );
  345. grd_calendar.valueMatrix(rowidx, colidx+7) = model.getValue("/root/main/datalist["+iNo+"]/useqty");
  346. }
  347. //--------------
  348. model.refresh();
  349. }
  350. //--------------
  351. // 달력값 초기화
  352. function fExeCalValueInit() {
  353. var sCalNode = "/root/init/calendar/weeklist/list";
  354. //--------------------------------------------------------
  355. for (var iRo=1; iRo <= getNodesetCount(sCalNode); iRo++) {
  356. model.makeValue(sCalNode+"["+iRo+"]/sun_memo", "");
  357. model.makeValue(sCalNode+"["+iRo+"]/mon_memo", "");
  358. model.makeValue(sCalNode+"["+iRo+"]/tue_memo", "");
  359. model.makeValue(sCalNode+"["+iRo+"]/wed_memo", "");
  360. model.makeValue(sCalNode+"["+iRo+"]/thu_memo", "");
  361. model.makeValue(sCalNode+"["+iRo+"]/fri_memo", "");
  362. model.makeValue(sCalNode+"["+iRo+"]/sat_memo", "");
  363. }
  364. //---------------------
  365. grd_calendar.refresh();
  366. }
  367. //------------
  368. // 달력 초기화
  369. function initCalendar() {
  370. var curDate = getCurrentDate().toDate();
  371. model.makeValue("/root/init/calendar/year", curDate.getDateFormat('YYYY'));
  372. model.makeValue("/root/init/calendar/month", curDate.getDateFormat('MM'));
  373. model.refresh();
  374. //-------------------
  375. setCalendar(curDate);
  376. }
  377. /* @group : 물품T사용
  378. * @ver : 2007.10.13 (CMCDEV-0001)
  379. * @by : 한음미
  380. * @-----------------------------------
  381. * @type : function
  382. * @access : public
  383. * @desc : 달력 초기화 Function
  384. */
  385. function setCalendar(dateObj) {
  386. // 그리드 초기화
  387. model.removeNodeset("/root/init/calendar/weeklist/list");
  388. //grd_calendar.rebuild()
  389. dateObj.setDate(1);
  390. var startDay = dateObj.getDay();
  391. var days = dateObj.getMonthDay();
  392. var rows = Math.ceil( ( startDay + days ) / 7 );
  393. for( var i = 0; i < rows; i++ )
  394. grd_calendar.addRow(false);
  395. grd_calendar.rebuild();
  396. var rowIndex = grd_calendar.fixedRows;
  397. var colIndex = startDay;
  398. for( var i = 1; i <= days; i++ ) {
  399. grd_calendar.valueMatrix(rowIndex, colIndex) = i;
  400. colIndex++;
  401. if( colIndex == 7 ) {
  402. colIndex = 0;
  403. rowIndex++;
  404. }
  405. }
  406. }
  407. //----------------------
  408. // 그리드 달력의 색 변경
  409. function setCellColor(gridObj) {
  410. var calRow = 0;
  411. var calCol = 0;
  412. //----------------------------------------------------------------
  413. calRow = Number(model.getValue("/root/init/grdcellcolor/calrow"));
  414. calCol = Number(model.getValue("/root/init/grdcellcolor/calcol"));
  415. //---------------------
  416. gridObj.rebuildStyle();
  417. gridObj.cellStyle("background-color", calRow, calCol) = "#daa7d9";
  418. //--------------
  419. if ( calCol < 7 ) {
  420. calCol += 7;
  421. } else {
  422. calCol -= 7;
  423. }
  424. //----------------------------------------------------------------
  425. gridObj.cellStyle("background-color", calRow, calCol) = "#daa7d9";
  426. }
  427. /* @group : 물품T사용
  428. * @ver : 2007.10.13 (CMCDEV-0001)
  429. * @by : 한음미
  430. * @-----------------------------------
  431. * @type : function
  432. * @access : public
  433. * @desc : 물품코드 목록 가져오는 Function
  434. */
  435. function fGetSelectDeptCd() {
  436. fGetGoodCodeSubList(); // import한 화면
  437. }
  438. /* @group : 물품입고
  439. * @ver : 2007.02.15 (CMCDEV-0001)
  440. * @by : 유동철(ACK)
  441. * @-----------------------------------
  442. * @type : function
  443. * @access : public
  444. * @desc : 그리드 Mouse Down처리 Function
  445. */
  446. function fExeMouseDown() {
  447. //-----------------------------------------
  448. // 마우스 오른쪽 버튼클릭 검사(1:왼쪽, 3:우측)
  449. // grd_winapplist.mouseRow : 클릭 로우
  450. // grd_winapplist.fixedrows : 고정 로우 수
  451. if(event.button == 3){
  452. if(grd_winapplist.isCell(event.target) && grd_winapplist.mouseRow >= grd_winapplist.fixedrows){
  453. window.setPopupMenu(true, "/root/init/popupmenu/item", "name", "func", false);
  454. }else{
  455. window.setPopupMenu(false);
  456. }
  457. }
  458. }
  459. /* @group : 물품입고
  460. * @ver : 2007.02.15 (CMCDEV-0001)
  461. * @by : 유동철(ACK)
  462. * @-----------------------------------
  463. * @type : function
  464. * @access : public
  465. * @desc : 그리드 행 추가 Function
  466. */
  467. function fExeInsertRow() {
  468. grd_winapplist.insertRow(grd_winapplist.row, true);
  469. }
  470. /* @group : 물품입고
  471. * @ver : 2007.02.15 (CMCDEV-0001)
  472. * @by : 유동철(ACK)
  473. * @-----------------------------------
  474. * @type : function
  475. * @access : public
  476. * @desc : 그리드 행 삭제 Function
  477. */
  478. function fExeDeleteRow() {
  479. grd_winapplist.deleteRow(grd_winapplist.row, true);
  480. }
  481. /* @group : 물품입고
  482. * @ver : 2007.02.15 (CMCDEV-0001)
  483. * @by : 유동철(ACK)
  484. * @-----------------------------------
  485. * @type : function
  486. * @access : public
  487. * @desc : 그리드 포커스 아웃 Function
  488. */
  489. function fExeFocusOut() {
  490. window.setPopupMenu(false);
  491. }
  492. /* @group : 물품입고
  493. * @ver : 2008.05.14 (CMCDEV-0001)
  494. * @by : 유동철(ACK)
  495. * @-----------------------------------
  496. * @type : function
  497. * @access : public
  498. * @desc : 그리드 클릭 Function
  499. */
  500. function fExeGridClick() {
  501. if (grd_calendar.isCell(event.target) && grd_calendar.row >= grd_calendar.fixedRows) {
  502. model.makeValue("/root/init/grdcellcolor/calrow", grd_calendar.row);
  503. model.makeValue("/root/init/grdcellcolor/calcol", grd_calendar.col);
  504. //-------------------------
  505. setCellColor(grd_calendar);
  506. getRsrvPossTm(grd_calendar);
  507. }
  508. }
  509. /* @group : 물품입고
  510. * @ver : 2008.05.14 (CMCDEV-0001)
  511. * @by : 유동철(ACK)
  512. * @-----------------------------------
  513. * @type : function
  514. * @access : public
  515. * @desc : 그리드의 Row, Col변경 처리 Function
  516. */
  517. function fExeRowColChange(pFlagCd) {
  518. //----------------------------------------------------------------
  519. model.setValue("/root/init/grdcellcolor/calrow",grd_calendar.row);
  520. model.setValue("/root/init/grdcellcolor/calcol",grd_calendar.col);
  521. //-------------------------
  522. setCellColor(grd_calendar);
  523. }
  524. /* @group : 물품입고
  525. * @ver : 2008.05.14 (CMCDEV-0001)
  526. * @by : 유동철(ACK)
  527. * @-----------------------------------
  528. * @type : function
  529. * @access : public
  530. * @desc : 그리드의 Test별 사용량 변경시 처리 Function
  531. */
  532. function fExeTUseChange() {
  533. var iRowNo = 0;
  534. var sColNm1 = "";
  535. var sColNm2 = "";
  536. var iUseQty = 0;
  537. var iBackUseQty = 0;
  538. var iPrestQty = 0;
  539. var objNode = null;
  540. var sUseDD = "";
  541. var sCurDY = "";
  542. var aDay = new Array ("", "", "", "", "", "", "", "sun", "mon", "tue", "wed", "thu", "fri", "sat");
  543. //-------------------------------------------------------------------------------------------------
  544. sColNm1 = "/root/init/calendar/weeklist/list["+grd_calendar.row+"]" + "/" + aDay[grd_calendar.col];
  545. sColNm2 = "/root/init/calendar/weeklist/list["+grd_calendar.row+"]" + "/" + aDay[grd_calendar.col] + "_memo";
  546. //----------------------------------
  547. if (model.getValue(sColNm1) == "") {
  548. model.setValue(sColNm2, "");
  549. return false;
  550. } else if (model.getValue("/root/init/bfvol") == "") {
  551. messageBox("물품을 선택하지 않았습니다! ", "I007");
  552. model.setValue(sColNm2, "");
  553. return false;
  554. }
  555. //-------------------------------
  556. sCurDY = model.getValue(sColNm1);
  557. sCurDY = sCurDY.getLeftPad(2, "0");
  558. //---------
  559. iRowNo = 0;
  560. sUseDD = model.getValue("/root/init/calendar/year")+model.getValue("/root/init/calendar/month")+sCurDY;
  561. //---------------------------------------------------------------------
  562. for (var iNo=1; iNo <= getNodesetCount("/root/main/datalist"); iNo++) {
  563. if (model.getValue("/root/main/datalist["+iNo+"]/usedd") == sUseDD) {
  564. iRowNo = iNo;
  565. break;
  566. }
  567. }
  568. //----------------
  569. if (iRowNo <= 0) {
  570. iBackUseQty = 0;
  571. } else {
  572. iBackUseQty = Number(model.getValue("/root/main/datalist["+iRowNo+"]/backuseqty"));
  573. }
  574. //------------------------------------------
  575. iUseQty = Number(model.getValue(sColNm2));
  576. iPrestQty = Number(model.getValue("/root/init/mlist/prest")) + iBackUseQty - iUseQty;
  577. //----------------------------------------
  578. // 입력된 일자에 해당하는 사용량 노드 생성
  579. fExeMakeUseNode(model.getValue("/root/init/calendar/year"), model.getValue("/root/init/calendar/month"),
  580. sCurDY, model.getValue(sColNm2));
  581. //---------------------------------------------------
  582. model.makeValue("/root/init/mlist/prest", iPrestQty);
  583. model.refresh();
  584. }
  585. /* @group : 물품입고
  586. * @ver : 2008.05.15 (CMCDEV-0001)
  587. * @by : 유동철(ACK)
  588. * @-----------------------------------
  589. * @type : function
  590. * @access : public
  591. * @desc : 일자별 입력된 사용량의 노드생성 처리 Function
  592. */
  593. function fExeMakeUseNode(pYear, pMonth, pDay, pUseQty) {
  594. var iRowNo = 0;
  595. var iFindNo = 0;
  596. var iUseQty = 0;
  597. var objNode = null;
  598. var bStatus = false;
  599. var sNode = "/root/main/datalist";
  600. //-------------------------------------------------------
  601. iFindNo = grd_goodlist.findRow("true", 1, 1, true, true);
  602. if (Number(iFindNo) <= 0) {
  603. messageBox("물품이 선택되지 않았습니다! ", "I007");
  604. return false;
  605. }
  606. //------------------------------------------
  607. if (pUseQty == "" || Number(pUseQty) == 0) {
  608. iUseQty = 0;
  609. }
  610. //---------
  611. iRowNo = 1;
  612. bStatus = false;
  613. for (var iNo=1; iNo <= getNodesetCount(sNode); iNo++) {
  614. if (model.getValue(sNode+"["+iNo+"]/usedd") == (pYear+pMonth+pDay)) {
  615. iRowNo = iNo;
  616. bStatus = true;
  617. break;
  618. }
  619. }
  620. //------------
  621. if (!bStatus) {
  622. iRowNo = Number(getNodesetCount(sNode)) + 1;
  623. model.makeValue(sNode+"["+iRowNo+"]/bfuseqty", "0");
  624. model.makeValue(sNode+"["+iRowNo+"]/usedd", pYear+pMonth+pDay);
  625. model.makeValue(sNode+"["+iRowNo+"]/usedg", "0");
  626. }
  627. //--------------------------------------------------------
  628. model.makeValue(sNode+"["+iRowNo+"]/useqty", pUseQty);
  629. model.makeValue(sNode+"["+iRowNo+"]/backuseqty", pUseQty);
  630. model.makeValue(sNode+"["+iRowNo+"]/cncldd", "-");
  631. model.makeValue(sNode+"["+iRowNo+"]/cncltm", "-");
  632. model.makeValue(sNode+"["+iRowNo+"]/cnclid", "-");
  633. model.makeValue(sNode+"["+iRowNo+"]/dutdeptcd", model.getValue("/root/init/appdeptcd"));
  634. model.makeValue(sNode+"["+iRowNo+"]/posdeptcd", model.getValue("/root/init/deptinfo/cd"));
  635. model.makeValue(sNode+"["+iRowNo+"]/instcd", getUserInfo("dutplceinstcd"));
  636. model.makeValue(sNode+"["+iRowNo+"]/unitcost", model.getValue("/root/main/goodcd/goodcdlist["+iFindNo+"]/unitcost"));
  637. model.makeValue(sNode+"["+iRowNo+"]/lotno", model.getValue("/root/main/goodcd/goodcdlist["+iFindNo+"]/lotno"));
  638. model.makeValue(sNode+"["+iRowNo+"]/goodcd", model.getValue("/root/main/goodcd/goodcdlist["+iFindNo+"]/goodcd"));
  639. //-----------------
  640. grd_data.refresh();
  641. }
  642. /* @group : 물품입고
  643. * @ver : 2008.05.15 (CMCDEV-0001)
  644. * @by : 유동철(ACK)
  645. * @-----------------------------------
  646. * @type : function
  647. * @access : public
  648. * @desc : 다음년도 버튼 클릭 처리 Function
  649. */
  650. function fExeNextYear() {
  651. var isMonth = model.getValue("/root/init/calendar/month");
  652. var isYear = model.getValue("/root/init/calendar/year");
  653. var isDate = (isYear+isMonth+1).toDate().getAddDate(1,'Y');
  654. model.setValue("/root/init/calendar/year", isDate.getDateFormat('YYYY'));
  655. model.setValue("/root/init/calendar/month", isDate.getDateFormat('MM'));
  656. model.refresh();
  657. //------------------
  658. setCalendar(isDate);
  659. fSelectGoodCdList(); // 사용내역 조회
  660. }
  661. /* @group : 물품입고
  662. * @ver : 2008.05.15 (CMCDEV-0001)
  663. * @by : 유동철(ACK)
  664. * @-----------------------------------
  665. * @type : function
  666. * @access : public
  667. * @desc : 다음달 버튼 클릭 처리 Function
  668. */
  669. function fExeNextMonth() {
  670. var isMonth = model.getValue("/root/init/calendar/month");
  671. var isYear = model.getValue("/root/init/calendar/year");
  672. var isDate = (isYear+isMonth+1).toDate().getAddDate(1,'M');
  673. model.setValue("/root/init/calendar/year", isDate.getDateFormat('YYYY'));
  674. model.setValue("/root/init/calendar/month", isDate.getDateFormat('MM'));
  675. model.refresh();
  676. //------------------
  677. setCalendar(isDate);
  678. fSelectGoodCdList(); // 사용내역 조회
  679. }
  680. /* @group : 물품입고
  681. * @ver : 2008.05.15 (CMCDEV-0001)
  682. * @by : 유동철(ACK)
  683. * @-----------------------------------
  684. * @type : function
  685. * @access : public
  686. * @desc : 이전달 버튼 클릭 처리 Function
  687. */
  688. function fExeBfMonth() {
  689. var isMonth = model.getValue("/root/init/calendar/month");
  690. var isYear = model.getValue("/root/init/calendar/year");
  691. var isDate = (isYear+isMonth+1).toDate().getAddDate(-1,'M');
  692. model.setValue("/root/init/calendar/year", isDate.getDateFormat('YYYY'));
  693. model.setValue("/root/init/calendar/month", isDate.getDateFormat('MM'));
  694. model.refresh();
  695. //------------------
  696. setCalendar(isDate);
  697. fSelectGoodCdList(); // 사용내역 조회
  698. }
  699. /* @group : 물품입고
  700. * @ver : 2008.05.15 (CMCDEV-0001)
  701. * @by : 유동철(ACK)
  702. * @-----------------------------------
  703. * @type : function
  704. * @access : public
  705. * @desc : 이전년도 버튼 클릭 처리 Function
  706. */
  707. function fExeBfNext() {
  708. var isMonth = model.getValue("/root/init/calendar/month");
  709. var isYear = model.getValue("/root/init/calendar/year");
  710. var isDate = (isYear+isMonth+1).toDate().getAddDate(-1,'Y');
  711. model.setValue("/root/init/calendar/year", isDate.getDateFormat('YYYY'));
  712. model.setValue("/root/init/calendar/month", isDate.getDateFormat('MM'));
  713. model.refresh();
  714. //------------------
  715. setCalendar(isDate);
  716. fSelectGoodCdList(); // 사용내역 조회
  717. }
  718. //------------------------------
  719. // Test별 사용량을 사용량에 적용
  720. function fExeUseQty(pAppFlagCd, pMFlagCd) {
  721. var bState = false;
  722. var sNode = "/root/init/calendar/weeklist/list";
  723. var sDescNode = "/root/main/datalist";
  724. var sGoodNode = "/root/main/goodcd/goodcdlist";
  725. var setRow = grd_goodlist.row;
  726. //-----------------------------------------------------
  727. for (var iNo=1; iNo <= getNodesetCount(sNode); iNo++) {
  728. //-----------------------------------------------------
  729. if (model.getValue(sNode+"["+iNo+"]/sum_memo") != "") {
  730. bState = true;
  731. break;
  732. }
  733. //-----------------------------------------------------
  734. if (model.getValue(sNode+"["+iNo+"]/mon_memo") != "") {
  735. bState = true;
  736. break;
  737. }
  738. //-----------------------------------------------------
  739. if (model.getValue(sNode+"["+iNo+"]/tue_memo") != "") {
  740. bState = true;
  741. break;
  742. }
  743. //-----------------------------------------------------
  744. if (model.getValue(sNode+"["+iNo+"]/wed_memo") != "") {
  745. bState = true;
  746. break;
  747. }
  748. //-----------------------------------------------------
  749. if (model.getValue(sNode+"["+iNo+"]/thu_memo") != "") {
  750. bState = true;
  751. break;
  752. }
  753. //-----------------------------------------------------
  754. if (model.getValue(sNode+"["+iNo+"]/fri_memo") != "") {
  755. bState = true;
  756. break;
  757. }
  758. //-----------------------------------------------------
  759. if (model.getValue(sNode+"["+iNo+"]/sat_memo") != "") {
  760. bState = true;
  761. break;
  762. }
  763. }
  764. //------------
  765. if (!bState) {
  766. messageBox("적용할 수량이 없습니다!", "I007");
  767. return false;
  768. }
  769. //-------------------
  770. // Test별 사용량 등록
  771. if (pAppFlagCd == "0") fSaveGoodCount(pAppFlagCd);
  772. //---------------------------------
  773. // 현재의 입력된 사용량을 먼저 등록
  774. model.removeNodeset("/root/send");
  775. model.makeValue("/root/send/instcd", getUserInfo("dutplceinstcd"));
  776. model.makeValue("/root/send/posdeptcd", model.getValue(sGoodNode+"["+setRow+"]/posdeptcd"));
  777. model.makeValue("/root/send/dutdeptcd", model.getValue(sGoodNode+"["+setRow+"]/dutdeptcd"));
  778. model.makeValue("/root/send/goodcd", model.getValue(sGoodNode+"["+setRow+"]/goodcd"));
  779. model.makeValue("/root/send/lotno", model.getValue(sGoodNode+"["+setRow+"]/lotno"));
  780. model.makeValue("/root/send/unitcost", model.getValue(sGoodNode+"["+setRow+"]/unitcost"));
  781. model.makeValue("/root/send/appflagcd", pAppFlagCd); // 0:적용, 1:적용취소, 3:적용수정
  782. model.makeValue("/root/send/bfenddd", model.getValue("/root/init/mlist/enddd"));
  783. model.makeValue("/root/send/usedg", model.getValue("/root/init/mlist/usedg"));
  784. model.makeValue("/root/send/enddd", model.getValue("/root/init/enddd"));
  785. model.makeValue("/root/send/useflagcd", "0"); // 0:사용량, 1:Test별 사용량
  786. model.makeValue("/root/send/m", pMFlagCd);
  787. //---------------------------------------------------
  788. if (model.getValue("/root/init/mlist/enddd") == "" || model.getValue("/root/init/mlist/enddd") == "-") setAlertOn();
  789. if (submit("TXLAW00402")) {
  790. }
  791. }
  792. /* @group : 물품 Test별 사용량
  793. * @ver : 2008.09.16 (CMCDEV-0001)
  794. * @by : 유동철(ACK)
  795. * @-----------------------------------
  796. * @type : function
  797. * @access : public
  798. * @desc : Test별 사용량 일괄 등록 처리 Function
  799. */
  800. function fExeTestUseQtyApp() {
  801. var sMsg = "오늘 일자의 이전에 적용된 Test별 수량이 삭제된 후 재 계산됩니다.";
  802. sMsg += "\n" + "재 계산을 ";
  803. //------------------------------------
  804. var iYesNo = messageBox(sMsg, "Q004");
  805. if (iYesNo == 6) {
  806. model.removeNodeset("/root/send");
  807. model.makeValue("/root/send/instcd", getUserInfo("dutplceinstcd"));
  808. model.makeValue("/root/send/posdeptcd", model.getValue("/root/init/deptinfo/cd"));
  809. model.makeValue("/root/send/dutdeptcd", model.getValue("/root/init/appdeptcd"));
  810. setAlertOn();
  811. submit("TXLAW00403");
  812. }
  813. }
  814. function fExeChoiTrue(pFlagCd) {
  815. fSelectGoodCdList();
  816. }
  817. ]]>
  818. </script>
  819. </xhtml:head>
  820. <xhtml:body guideline="1,1194;" style="margin-left:8; margin-top:0; margin-right:8; margin-bottom:0; ">
  821. <group id="group1" style="left:0px; top:0px; width:1195px; height:13px; ">
  822. <caption id="caption6" class="tit_1" style="left:0px; top:0px; width:800px; height:14px; ">Test별 물품사용관리</caption>
  823. </group>
  824. <group id="grp_biz" scroll="auto" style="left:0px; top:25px; width:1195px; height:744px; ">
  825. <group id="group2" style="left:0px; top:15px; width:1194px; height:35px; vertical-align:top; ">
  826. <shape id="roundrect1" class="roundrect_search" appearance="roundrect" style="left:0px; top:0px; width:1194; height:35; "/>
  827. <line id="line1" class="line_4" style="x1:1107px; y1:7px; x2:1107px; y2:29; "/>
  828. <caption id="caption26" class="search_name" style="left:859px; top:9px; width:86px; height:17px; ">검색부서 :</caption>
  829. <select1 id="cmb_seadept" ref="/root/init/appdeptcd" class="combo_search" navindex="3" appearance="minimal" style="left:951px; top:8px; width:140px; height:19px; ">
  830. <choices>
  831. <itemset nodeset="/root/init/dutdept/appdeptcd">
  832. <label ref="nm"/>
  833. <value ref="cd"/>
  834. </itemset>
  835. </choices>
  836. <script type="javascript" ev:event="xforms-value-changed">
  837. <![CDATA[
  838. fGetSelectDeptCd();
  839. ]]>
  840. </script>
  841. </select1>
  842. </group>
  843. <line id="line2" class="line_1" style="x1:310px; y1:75px; x2:1194px; y2:75px; "/>
  844. <caption id="caption5" class="tit_2" style="left:310px; top:60px; width:144px; height:13px; ">물품사용내역</caption>
  845. <caption id="caption4" class="cell_1" style="left:310px; top:80px; width:90px; height:23px; vertical-align:middle; ">이 월 량</caption>
  846. <output id="output1" ref="/root/init/bfvol" class="output_fix" format="(-)#,###" style="left:403px; top:81px; width:200px; height:19px; text-align:right; "/>
  847. <caption id="caption2" class="cell_1" style="left:606px; top:80px; width:90px; height:23px; vertical-align:middle; ">입 고 량</caption>
  848. <output id="output2" ref="/root/init/mlist/winqty" class="output_fix" format="(-)#,###" style="left:699px; top:81px; width:200px; height:19px; text-align:right; "/>
  849. <caption id="caption3" class="cell_1" style="left:902px; top:80px; width:90px; height:23px; vertical-align:middle; ">현 재 고</caption>
  850. <output id="output3" ref="/root/init/mlist/prest" class="output_fix" format="(-)#,###" style="left:995px; top:81px; width:200px; height:19px; text-align:right; "/>
  851. <line id="line6" class="line_3" style="x1:310px; y1:102px; x2:1194px; y2:102px; "/>
  852. <import id="import1" src="SSLAW00100_물품목록.xrw" instancetype="merge" ref="/root/main/goodcd/goodcdlist" style="left:5px; top:55px; width:300px; height:688px; ">
  853. </import>
  854. <group id="grp_calendar" style="left:310px; top:106px; width:884px; height:40px; ">
  855. <shape id="rectangle1" class="calendar_header" appearance="rectangle" style="left:0px; top:0px; width:884; height:40px; "/>
  856. <output id="opt_year" ref="/root/init/calendar/year" class="calendar_output" style="left:390px; top:9px; width:30px; height:19px; "/>
  857. <output id="opt_month" ref="/root/init/calendar/month" class="calendar_output" style="left:440px; top:9px; width:30px; height:19px; "/>
  858. <caption id="caption1" class="calendar_output" style="left:420px; top:9px; width:20px; height:19px; ">년</caption>
  859. <caption id="caption7" class="calendar_output" style="left:470px; top:9px; width:20px; height:19px; ">월</caption>
  860. <button id="btn_bfyear" class="icon_pre_year" style="left:345px; top:12px; width:16px; height:16px; ">
  861. <caption/>
  862. <script type="javascript" ev:event="DOMActivate">
  863. <![CDATA[
  864. fExeBfNext();
  865. ]]>
  866. </script>
  867. </button>
  868. <button id="btn_bfmonth" class="icon_pre_month" style="left:364px; top:12px; width:16px; height:16px; ">
  869. <caption/>
  870. <script type="javascript" ev:event="DOMActivate">
  871. <![CDATA[
  872. fExeBfMonth();
  873. ]]>
  874. </script>
  875. </button>
  876. <button id="btn_nextmonth" class="icon_next_month" style="left:501px; top:12px; width:16px; height:16px; ">
  877. <caption/>
  878. <script type="javascript" ev:event="DOMActivate">
  879. <![CDATA[
  880. fExeNextMonth();
  881. ]]>
  882. </script>
  883. </button>
  884. <button id="btn_nextyear" class="icon_next_year" style="left:520px; top:12px; width:16px; height:16px; ">
  885. <caption/>
  886. <script type="javascript" ev:event="DOMActivate">
  887. <![CDATA[
  888. fExeNextYear();
  889. ]]>
  890. </script>
  891. </button>
  892. </group>
  893. <multilinegrid id="grd_calendar" nodeset="/root/init/calendar/weeklist/list" class="gridcalendar" caption="일^월^화^수^목^금^토" colsep="^" colwidth="126, 126, 126, 126, 126, 126, 126" dataheight="48" extendlastcol="noscroll" rowsep="|" selectionmode="free" mergecellsfixedrows="bycolrec" style="left:310px; top:140px; width:884px; height:590px; ">
  894. <row>
  895. <col class="color_sun" ref="sun" style="border-bottom-width:0px; "/>
  896. <col ref="mon" style="border-bottom-width:0px; "/>
  897. <col ref="tue" style="border-bottom-width:0px; "/>
  898. <col ref="wed" style="border-bottom-width:0px; "/>
  899. <col ref="thu" style="border-bottom-width:0px; "/>
  900. <col ref="fri" style="border-bottom-width:0px; "/>
  901. <col class="color_sat" ref="sat" style="border-bottom-width:0px; "/>
  902. </row>
  903. <row>
  904. <col ref="sun_memo" type="input" format="(-)#,###" mask="exclude" maxlength="6" showmask="true" style="border-top-width:0px; "/>
  905. <col ref="mon_memo" type="input" format="(-)#,###" mask="exclude" maxlength="6" showmask="true" style="border-top-width:0px; "/>
  906. <col ref="tue_memo" type="input" format="(-)#,###" mask="exclude" maxlength="6" showmask="true" style="border-top-width:0px; "/>
  907. <col ref="wed_memo" type="input" format="(-)#,###" mask="exclude" maxlength="6" showmask="true" style="border-top-width:0px; "/>
  908. <col ref="thu_memo" type="input" format="(-)#,###" mask="exclude" maxlength="6" showmask="true" style="border-top-width:0px; "/>
  909. <col ref="fri_memo" type="input" format="(-)#,###" mask="exclude" maxlength="6" showmask="true" style="border-top-width:0px; "/>
  910. <col ref="sat_memo" type="input" format="(-)#,###" mask="exclude" maxlength="6" showmask="true" style="border-top-width:0px; "/>
  911. </row>
  912. <script type="javascript" ev:event="onclick">
  913. <![CDATA[
  914. fExeGridClick();
  915. ]]>
  916. </script>
  917. <script type="javascript" ev:event="onrowchanged">
  918. <![CDATA[
  919. fExeRowColChange("R");
  920. ]]>
  921. </script>
  922. <script type="javascript" ev:event="oncolchanged">
  923. <![CDATA[
  924. fExeRowColChange("C");
  925. ]]>
  926. </script>
  927. <script type="javascript" ev:event="xforms-value-changed">
  928. <![CDATA[
  929. fExeTUseChange();
  930. ]]>
  931. </script>
  932. </multilinegrid>
  933. <datagrid id="grd_data" nodeset="/root/main/datalist" visibility="hidden" caption="일자(dd)^물품코드^사용량^차수^취소일자^취소시간^취소자^lot번호^부서^단가^bfuseqty^instcd^posdeptcd" colsep="^" colwidth="100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100" mergecellsfixedrows="bycolrec" rowsep="|" fixed.background-image="../../../com/commonweb/images/grid_bg.gif" style="left:320px; top:360px; width:860px; height:170px; ">
  934. <col ref="usedd"/>
  935. <col ref="goodcd"/>
  936. <col ref="useqty"/>
  937. <col ref="usedg"/>
  938. <col ref="cncldd"/>
  939. <col ref="cncltm"/>
  940. <col ref="cnclid"/>
  941. <col ref="lotno"/>
  942. <col ref="dutdeptcd"/>
  943. <col ref="unitcost"/>
  944. <col ref="bfuseqty"/>
  945. <col ref="instcd"/>
  946. <col ref="posdeptcd"/>
  947. </datagrid>
  948. <input id="ipt_bfenddd" ref="/root/init/mlist/enddd" format="yyyy-mm-dd" mask="exclude" showmask="true" style="left:976px; top:55px; width:80px; height:19px; "/>
  949. <caption id="caption8" style="left:910px; top:58px; width:65px; height:15px; ">최근적용일</caption>
  950. <caption id="caption9" style="left:1061px; top:58px; width:40px; height:15px; ">적용일</caption>
  951. <input id="ipt_enddd" ref="/root/init/enddd" disabled="true" editable="false" inputtype="date" format="yyyy-mm-dd" mask="exclude" showmask="true" style="left:1103px; top:55px; width:90px; height:19px; "/>
  952. </group>
  953. <group id="grp_btn" scroll="auto" style="left:0px; top:13px; width:1195px; height:27px; ">
  954. <line id="line32" class="line_6" style="x1:0px; y1:25; x2:1194px; y2:25; "/>
  955. <button id="btn_save" class="btn4_letter2" navindex="6" style="left:1135px; top:3; width:56px; height:22px; ">
  956. <caption>저장</caption>
  957. <script type="javascript" ev:event="DOMActivate">
  958. <![CDATA[
  959. fSaveGoodCount("S");
  960. ]]>
  961. </script>
  962. </button>
  963. <button id="btn_qtysave" class="btn4_letter2" navindex="6" style="left:993px; top:3; width:56px; height:22px; ">
  964. <caption>적용</caption>
  965. <script type="javascript" ev:event="DOMActivate">
  966. <![CDATA[
  967. if (model.getValue("/root/init/mlist/enddd") == "" || model.getValue("/root/init/mlist/enddd") == "-") {
  968. fExeUseQty("0", "i");
  969. } else {
  970. fExeUseQty("1", "d");
  971. fExeUseQty("0", "i");
  972. }
  973. ]]>
  974. </script>
  975. </button>
  976. <button id="btn_qtycncl" class="btn4_letter4" navindex="6" style="left:1052px; top:3; width:80px; height:22px; ">
  977. <caption>적용취소</caption>
  978. <script type="javascript" ev:event="DOMActivate">
  979. <![CDATA[
  980. fExeUseQty("1", "d");
  981. ]]>
  982. </script>
  983. </button>
  984. <button id="btn_testuse" class="btn4_letter8" navindex="6" style="left:0; top:3; width:56px; height:22px; ">
  985. <caption>Test별 수량적용</caption>
  986. <script type="javascript" ev:event="DOMActivate">
  987. <![CDATA[
  988. fExeTestUseQtyApp();
  989. ]]>
  990. </script>
  991. </button>
  992. </group>
  993. </xhtml:body>
  994. </xhtml:html>