LogicHandler.cs 6.2 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136
  1. using System.Collections.Generic;
  2. using System.Data;
  3. using System.Text;
  4. namespace UAS_AutoPass.ToolClass
  5. {
  6. class LogicHandler
  7. {
  8. public LogicHandler() { }
  9. public static DataHelper dh = new DataHelper();
  10. //用于拼接SQL
  11. static StringBuilder sql = new StringBuilder();
  12. //用于存放批量执行的SQL
  13. static List<string> sqls = new List<string>();
  14. public static bool CheckStepSNAndMacode(string iMakeCode, string iSourceCode, string iSN, string iUserCode, out string oMakeCode, out string oMsID, out string oErrorMessage)
  15. {
  16. oErrorMessage = "";
  17. oMakeCode = "";
  18. oMsID = "";
  19. string[] param = new string[] { iMakeCode, iSourceCode, iSN, iUserCode, oMakeCode, oMsID, oErrorMessage };
  20. dh.CallProcedure("CS_CHECKSTEPSNANDMACODE", ref param);
  21. oMakeCode = param[4];
  22. oMsID = param[5];
  23. oErrorMessage = param[6];
  24. if (oErrorMessage == "" || oErrorMessage == null || oErrorMessage == "null")
  25. return true;
  26. else
  27. return false;
  28. }
  29. public static void AutoPassLog(string iSN, string iSource, string iMakeCode, string iDate, string iStepCode, string iLineCode, string iFileName, string iIFNG)
  30. {
  31. sql.Clear();
  32. sql.Append("insert into AUTOSCANLOG(as_id,as_indate,as_testdate,as_sourcecode,as_stepcode,");
  33. sql.Append("as_linecode,as_makecode,as_sncode,as_filename,as_ifng)values(AUTOSCANLOG_seq.nextval,");
  34. sql.Append("sysdate,to_date('" + iDate + "','yyyy-mm-dd,hh24:mi:ss'),'" + iSource + "','" + iStepCode + "','" + iLineCode + "','" + iMakeCode + "',");
  35. sql.Append("'" + iSN + "','" + iFileName + "','" + iIFNG + "')");
  36. dh.ExecuteSql(sql.ToString(), "select");
  37. }
  38. public static void AutoPassJudge(string iSN, string iMakeCode, string iSource, string iFileName, string iLineCode, string iCombine)
  39. {
  40. //插入不良判断记录
  41. sql.Clear();
  42. sql.Append("insert into AUTOSCAN_REJUDGE(asr_id,asr_indate,asr_filename,asr_combinecode,asr_sourcecode,");
  43. sql.Append("asr_linecode,asr_makecode,asr_sncode) values(AUTOSCAN_REJUDGE_seq.nextval,sysdate,");
  44. sql.Append("'" + iFileName + "','" + iCombine + "','" + iSource + "','" + iLineCode + "','" + iMakeCode + "','" + iSN + "')");
  45. dh.ExecuteSql(sql.ToString(), "insert");
  46. }
  47. public static bool CheckUserLogin(string iUserCode, string iPassWord, out string oErrorMessage)
  48. {
  49. oErrorMessage = "";
  50. string SQL = "select em_code from employee where upper(em_code)=:UserName and em_password =:PassWord";
  51. DataTable dt;
  52. dt = (DataTable)dh.ExecuteSql(SQL, "select", iUserCode.ToUpper(), iPassWord);
  53. if (dt.Rows.Count > 0)
  54. return true;
  55. else
  56. {
  57. oErrorMessage = "用户名或者密码不正确!";
  58. return false;
  59. }
  60. }
  61. public static bool CheckUserAndResourcePassed(string iUserCode, string iSourceCode, out string oErrorMessage)
  62. {
  63. oErrorMessage = "";
  64. iUserCode = iUserCode.ToUpper();
  65. iSourceCode = iSourceCode.ToUpper();
  66. string SQL = "select em_code,em_type from employee where upper(em_code)=:UserName ";
  67. DataTable dt;
  68. dt = (DataTable)dh.ExecuteSql(SQL, "select", iUserCode);
  69. if (dt.Rows.Count > 0)
  70. {
  71. string em_type = dt.Rows[0]["em_type"].ToString();
  72. if (iSourceCode == "")
  73. {
  74. oErrorMessage = "岗位资源不允许为空";
  75. return false;
  76. }
  77. if (em_type == "admin")
  78. {
  79. if (dh.CheckExist("Source", "upper(sc_code)='" + iSourceCode + "' and sc_statuscode='AUDITED'"))
  80. {
  81. return true;
  82. }
  83. else
  84. {
  85. oErrorMessage = "岗位资源编号错误或者未审核!";
  86. return false;
  87. }
  88. }
  89. else
  90. {
  91. dt = dh.getFieldsDatasByCondition("cs$empgroup left join cs$userresource on ur_groupcode=eg_groupcode left join source on ur_resourcecode=sc_code", new string[] { "upper(ur_resourcecode) ur_resourcecode" }, "upper(eg_emcode)= '" + iUserCode + "' and sc_statuscode='AUDITED'");
  92. //如果存在该编号
  93. if (dt.Rows.Count > 0)
  94. {
  95. //判断如果多个岗位资源存在,用户输入的只要在其中就行
  96. for (int i = 0; i < dt.Rows.Count; i++)
  97. {
  98. if (dt.Rows[i]["ur_resourcecode"].ToString() == iSourceCode)
  99. return true;
  100. }
  101. oErrorMessage = "用户不处于当前资源所属分组!";
  102. }
  103. else
  104. oErrorMessage = "岗位资源编号错误或者未审核!";
  105. }
  106. }
  107. else
  108. oErrorMessage = "用户不存在!";
  109. return false;
  110. }
  111. public static bool SetStepResult(string iMakeCode, string iSourceCode, string iSN, string iMPKind, string iResult, string iUserCode, out string oErrorMessage)
  112. {
  113. return CS_SetResult(iMakeCode, iSourceCode, iSN, iUserCode, iResult, out oErrorMessage);
  114. }
  115. public static bool CS_SetResult(string iMakeCode, string iSourceCode, string iSN, string iUserCode, string iResult, out string oErrorMessage)
  116. {
  117. oErrorMessage = "";
  118. string[] param = new string[] { iMakeCode, iSourceCode, iSN, iUserCode, iResult, oErrorMessage };
  119. dh.CallProcedure("CS_SETSTEPRESULT", ref param);
  120. oErrorMessage = param[5];
  121. if (oErrorMessage == "" || oErrorMessage == null || oErrorMessage == "null")
  122. return true;
  123. else
  124. return false;
  125. }
  126. }
  127. }