Analysis.cs 2.6 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768
  1. using System;
  2. namespace UAS_特殊解析规则
  3. {
  4. public class Analysis
  5. {
  6. /// <summary>
  7. /// Brand对应品牌,item对应DateCode,LotNo等,Data对应具体解析的数据
  8. /// </summary>
  9. /// <param name="Brand"></param>
  10. /// <param name="item"></param>
  11. /// <param name="Data"></param>
  12. /// <returns></returns>
  13. //Brand对应品牌,item对应DateCode,LotNo等,Data对应具体解析的数据
  14. public static string AnalysisData(string Brand, string item, string Data)
  15. {
  16. string ReturnData = "";
  17. switch (Brand)
  18. {
  19. //采集怡海能达村田的LotNo的解析规则
  20. case "MURATA":
  21. if (item.ToUpper() == "LOTNO" || item.ToUpper() == "DATECODE")
  22. {
  23. string Year = Data.Substring(2, 1);
  24. string Month = Data.Substring(3, 1);
  25. string Day = Data.Substring(4, 2);
  26. //处理年份
  27. //当前年份的前三位
  28. string CurrentYear_3 = DateTime.Now.Year.ToString().Substring(0, 3);
  29. //采集到的年份
  30. int CollectYear = int.Parse(CurrentYear_3 + Year);
  31. //当前的年份
  32. int CurrentYear = int.Parse(DateTime.Now.Year.ToString());
  33. //如果采集到的年份大于当前年份,将十年数-1
  34. if (CollectYear > CurrentYear)
  35. {
  36. Year = int.Parse(CurrentYear_3) - 1 + Year;
  37. }
  38. else
  39. {
  40. Year = CollectYear.ToString();
  41. }
  42. //处理月份
  43. switch (Month)
  44. {
  45. case "O":
  46. Month = "10";
  47. break;
  48. case "N":
  49. Month = "11";
  50. break;
  51. case "D":
  52. Month = "12";
  53. break;
  54. default:
  55. Month = "0" + Month;
  56. break;
  57. }
  58. ReturnData = Year + Month + Day;
  59. }
  60. break;
  61. default:
  62. break;
  63. }
  64. return ReturnData;
  65. }
  66. }
  67. }