SMRSP00600.js 4.7 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147
  1. /* ---------------------------------------------------------------------
  2. 단가계약 Master Setting
  3. - Version :
  4. 1) : Ver.1.00.01
  5. : Create By Chungpd
  6. : 2010.11.02
  7. ---------------------------------------------------------------------- */
  8. // 초기화하기
  9. function fInitialize()
  10. {
  11. // 금일 날자 설정
  12. var curdate = getCurrentDate();
  13. var cvtdate = curdate.toDate("YYYYMMDD");
  14. var contermfromdd = model.getValue(cal_contermfromdd.attribute("ref"));
  15. misfComboComCdListMulti("Z0007","cmb_instcd");
  16. model.setValue("/root/send/search/instcd" , getUserInfo("dutplceinstcd")); // 기관 설정
  17. model.setValue(cmb_instcd.attribute("ref"), getUserInfo("dutplceinstcd")); // 기관 설정
  18. model.setValue(cal_purccondd.attribute("ref") , curdate);
  19. model.setValue("/root/send/nosearch/instcd" , model.getValue(cmb_instcd.attribute("ref")));
  20. model.setValue("/root/send/nosearch/purccondd" , model.getValue(cal_purccondd.attribute("ref")));
  21. if (submit("TRRSP00102")){
  22. var purcconno = model.getValue("/root/main/list/purcconnoinfo/maxpurcconno/purcconno");
  23. model.setValue(ipt_purcconno.attribute("ref"), purcconno);
  24. }
  25. model.setValue("/root/send/nosearch/instcd" , "");
  26. model.setValue("/root/send/nosearch/purccondd" , "");
  27. model.refresh();
  28. }
  29. // 공통에 변경된 사항이 있는지를 인지하기 위한 함수 (불필요한 transaction을 줄이고자하는 의도로 작성했음)
  30. function fCmprChngVal()
  31. {
  32. var bfpath = "/root/submain/list/purcconinfo/purcconmainlist";
  33. var prestpath = "/root/main/list/purcconinfo/purcconmainlist";
  34. var chngflag = false;
  35. if ( model.getValue(bfpath+"/suplplcecd" ) != model.getValue(prestpath+"/suplplcecd" ) // 납품처코드
  36. || model.getValue(bfpath+"/contermfromdd") != model.getValue(prestpath+"/contermfromdd") // 계약기간(from)
  37. || model.getValue(bfpath+"/contermtodd" ) != model.getValue(prestpath+"/contermtodd" )){ // 계약기간(to)
  38. chngflag = true;
  39. }
  40. return chngflag;
  41. }
  42. // 저장 - 공통항목으로 Grouping된 것을 하위단에 풀어주며 풀린 데이타를 서버 PGM으로 넘기는 기능이 함수에 녹아있음.
  43. function fSave(){
  44. var updtdata = "", rowno = "";
  45. var goodcntnm = model.getValue("/root/main/list/purcconinfo/purcconmainlist/goodcntnm").getTrim();
  46. if (goodcntnm == ""){
  47. messageBox("참조할 계약건이 ", "E014");
  48. return;
  49. }
  50. if (fSaveValiChk() == false) return;
  51. for(i=1;i<grd_purccon.rows;i++){
  52. var valiflag = grd_purccon.valueMatrix(i, grd_purccon.colRef("valiflag"));
  53. if (fCmprChngVal() == true && valiflag == "Y"){
  54. if (grd_purccon.rowStatus(i) == "0"){
  55. grd_purccon.rowStatus(i) = "2";
  56. }
  57. grd_purccon.valueMatrix(i, grd_purccon.colRef("suplplcecd" )) = model.getValue(ipt_suplplcecd.attribute("ref"));
  58. grd_purccon.valueMatrix(i, grd_purccon.colRef("contermfromdd")) = model.getValue(cal_contermfromdd.attribute("ref"));
  59. grd_purccon.valueMatrix(i, grd_purccon.colRef("contermtodd" )) = model.getValue(cal_contermtodd.attribute("ref"));
  60. grd_purccon.valueMatrix(i, grd_purccon.colRef("fromdd" )) = model.getValue(cal_contermfromdd.attribute("ref"));
  61. }
  62. }
  63. updtdata = getGridUpdateData(grd_purccon);
  64. if(updtdata == ""){
  65. messageBox("저장할 데이타가 ","E014");
  66. return false;
  67. }
  68. model.setValue("/root/send/save/purcconlist", updtdata);
  69. if (submit("TXRSP00601")){
  70. messageBox("저장이","I002");
  71. }else{
  72. messageBox("저장","E009");
  73. return;
  74. }
  75. //ipt_purcconno.dispatch("xforms-value-changed");
  76. }
  77. // 저장하기전에 필수항목 점검
  78. function fSaveValiChk()
  79. {
  80. var smsg = "";
  81. if(cal_contermfromdd.value.getTrim() == "") smsg += "거래처, ";
  82. if(cal_contermfromdd.value.getTrim() == "") smsg += "계약기간(시작일), ";
  83. if(cal_contermtodd.value.getTrim() == "") smsg += "계약기간(마감일), ";
  84. if (smsg == ""){
  85. return true;
  86. }else{
  87. messageBox(smsg.substr(0, smsg.length-2) + "은(는)","I003");
  88. return false;
  89. }
  90. }
  91. // 데이타의 무결성을 위해 수정시 기본키로 잡혀 있는 계약일자와 번호는 절대 수정 불가능 상태로 만드는 기능
  92. function fDisabledControl(state)
  93. {
  94. cal_purccondd.disabled = state;
  95. ipt_purcconno.disabled = state;
  96. }