圣珀
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

705 lines
28 KiB

2 years ago
  1. using ICS.WCF.Base;
  2. using System;
  3. using System.Collections.Generic;
  4. using System.Configuration;
  5. using System.Data;
  6. using System.Linq;
  7. using System.ServiceModel;
  8. using System.Text;
  9. using System.Threading.Tasks;
  10. using UFIDA.ISV.CreateLotMaster;
  11. using UFSoft.UBF.Service;
  12. using UFSoft.UBF.Util.Context;
  13. using www.ufida.org.EntityData;
  14. namespace UFIDA.ISV.CreateBFPMRecede
  15. {
  16. public class CustCreateBFPMRecedeSrvSub
  17. {
  18. public List<rtnRcvInfo> CustCreateBFPMRecede(List<rCVhead> rCVInfoList)
  19. {
  20. #region 接口传入参数日志
  21. StringBuilder firststrlog = new StringBuilder();
  22. firststrlog.AppendLine("传入数据开始");
  23. firststrlog.AppendLine("*****************************************************");
  24. foreach (var item in rCVInfoList)
  25. {
  26. firststrlog.AppendLine("来源委外采购订单号:" + item.srcDocPONo);
  27. firststrlog.AppendLine("组织编码:" + item.OrgCode);
  28. foreach (var line in item.lines)
  29. {
  30. firststrlog.AppendLine("来源委外采购订单行:" + line.srcDocPOLineNo);
  31. firststrlog.AppendLine("料品编码:" + line.ItemCode);
  32. firststrlog.AppendLine("料品数量:" + line.ReqQty);
  33. firststrlog.AppendLine("批号:" + line.Batch);
  34. firststrlog.AppendLine("仓库:" + line.WhCode);
  35. }
  36. }
  37. firststrlog.AppendLine("*****************************************************");
  38. firststrlog.AppendLine("传入数据结束");
  39. Appconfig.WriteLogFile(firststrlog.ToString(), "创建委外退料单");
  40. #endregion
  41. #region 服务调用框架结构
  42. UFIDAU9ISVPMIssueICreatPMRecedeIssueDocSVClient client = new UFIDAU9ISVPMIssueICreatPMRecedeIssueDocSVClient();
  43. //服务返回结果
  44. string[] returnItems;
  45. //返回异常信息,目前还没有使用此属性
  46. UFSoft.UBF.Exceptions1.MessageBase[] returnMsg;
  47. //上下文信息
  48. object context;
  49. //传入 参数
  50. UFIDAU9ISVPMIssuePMRecedeItemAndSnDTOData[] pOList;
  51. //空
  52. string[] splitBy = new string[] { };
  53. try
  54. {
  55. string OrgID = "";
  56. List<rtnRcvInfo> rtnpos = new List<rtnRcvInfo>();
  57. long PickID = 0;
  58. long ItemID = 0;
  59. if (rCVInfoList == null || rCVInfoList.Count == 0)
  60. {
  61. StringBuilder errormsg = new StringBuilder();
  62. errormsg.AppendLine("*********************报错记录开始*********************");
  63. errormsg.AppendLine("传入参数不能为空!");
  64. errormsg.AppendLine("*********************报错记录结束*********************");
  65. Appconfig.WriteLogFile(errormsg.ToString(), "创建委外退料单");
  66. rtnRcvInfo rtnpo = new rtnRcvInfo();
  67. rtnpo.IsSuccess = false;
  68. rtnpo.Message = "传入参数不能为空";
  69. rtnpos.Add(rtnpo);
  70. return rtnpos;
  71. }
  72. foreach (var item in rCVInfoList)
  73. {
  74. if (item.lines == null || item.lines.Count() == 0)
  75. {
  76. StringBuilder errormsg = new StringBuilder();
  77. errormsg.AppendLine("*********************报错记录开始*********************");
  78. errormsg.AppendLine("传入行信息不能为空!");
  79. errormsg.AppendLine("*********************报错记录结束*********************");
  80. Appconfig.WriteLogFile(errormsg.ToString(), "创建委外退料单");
  81. rtnRcvInfo rtnpo = new rtnRcvInfo();
  82. rtnpo.IsSuccess = false;
  83. rtnpo.Message = "传入行信息不能为空";
  84. rtnpos.Add(rtnpo);
  85. return rtnpos;
  86. }
  87. string orgsql = @"select ID from Base_Organization
  88. where Code='{0}'";
  89. orgsql = string.Format(orgsql, item.OrgCode);
  90. DataTable orgdt = DBhlper.Query(orgsql, Appconfig.GetU9ConnStr());
  91. if (orgdt.Rows.Count != 0)
  92. {
  93. OrgID = orgdt.Rows[0]["ID"].ToString();
  94. }
  95. else
  96. {
  97. StringBuilder errormsg = new StringBuilder();
  98. errormsg.AppendLine("*********************报错记录开始*********************");
  99. errormsg.AppendLine("传入组织编码:" + item.OrgCode + "不存在!");
  100. errormsg.AppendLine("*********************报错记录结束*********************");
  101. Appconfig.WriteLogFile(errormsg.ToString(), "创建委外退料单");
  102. rtnRcvInfo rtnpo = new rtnRcvInfo();
  103. rtnpo.IsSuccess = false;
  104. rtnpo.Message = "传入组织编码:" + item.OrgCode + "不存在!";
  105. rtnpos.Add(rtnpo);
  106. return rtnpos;
  107. }
  108. foreach (var _item in item.lines)
  109. {
  110. if (_item.srcDocPOLineNo == 0)
  111. {
  112. StringBuilder errormsg = new StringBuilder();
  113. errormsg.AppendLine("*********************报错记录开始*********************");
  114. errormsg.AppendLine("请传入来源单据行号!");
  115. errormsg.AppendLine("*********************报错记录结束*********************");
  116. Appconfig.WriteLogFile(errormsg.ToString(), "创建委外退料单");
  117. rtnRcvInfo rtnpo = new rtnRcvInfo();
  118. rtnpo.IsSuccess = false;
  119. rtnpo.Message = "请传入来源单据行号";
  120. rtnpos.Add(rtnpo);
  121. return rtnpos;
  122. }
  123. if (_item.ReqQty == 0)
  124. {
  125. StringBuilder errormsg = new StringBuilder();
  126. errormsg.AppendLine("*********************报错记录开始*********************");
  127. errormsg.AppendLine("传入数量不能为空!");
  128. errormsg.AppendLine("*********************报错记录结束*********************");
  129. Appconfig.WriteLogFile(errormsg.ToString(), "创建委外退料单");
  130. rtnRcvInfo rtnpo = new rtnRcvInfo();
  131. rtnpo.IsSuccess = false;
  132. rtnpo.Message = "传入数量不能为空";
  133. rtnpos.Add(rtnpo);
  134. return rtnpos;
  135. }
  136. }
  137. }
  138. //给传入参数赋值
  139. //pOList = SetrCVDtos(rCVInfoList);
  140. StringBuilder strlog = new StringBuilder();
  141. strlog.AppendLine("创建委外退料单");
  142. strlog.AppendLine("*****************************************************");
  143. List<UFIDAU9ISVPMIssuePMRecedeItemAndSnDTOData> rCVList = new List<UFIDAU9ISVPMIssuePMRecedeItemAndSnDTOData>();
  144. foreach (var rCVhead in rCVInfoList)
  145. {
  146. strlog.AppendLine("来源委外发料单号:" + rCVhead.srcDocPONo);
  147. foreach (rCVLine line in rCVhead.lines)
  148. {
  149. UFIDAU9ISVPMIssuePMRecedeItemAndSnDTOData rCV = new UFIDAU9ISVPMIssuePMRecedeItemAndSnDTOData();
  150. #region 获取委外发料单ID
  151. string sqlPick = @"select B.ID,B.POPick,B.IsIssued from PM_IssueDoc A
  152. LEFT JOIN PM_IssueDocLine B
  153. ON B.PMIssueDoc=A.ID
  154. where A.DocNo='" + rCVhead.srcDocPONo + "' AND B.LineNum='" + line.srcDocPOLineNo + "' AND A.Org='" + OrgID + "'";
  155. sqlPick = string.Format(sqlPick);
  156. DataTable dtPick = DBhlper.Query(sqlPick, Appconfig.GetU9ConnStr());
  157. if (dtPick.Rows.Count > 0)
  158. {
  159. if (dtPick.Rows[0]["IsIssued"].ToString() == "0")
  160. {
  161. rtnRcvInfo rtnpo = new rtnRcvInfo();
  162. rtnpo.IsSuccess = false;
  163. rtnpo.Message = "委外发料单" + rCVhead.srcDocPONo + "尚未进行发料确认,无法退料!";
  164. rtnpos.Add(rtnpo);
  165. return rtnpos;
  166. }
  167. else
  168. {
  169. rCV.m_pickID = long.Parse(dtPick.Rows[0]["POPick"].ToString());
  170. }
  171. }
  172. else
  173. {
  174. rtnRcvInfo rtnpo = new rtnRcvInfo();
  175. rtnpo.IsSuccess = false;
  176. rtnpo.Message = "委外发料单行不存在!";
  177. rtnpos.Add(rtnpo);
  178. return rtnpos;
  179. }
  180. #endregion
  181. #region 获取退料料品ID
  182. string sqlitem = @"select ID from CBO_ItemMaster
  183. where Code='" + line.ItemCode + "' AND Org='" + OrgID + "'";
  184. sqlitem = string.Format(sqlitem);
  185. DataTable dtitem = DBhlper.Query(sqlitem, Appconfig.GetU9ConnStr());
  186. if (dtitem.Rows.Count > 0)
  187. {
  188. ItemID = long.Parse(dtitem.Rows[0]["ID"].ToString());
  189. }
  190. else
  191. {
  192. rtnRcvInfo rtnpo = new rtnRcvInfo();
  193. rtnpo.IsSuccess = false;
  194. rtnpo.Message = "料品不存在!";
  195. rtnpos.Add(rtnpo);
  196. return rtnpos;
  197. }
  198. #endregion
  199. rCV.m_itemCode = line.ItemCode;
  200. rCV.m_recedeQty = line.ReqQty;
  201. rCV.m_recedeReason = 1;
  202. string sqlWH = @"select ID,Code from CBO_Wh
  203. WHERE Code='" + line.WhCode + "' AND Org='" + OrgID + "' ";
  204. sqlWH = string.Format(sqlWH);
  205. DataTable _dtWH = DBhlper.Query(sqlWH, Appconfig.GetU9ConnStr());
  206. string WHCode = string.Empty;
  207. long WHID = 0;
  208. if (_dtWH != null && _dtWH.Rows.Count > 0)
  209. {
  210. WHCode = _dtWH.Rows[0]["Code"].ToString();
  211. WHID = long.Parse(_dtWH.Rows[0]["ID"].ToString());
  212. }
  213. if (string.IsNullOrWhiteSpace(WHCode))
  214. {
  215. rtnRcvInfo rtnpo = new rtnRcvInfo();
  216. rtnpo.IsSuccess = false;
  217. rtnpo.Message = "未获取到仓库";
  218. rtnpos.Add(rtnpo);
  219. return rtnpos;
  220. }
  221. //仓库
  222. rCV.m_whCode = WHCode;
  223. rCV.m_wh = WHID;
  224. #region 创建批号接口调用
  225. string LotID = "";
  226. if (line.Batch != "")
  227. {
  228. CustCreateLotMaster LotMasterCreate = new CustCreateLotMaster();
  229. string lotWHCode = line.WhCode;
  230. string lotItemCode = line.ItemCode;
  231. string LotCode = line.Batch;
  232. LotMasterCreate.CustCreateRCVLotMaster(lotWHCode, lotItemCode, LotCode, OrgID, ref LotID);
  233. if (LotID != "")
  234. {
  235. rCV.m_lotMaster = long.Parse(LotID);
  236. rCV.m_lotNo = line.Batch;
  237. }
  238. }
  239. else
  240. {
  241. rCV.m_lotNo = "";
  242. }
  243. #endregion
  244. rCVList.Add(rCV);
  245. strlog.AppendLine("来源委外发料单号:" + line.ItemCode);
  246. strlog.AppendLine("料品编码:" + line.ItemCode);
  247. strlog.AppendLine("料品数量:" + line.ReqQty);
  248. strlog.AppendLine("退料仓库:" + WHCode);
  249. strlog.AppendLine("批号ID:" + LotID);
  250. }
  251. }
  252. pOList = rCVList.ToArray();
  253. (client.Endpoint.Binding as BasicHttpBinding).MaxReceivedMessageSize = int.MaxValue;
  254. (client.Endpoint.Binding as BasicHttpBinding).MaxBufferSize = int.MaxValue;
  255. List<string> shDocList = new List<string>();
  256. StringBuilder finalstr = new StringBuilder();
  257. //给上下文信息赋值
  258. context = CreateContextObj(OrgID);
  259. returnItems = client.Do(out returnMsg, context, pOList, false, 2);
  260. if (returnItems != null || returnItems.Count() > 0)
  261. {
  262. List<string> DocNoList = new List<string>();
  263. string SqlDocNo = "";
  264. for (int i = 0; i < returnItems.Count(); i++)
  265. {
  266. if (SqlDocNo == "")
  267. {
  268. SqlDocNo += "'" + returnItems[i].ToString() + "'";
  269. }
  270. else
  271. {
  272. SqlDocNo += ",'" + returnItems[i].ToString() + "'";
  273. }
  274. DocNoList.Add(returnItems[i].ToString());
  275. }
  276. #region 审核之前先写入确认时间
  277. string updatesql = @"update PM_IssueDoc set BusinessCreatedOn=GETDATE()
  278. where DocNo IN ({0}) AND IssueOrg='{1}'";
  279. updatesql = string.Format(updatesql, SqlDocNo, OrgID);
  280. DBhlper.EXecute(updatesql, Appconfig.GetU9ConnStr());
  281. #endregion
  282. strlog.AppendLine("开始调用审核委外退料单接口------------");
  283. BFPMRecedeApprove.CustApproveBFPMRecede.OperationResult shresult = new BFPMRecedeApprove.CustApproveBFPMRecede.OperationResult();
  284. BFPMRecedeApprove.CustApproveBFPMRecede PMRecedeApprove = new BFPMRecedeApprove.CustApproveBFPMRecede();
  285. shresult = PMRecedeApprove.CustBFPMRecedeApprove(DocNoList, OrgID, "审核");
  286. if (shresult.IsSuccess == true)
  287. {
  288. rtnRcvInfo rtnpo = new rtnRcvInfo();
  289. rtnpo.IsSuccess = true;
  290. rtnpo.Message = "委外退料单审核成功";
  291. rtnpo.DocNo = SqlDocNo;
  292. rtnpos.Add(rtnpo);
  293. }
  294. else
  295. {
  296. strlog.AppendLine("开始调用删除委外退料单接口------------");
  297. BFPMRecedeDelete.CustDeleteBFPMRecede.CustBFPMRecedeDelete(DocNoList, OrgID);
  298. rtnRcvInfo rtnpo = new rtnRcvInfo();
  299. rtnpo.IsSuccess = false;
  300. rtnpo.Message = "委外退料单审核失败";
  301. rtnpo.DocNo = shresult.MESSAGE;
  302. rtnpos.Add(rtnpo);
  303. return rtnpos;
  304. }
  305. }
  306. strlog.AppendLine("返回数据:");
  307. foreach (var info in rtnpos)
  308. {
  309. strlog.AppendLine("单号:" + info.DocNo);
  310. strlog.AppendLine("结果:" + info.IsSuccess);
  311. strlog.AppendLine("返回消息:" + info.Message);
  312. //foreach (var _line in info.rtnLines)
  313. //{
  314. // strlog.AppendLine("行号:" + _line.LineNo);
  315. //}
  316. }
  317. strlog.AppendLine("*****************************************************");
  318. Appconfig.WriteLogFile(strlog.ToString(), "创建委外退料单");
  319. return rtnpos;
  320. }
  321. catch (Exception ex)
  322. {
  323. //异常信息捕获
  324. List<rtnRcvInfo> rtnpos = new List<rtnRcvInfo>();
  325. rtnRcvInfo rtnpo = new rtnRcvInfo();
  326. rtnpo.IsSuccess = false;
  327. rtnpo.Message = GetExceptionMessage(ex);
  328. rtnpos.Add(rtnpo);
  329. StringBuilder strlog = new StringBuilder();
  330. strlog.AppendLine("创建委外退料单");
  331. strlog.AppendLine("*****************************************************");
  332. foreach (var item in rCVInfoList)
  333. {
  334. strlog.AppendLine("来源委外采购订单号:" + item.srcDocPONo);
  335. foreach (var line in item.lines)
  336. {
  337. strlog.AppendLine("来源委外采购订单行:" + line.srcDocPOLineNo);
  338. strlog.AppendLine("料品编码:" + line.ItemCode);
  339. strlog.AppendLine("料品数量:" + line.ReqQty);
  340. strlog.AppendLine("仓库:" + line.WhCode);
  341. }
  342. }
  343. strlog.AppendLine("返回消息:" + rtnpo.Message);
  344. strlog.AppendLine("*****************************************************");
  345. Appconfig.WriteLogFile(strlog.ToString(), "创建委外退料单");
  346. return rtnpos;
  347. }
  348. #endregion
  349. }
  350. #region 给传入参数赋值
  351. private UFIDAU9ISVPMIssuePMRecedeItemAndSnDTOData[] SetrCVDtos(List<rCVhead> headList)
  352. {
  353. List<UFIDAU9ISVPMIssuePMRecedeItemAndSnDTOData> rCVList = new List<UFIDAU9ISVPMIssuePMRecedeItemAndSnDTOData>();
  354. foreach (var rCVhead in headList)
  355. {
  356. foreach (rCVLine line in rCVhead.lines)
  357. {
  358. UFIDAU9ISVPMIssuePMRecedeItemAndSnDTOData rCV = new UFIDAU9ISVPMIssuePMRecedeItemAndSnDTOData();
  359. rCV.m_snCode = rCVhead.srcDocPONo;
  360. rCV.m_itemCode = line.ItemCode;
  361. rCV.m_recedeQty = line.ReqQty;
  362. rCV.m_whCode = line.WhCode;
  363. rCVList.Add(rCV);
  364. }
  365. }
  366. return rCVList.ToArray();
  367. }
  368. #endregion
  369. #region 表头类
  370. public class rCVhead
  371. {
  372. private rCVLine[] _lines;
  373. private string _srcDocPONo;
  374. private string _OrgCode;
  375. //private string _DocType;
  376. public rCVLine[] lines
  377. {
  378. get { return _lines; }
  379. set { _lines = value; }
  380. }
  381. /// <summary>
  382. /// 来源委外采购订单
  383. /// </summary>
  384. public string srcDocPONo
  385. {
  386. get { return _srcDocPONo; }
  387. set { _srcDocPONo = value; }
  388. }
  389. /// <summary>
  390. /// 组织编码
  391. /// </summary>
  392. public string OrgCode
  393. {
  394. get { return _OrgCode; }
  395. set { _OrgCode = value; }
  396. }
  397. //public string DocType
  398. //{
  399. // get { return _DocType; }
  400. // set { _DocType = value; }
  401. // }
  402. }
  403. #endregion
  404. #region 表体类
  405. public class rCVLine
  406. {
  407. /// <summary>
  408. /// 数量
  409. /// </summary>
  410. public decimal ReqQty { get; set; }
  411. public string WhCode { get; set; }
  412. //public string BinCode { get; set; }
  413. /// <summary>
  414. /// 炉号
  415. /// </summary>
  416. //public string FurnaceNo { get; set; }
  417. /// <summary>
  418. /// 来源委外采购订单料号
  419. /// </summary>
  420. public string ItemCode { get; set; }
  421. /// <summary>
  422. /// 来源委外采购订单行
  423. /// </summary>
  424. public int srcDocPOLineNo { get; set; }
  425. /// <summary>
  426. /// 库存批号
  427. /// </summary>
  428. public string Batch { get; set; }
  429. }
  430. #endregion
  431. #region 提取异常信息
  432. /// <summary>
  433. /// 提取异常信息
  434. /// </summary>
  435. /// <param name="ex"></param>
  436. private string GetExceptionMessage(Exception ex)
  437. {
  438. string faultMessage = "未知错误,请查看ERP日志!";
  439. System.TimeoutException timeoutEx = ex as System.TimeoutException;
  440. if (timeoutEx != null)
  441. {
  442. faultMessage = "访问服务超时,请修改配置信息!";
  443. }
  444. else
  445. {
  446. FaultException<ServiceException> faultEx = ex as FaultException<ServiceException>;
  447. if (faultEx == null)
  448. {
  449. faultMessage = ex.Message;
  450. }
  451. else
  452. {
  453. ServiceException serviceEx = faultEx.Detail;
  454. if (serviceEx != null && !string.IsNullOrEmpty(serviceEx.Message)
  455. && !serviceEx.Message.Equals("fault", StringComparison.OrdinalIgnoreCase))
  456. {
  457. // 错误信息在faultEx.Message中,请提取,
  458. // 格式为"Fault:料品不能为空,请录入\n 在....."
  459. int startIndex = serviceEx.Message.IndexOf(":");
  460. int endIndex = serviceEx.Message.IndexOf("\n");
  461. if (endIndex == -1)
  462. endIndex = serviceEx.Message.Length;
  463. if (endIndex > 0 && endIndex > startIndex + 1)
  464. {
  465. faultMessage = serviceEx.Message.Substring(startIndex + 1, endIndex - startIndex - 1);
  466. }
  467. else
  468. {
  469. faultMessage = serviceEx.Message;
  470. }
  471. }
  472. }
  473. }
  474. return faultMessage;
  475. }
  476. #endregion
  477. #region 给上下文信息赋值
  478. /// <summary>
  479. /// 给上下文信息赋值
  480. /// </summary>
  481. /// <returns></returns>
  482. private ThreadContext CreateContextObj(string OrgID)
  483. {
  484. // 实例化应用上下文对象
  485. ThreadContext thContext = new ThreadContext();
  486. System.Collections.Generic.Dictionary<object, object> ns = new Dictionary<object, object>();
  487. ns.Add("OrgID", OrgID);
  488. ns.Add("UserID", ConfigurationManager.AppSettings["userID"].ToString());
  489. ns.Add("UserCode", ConfigurationManager.AppSettings["userCode"].ToString());
  490. ns.Add("Datetime", DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss"));
  491. ns.Add("CultureName", ConfigurationManager.AppSettings["cultureName"].ToString());
  492. ns.Add("EnterpriseID", ConfigurationManager.AppSettings["enterpriseID"].ToString());
  493. ns.Add("DefaultCultureName", ConfigurationManager.AppSettings["cultureName"].ToString());
  494. thContext.nameValueHas = ns;
  495. return thContext;
  496. }
  497. #endregion
  498. #region 时间戳方法
  499. private DateTime TimestampToDateTime(long timestamp)
  500. {
  501. DateTime dateTimeStart = TimeZone.CurrentTimeZone.ToLocalTime(new DateTime(1970, 1, 1));
  502. long lTime = timestamp * 10000000;
  503. TimeSpan nowTimeSpan = new TimeSpan(lTime);
  504. DateTime resultDateTime = dateTimeStart.Add(nowTimeSpan);
  505. return resultDateTime;
  506. }
  507. #endregion
  508. }
  509. #region 上下文类信息
  510. public class contextInfo
  511. {
  512. private long _OrgID;
  513. private string _OrgCode;
  514. private long _UserID;
  515. private string _UserCode;
  516. private DateTime _Datetime;
  517. private string _CultureName;
  518. private string _EnterpriseID;
  519. /// <summary>
  520. /// 组织ID
  521. /// </summary>
  522. public long OrgID
  523. {
  524. get { return _OrgID; }
  525. set { _OrgID = value; }
  526. }
  527. /// <summary>
  528. /// 组织编码
  529. /// </summary>
  530. public string OrgCode
  531. {
  532. get { return _OrgCode; }
  533. set { _OrgCode = value; }
  534. }
  535. /// <summary>
  536. /// 操作员ID
  537. /// </summary>
  538. public long UserID
  539. {
  540. get { return _UserID; }
  541. set { _UserID = value; }
  542. }
  543. /// <summary>
  544. /// 操作员编码
  545. /// </summary>
  546. public string UserCode
  547. {
  548. get { return _UserCode; }
  549. set { _UserCode = value; }
  550. }
  551. /// <summary>
  552. /// 时间
  553. /// </summary>
  554. public DateTime Datetime
  555. {
  556. get { return _Datetime; }
  557. set { _Datetime = value; }
  558. }
  559. /// <summary>
  560. /// 语言
  561. /// </summary>
  562. public string CultureName
  563. {
  564. get { return _CultureName; }
  565. set { _CultureName = value; }
  566. }
  567. /// <summary>
  568. /// 企业ID号
  569. /// </summary>
  570. public string EnterpriseID
  571. {
  572. get { return _EnterpriseID; }
  573. set { _EnterpriseID = value; }
  574. }
  575. public contextInfo()
  576. {
  577. CultureName = "zh-CN";
  578. Datetime = DateTime.Now;
  579. }
  580. }
  581. #endregion
  582. #region 返回信息类
  583. public class rtnRcvInfo
  584. {
  585. public string DocNo { get; set; }
  586. public bool IsSuccess { get; set; }
  587. public string Message { get; set; }
  588. public rtnRcvLine[] rtnLines { get; set; }
  589. }
  590. public class rtnRcvLine
  591. {
  592. public int LineNo { get; set; }
  593. //public string srcDocNo { get; set; }
  594. //public int srcLineNo { get; set; }
  595. //public decimal reqQty { get; set; }
  596. //public string proCode { get; set; }
  597. }
  598. #endregion
  599. #region 表体类
  600. //public class rCVLine
  601. //{
  602. // /// <summary>
  603. // /// 来源采购订单
  604. // /// </summary>
  605. // public string srcDocPONo { get; set; }
  606. // private int _srcDocPOLineNo;
  607. // private decimal _reqQty;
  608. // public string WhCode { get; set; }
  609. // /// <summary>
  610. // /// 炉号
  611. // /// </summary>
  612. // public string FurnaceNo { get; set; }
  613. // /// <summary>
  614. // /// 数量
  615. // /// </summary>
  616. // public decimal ReqQty
  617. // {
  618. // get { return _reqQty; }
  619. // set { _reqQty = value; }
  620. // }
  621. // /// <summary>
  622. // /// 来源采购订单行
  623. // /// </summary>
  624. // public int srcDocPOLineNo
  625. // {
  626. // get { return _srcDocPOLineNo; }
  627. // set { _srcDocPOLineNo = value; }
  628. // }
  629. //}
  630. #endregion
  631. }