SMADT10311_집계라벨출력.xfdl 19 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417
  1. <?xml version="1.0" encoding="utf-8"?>
  2. <FDL version="1.5">
  3. <TypeDefinition url="..\..\..\default_typedef.xml"/>
  4. <Form id="SMADT10311" position="absolute 0 0 0 0" titletext="집계라벨출력" onload="SMADT10311_onload" onkeyup="SMADT10311_onkeyup" oninit="SMADT10311_oninit">
  5. <Layouts>
  6. <Layout>
  7. <Div position="absolute 0 0 0 0" id="grp_report1" visible="false"/>
  8. <Div position="absolute 0 0 0 0" id="grp_report2" visible="false"/>
  9. <Div position="absolute 0 0 0 0" id="group1" visible="false"/>
  10. <Div position="absolute 0 0 0 0" id="group2" visible="false"/>
  11. <Div position="absolute 0 0 0 0" id="grp_report3" visible="false"/>
  12. </Layout>
  13. </Layouts>
  14. <Objects>
  15. <Dataset id="ds_main_prcpdata" firefirstcount="0" firenextcount="0" useclientlayout="false" updatecontrol="true" enableevent="true" loadkeymode="keep" loadfiltermode="keep" reversesubsum="false"/>
  16. <Dataset id="ds_main_prnt_lbllist_lbllist" firefirstcount="0" firenextcount="0" useclientlayout="false" updatecontrol="true" enableevent="true" loadkeymode="keep" loadfiltermode="keep" reversesubsum="false"/>
  17. <Dataset id="ds_send_prcpinfo" firefirstcount="0" firenextcount="0" useclientlayout="false" updatecontrol="true" enableevent="true" loadkeymode="keep" loadfiltermode="keep" reversesubsum="false"/>
  18. <Dataset id="ds_send_srchdata" firefirstcount="0" firenextcount="0" useclientlayout="false" updatecontrol="true" enableevent="true" loadkeymode="keep" loadfiltermode="keep" reversesubsum="false">
  19. <ColumnInfo>
  20. <Column id="deptflag" type="STRING" size="256"/>
  21. <Column id="drugflag" type="STRING" size="256"/>
  22. <Column id="prcpflag" type="STRING" size="256"/>
  23. <Column id="srchfromdd" type="STRING" size="256"/>
  24. <Column id="srchfromtm" type="STRING" size="256"/>
  25. <Column id="srchtodd" type="STRING" size="256"/>
  26. <Column id="srchtotm" type="STRING" size="256"/>
  27. <Column id="srchprcpcd" type="STRING" size="256"/>
  28. <Column id="udsflag" type="STRING" size="256"/>
  29. <Column id="prcpkindcd" type="STRING" size="256"/>
  30. <Column id="sumdt" type="STRING" size="256"/>
  31. <Column id="srchorddeptcd" type="STRING" size="256"/>
  32. <Column id="srchorddeptflag" type="STRING" size="256"/>
  33. <Column id="userid" type="STRING" size="256"/>
  34. <Column id="instcd" type="STRING" size="256"/>
  35. <Column id="srchdeptnm" type="STRING" size="256"/>
  36. <Column id="stocdeptcd" type="STRING" size="256"/>
  37. <Column id="pid" type="STRING" size="256"/>
  38. <Column id="drugcd" type="STRING" size="256"/>
  39. <Column id="sumflag" type="STRING" size="256"/>
  40. <Column id="orderby" type="STRING" size="256"/>
  41. <Column id="expnflag" type="STRING" size="256"/>
  42. <Column id="prcpno" type="STRING" size="256"/>
  43. <Column id="ptpall" type="STRING" size="256"/>
  44. <Column id="drugno" type="STRING" size="256"/>
  45. <Column id="drugdd" type="STRING" size="256"/>
  46. </ColumnInfo>
  47. <Rows>
  48. <Row>
  49. <Col id="deptflag"/>
  50. <Col id="drugflag">1 2</Col>
  51. <Col id="prcpflag">1 2 3</Col>
  52. <Col id="srchfromdd"/>
  53. <Col id="srchfromtm">0000</Col>
  54. <Col id="srchtodd"/>
  55. <Col id="srchtotm">2400</Col>
  56. <Col id="srchprcpcd"/>
  57. <Col id="udsflag">N</Col>
  58. <Col id="prcpkindcd">A</Col>
  59. <Col id="sumdt"/>
  60. <Col id="srchorddeptcd"/>
  61. <Col id="srchorddeptflag"/>
  62. <Col id="userid"/>
  63. <Col id="instcd"/>
  64. <Col id="srchdeptnm"/>
  65. <Col id="stocdeptcd">3242107000</Col>
  66. <Col id="pid"/>
  67. <Col id="drugcd"/>
  68. <Col id="sumflag"/>
  69. <Col id="orderby"/>
  70. <Col id="expnflag"/>
  71. <Col id="prcpno"/>
  72. <Col id="ptpall"/>
  73. <Col id="drugno"/>
  74. </Row>
  75. </Rows>
  76. </Dataset>
  77. <Dataset id="ds_send_deptdata_deptinfo" firefirstcount="0" firenextcount="0" useclientlayout="false" updatecontrol="true" enableevent="true" loadkeymode="keep" loadfiltermode="keep" reversesubsum="false">
  78. <ColumnInfo>
  79. <Column id="sumorddeptcd" type="STRING" size="256"/>
  80. <Column id="sumorddeptflag" type="STRING" size="256"/>
  81. </ColumnInfo>
  82. <Rows>
  83. <Row/>
  84. </Rows>
  85. </Dataset>
  86. <Dataset id="ds_send_srchdetlinfo" firefirstcount="0" firenextcount="0" useclientlayout="false" updatecontrol="true" enableevent="true" loadkeymode="keep" loadfiltermode="keep" reversesubsum="false">
  87. <ColumnInfo>
  88. <Column id="srchpid" type="STRING" size="256"/>
  89. <Column id="prcpdd" type="STRING" size="256"/>
  90. <Column id="orddeptflag" type="STRING" size="256"/>
  91. <Column id="prcpno" type="STRING" size="256"/>
  92. </ColumnInfo>
  93. <Rows>
  94. <Row>
  95. <Col id="srchpid"/>
  96. <Col id="prcpdd"/>
  97. <Col id="orddeptflag"/>
  98. <Col id="prcpno"/>
  99. </Row>
  100. </Rows>
  101. </Dataset>
  102. <Dataset id="ds_send_srchbcinfo" firefirstcount="0" firenextcount="0" useclientlayout="false" updatecontrol="true" enableevent="true" loadkeymode="keep" loadfiltermode="keep" reversesubsum="false">
  103. <ColumnInfo>
  104. <Column id="srchdrugdd" type="STRING" size="256"/>
  105. <Column id="srchdrugno" type="STRING" size="256"/>
  106. <Column id="srchioflag" type="STRING" size="256"/>
  107. <Column id="srchbcno1" type="STRING" size="256"/>
  108. </ColumnInfo>
  109. <Rows>
  110. <Row>
  111. <Col id="srchdrugdd"/>
  112. <Col id="srchdrugno"/>
  113. <Col id="srchioflag"/>
  114. <Col id="srchbcno1"/>
  115. </Row>
  116. </Rows>
  117. </Dataset>
  118. <Dataset id="ds_send" firefirstcount="0" firenextcount="0" useclientlayout="false" updatecontrol="true" enableevent="true" loadkeymode="keep" loadfiltermode="keep" reversesubsum="false">
  119. <ColumnInfo>
  120. <Column id="scrnid" type="STRING" size="256"/>
  121. </ColumnInfo>
  122. <Rows>
  123. <Row/>
  124. </Rows>
  125. </Dataset>
  126. <Dataset id="ds_send_srchdept" firefirstcount="0" firenextcount="0" useclientlayout="false" updatecontrol="true" enableevent="true" loadkeymode="keep" loadfiltermode="keep" reversesubsum="false">
  127. <ColumnInfo>
  128. <Column id="deptcd" type="STRING" size="256"/>
  129. </ColumnInfo>
  130. <Rows>
  131. <Row/>
  132. </Rows>
  133. </Dataset>
  134. <Dataset id="ds_send_srchpid" firefirstcount="0" firenextcount="0" useclientlayout="false" updatecontrol="true" enableevent="true" loadkeymode="keep" loadfiltermode="keep" reversesubsum="false">
  135. <ColumnInfo>
  136. <Column id="sumdt" type="STRING" size="256"/>
  137. <Column id="srchorddeptcd" type="STRING" size="256"/>
  138. <Column id="pid" type="STRING" size="256"/>
  139. <Column id="drugno" type="STRING" size="256"/>
  140. </ColumnInfo>
  141. <Rows>
  142. <Row>
  143. <Col id="sumdt"/>
  144. <Col id="srchorddeptcd"/>
  145. <Col id="pid"/>
  146. <Col id="drugno"/>
  147. </Row>
  148. </Rows>
  149. </Dataset>
  150. <Dataset id="ds_hidden" firefirstcount="0" firenextcount="0" useclientlayout="false" updatecontrol="true" enableevent="true" loadkeymode="keep" loadfiltermode="keep" reversesubsum="false"/>
  151. <Dataset id="ds_init" firefirstcount="0" firenextcount="0" useclientlayout="false" updatecontrol="true" enableevent="true" loadkeymode="keep" loadfiltermode="keep" reversesubsum="false"/>
  152. <Dataset id="ds_main_lbllist_lbllist" firefirstcount="0" firenextcount="0" useclientlayout="false" updatecontrol="true" enableevent="true" loadkeymode="keep" loadfiltermode="keep" reversesubsum="false"/>
  153. <Dataset id="ds_main_barcdprntsetup" firefirstcount="0" firenextcount="0" useclientlayout="false" updatecontrol="true" enableevent="true" loadkeymode="keep" loadfiltermode="keep" reversesubsum="false"/>
  154. </Objects>
  155. <Script type="xscript4.0"><![CDATA[/***************************************************************************************
  156. * System Name :
  157. * Job Name :
  158. * Creator :
  159. * Make Date : 2015-11-13
  160. * Description :
  161. *---------------------------------------------------------------------------------------
  162. * Modify Date Modifier Modify Description
  163. *---------------------------------------------------------------------------------------
  164. * 2015-11-13 Live Converter TF->XP
  165. *
  166. *---------------------------------------------------------------------------------------
  167. ****************************************************************************************/
  168. //=======================================================================================
  169. // Lib Include
  170. //---------------------------------------------------------------------------------------
  171. include "com_commonxp::comm_main.xjs";
  172. include "ast_commonxp::AST.xjs";
  173. include "com_commodulexp::SSZFM00901.xjs";
  174. //=======================================================================================
  175. // Global Form Variable
  176. //---------------------------------------------------------------------------------------
  177. var oOpener = "";
  178. //=======================================================================================
  179. // Function
  180. //---------------------------------------------------------------------------------------
  181. /****************************************************************************************
  182. * Argument : desNode (dataset)
  183. * : srcNodeList (dataset)
  184. * Description : 목적 데이터셋으로 내용카피(append) - 필요없을듯.
  185. ****************************************************************************************/
  186. function fAppendSaveNode( desNode, srcNodeList ) {
  187. var saveDrPrcpList = model.instances(0).selectNodes( srcNodeList ); //의사처방 저장데이터
  188. for(var i = 0; i < saveDrPrcpList.length; i++) {
  189. var destNode = model.instances(0).selectSingleNode( desNode );
  190. destNode.appendChild(saveDrPrcpList.item(i).cloneNode(true));
  191. }
  192. }
  193. /**********************************************************************************
  194. * Argument : rexnm (string) : 레포트코드
  195. * closeYn (string) : 미리보기 여부(보기:true, 안보기:비우거나 false)
  196. * printCount (int) : 출력 숫자
  197. * dataXPath (string) : 파라메터 위치
  198. * paramsXPath (object): 파라메터 위치
  199. * infoXPath (string) : 바코드 프린터 정보 위치
  200. * Description : 라벨출력
  201. **********************************************************************************/
  202. function fPrintRexbar_new(rexnm, closeYn, printCount, dataXPath, paramsXPath, infoXPath){
  203. var posx = "";
  204. var posy = "";
  205. var printnm = "";
  206. if(infoXPath == "" || infoXPath == "undefined" || infoXPath == null)
  207. infoXPath = "ds_data";
  208. //infoXPath = "/root/main/barcdprntsetup/prntsetupinfo";
  209. // if(objects[infoXPath + "_setupinfo"].getColumn(0,"rexgbn") != "1") return false;
  210. if(objects[infoXPath+"_setupinfo"].getColumn(objects[infoXPath+"_setupinfo"].rowcount-1,"rexgbn") != "1") {
  211. if(closeYn) {this.close();}
  212. else return false;
  213. }
  214. try{
  215. if(!utlf_isNull(objects[infoXPath+"_pcllist"]) // ds 존재 체크
  216. // && oOpener.objects[infoXPath+"_pcllist"].getColumn(0,"dsvaluepath") == "/setupinfo/pcl" // path 체크
  217. && objects[infoXPath+"_pcllist"].findRowExpr("barnm=='"+rexnm+"'") > -1) { // barnm 값 체크
  218. var rowNo = objects[infoXPath+"_pcllist"].findRowExpr("barnm=='"+rexnm+"'");
  219. posx = objects[infoXPath+"_pcllist"].getColumn(rowNo,"xpos");
  220. posy = objects[infoXPath+"_pcllist"].getColumn(rowNo,"ypos");
  221. printnm = objects[infoXPath+"_pcllist"].getColumn(rowNo,"prtnm");
  222. }else{
  223. posx = objects[infoXPath+"_blank"].getColumn(0,"left");
  224. posy = objects[infoXPath+"_blank"].getColumn(0,"top");
  225. printnm = objects[infoXPath+"_comm01"].getColumn(0,"setupval");
  226. }
  227. if(posx == "") posx = "0";
  228. if(posy == "") posy = "0";
  229. if(closeYn == "true") printnm = "";
  230. //sysf_trace(printnm);
  231. var objDOM = rptf_createDOM(); // DOM 객체 설정
  232. var objParam = new Object();
  233. rptf_setNodeListToDOM(objDOM, "/root/main/lbllist/lbllist", ds_main_lbllist_lbllist);
  234. objParam.xml_data_XML1 = objDOM.documentElement.source;
  235. var option = "open=1;save=1;directprint=1;printdialog=0;print=1;zoom=0;callback=lf_complete;";
  236. var prntOtion = "offsetx=" + posx + ";" + "offsety=" + posy + ";" + "printername="+printnm+"";
  237. rptf_exeReportPreview30([rexnm],[objParam], option, prntOtion);
  238. }catch(e){
  239. alert("출력시 오류가 발생하였습니다\n" + e);
  240. this.close();
  241. }
  242. return true;
  243. }
  244. function lf_complete() {
  245. this.close();
  246. }
  247. //=======================================================================================
  248. // Event
  249. //---------------------------------------------------------------------------------------
  250. /****************************************************************************************
  251. * Components : Form
  252. * Components ID : SMADT10311
  253. * Event : onload
  254. * Argument : 01.obj : Object Event has occurred
  255. * : 02.e : Event Object
  256. * Description : 화면 처음 초기화시 폼초기화
  257. ****************************************************************************************/
  258. function SMADT10311_onload(obj:Form, e:LoadEventInfo)
  259. {
  260. try{
  261. ds_main_barcdprntsetup.copyData(arg_ds_main_barcdprntsetup);
  262. var prntsetupinfo = ds_main_barcdprntsetup.getColumn(0,"prntsetupinfo"); //프린터설정 XML형식
  263. lf_convertXmlToDs(prntsetupinfo);
  264. }catch(e){}
  265. try{
  266. ds_send_srchdata.copyData(arg_ds_send_srchdata);
  267. }catch(e){}
  268. finit(); // 초기화
  269. }
  270. function finit() {
  271. ds_main_prnt_lbllist_lbllist.clearData();
  272. // if(oOpener == opener) {
  273. // } else {
  274. // ds_send_srchdata.copyData(ds_send_srchdata);
  275. // }
  276. var oParam = {};
  277. oParam.id = "TRADT10350";
  278. oParam.service = "pharmacydrugsumapp.BeforeCure";
  279. oParam.method = "reqGetDrugSumLBT";
  280. oParam.inds = "req=ds_send_srchdata";
  281. oParam.outds = "ds_main_prnt_lbllist_lbllist=lbllist";
  282. oParam.async = false;
  283. //oParam.callback = "cf_TRADT10350";
  284. tranf_submit(oParam);
  285. var iPoint = 0; //라벨출력row
  286. var cnt = 0;
  287. var iPageCntO = 1;
  288. var sndprcpcnt = 1;
  289. var prePage = 0;
  290. var val = "";
  291. var datcnt = ds_main_prnt_lbllist_lbllist.rowcount;
  292. var drugno = ds_main_prnt_lbllist_lbllist.getColumn(0,"drugno");
  293. //sysf_trace(ds_main_prnt_lbllist_lbllist.saveXML());
  294. for(var j = 0 ; j < datcnt ; j++){
  295. var drugno = ds_main_prnt_lbllist_lbllist.getColumn(j,"drugno");
  296. var patnm = ds_main_prnt_lbllist_lbllist.getColumn(j,"patnm");
  297. var totdrugqty = ds_main_prnt_lbllist_lbllist.getColumn(j,"totdrugqty");
  298. var mthdcnts4 = ds_main_prnt_lbllist_lbllist.getColumn(j,"mthdcnts4");
  299. var lblcnts1 = ds_main_prnt_lbllist_lbllist.getColumn(j,"lblcnts1");
  300. var prcpcd = ds_main_prnt_lbllist_lbllist.getColumn(j,"prcpcd");
  301. var prcpnm = ds_main_prnt_lbllist_lbllist.getColumn(j,"prcpnm");
  302. mthdcnts4 = utlf_isNull(mthdcnts4) ? " " : mthdcnts4;
  303. lblcnts1 = utlf_isNull(lblcnts1) ? " " : lblcnts1;
  304. ds_main_prnt_lbllist_lbllist.setColumn(j,"prcpcd" , totdrugqty + ' ' + prcpcd + ' '+ prcpnm);
  305. ds_main_prnt_lbllist_lbllist.setColumn(j,"lblcnts1" , lblcnts1 + ' ' + mthdcnts4);
  306. ds_main_prnt_lbllist_lbllist.setColumn(j, "unit", "");
  307. var atcifsnglyn = ds_main_prnt_lbllist_lbllist.getColumn(j,"atcifsnglyn");
  308. if(lblcnts1 == "-"){
  309. lblcnts1 = "";
  310. }
  311. if(j == 0){
  312. ds_main_lbllist_lbllist.clear();
  313. dsf_copyColInfo(ds_main_lbllist_lbllist,ds_main_prnt_lbllist_lbllist);
  314. ds_main_lbllist_lbllist.copyRow(ds_main_lbllist_lbllist.addRow(),ds_main_prnt_lbllist_lbllist,j);
  315. iPoint = 0;
  316. sndprcpcnt = 1;
  317. }
  318. if(atcifsnglyn == "Y" || lblcnts1 == "차광보관") {
  319. if ( iPoint == 0 && j == 0 ) {
  320. } else {
  321. iPoint++;
  322. // fAppendSaveNode("/root/main/lbllist", "/root/main/prnt/lbllist/lbllist["+j+"]" );
  323. ds_main_lbllist_lbllist.copyRow(ds_main_lbllist_lbllist.addRow(),ds_main_prnt_lbllist_lbllist,j);
  324. }
  325. sndprcpcnt = 7;
  326. // val = "";
  327. val = totdrugqty + " " + prcpnm + " " + mthdcnts4 + " " + lblcnts1;
  328. dsf_makeValue(ds_main_lbllist_lbllist,"sndprcp"+sndprcpcnt ,"string",val,iPoint);
  329. dsf_makeValue(ds_main_lbllist_lbllist,"injsamedrugflag" ,"string","N",iPoint);
  330. dsf_makeValue(ds_main_lbllist_lbllist,"lblcnts2flag" ,"string","N",iPoint);
  331. } else {
  332. if (sndprcpcnt > 6) {
  333. iPoint++;
  334. sndprcpcnt = 1;
  335. // fAppendSaveNode("/root/main/lbllist", "/root/main/prnt/lbllist/lbllist["+j+"]" );
  336. ds_main_lbllist_lbllist.copyRow(ds_main_lbllist_lbllist.addRow(),ds_main_prnt_lbllist_lbllist,j);
  337. // val = "";
  338. val = totdrugqty + " " + prcpnm + " " + mthdcnts4 + " " + lblcnts1;
  339. dsf_makeValue(ds_main_lbllist_lbllist,"sndprcp"+sndprcpcnt ,"string",val,iPoint);
  340. dsf_makeValue(ds_main_lbllist_lbllist,"injsamedrugflag" ,"string","Y",iPoint);
  341. sndprcpcnt++;
  342. } else {
  343. // val = "";
  344. val = totdrugqty + " " + prcpnm + " " + mthdcnts4+ " " + lblcnts1;
  345. dsf_makeValue(ds_main_lbllist_lbllist,"sndprcp"+sndprcpcnt ,"string",val,iPoint);
  346. dsf_makeValue(ds_main_lbllist_lbllist,"injsamedrugflag" ,"string","Y",iPoint);
  347. sndprcpcnt++;
  348. }
  349. }
  350. }
  351. var instcd = sysf_getUserInfo("dutplceinstcd");
  352. if(datcnt > 0 ) {
  353. // makeReportPreview(0,0,10, 10, "");
  354. // fPrintRexbar_new("RFADT62303",true);
  355. if(instcd== "031") {
  356. rptf_printRexbar("RFADT62303", "", "/root/main/lbllist/lbllist", ds_main_lbllist_lbllist, "", "lf_complete");
  357. } else {
  358. rptf_printRexbar("RFADT62304", "", "/root/main/lbllist/lbllist", ds_main_lbllist_lbllist, "", "lf_complete");
  359. }
  360. } else {
  361. this.close();
  362. }
  363. }
  364. /****************************************************************************************
  365. * Components : Form
  366. * Components ID : SMADT10311
  367. * Event : onkeyup
  368. * Argument : 01.obj : Object Event has occurred
  369. * : 02.e : Event Object
  370. * Description : 로딩중 중지
  371. ****************************************************************************************/
  372. function SMADT10311_onkeyup(obj:Form, e:KeyEventInfo)
  373. {
  374. if(e.keycode == 27) // 'ESC' or 'Q' 키가 눌려진 경우
  375. {
  376. this.close();
  377. }
  378. }
  379. function SMADT10311_oninit(obj:Form, e:InitEventInfo)
  380. {
  381. frmf_initForm(obj); // 폼 초기화
  382. }
  383. ]]></Script>
  384. </Form>
  385. </FDL>