PlnSaleOrderBase.cs 6.6 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199
  1. using System;
  2. using System.Collections.Generic;
  3. using System.Linq;
  4. using System.Text;
  5. namespace Core.StlMes.Client.PlnSaleOrd
  6. {
  7. class PlnSaleOrderBase
  8. {
  9. /// <summary>
  10. /// 以“/”分解查询区合同行号,未合同号、合同行号
  11. /// </summary>
  12. /// <param name="ordNoSeq"></param>
  13. /// <param name="ordNo"></param>
  14. /// <param name="ordSeq"></param>
  15. public static void parsOrdNoSeq(string ordNoSeq, out string ordNo, out string ordSeq)
  16. {
  17. ordNo = "";
  18. ordSeq = "";
  19. ordNoSeq = ordNoSeq.Trim();
  20. if (!ordNoSeq.Equals(""))
  21. {
  22. if (ordNoSeq.Contains('/'))
  23. {
  24. string[] ord = ordNoSeq.Split('/');
  25. ordNo = ord[0];
  26. if (ord.Count() > 1)
  27. {
  28. ordSeq = ord[1];
  29. }
  30. }
  31. else
  32. {
  33. ordNo = ordNoSeq;
  34. }
  35. }
  36. }
  37. /// <summary>
  38. /// 生产分类
  39. /// </summary>
  40. /// <param name="endCode">末工序代码</param>
  41. /// <param name="prdcls">销售分类</param>
  42. /// <param name="gprocessC">加工二级工序</param>
  43. /// <returns></returns>
  44. public static string produceSort(string endCode, string prdcls, string gprocessC, string fprocessC)
  45. {
  46. string produceSort = "";
  47. if (endCode.CompareTo("D") < 0)
  48. {
  49. produceSort = "商品坯";
  50. }
  51. else if (prdcls.Equals("405004") || prdcls.Equals("接箍短节"))
  52. {
  53. produceSort = "接箍短节";
  54. }
  55. else if (gprocessC.Equals("B020"))
  56. {
  57. produceSort = "加工油套管";
  58. }
  59. else if (endCode.Equals("D"))
  60. {
  61. produceSort = "热轧成品";
  62. }
  63. else if (endCode.Equals("F") && fprocessC.Equals("B024"))
  64. {
  65. produceSort = "热轧成品";
  66. }
  67. else
  68. {
  69. produceSort = "加工光管";
  70. }
  71. return produceSort;
  72. }
  73. /// <summary>
  74. /// 判断坯料属性
  75. /// </summary>
  76. /// <param name="DinMaterialno">轧管投入物料码</param>
  77. /// <returns>坯料属性</returns>
  78. public static string stuffProperty(string DinMaterialno)
  79. {
  80. string stuffpro = "";
  81. if (!DinMaterialno.Equals("") && DinMaterialno.Length > 2)
  82. {
  83. switch (DinMaterialno.Substring(0, 2))
  84. {
  85. case "PA":
  86. stuffpro = "连铸坯";
  87. break;
  88. case "PB":
  89. stuffpro = "锻坯";
  90. break;
  91. case "PC":
  92. stuffpro = "轧坯";
  93. break;
  94. }
  95. }
  96. return stuffpro;
  97. }
  98. /// <summary>
  99. /// 判断管属性
  100. /// </summary>
  101. /// <param name="DinMaterialno">成品物料码</param>
  102. /// <returns>管属性</returns>
  103. public static string pipeProperty(string materialno)
  104. {
  105. string property = "";
  106. if (materialno != "" && materialno.Length > 2)
  107. {
  108. switch (materialno.Substring(0, 2))
  109. {
  110. case "AW":
  111. property = "热轧无缝成品管";
  112. break;
  113. case "AR":
  114. property = "热扩无缝成品管";
  115. break;
  116. case "AL":
  117. property = "冷拔无缝成品管";
  118. break;
  119. case "AH":
  120. property = "焊缝成品管";
  121. break;
  122. case "AE":
  123. property = "接箍/短接/附件";
  124. break;
  125. case "AP":
  126. property = "商品坯";
  127. break;
  128. }
  129. }
  130. return property;
  131. }
  132. /// <summary>
  133. /// 获取轧管去向
  134. /// </summary>
  135. /// <param name="dOutMaterialNo">轧制产出物料编码</param>
  136. /// <returns></returns>
  137. public static string getPlnOrdZgAbc(string wholeBacklog, string wholeBacklogDesc)
  138. {
  139. string zgAbc = "";//轧管去向1
  140. if (!wholeBacklog.Equals(""))
  141. {
  142. //if (dOutMaterialNo.Contains("AW"))
  143. //{
  144. // zgAbc = "A";
  145. //}
  146. //else if (dOutMaterialNo.Contains("WX"))
  147. //{
  148. // //string dMaterial = dOutMaterialNo.Substring(
  149. // // dOutMaterialNo.IndexOf(','),
  150. // // dOutMaterialNo.Length
  151. // // - dOutMaterialNo.IndexOf(','));
  152. // if (dOutMaterialNo.ToUpper().Contains("GZ"))
  153. // {
  154. // zgAbc = "C";
  155. // }
  156. // else
  157. // {
  158. // zgAbc = "B";
  159. // }
  160. //}
  161. if (!wholeBacklog.Contains("D"))
  162. {
  163. return "";
  164. }
  165. // 如果制程 轧管结束,返回A
  166. if (wholeBacklog.EndsWith("D"))
  167. {
  168. return "A";
  169. }
  170. else
  171. {
  172. // 如果制程二级工序包含仅探伤,并且不包含镦拔扩,加工,返回A
  173. if (wholeBacklogDesc.Contains("仅探伤") && !wholeBacklog.Contains("E")
  174. && !wholeBacklog.Contains("G"))
  175. {
  176. return "B";
  177. }
  178. // 如果制程包含镦拔扩,返回C
  179. if (wholeBacklog.Contains("E"))
  180. {
  181. return "C";
  182. }
  183. // 如果制程包含热处理但二级工序不包含仅探伤,则返回 C
  184. if (wholeBacklog.Contains("F") && !wholeBacklogDesc.Contains("仅探伤"))
  185. {
  186. return "C";
  187. }
  188. return "B";
  189. }
  190. }
  191. return zgAbc;
  192. }
  193. }
  194. }