SignSave.js 4.0 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677
  1. /**
  2. * @group : 현대정보기술 의료기술팀
  3. * @ver : 2008.07.24
  4. * @by : 임혜정
  5. * @------------------------------------------------------------------
  6. * @type : function
  7. * @access : public
  8. * @desc : [인증저장] data setting
  9. * @param : pFlag[C:인증저장, T:임시저장], pFormcd[서식코드]
  10. * @return :
  11. * @------------------------------------------------------------------
  12. */
  13. function fSignSaveInho(pFlag, pFormcd){
  14. var retMsg = messageBox("저장하시겠습니까?", "S"); //yes=6, no=7
  15. if(retMsg == "6"){
  16. model.makeValue("/root/send/dnorrptinfo/certflag", pFlag); // 전자인증 여부( T : 임시저장, C : 인증저장)
  17. model.removenode("/root/main/baseinfo/dnorrptinfo/drnuflag"); // 의사_간호사 구분 플래그가 인증data에는 저장되지 않도록.
  18. if(pFlag == "C"){
  19. // 인증 로직 호출
  20. if(Sign.signprocess() == true){
  21. //의사_간호사 여부에 따라 인증번호가 다름.
  22. if(model.getValue("/root/send/dnorrptinfo/drnuflag") == "D") {
  23. model.makeValue("/root/send/signdata/signno", model.getValue("/root/main/baseinfo/dnorrptinfo/drsignno")); // 의사인증번호
  24. } else {
  25. model.makeValue("/root/send/signdata/signno", model.getValue("/root/main/baseinfo/dnorrptinfo/codisignno")); // 간호사인증번호
  26. }
  27. model.makeValue("/root/send/signdata/status", "i"); // 상태값(d:삭제)
  28. model.makeValue("/root/send/signdata/pid", model.getValue("/root/temp/patinfolist/pid")); // 등록번호
  29. model.makeValue("/root/send/signdata/orddd", model.getValue("/root/temp/patinfolist/orddd")); // 입원일자
  30. model.makeValue("/root/send/signdata/cretno", model.getValue("/root/temp/patinfolist/cretno")); // 생성번호
  31. model.makeValue("/root/send/signdata/recdd", getCurrentDate()); // 기록일자
  32. model.makeValue("/root/send/signdata/rectm", getCurrentTime()); // 기록시간
  33. model.makeValue("/root/send/signdata/orddeptcd", model.getValue("/root/temp/patinfolist/orddeptcd")); // 진료부서코드
  34. model.makeValue("/root/send/signdata/orddrid", model.getValue("/root/temp/patinfolist/orddrid")); // 진료의사ID
  35. model.makeValue("/root/send/signdata/signgenrflag", model.getValue("/root/temp/patinfolist/prcpgenrflag" )); // 외래/입원구분(코드정의서 M0010 참조)
  36. model.makeValue("/root/send/signdata/recsaveflag" , "Y"); // (기록일시 변경되는 경우 : Y, 그외 : N))
  37. model.makeValue("/root/send/signdata/signflag", "04"); // 서명자료구분 (01 : 진료, 02 : 간호, 03 : LIS, 04 : 진료지원 )
  38. model.makeValue("/root/send/signdata/formcd", pFormcd); // 각 기록지별 서식코드
  39. model.makeValue("/root/send/signdata/signbfcnts", Sign.signedInfos[1]); // 인증할 데이터 정보(미기록 노드 제거된 정보)
  40. model.makeValue("/root/send/signdata/signaftcnts", Sign.signedInfos[2]); // 공인인증 처리후 데이터
  41. }else{
  42. return false;
  43. }
  44. }
  45. if( submit("TXADC00904")){
  46. //fGetPatientInfo(); //이전 회신내용 조회
  47. }
  48. }
  49. }
  50. /**
  51. * @group : 현대정보기술 의료기술팀
  52. * @ver : 2008.07.24
  53. * @by : 임혜정
  54. * @------------------------------------------------------------------
  55. * @type : function
  56. * @access : public
  57. * @desc : [인증저장]인증데이터 생성함수 (Sign.signprocess()에서 호출)
  58. * @param :
  59. * @return :
  60. * @------------------------------------------------------------------
  61. */
  62. function fMake_SignData(){
  63. Sign.XPATH_MAINNODE = "/root/main"; // xrw의 기본 인스턴스가 MainData가 아니여서 변경함.
  64. Sign.addnode("/root/main/signdatalist/tdminfolist"); // addnode는 copynode와 같은 역할하는 함수. 인증경로로 copynode 함.
  65. }