LogicHandler.cs 2.9 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081
  1. using System;
  2. using System.Data;
  3. using UAS_LabelMachine.Entity;
  4. namespace UAS_LabelMachine.PublicMethod
  5. {
  6. class LogicHandler
  7. {
  8. static AccessDBHelper adh = SystemInf.adh;
  9. static DataHelper dh = SystemInf.dh;
  10. /// <summary>
  11. /// 更新为已复核
  12. /// </summary>
  13. /// <param name="iPibID"></param>
  14. public static void UpdateRowRechecked(object iPibID)
  15. {
  16. adh.UpdateByCondition("prodiobarcode", "pib_ifcheck=-1", "pib_id=" + iPibID);
  17. }
  18. /// <summary>
  19. /// 更新为已打印
  20. /// </summary>
  21. /// <param name="iPibID"></param>
  22. public static void UpdateRowPrinted(object iPibID)
  23. {
  24. adh.UpdateByCondition("prodiobarcode", "pib_ifprint=-1", "pib_id=" + iPibID);
  25. }
  26. /// <summary>
  27. /// 更新为已采集
  28. /// </summary>
  29. /// <param name="iPibID"></param>
  30. public static void UpdateRowPicked(object iPibID)
  31. {
  32. adh.UpdateByCondition("prodiobarcode", "pib_ifpick=-1,pib_modify=-1", "pib_id=" + iPibID);
  33. }
  34. public static void GetBarCode(string iPIID, string iPDID, int BarCodeNum, out string oBarCode)
  35. {
  36. oBarCode = "";
  37. string[] param = new string[] { iPIID, iPDID, BarCodeNum.ToString(), "", "", "", "", "", "", oBarCode };
  38. dh.CallProcedure("GETCUSTBARCODERULE", ref param);
  39. oBarCode = param[9];
  40. }
  41. /// <summary>
  42. /// 获取十六进制字节数组
  43. /// </summary>
  44. /// <param name="Data"></param>
  45. /// <returns></returns>
  46. public static byte[] SendPLCData(string Data)
  47. {
  48. byte[] arr = new byte[1];
  49. arr[0] = (byte)Convert.ToInt32(Data, 16);
  50. return arr;
  51. }
  52. /// <summary>
  53. /// 检测数据库未上传的数据,根据设置的上传条数上传数据
  54. /// </summary>
  55. /// <param name="iInoutno"></param>
  56. public static bool CheckUploadData(string iInoutno, int iUploadNum)
  57. {
  58. DataTable dt = (DataTable)adh.ExecuteSql("select pib_id,pib_outboxcode1,pib_outboxcode2,pib_lotno,pib_ifmodify,pib_datecode,pib_ifpick,-1 as pib_ifupload,pib_ifprint,pib_ifrecheck from prodiobarcode where pib_inoutno='" + iInoutno + "' and pib_ifupload=0 and pib_ifrecheck=-1", "select");
  59. //如果本地需要上传的数据已经达到了需要上传的条数
  60. if (iUploadNum <= dt.Rows.Count)
  61. {
  62. //上传数据
  63. dh.SaveDataTable(dt, "prodiobarcode", "pib_id");
  64. //更新本地数据为已上传
  65. if (adh.UpdateByCondition("prodiobarcode", "pib_ifupload=-1", "pib_inoutno='" + iInoutno + "' and pib_ifrecheck=-1 and pib_ifupload<>-1") > 0)
  66. {
  67. return true;
  68. }
  69. }
  70. return false;
  71. }
  72. }
  73. }