123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659660661662663664665666667668669670671672673674675676677678679680681682683684685686687688689690691692693694695696697698699700701702703704705706707708709710711712713714715716717718719720721722723724725726727728729730731732733734735736737738739740741742743744745746747748749750751752753754755756757758759760761762763764765766767768769770771772773774775776777778779780781782783784785786787788789790791792793794795796797798799800801802803804805806807808809810811812813814815816817818819820821822823824825826827828829830831832833834835836837838839840841842843844845846847848849850851852853854855856857858859860861862863 |
- #region Copyright © 2015 CLIPSOFT Co.,Ltd. All Rights Reserved.
- //
- // All rights are reserved. Reproduction or transmission in whole or in part,
- // in any form or by any means, electronic, mechanical or otherwise, is
- // prohibited without the prior written consent of the copyright owner.
- //
- // Filename:Common.cs
- //
- #endregion
- using System;
- using System.Collections.Generic;
- using System.Net;
- using System.Net.Sockets;
- using System.Text;
- namespace CLIP.eForm.Consent.UI {
- /// <summary>
- /// Global Parameter를 생성하기 위한 클래스
- /// </summary>
- /// <remarks>
- /// <p>[설계자]</p>
- /// <p> 클립소프트 연구소 홍지철 (jchong@clipsoft.co.kr)</p>
- /// <p>[원본 작성자]</p>
- /// <p> 클립소프트 연구소 홍지철 (jchong@clipsoft.co.kr)</p>
- /// <p>[수정 작성자]</p>
- /// <p> 클립소프트 기술부 이인희</p>
- /// <p>----------------------------------------------------------------------------------------</p>
- /// <p>[HISTORY]</p>
- /// <p> 2015-08-06 : 최초작성</p>
- /// <p>----------------------------------------------------------------------------------------</p>
- /// </remarks>
- public class Common {
- public static Dictionary<FOSParameter, string> CreateGlobalParamsDictionary(string instcd) {
- Dictionary<FOSParameter, string> dic = new Dictionary<FOSParameter, string>();
- foreach (string s in Enum.GetNames(typeof(FOSParameter))) {
- dic.Add((FOSParameter)Enum.Parse(typeof(FOSParameter), s), string.Empty);
- }
- // 전자동의서 팝업창에서 연결 할 주소 파라미터를 매핑
- //dic[FOSParameter.PopupPath] = instcd == "031" ? "https://ema031.knuh.kr:9091/" : "https://ema032.knuh.kr:8091/";
- dic[FOSParameter.Instcd] = instcd;
- return dic;
- }
- public static Boolean isCompressed = false;
- public static byte[] Zip(string str) {
- var bytes = System.Text.Encoding.UTF8.GetBytes(str);
- using (var msi = new System.IO.MemoryStream(bytes))
- using (var mso = new System.IO.MemoryStream()) {
- using (var gs = new System.IO.Compression.GZipStream(mso, System.IO.Compression.CompressionMode.Compress)) {
- CopyTo(msi, gs);
- }
- return mso.ToArray();
- }
- }
- public static string Unzip(byte[] bytes) {
- using (var msi = new System.IO.MemoryStream(bytes))
- using (var mso = new System.IO.MemoryStream()) {
- using (var gs = new System.IO.Compression.GZipStream(msi, System.IO.Compression.CompressionMode.Decompress)) {
- CopyTo(gs, mso);
- }
- return System.Text.Encoding.UTF8.GetString(mso.ToArray());
- }
- }
- public static void CopyTo(System.IO.Stream src, System.IO.Stream dest) {
- byte[] bytes = new byte[4096];
- int cnt;
- while ((cnt = src.Read(bytes, 0, bytes.Length)) != 0) {
- dest.Write(bytes, 0, cnt);
- }
- }
- public static String createParameters(Dictionary<FOSParameter, String> parameterMap) {
- StringBuilder sb = new StringBuilder();
- if (parameterMap == null) {
- return "";
- }
- foreach (FOSParameter paramKey in parameterMap.Keys) {
- sb.AppendFormat("<param key=\"{0}\"><![CDATA[{1}]]></param>", GetFOSName(paramKey, "DCUMC"), parameterMap[paramKey]);
- }
- return sb.ToString();
- }
- public static String getNewEptFosString(String formServiceUrl, string baseConsentSvcURL, Dictionary<FOSParameter, String> globalParams, List<String> formIds, List<String> consentMstRids) {
- StringBuilder sb = new StringBuilder();
- sb.Append("<?xml version=\"1.0\" encoding=\"utf-8\"?>");
- sb.Append("<fos version=\"1.0\">");
- sb.Append("<global>");
- sb.Append(string.Format("<page-template path=\"{0}\" request-encode=\"utf-8\" response-encode=\"utf-8\">", formServiceUrl));
- sb.Append("<template-get-parameters>");
- sb.Append("<post-param key=\"parameter\"><![CDATA[{}]]></post-param>");
- sb.Append("</template-get-parameters>");
- sb.Append("<parameters>");
- sb.Append("</parameters>");
- sb.Append("</page-template>");
- sb.Append("</global>");
- sb.Append("<form-list>");
- // 서식 open 시퀀스
- var seq = 1;
- var i = 0;
- var path = baseConsentSvcURL + "FormSvc.aspx/";
- foreach (string formId in formIds) {
- // 서식을 불러오기 위한 서식 정보 목록 요소
- sb.Append(string.Format("<form name=\"{0}\" open-sequence=\"{1}\" path=\"{2}\" request-encode=\"utf-8\" response-encode=\"utf-8\" compression=\"false\">", "noname", seq++, path));
- sb.Append("<parameters>");
- sb.Append(createParameters(globalParams));
- sb.Append("</parameters>");
- sb.Append("<form-get-parameters>");
- sb.Append("<post-param key=\"use-repository\"><![CDATA[false]]></post-param>");
- // 서식을 불러오기 위한 서비스 파리미터
- sb.Append(String.Format("<post-param key=\"ConsentMstRid\"><![CDATA[{0}]]></post-param>", consentMstRids[i++].ToString()));
- sb.Append("<post-param key=\"DUMMY\"><![CDATA[DUMMY]]></post-param>");
- sb.Append("</form-get-parameters>");
- sb.Append("</form>");
- }
- sb.Append("</form-list>");
- sb.Append("</fos>");
- return sb.ToString();
- }
- /// <summary>
- /// V2 버전 FOS string 반환
- /// </summary>
- /// <param name="formServiceUrl">전자동의서 서버 URL</param>
- /// <param name="globalParams">글로벌 파라미터 목록</param>
- /// <param name="listParams">리스트 파라미터 목록</param>
- /// <returns>생성된 fos string</returns>
- public static String getNewFosString(String formServiceUrl, Dictionary<FOSParameter, String> globalParams, Dictionary<FOSParameter, string> fosFormParams, List<String> formIds) {
- StringBuilder sb = new StringBuilder();
- sb.Append("<?xml version=\"1.0\" encoding=\"utf-8\"?>");
- sb.Append("<fos version=\"1.0\">");
- sb.Append("<global>");
- sb.Append(string.Format("<page-template path=\"{0}\" request-encode=\"utf-8\" response-encode=\"utf-8\">", formServiceUrl));
- sb.Append("<template-get-parameters>");
- sb.Append("<post-param key=\"parameter\"><![CDATA[{}]]></post-param>");
- sb.Append("</template-get-parameters>");
- sb.Append("</page-template>");
- sb.Append("<parameters>");
- sb.Append(createParameters(globalParams));
- sb.Append("</parameters>");
- sb.Append("</global>");
- sb.Append("<form-list>");
- // 서식 open 시퀀스
- var seq = 1;
- foreach (string formId in formIds) {
- // 서식을 불러오기 위한 서식 정보 목록 요소
- sb.Append(string.Format("<form name=\"{0}\" open-sequence=\"{1}\" path=\"{2}\" request-encode=\"utf-8\" response-encode=\"utf-8\" compression=\"false\">", "noname", seq++, formServiceUrl));
- // 서식을 불러오기 위한 서비스 파리미터 상위 요소(서비스 호출시 사용)
- sb.Append("<form-get-parameters>");
- sb.Append("<post-param key=\"parameter\"><![CDATA[{");
- // 서식을 불러오기 위한 서비스 파리미터
- sb.Append(string.Format("\"formId\":{0}, \"formVersion\":\"{1}\"", formId, "-1"));
- sb.Append("}]]></post-param>");
- sb.Append("</form-get-parameters>");
- // 서식에 사용되는 파라미터 목록 요소
- sb.Append("<parameters>");
- sb.Append(createParameters(globalParams));
- sb.Append("</parameters>");
- // 서식에 필요한 첨부 파일 목록 요소
- //sb.Append("<attachments>");
- //<record-files> //음성 녹음 파일 목록 요소
- // <record-file> // 음성 녹음 파일
- //</record-files>
- //<pen-drawing> // 펜 정보를 불러올 수 있는 정보 목록 요소
- // <document/> // 본문(기존 디자인 되어있는 여역)의 펜 정보를 불러올 수 있는 URL 정보를 가지고 있는 요소
- // <pen-drawing-get-parameters/> // 본문(기존 디자인 되어있는 영역)의 펜 정보를 조회하기 위한 파라미터 묶음
- // <post-param> // 본문(기존 디자인 되어있는 영역)의 펜 정보를 조회하기 위한 파라미터
- //</pen-drawing>
- //<page-template-list> // 서식에 추가할 페이지 템플릿 리스트
- // <page_template> // 서식에 추가할 페이지 템플릿 정보
- // <template-get-parameters> // 페이지 템플릿 추가 시 사용되는 파라미터 묶음
- // <post-param> // 페이지 템플릿 추가 시 사용되는 파라미터
- //sb.Append("</attachments>");
- // 서식에서 불로올 데이터 정보
- //sb.Append("<form-data>");
- //sb.Append("</form-data>");
- // 서식에 반영되는 페이지 템플릿 목록을 조회하기 위한 상위 요소
- //sb.Append("<page-template>");
- //<template-get-parameters> //서식에 반영되는 페이지 템플릿 목록을 조회하기 위한 파라미터 묶음
- // <post_param> // 서식에 반영되는 페이지 템플릿 목록을 조회하기 위한 파라미터
- //sb.Append("</page-template>");
- sb.Append("</form>");
- }
- sb.Append("</form-list>");
- sb.Append("</fos>");
- return sb.ToString();
- }
- /// <summary>
- /// param, guid값을 넘겨받아 그를 포함하는 fos를 리턴한다.
- /// </summary>
- /// <param name="guid"></param>
- /// <param name="fosParams"></param>
- /// <returns></returns>
- public static string GetFosString(List<string> guids, string formServiceUrl, Dictionary<FOSParameter, string> fosGlobalParams, Dictionary<string, Dictionary<FOSParameter, string>> fosFormParams, string pInstCd) {
- StringBuilder fos = new StringBuilder();
- fos.Append("<?xml version=\"1.0\" encoding=\"utf-8\"?>");
- fos.Append("<fos version=\"1.0\">");
- fos.Append("<global>");
- fos.Append(GetParamsString(fosGlobalParams, pInstCd));
- fos.Append(string.Format("<page-template path=\"{0}\" request-encode=\"utf-8\" response-encode=\"utf-8\">", formServiceUrl));
- fos.Append("<template-get-parameters>");
- fos.Append("<post-param key=\"OP\"><![CDATA[PAGE_TEMPLATE]]></post-param>");
- fos.Append("<post-param key=\"PD\"><![CDATA[<data>");
- fos.Append("<action>GET_LIST</action>");
- fos.Append("<params>");
- fos.Append("<param name='adaptername'>defaultadapter</param>");
- fos.Append("</params>");
- fos.Append("</data>]]></post-param>");
- fos.Append("</template-get-parameters>");
- fos.Append("</page-template>");
- fos.Append("</global>");
- fos.Append("<form-list>");
- int openSeq = 1;
- foreach (string guid in guids) {
- fos.Append(string.Format("<form name=\"noname\" open-sequence=\"{0}\" path=\"{1}\" request-encode=\"utf-8\" response-encode=\"utf-8\">", openSeq, formServiceUrl));
- fos.Append("<parameters>");
- if (fosFormParams != null) {
- if (fosFormParams.ContainsKey(guid)) {
- Dictionary<FOSParameter, string> fosFormParamsByGuid = fosFormParams[guid];
- foreach (FOSParameter paramKey in fosFormParamsByGuid.Keys) {
- fos.Append(string.Format("<param name='{0}'><![CDATA[{1}]]></param>", GetFOSName(paramKey, pInstCd), fosFormParamsByGuid[paramKey]));
- }
- }
- }
- fos.Append("</parameters>");
- fos.Append("<form-get-parameters>");
- fos.Append("<post-param key=\"OP\"><![CDATA[VIEWER_FORM]]></post-param>");
- fos.Append("<post-param key=\"PD\"><![CDATA[<data>");
- fos.Append("<action>GET</action>");
- fos.Append("<params>");
- fos.Append("<param name='adaptername'>defaultadapter</param>");
- fos.Append("<param name='type'>guid</param>");
- fos.Append(string.Format("<param name='guid'>{0}</param>", guid));
- fos.Append("<param name='version'>-1</param>");
- fos.Append("</params>");
- fos.Append("</data>]]></post-param>");
- fos.Append("</form-get-parameters>");
- fos.Append("</form>");
- openSeq++;
- }
- fos.Append("</form-list>");
- fos.Append(" </fos>");
- return fos.ToString();
- }
- /// <summary>
- /// param, guid값을 넘겨받아 그를 포함하는 fos를 리턴한다.
- /// </summary>
- /// <param name="guid"></param>
- /// <param name="fosParams"></param>
- /// <returns></returns>
- public static string GetMultiFosString(string[] guids, string formServiceUrl, Dictionary<FOSParameter, string> fosGlobalParams, Dictionary<string, Dictionary<FOSParameter, string>> fosFormParams, string pInstCd) {
- StringBuilder fos = new StringBuilder();
- fos.Append("<?xml version=\"1.0\" encoding=\"utf-8\"?>");
- fos.Append("<fos version=\"1.0\">");
- fos.Append("<global>");
- fos.Append("<parameters>");
- if (fosGlobalParams != null) { fos.Append(GetParamsString(fosGlobalParams, pInstCd)); }
- fos.Append("</parameters>");
- fos.Append(string.Format("<page-template path=\"{0}\" request-encode=\"utf-8\" response-encode=\"utf-8\">", formServiceUrl));
- fos.Append("<template-get-parameters>");
- fos.Append("<post-param key=\"OP\"><![CDATA[PAGE_TEMPLATE]]></post-param>");
- fos.Append("<post-param key=\"PD\"><![CDATA[<data>");
- fos.Append("<action>GET_LIST</action>");
- fos.Append("<params>");
- fos.Append("<param name='adaptername'>defaultadapter</param>");
- fos.Append("</params>");
- fos.Append("</data>]]></post-param>");
- fos.Append("</template-get-parameters>");
- fos.Append("</page-template>");
- fos.Append("</global>");
- fos.Append("<form-list>");
- int openSeq = 1;
- foreach (string guid in guids) {
- fos.Append(string.Format("<form name=\"noname\" open-sequence=\"{0}\" path=\"{1}\" request-encode=\"utf-8\" response-encode=\"utf-8\">", openSeq, formServiceUrl));
- fos.Append("<parameters>");
- if (fosFormParams != null) {
- if (fosFormParams.ContainsKey(openSeq.ToString())) {
- Dictionary<FOSParameter, string> fosFormParamsByGuid = fosFormParams[openSeq.ToString()];
- foreach (FOSParameter paramKey in fosFormParamsByGuid.Keys) {
- fos.Append(string.Format("<param key='{0}'><![CDATA[{1}]]></param>", GetFOSName(paramKey, pInstCd), fosFormParamsByGuid[paramKey]));
- }
- }
- }
- fos.Append("</parameters>");
- fos.Append("<form-get-parameters>");
- fos.Append("<post-param key=\"OP\"><![CDATA[VIEWER_FORM]]></post-param>");
- fos.Append("<post-param key=\"PD\"><![CDATA[<data>");
- fos.Append("<action>GET</action>");
- fos.Append("<params>");
- fos.Append("<param name='adaptername'>defaultadapter</param>");
- fos.Append("<param name='type'>guid</param>");
- fos.Append(string.Format("<param name='guid'>{0}</param>", guid));
- fos.Append("<param name='version'>-1</param>");
- fos.Append("</params>");
- fos.Append("</data>]]></post-param>");
- fos.Append("</form-get-parameters>");
- fos.Append("</form>");
- openSeq++;
- }
- fos.Append("</form-list>");
- fos.Append(" </fos>");
- return fos.ToString();
- }
- public static string GetMultiFosString(string[] guids, string formServiceUrl, Dictionary<FOSParameter, string> fosGlobalParams, Dictionary<string, Dictionary<FOSParameter, string>> fosFormParams, string pInstCd, out string ocrtag) {
- ocrtag = string.Empty;
- StringBuilder fos = new StringBuilder();
- fos.Append("<?xml version=\"1.0\" encoding=\"utf-8\"?>");
- fos.Append("<fos version=\"1.0\">");
- fos.Append("<global>");
- fos.Append("<parameters>");
- if (fosGlobalParams != null) { fos.Append(GetParamsString(fosGlobalParams, pInstCd)); }
- fos.Append("</parameters>");
- fos.Append(string.Format("<page-template path=\"{0}\" request-encode=\"utf-8\" response-encode=\"utf-8\">", formServiceUrl));
- fos.Append("<template-get-parameters>");
- fos.Append("<post-param key=\"OP\"><![CDATA[PAGE_TEMPLATE]]></post-param>");
- fos.Append("<post-param key=\"PD\"><![CDATA[<data>");
- fos.Append("<action>GET_LIST</action>");
- fos.Append("<params>");
- fos.Append("<param name='adaptername'>defaultadapter</param>");
- fos.Append("</params>");
- fos.Append("</data>]]></post-param>");
- fos.Append("</template-get-parameters>");
- fos.Append("</page-template>");
- fos.Append("</global>");
- fos.Append("<form-list>");
- int openSeq = 1;
- foreach (string guid in guids) {
- fos.Append(string.Format("<form name=\"noname\" open-sequence=\"{0}\" path=\"{1}\" request-encode=\"utf-8\" response-encode=\"utf-8\">", openSeq, formServiceUrl));
- fos.Append("<parameters>");
- if (fosFormParams != null) {
- if (fosFormParams.ContainsKey(openSeq.ToString())) {
- Dictionary<FOSParameter, string> fosFormParamsByGuid = fosFormParams[openSeq.ToString()];
- foreach (FOSParameter paramKey in fosFormParamsByGuid.Keys) {
- fos.Append(string.Format("<param key='{0}'><![CDATA[{1}]]></param>", GetFOSName(paramKey, pInstCd), fosFormParamsByGuid[paramKey]));
- if (string.IsNullOrEmpty(ocrtag) && GetFOSName(paramKey, pInstCd).Equals("parCMSGBD_ocr_cd")) {
- ocrtag = fosFormParamsByGuid[paramKey];
- }
- }
- }
- }
- fos.Append("</parameters>");
- fos.Append("<form-get-parameters>");
- fos.Append("<post-param key=\"OP\"><![CDATA[VIEWER_FORM]]></post-param>");
- fos.Append("<post-param key=\"PD\"><![CDATA[<data>");
- fos.Append("<action>GET</action>");
- fos.Append("<params>");
- fos.Append("<param name='adaptername'>defaultadapter</param>");
- fos.Append("<param name='type'>guid</param>");
- fos.Append(string.Format("<param name='guid'>{0}</param>", guid));
- fos.Append("<param name='version'>-1</param>");
- fos.Append("</params>");
- fos.Append("</data>]]></post-param>");
- fos.Append("</form-get-parameters>");
- fos.Append("</form>");
- openSeq++;
- }
- fos.Append("</form-list>");
- fos.Append(" </fos>");
- return fos.ToString();
- }
- /// <summary>
- /// param, guid값을 넘겨받아 그를 포함하는 fos를 리턴한다.
- /// </summary>
- /// <param name="actionParams"></param>
- /// <param name="formServiceUrl"></param>
- /// <returns></returns>
- public static string GetFosStringForEpt(Dictionary<string, string> actionParams, string formServiceUrl, Dictionary<FOSParameter, string> fosGlobalParams, string pInstCd) {
- bool isCompress = Common.isCompressed;
- StringBuilder fos = new StringBuilder();
- fos.Append("<?xml version=\"1.0\" encoding=\"utf-8\"?>");
- fos.Append("<fos version=\"1.0\">");
- fos.Append("<global>");
- fos.Append(GetParamsString(fosGlobalParams, pInstCd));
- fos.Append(string.Format("<page-template path=\"{0}\" request-encode=\"utf-8\" response-encode=\"utf-8\">", formServiceUrl));
- fos.Append("<template-get-parameters>");
- fos.Append("<post-param key=\"OP\"><![CDATA[PAGE_TEMPLATE]]></post-param>");
- fos.Append("<post-param key=\"PD\"><![CDATA[<data>");
- fos.Append("<action>GET_LIST</action>");
- fos.Append("<params>");
- fos.Append("<param name='adaptername'>defaultadapter</param>");
- fos.Append("</params>");
- fos.Append("</data>]]></post-param>");
- fos.Append("</template-get-parameters>");
- fos.Append("</page-template>");
- fos.Append("</global>");
- fos.Append("<form-list>");
- fos.Append(string.Format("<form name=\"noname\" open-sequence=\"1\" path=\"{0}\" request-encode=\"utf-8\" response-encode=\"utf-8\">", formServiceUrl));
- //fos.Append(string.Format("<form name=\"noname\" open-sequence=\"1\" path=\"{0}\" request-encode=\"utf-8\" response-encode=\"utf-8\" {1}>", formServiceUrl, (isCompress) ? "compression =\"true\"" : ""));
- fos.Append("<parameters />");
- fos.Append("<form-get-parameters>");
- fos.Append("<post-param key=\"OP\"><![CDATA[VIEWER_DATA]]></post-param>");
- fos.Append("<post-param key=\"PD\"><![CDATA[<data>");
- fos.Append("<action>GET_DATA</action>");
- fos.Append("<params>");
- fos.Append("<param name='adaptername'>defaultadapter</param>");
- foreach (string paramKey in actionParams.Keys) {
- fos.Append(string.Format("<param name='{0}'>{1}</param>", paramKey, actionParams[paramKey]));
- }
- fos.Append("</params>");
- fos.Append("</data>]]></post-param>");
- fos.Append("</form-get-parameters>");
- fos.Append("</form>");
- fos.Append("</form-list>");
- fos.Append("</fos>");
- return fos.ToString();
- }
- public static string GetAllFOSParamString(string pInstCd) {
- Dictionary<FOSParameter, string> dic = new Dictionary<FOSParameter, string>();
- StringBuilder _sb = new StringBuilder();
- foreach (string s in Enum.GetNames(typeof(FOSParameter))) {
- _sb.AppendFormat("{0}:{1}{2}", GetFOSName((FOSParameter)Enum.Parse(typeof(FOSParameter), s), "org")
- , GetFOSName((FOSParameter)Enum.Parse(typeof(FOSParameter), s), pInstCd)
- , ";");
- }
- return _sb.ToString();
- }
- private static string GetParamsString(Dictionary<FOSParameter, string> fosParams, string pInstCd) {
- StringBuilder parametersOfFos = new StringBuilder();
- parametersOfFos.Append("<parameters>");
- foreach (FOSParameter paramKey in fosParams.Keys) {
- parametersOfFos.AppendFormat("<param key=\"{0}\"><![CDATA[{1}]]></param>", GetFOSName(paramKey, pInstCd), fosParams[paramKey]);
- }
- parametersOfFos.Append("</parameters>");
- return parametersOfFos.ToString();
- }
- private static string GetFOSName(FOSParameter pName, string pInstCd) {
- string _name = "";
- switch (pInstCd) {
- case "031":
- _name = m_FOSParamArr_031[Array.IndexOf(Enum.GetValues(pName.GetType()), pName)];
- break;
- case "032":
- _name = m_FOSParamArr_032[Array.IndexOf(Enum.GetValues(pName.GetType()), pName)];
- break;
- default:
- _name = m_FOSParamArr_org[Array.IndexOf(Enum.GetValues(pName.GetType()), pName)];
- break;
- }
- return _name;
- }
- private static string[] m_FOSParamArr_031 = { "parCMDCFT_device"
- , "parCMDCFT_1PrintIP"
- , "parCMDCHD_1PatientNo"
- , "parCMDCHD_1SexAge"
- , "parCMDCHD_1PatientNm"
- , "parCMDCHD_1SocialSecuNo"
- , "parNUR_Fast_HospitalroomNo"
- , "parCMDCHD_1VisitDt"
- , "parCMDCHD_1DepartmentNm"
- , "parCMDCFT_1PrintNm"
- , "parCMDCBD_PopupV1_SurgeryDepartment"
- , "parCMDCBD_PopupV1_SurgeryDoctor"
- , "parCMDCBD_PopupV1_DxNm"
- , "parCMDCBD_DiseaseBox_bp"
- , "parCMDCBD_DiseaseBox_dm"
- , "parCMDCBD_DiseaseBox_1CardioVascular"
- , "parCMDCBD_DiseaseBox_3Metabolic"
- , "parCMDCBD_DiseaseBox_2Respiratory"
- , "parCMDCBD_DiseaseBox_9History1"
- , "parCMDCBD_DiseaseBox_4UnusualConstitution2"
- , "parCMDCBD_DiseaseBox_6Medicine"
- , "parCMDCBD_DiseaseBox_8HabitSmoking"
- , "parCMDCBD_DiseaseBox_4UnusualConstitution1"
- , "parCMDCBD_DiseaseBox_9History2"
- , "parCMDCBD_DiseaseBox_7Airway"
- , "parCMDCBD_DiseaseBox_5Blood"
- , "parCMDCBD_status_etc"
- , "parCMDCBD_signdate"
- , "parCMDCBD_signtime"
- , "parCMDCFT_1PrintDt"
- , "parCMDCBD_Doctor_Doctor1Nm"
- , "parCMSGBD_ocr_cd"
- , "parCMSGBD_INPUTNm"
- , "parCMSGBD_INPUTSignature"
- , "parCMDCHD_1DepartmentCd"
- , "UrlParam"
- , "parCMSGBD_PT_address"
- , "parCMSGBD_PT_tel"
- , "parCMSGBD_Insukind"
- , "parCMSGBD_PT_birthday"
- , "IO_print_comment"
- , "parCMDCBD_PopupV1_OPNm"
- , "parCMSGBD_INPUTTelNo"
- , "parDEFAULT_DUTINSTCD"
- , "parDEFAULT_POPUP_PATH"
- , "parCMDCBD_PopupV1_SurgeryCommonDepartment"
- , "parCMDCBD_Anst1DrNm"
- , "parCMDCBD_Anst1DeptNm"
- , "parCMDCBD_Anst1CommonDeptNm"
- , "parCMDCBD_Anst2DrNm"
- , "parCMDCBD_Anst2DeptNm"
- , "parCMDCBD_Anst2CommonDeptNm"
- , "parCMDCBD_Anst3DrNm"
- , "parCMDCBD_Anst3DeptNm"
- , "parCMDCBD_Anst3CommonDeptNm"
- , "parCMSGBD_INPUTDeptcd"
- , "parCMSGBD_Cretno"
- , "parCMSGBD_ExplDrNm"
- , "parCMSGBD_ExplDrSignature"
- , "parCMSGBD_ExplDrTelNo"
- , "parCMDCBD_OpRsrvNo"
- , "parCMDCHD_1PatientNmFix"
- , "parCMSGBD_PT_birthdayFix"
- , "parCMSGBD_PT_telFix"
- , "parCMDCBD_SpDrYN"
- , "parCMDCBD_ContStartDate"
- , "parCMDCBD_ContEndDate"
- , "parCMDCBD_RoomCapa"
- , "parCMDCBD_ContTelNo"
- , "parCMDCBD_ContStaff1Name"
- , "parCMDCBD_ContStaff2Name"
- , "parCMDCBD_ContStaff3Name"
- // 경대병원 태그 추가
- , "tag1"
- , "tag2"
- , "tag3"
- , "tag4"
- , "tag5"
- , "tag6"
- , "tag7"
- , "tag8"
- , "tag9"
- , "tag10"
- , "parCMDCBD_CardNo"
- , "parCMSGBD_ExplDrNm_P"
- , "parCMSGBD_ExplDrTelNo_P"
- , "parCMSGBD_ExplDrSignature_P"
- , "parCMDCHD_1SocialSecuNo_org" };
- private static string[] m_FOSParamArr_032 = { "parCMDCFT_device"
- , "parCMDCFT_1PrintIP"
- , "parCMDCHD_1PatientNo"
- , "parCMDCHD_1SexAge"
- , "parCMDCHD_1PatientNm"
- , "parCMDCHD_1SocialSecuNo"
- , "parNUR_Fast_HospitalroomNo"
- , "parCMDCHD_1VisitDt"
- , "parCMDCHD_1DepartmentNm"
- , "parCMDCFT_1PrintNm"
- , "parCMDCBD_PopupV1_SurgeryDepartment"
- , "parCMDCBD_PopupV1_SurgeryDoctor"
- , "parCMDCBD_PopupV1_DxNm"
- , "parCMDCBD_DiseaseBox_bp"
- , "parCMDCBD_DiseaseBox_dm"
- , "parCMDCBD_DiseaseBox_1CardioVascular"
- , "parCMDCBD_DiseaseBox_3Metabolic"
- , "parCMDCBD_DiseaseBox_2Respiratory"
- , "parCMDCBD_DiseaseBox_9History1"
- , "parCMDCBD_DiseaseBox_4UnusualConstitution2"
- , "parCMDCBD_DiseaseBox_6Medicine"
- , "parCMDCBD_DiseaseBox_8HabitSmoking"
- , "parCMDCBD_DiseaseBox_4UnusualConstitution1"
- , "parCMDCBD_DiseaseBox_9History2"
- , "parCMDCBD_DiseaseBox_7Airway"
- , "parCMDCBD_DiseaseBox_5Blood"
- , "parCMDCBD_status_etc"
- , "parCMDCBD_signdate"
- , "parCMDCBD_signtime"
- , "parCMDCFT_1PrintDt"
- , "parCMDCBD_Doctor_Doctor1Nm"
- , "parCMSGBD_ocr_cd"
- , "parCMSGBD_INPUTNm"
- , "parCMSGBD_INPUTSignature"
- , "parCMDCHD_1DepartmentCd"
- , "UrlParam"
- , "parCMSGBD_PT_address"
- , "parCMSGBD_PT_tel"
- , "parCMSGBD_Insukind"
- , "parCMSGBD_PT_birthday"
- , "IO_print_comment"
- , "parCMDCBD_PopupV1_OPNm"
- , "parCMSGBD_INPUTTelNo"
- , "parDEFAULT_DUTINSTCD"
- , "parDEFAULT_POPUP_PATH"
- , "parCMDCBD_PopupV1_SurgeryCommonDepartment"
- , "parCMDCBD_Anst1DrNm"
- , "parCMDCBD_Anst1DeptNm"
- , "parCMDCBD_Anst1CommonDeptNm"
- , "parCMDCBD_Anst2DrNm"
- , "parCMDCBD_Anst2DeptNm"
- , "parCMDCBD_Anst2CommonDeptNm"
- , "parCMDCBD_Anst3DrNm"
- , "parCMDCBD_Anst3DeptNm"
- , "parCMDCBD_Anst3CommonDeptNm"
- , "parCMSGBD_INPUTDeptcd"
- , "parCMSGBD_Cretno"
- , "parCMSGBD_ExplDrNm"
- , "parCMSGBD_ExplDrSignature"
- , "parCMSGBD_ExplDrTelNo"
- , "parCMDCBD_OpRsrvNo"
- , "parCMDCHD_1PatientNmFix"
- , "parCMSGBD_PT_birthdayFix"
- , "parCMSGBD_PT_telFix"
- , "parCMDCBD_SpDrYN"
- , "parCMDCBD_ContStartDate"
- , "parCMDCBD_ContEndDate"
- , "parCMDCBD_RoomCapa"
- , "parCMDCBD_ContTelNo"
- , "parCMDCBD_ContStaff1Name"
- , "parCMDCBD_ContStaff2Name"
- , "parCMDCBD_ContStaff3Name"
- // 경대병원 태그 추가
- , "tag1"
- , "tag2"
- , "tag3"
- , "tag4"
- , "tag5"
- , "tag6"
- , "tag7"
- , "tag8"
- , "tag9"
- , "tag10"
- , "parCMDCBD_CardNo"
- , "parCMSGBD_ExplDrNm_P"
- , "parCMSGBD_ExplDrTelNo_P"
- , "parCMSGBD_ExplDrSignature_P"
- , "parCMDCHD_1SocialSecuNo_org" };
- private static string[] m_FOSParamArr_org = { "IO_device" //동작코드(T: 임시 저장, C: 인증 저장, P: 출력, CP: 삭제)
- , "PrintIp"
- , "IO_Pt_ID"
- , "IO_sex_age_y_m"
- , "IO_Pt_name"
- , "IO_JuminNo"
- , "IO_roomNo"
- , "IO_ADdate"
- , "IO_Dept"
- , "IO_formname"
- , "IO_OPdept"
- , "IO_Opdr"
- , "IO_Dx"
- , "IO_bp"
- , "IO_dm"
- , "IO_heart"
- , "IO_kidney"
- , "IO_respiration"
- , "IO_hx"
- , "IO_allergy"
- , "IO_drug"
- , "IO_smoking"
- , "IO_idio"
- , "IO_nacrotics"
- , "IO_airway"
- , "IO_hemorrhage"
- , "IO_status_etc"
- , "IO_signdate"
- , "IO_signtime"
- , "IO_printtime"
- , "IO_maindr"
- , "IO_ocr_cd"
- , "IO_INPUTNM"
- , "IO_SIGNIMG"
- , "IO_DeptCd"
- , "UrlParam"
- , "IO_Pt_address"
- , "IO_Pt_tel"
- , "IO_Insukind"
- , "IO_PT_birthday"
- , "IO_print_comment"
- , "OperationName"
- , "UserTelNo"
- , "Instcd"
- , "PopupPath"
- , "OpCommDeptName"
- , "AnstDrName"
- , "AnstDeptName1"
- , "AnstCommDeptName1"
- , "AnstDrName2"
- , "AnstDeptName2"
- , "AnstCommDeptName2"
- , "AnstDrName3"
- , "AnstDeptName3"
- , "AnstCommDeptName3"
- , "UserDeptCd"
- , "CretNo"
- , "parCMSGBD_ExplDrNm"
- , "parCMSGBD_ExplDrSignature"
- , "parCMSGBD_ExplDrTelNo"
- , "parCMDCBD_OpRsrvNo"
- , "PatientNameFix"
- , "PatientBirthDayFix"
- , "PatientTelNoFix"
- , "SpecDoctorYN"
- , "ContStartDate"
- , "ContEndDate"
- , "RoomCapa"
- , "ContTelNo"
- , "ContStaff1Name"
- , "ContStaff2Name"
- , "ContStaff3Name"
- // 경대병원 태그 추가
- , "tag1"
- , "tag2"
- , "tag3"
- , "tag4"
- , "tag5"
- , "tag6"
- , "tag7"
- , "tag8"
- , "tag9"
- , "tag10"
- , "CardNo"
- , "parCMSGBD_ExplDrNm_P"
- , "parCMSGBD_ExplDrTelNo_P"
- , "parCMSGBD_ExplDrSignature_P"
- , "parCMDCHD_1SocialSecuNo_org" };
- }
- public enum FOSParameter {
- Device,
- PrintIp,
- PatientCode,
- PatientSexAge,
- PatientName,
- PatientRRN,
- RoomNo,
- VisitDate,
- DeptName,
- FormName,
- OpDeptName,
- OpDoctorName,
- DiagName,
- BP,
- DM,
- Heart,
- Kidney,
- Respiration,
- MedicalHistory,
- Allergy,
- Drug,
- Smoking,
- Idiosyncrasy,
- Nacrotics,
- Airway,
- Hemorrhage,
- EtcStatus,
- SignDate,
- SignTime,
- PrintTime,
- MainDoctor,
- OCRCode,
- UserName,
- SignImage,
- DeptCode,
- ImageUploadPath,
- PatientAddress,
- PatientTelNo,
- Insukind,
- PatientBirthDay,
- PrintComment,
- OperationName,
- UserTelNo,
- Instcd,
- PopupPath,
- OpCommDeptName,
- AnstDrName1,
- AnstDeptName1,
- AnstCommDeptName1,
- AnstDrName2,
- AnstDeptName2,
- AnstCommDeptName2,
- AnstDrName3,
- AnstDeptName3,
- AnstCommDeptName3,
- UserDeptCd,
- CretNo,
- ExplDrName, // 설명의사 이름
- ExplDrSign, // 설명의사 사인 이미지
- ExplDrTelNo, // 설명의사 전화번호
- OpRsrvNo, // 수술 예약번호
- PatientNameFix,
- PatientBirthDayFix,
- PatientTelNoFix,
- SpecDoctorYN,
- ContStartDate,
- ContEndDate,
- RoomCapa,
- ContTelNo,
- ContStaff1Name,
- ContStaff2Name,
- ContStaff3Name,
- // 경대병원 태그 추가
- tag1,
- tag2,
- tag3,
- tag4,
- tag5,
- tag6,
- tag7,
- tag8,
- tag9,
- tag10,
- CardNo,
- ExplDrName_P,
- ExplDrTelNo_p,
- ExplDrSign_p,
- PatientRRNOrg
- }
- }
|