DeliveryService.cs 43 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659660661662663664665666667668669670671672673674675676677678679680681682683684685686687688689690691692693694695696697698699700701702703704705706707708709710711712713714715716717718719720721722723724725726727728729730731732733734735736737738739740741742743744745746747748749750751752753754755756757758759760761762763764765766767768769770771772773774775776777778779780781782783784785786787788789790791792793794795796797798799800801802803804805806807808809810811812813814815816817818819820821822823824825826827828829830831832833834835836837838839840841842843844845846847848849850851852853854855856857858859860861862863864865866867868869870871872873874875876877878879880881882883884885886887888889890891892893894895896897898899900901902903904905906907908909910911912913914915916917918919920921922923924925926927928929930
  1. using Muchinfo.MTPClient.Adapter.Abstract;
  2. using Muchinfo.MTPClient.Data;
  3. using Muchinfo.MTPClient.Data.Model.Delivery;
  4. using Muchinfo.MTPClient.Infrastructure.LinkProxy;
  5. using Muchinfo.MTPClient.Infrastructure.Utilities;
  6. using Muchinfo.MTPClient.IService;
  7. using Muchinfo.MTPClient.NetworkCore;
  8. using Muchinfo.MTPClient.Resources;
  9. using System;
  10. using System.Collections.Generic;
  11. using System.Collections.ObjectModel;
  12. using Muchinfo.MTPClient.Service.Utilities;
  13. using Muchinfo.MTPClient.Data.Enums;
  14. namespace Muchinfo.MTPClient.Service
  15. {
  16. /// <summary>
  17. /// 交收功能服务接口实现
  18. /// </summary>
  19. public class DeliveryService : IDeliveryService
  20. {
  21. private DeliveryAdapter _deliveryAdapter;
  22. public DeliveryService()
  23. {
  24. _deliveryAdapter = LinkManager.Instance.TradeAdapterFactory.CreateDeliveryAdapter();
  25. }
  26. /// <summary>
  27. /// 下交割申报
  28. /// </summary>
  29. /// <param name="entrustOrder">交割内容</param>
  30. /// <param name="successAction">成功回应</param>
  31. /// <param name="errorAction">失败回应</param>
  32. public void DeliveryApplyOrder(DeliveryOrderReqModel deliveryOrder, Action<DeliveryOrderRspModel> successAction,
  33. Action<ErrorEntity> errorAction)
  34. {
  35. var reqeust = _deliveryAdapter.ToDeliveryApplyReqOrder(deliveryOrder);
  36. var packgage = new TCPPackage() { Content = reqeust, FunCode = FuncCode.FID_DeliveryOrderReq };
  37. LinkManager.Instance.TradeTcpLinkProxy.SendPackage(packgage, new Action<TCPPackage>((revPackgage) =>
  38. {
  39. var responeEntrity = _deliveryAdapter.ToDeliveryApplyRspOrder(revPackgage.Content);
  40. //if (responeEntrity.RetCode == 0)
  41. //{
  42. // if (successAction != null)
  43. // {
  44. // //todo:生成委托单
  45. // successAction(responeEntrity.Entity);
  46. // }
  47. //}
  48. //else
  49. //{
  50. // if (errorAction != null)
  51. // {
  52. // //RequestFunc = 交割申报
  53. // errorAction(new ErrorEntity() { ReturnCode = responeEntrity.RetCode, ReturnDesc = responeEntrity.RetMessage, RequestFunc = Client_Resource.Resources_Service_DeliveryApply });
  54. // }
  55. //}
  56. }), new Action<int, string>((errorCode, errorDesc) =>
  57. { ////通信错误
  58. //if (errorAction != null)
  59. //{
  60. // errorAction(new ErrorEntity() { ReturnCode = errorCode, ReturnDesc = errorDesc, RequestFunc = Client_Resource.Resources_Service_DeliveryApply });
  61. //}
  62. }));
  63. }
  64. /// <summary>
  65. /// 查询交收单详情
  66. /// </summary>
  67. /// <param name="DeliveryId">交割单</param>
  68. /// <param name="successAction"></param>
  69. /// <param name="errorAction"></param>
  70. public void QueryDeliveryHoldersMoreDetail(uint DeliveryId, Action<List<DeliveryDetailWR>> successAction, Action<ErrorEntity> errorAction)
  71. {
  72. var queryCommonParams = new List<QueryCommonParam>();
  73. queryCommonParams.Add(new QueryCommonParam() { ParamKey = "deliveryid", ParamValue = DeliveryId + string.Empty });
  74. QueryCommonHelper.QueryCommon(QueryStatement.QueryDeliveryHolderDetail, queryCommonParams,
  75. new Action<List<DeliveryDetailWR>>((orderDetails) =>
  76. {
  77. if (successAction != null)
  78. {
  79. successAction(orderDetails);
  80. }
  81. }), (error) =>
  82. {
  83. if (errorAction != null)
  84. {
  85. //RequestFunc = 查询交收单详情
  86. error.RequestFunc = Client_Resource.Resources_Service_QueryDeliveryHoldersMoreDetail;
  87. errorAction(error);
  88. }
  89. });
  90. }
  91. /// <summary>
  92. /// 查询提货详情
  93. /// </summary>
  94. /// <param name="WRID">仓单ID</param>
  95. /// <param name="successAction"></param>
  96. /// <param name="errorAction"></param>
  97. public void QueryTakeGoodsMoreDetail(long STOREOUTID, Action<List<WarehouseRecieptModel>> successAction, Action<ErrorEntity> errorAction)
  98. {
  99. var queryCommonParams = new List<QueryCommonParam>();
  100. queryCommonParams.Add(new QueryCommonParam() { ParamKey = "STOREOUTID", ParamValue = STOREOUTID + string.Empty });
  101. QueryCommonHelper.QueryCommon(QueryStatement.QueryTakeGoodsMoreDetail, queryCommonParams,
  102. new Action<List<WarehouseRecieptModel>>((orderDetails) =>
  103. {
  104. if (successAction != null)
  105. {
  106. successAction(orderDetails);
  107. }
  108. }), (error) =>
  109. {
  110. if (errorAction != null)
  111. {
  112. //RequestFunc = 查询提货详情
  113. error.RequestFunc = Client_Resource.Resources_Service_QueryTakeGoodsMoreDetail;
  114. errorAction(error);
  115. }
  116. });
  117. }
  118. /// <summary>
  119. /// 查询交割单
  120. /// </summary>
  121. /// <param name="AccountId"></param>
  122. /// <param name="strarTime"></param>
  123. /// <param name="endTime"></param>
  124. /// <param name="successAction"></param>
  125. /// <param name="errorAction"></param>
  126. public void QueryDeliveryHolders(ulong AccountId, DateTime strarTime, DateTime endTime,
  127. Action<List<DryHoldDetail>> successAction, Action<ErrorEntity> errorAction)
  128. {
  129. var queryCommonParams = new List<QueryCommonParam>();
  130. queryCommonParams.Add(new QueryCommonParam() { ParamKey = "accountid", ParamValue = AccountId + string.Empty });
  131. queryCommonParams.Add(new QueryCommonParam() { ParamKey = "startDate", ParamValue = strarTime.ToString("yyyy-MM-dd") });
  132. queryCommonParams.Add(new QueryCommonParam() { ParamKey = "endDate", ParamValue = endTime.Date.ToString("yyyy-MM-dd") });
  133. QueryCommonHelper.QueryCommon(QueryStatement.QueryDeliveryHolder, queryCommonParams,
  134. new Action<List<DryHoldDetail>>((orderDetails) =>
  135. {
  136. //UserManager.UpdateCacheOrder(orderDetails);
  137. if (successAction != null)
  138. {
  139. successAction(orderDetails);
  140. }
  141. }), (error) =>
  142. {
  143. if (errorAction != null)
  144. {
  145. //RequestFunc = 查询交割单
  146. error.RequestFunc = Client_Resource.Resources_Service_QueryDeliveryHolders;
  147. errorAction(error);
  148. }
  149. });
  150. }
  151. /// <summary>
  152. /// 查询申报单
  153. /// </summary>
  154. /// <param name="AccountId"></param>
  155. /// <param name="strarTime"></param>
  156. /// <param name="endTime"></param>
  157. /// <param name="successAction"></param>
  158. /// <param name="errorAction"></param>
  159. public void QueryDeliveryEntrustOrders(ulong AccountId, DateTime strarTime, DateTime endTime, Action<List<DeliveryEntrustOrder>> successAction, Action<ErrorEntity> errorAction)
  160. {
  161. var queryCommonParams = new List<QueryCommonParam>();
  162. queryCommonParams.Add(new QueryCommonParam() { ParamKey = "accointId", ParamValue = AccountId + string.Empty });
  163. queryCommonParams.Add(new QueryCommonParam() { ParamKey = "startDate", ParamValue = strarTime.ToString("yyyy-MM-dd") });
  164. queryCommonParams.Add(new QueryCommonParam() { ParamKey = "endDate", ParamValue = endTime.Date.ToString("yyyy-MM-dd") });
  165. QueryCommonHelper.QueryCommon(QueryStatement.QueryDeliverEntrustOrder, queryCommonParams,
  166. new Action<List<DeliveryEntrustOrder>>((orderDetails) =>
  167. {
  168. //UserManager.UpdateCacheOrder(orderDetails);
  169. if (successAction != null)
  170. {
  171. successAction(orderDetails);
  172. }
  173. }), (error) =>
  174. {
  175. if (errorAction != null)
  176. {
  177. //RequestFunc = 查询申报单
  178. error.RequestFunc = Client_Resource.Resources_Service_QueryDeliveryEntrustOrders;
  179. errorAction(error);
  180. }
  181. });
  182. }
  183. /// <summary>
  184. /// 仓单查询
  185. /// </summary>
  186. /// <param name="accountId"></param>
  187. /// <param name="strarTime"></param>
  188. /// <param name="endTime"></param>
  189. /// <param name="successAction"></param>
  190. /// <param name="errorAction"></param>
  191. public void QueryDeliveryWarehouseOrders(SearchWarehouseOrdersType warehouseType,string WRCode, ulong accountId, DateTime strarTime, DateTime endTime,
  192. Action<List<DeliveryWarehouse>> successAction,
  193. Action<ErrorEntity> errorAction)
  194. {
  195. var queryCommonParams = new List<QueryCommonParam>();
  196. if (warehouseType == SearchWarehouseOrdersType.AccountId)
  197. {
  198. queryCommonParams.Add(new QueryCommonParam() { ParamKey = "accountId", ParamValue = accountId + string.Empty });
  199. queryCommonParams.Add(new QueryCommonParam() { ParamKey = "startDate", ParamValue = strarTime.ToString("yyyy-MM-dd") });
  200. queryCommonParams.Add(new QueryCommonParam() { ParamKey = "endDate", ParamValue = endTime.Date.ToString("yyyy-MM-dd") });
  201. }
  202. else
  203. {
  204. queryCommonParams.Add(new QueryCommonParam() { ParamKey = "WRCode", ParamValue = WRCode + string.Empty });
  205. }
  206. QueryCommonHelper.QueryCommon(QueryStatement.SearchDeliveryWarehouseOrder, queryCommonParams,
  207. new Action<List<DeliveryWarehouse>>((orderDetails) =>
  208. {
  209. UserManager.UpdateCacheOrder(orderDetails);
  210. if (successAction != null)
  211. {
  212. successAction(orderDetails);
  213. }
  214. }), (error) =>
  215. {
  216. if (errorAction != null)
  217. {
  218. //RequestFunc = 仓单查询
  219. error.RequestFunc = Client_Resource.Resources_Service_QueryDeliveryWarehouseOrders;
  220. errorAction(error);
  221. }
  222. });
  223. }
  224. /// <summary>
  225. /// 仓单配对查询
  226. /// </summary>
  227. /// <param name="DeliveryGoodsId"></param>
  228. /// <param name="successAction"></param>
  229. /// <param name="errorAction"></param>
  230. public void QueryDeliveryMatchOrders(uint DeliveryGoodsId, Action<List<DeliveryMatchModel>> successAction, Action<ErrorEntity> errorAction)
  231. {
  232. var queryCommonParams = new List<QueryCommonParam>();
  233. queryCommonParams.Add(new QueryCommonParam() { ParamKey = "DeliveryGoodsId", ParamValue = DeliveryGoodsId + string.Empty });
  234. QueryCommonHelper.QueryCommon(QueryStatement.SearchDeliveryMatchOrder, queryCommonParams,
  235. new Action<List<DeliveryMatchModel>>((orderDetails) =>
  236. {
  237. UserManager.UpdateCacheOrder(orderDetails);
  238. if (successAction != null)
  239. {
  240. successAction(orderDetails);
  241. }
  242. }), (error) =>
  243. {
  244. if (errorAction != null)
  245. {
  246. //RequestFunc = 仓单配对查询
  247. error.RequestFunc = Client_Resource.Resources_Service_QueryDeliveryMatchOrders;
  248. errorAction(error);
  249. }
  250. });
  251. }
  252. /// <summary>
  253. /// 提交仓单配对
  254. /// </summary>
  255. /// <param name="entrustOrder">配对仓单内容</param>
  256. /// <param name="successAction">成功回应</param>
  257. /// <param name="errorAction">失败回应</param>
  258. public void SubmitDeliveryMatchOrder(DeliveryOrderMatchReqModel deliveryMatchOrder, Action<DeliveryOrderMatchRspModel> successAction,
  259. Action<ErrorEntity> errorAction)
  260. {
  261. return;
  262. //var reqeust = _deliveryAdapter.ToDeliveryMatchReqOrder(deliveryMatchOrder);
  263. //var packgage = new TCPPackage() { Content = reqeust, FunCode = FuncCode.FID_DeliveryOrderMatchReq };
  264. //LinkManager.Instance.TradeTcpLinkProxy.SendPackage(packgage, new Action<TCPPackage>((revPackgage) =>
  265. //{
  266. // var responeEntrity = _deliveryAdapter.ToDeliveryMatchRspOrder(revPackgage.Content);
  267. // if (responeEntrity.RetCode == 0)
  268. // {
  269. // //todo:生成委托单
  270. // successAction(responeEntrity.Entity);
  271. // }
  272. // else
  273. // {
  274. // if (errorAction != null)
  275. // {
  276. // //RequestFunc = 提交仓单配对
  277. // errorAction(new ErrorEntity() { ReturnCode = responeEntrity.RetCode, ReturnDesc = responeEntrity.RetMessage, RequestFunc = Client_Resource.Resources_Service_SubmitDeliveryMatchOrder });
  278. // }
  279. // }
  280. //}), new Action<int, string>((errorCode, errorDesc) =>
  281. //{ ////通信错误
  282. // if (errorAction != null)
  283. // {
  284. // errorAction(new ErrorEntity() { ReturnCode = errorCode, ReturnDesc = errorDesc, RequestFunc = Client_Resource.Resources_Service_SubmitDeliveryMatchOrder });
  285. // }
  286. //}));
  287. }
  288. /// <summary>
  289. /// 查询提货仓单
  290. /// </summary>
  291. /// <param name="AccountId">账号</param>
  292. /// <param name="strarTime">开始时间</param>
  293. /// <param name="endTime">结束时间</param>
  294. /// <param name="successAction"></param>
  295. /// <param name="errorAction"></param>
  296. public void QueryTakaDeliveryGoodsOrders(ulong AccountId, DateTime strarTime, DateTime endTime,
  297. Action<List<TakaDeliveryGoodsQueryModel>> successAction,
  298. Action<ErrorEntity> errorAction)
  299. {
  300. var queryCommonParams = new List<QueryCommonParam>();
  301. queryCommonParams.Add(new QueryCommonParam() { ParamKey = "accountId", ParamValue = AccountId + string.Empty });
  302. queryCommonParams.Add(new QueryCommonParam() { ParamKey = "startDate", ParamValue = strarTime.ToString("yyyy-MM-dd") });
  303. queryCommonParams.Add(new QueryCommonParam() { ParamKey = "endDate", ParamValue = endTime.Date.ToString("yyyy-MM-dd HH:mm:ss") });
  304. QueryCommonHelper.QueryCommon(QueryStatement.SearchTakaDeliveryGoodsQuery, queryCommonParams,
  305. new Action<List<TakaDeliveryGoodsQueryModel>>((orderDetails) =>
  306. {
  307. UserManager.UpdateCacheOrder(orderDetails);
  308. if (successAction != null)
  309. {
  310. successAction(orderDetails);
  311. }
  312. }), (error) =>
  313. {
  314. if (errorAction != null)
  315. {
  316. //RequestFunc = 查询提货仓单
  317. error.RequestFunc = Client_Resource.Resources_Service_QueryTakaDeliveryGoodsOrders;
  318. errorAction(error);
  319. }
  320. });
  321. }
  322. /// <summary>
  323. /// 提货申请-查询
  324. /// </summary>
  325. /// <param name="accountId"></param>
  326. /// <param name="successAction"></param>
  327. /// <param name="errorAction"></param>
  328. public void QueryTakaDeliveryGoodsOrdersAppy(ulong accountId, Action<List<TakaDeliveryGoodsApplyModel>> successAction, Action<ErrorEntity> errorAction)
  329. {
  330. var queryCommonParams = new List<QueryCommonParam>();
  331. queryCommonParams.Add(new QueryCommonParam() { ParamKey = "accountId", ParamValue = accountId + string.Empty });
  332. QueryCommonHelper.QueryCommon(QueryStatement.SearchTakaDeliveryGoodsApply, queryCommonParams,
  333. new Action<List<TakaDeliveryGoodsApplyModel>>((orderDetails) =>
  334. {
  335. UserManager.UpdateCacheOrder(orderDetails);
  336. if (successAction != null)
  337. {
  338. successAction(orderDetails);
  339. }
  340. }), (error) =>
  341. {
  342. if (errorAction != null)
  343. {
  344. //RequestFunc = 提货申请查询
  345. error.RequestFunc = Client_Resource.Resources_Service_QueryTakaDeliveryGoodsOrdersAppy;
  346. errorAction(error);
  347. }
  348. });
  349. }
  350. /// <summary>
  351. /// 交易商品-交割关系表-配置信息
  352. /// </summary>
  353. /// <param name="goodId"></param>
  354. /// <param name="successAction"></param>
  355. /// <param name="errorAction"></param>
  356. public void QueryDeliveryGoodsRelationConfig(uint goodsId, Action<List<DeliveryConfig>> successAction, Action<ErrorEntity> errorAction)
  357. {
  358. var queryCommonParams = new List<QueryCommonParam>();
  359. queryCommonParams.Add(new QueryCommonParam() { ParamKey = "goodsId", ParamValue = goodsId + string.Empty });
  360. QueryCommonHelper.QueryCommon(QueryStatement.SearchDeliveryGoodsRelationConfig, queryCommonParams,
  361. new Action<List<DeliveryConfig>>((configDetails) =>
  362. {
  363. UserManager.UpdateCacheOrder(configDetails);
  364. if (successAction != null)
  365. {
  366. successAction(configDetails);
  367. }
  368. }), (error) =>
  369. {
  370. if (errorAction != null)
  371. {
  372. //RequestFunc = 交易商品配置信息
  373. error.RequestFunc = Client_Resource.Resources_Service_Complete;
  374. errorAction(error);
  375. }
  376. });
  377. }
  378. /// <summary>
  379. /// 交易商品-交割规则查询
  380. /// </summary>
  381. /// <param name="deliveryGoodsId"></param>
  382. /// <param name="ruleId"></param>
  383. /// <param name="successAction"></param>
  384. /// <param name="errorAction"></param>
  385. public void QueryDeliveryRule(uint deliveryGoodsId,uint ruleId, Action<List<DeliveryRuleModel>> successAction, Action<ErrorEntity> errorAction)
  386. {
  387. var queryCommonParams = new List<QueryCommonParam>();
  388. queryCommonParams.Add(new QueryCommonParam() { ParamKey = "deliverygoodsid", ParamValue = deliveryGoodsId + string.Empty });
  389. queryCommonParams.Add(new QueryCommonParam() { ParamKey = "ruleid", ParamValue = ruleId + string.Empty });
  390. QueryCommonHelper.QueryCommon(QueryStatement.queryDeliveryRuleVal, queryCommonParams,
  391. new Action<List<DeliveryRuleModel>>((ruleDetails) =>
  392. {
  393. UserManager.UpdateCacheOrder(ruleDetails);
  394. if (successAction != null)
  395. {
  396. successAction(ruleDetails);
  397. }
  398. }), (error) =>
  399. {
  400. if (errorAction != null)
  401. {
  402. //RequestFunc = 交割规则查询
  403. error.RequestFunc = Client_Resource.Resources_Service_QueryDeliveryRule;
  404. errorAction(error);
  405. }
  406. });
  407. }
  408. /// <summary>
  409. /// 提交-提货申请/撤销:OperateType操作类型:1=>申请,2=>撤销
  410. /// </summary>
  411. /// <param name="OutStoreReqModel">提货申请内容</param>
  412. /// <param name="successAction">成功回应</param>
  413. /// <param name="errorAction">失败回应</param>
  414. public void SubmitOutStoreReq(OutStoreReqModel reqModel, Action<OutStoreRspModel> successAction,
  415. Action<ErrorEntity> errorAction)
  416. {
  417. return;
  418. //var reqeust = _deliveryAdapter.ToOutStoreReq(reqModel);
  419. //var packgage = new TCPPackage() { Content = reqeust, FunCode = FuncCode.FID_OutStoreReq };
  420. //LinkManager.Instance.TradeTcpLinkProxy.SendPackage(packgage, new Action<TCPPackage>((revPackgage) =>
  421. //{
  422. // var responeEntrity = _deliveryAdapter.ToOutStoreRsp(revPackgage.Content);
  423. // if (responeEntrity.RetCode == 0)
  424. // {
  425. // //todo:生成委托单
  426. // successAction(responeEntrity.Entity);
  427. // }
  428. // else
  429. // {
  430. // if (errorAction != null)
  431. // {
  432. // //RequestFunc = 提货申请
  433. // errorAction(new ErrorEntity() { ReturnCode = responeEntrity.RetCode, ReturnDesc = responeEntrity.RetMessage, RequestFunc = Client_Resource.Resources_Service_SubmitOutStoreReq });
  434. // }
  435. // }
  436. //}), new Action<int, string>((errorCode, errorDesc) =>
  437. //{ ////通信错误
  438. // if (errorAction != null)
  439. // {
  440. // errorAction(new ErrorEntity() { ReturnCode = errorCode, ReturnDesc = errorDesc, RequestFunc = Client_Resource.Resources_Service_SubmitOutStoreReq });
  441. // }
  442. //}));
  443. }
  444. /// <summary>
  445. /// 确认-交收现货付款请求
  446. /// </summary>
  447. /// <param name="ReceiveConfirmReqModel"></param>
  448. /// <param name="successAction"></param>
  449. /// <param name="errorAction"></param>
  450. public void SubmitReceiveConfirmReq(ReceiveConfirmReqModel reqModel, Action<ReceiveConfirmRspModel> successAction,
  451. Action<ErrorEntity> errorAction)
  452. {
  453. var reqeust = _deliveryAdapter.ToReceiveConfirmReq(reqModel);
  454. var packgage = new TCPPackage() { Content = reqeust, FunCode = FuncCode.FID_ReceiveConfirmReq };
  455. LinkManager.Instance.TradeTcpLinkProxy.SendPackage(packgage, new Action<TCPPackage>((revPackgage) =>
  456. {
  457. var responeEntrity = _deliveryAdapter.ToReceiveConfirmRsp(revPackgage.Content);
  458. if (responeEntrity.RetCode == 0)
  459. {
  460. //todo:生成委托单
  461. successAction(responeEntrity.Entity);
  462. }
  463. else
  464. {
  465. if (errorAction != null)
  466. {
  467. //RequestFunc = 交收现货付款请求
  468. errorAction(new ErrorEntity() { ReturnCode = responeEntrity.RetCode, ReturnDesc = responeEntrity.RetMessage, RequestFunc = Client_Resource.Resources_Service_ReceiveConfirmReq });
  469. }
  470. }
  471. }), new Action<int, string>((errorCode, errorDesc) =>
  472. { ////通信错误
  473. if (errorAction != null)
  474. {
  475. errorAction(new ErrorEntity() { ReturnCode = errorCode, ReturnDesc = errorDesc, RequestFunc = Client_Resource.Resources_Service_ReceiveConfirmReq });
  476. }
  477. }));
  478. }
  479. /// <summary>
  480. /// 查询配对仓单请求
  481. /// </summary>
  482. /// <param name="ReceiveConfirmReqModel">查询配对仓单内容</param>
  483. /// <param name="successAction">成功回应</param>
  484. /// <param name="errorAction">失败回应</param>
  485. public void SearchMatchWarehouseReq(WrPairReqModel reqModel, Action<WrPairRspModel> successAction,
  486. Action<ErrorEntity> errorAction)
  487. {
  488. return;
  489. //var reqeust = _deliveryAdapter.ToWrPairReq(reqModel);
  490. //var packgage = new TCPPackage() { Content = reqeust, FunCode = FuncCode.FID_WrPairReq };
  491. //LinkManager.Instance.TradeTcpLinkProxy.SendPackage(packgage, new Action<TCPPackage>((revPackgage) =>
  492. //{
  493. // var responeEntrity = _deliveryAdapter.ToWrPairRsp(revPackgage.Content);
  494. // if (responeEntrity.RetCode == 0)
  495. // {
  496. // //todo:生成委托单
  497. // successAction(responeEntrity.Entity);
  498. // }
  499. // else
  500. // {
  501. // if (errorAction != null)
  502. // {
  503. // //RequestFunc = 查询配对仓单请求
  504. // errorAction(new ErrorEntity() { ReturnCode = responeEntrity.RetCode, ReturnDesc = responeEntrity.RetMessage, RequestFunc = Client_Resource.Resources_Service_SearchMatchWarehouseReq });
  505. // }
  506. // }
  507. //}), new Action<int, string>((errorCode, errorDesc) =>
  508. //{ ////通信错误
  509. // if (errorAction != null)
  510. // {
  511. // errorAction(new ErrorEntity() { ReturnCode = errorCode, ReturnDesc = errorDesc, RequestFunc = Client_Resource.Resources_Service_SearchMatchWarehouseReq });
  512. // }
  513. //}));
  514. }
  515. /// <summary>
  516. /// 查询交割关系表LIST
  517. /// </summary>
  518. /// <param name="successAction"></param>
  519. /// <param name="errorAction"></param>
  520. public void QueryGoodsDeliveryRelationList(Action<List<GoodsDeliveryRelationModel>> successAction, Action<ErrorEntity> errorAction)
  521. {
  522. var queryCommonParams = new List<QueryCommonParam>();
  523. queryCommonParams.Add(new QueryCommonParam() { ParamKey = "deliverygoodsid", ParamValue = string.Empty });
  524. QueryCommonHelper.QueryCommon(QueryStatement.SearchGoodsDeliveryRelationList, queryCommonParams,
  525. new Action<List<GoodsDeliveryRelationModel>>((itemDetails) =>
  526. {
  527. if (successAction != null)
  528. {
  529. successAction(itemDetails);
  530. }
  531. }), (error) =>
  532. {
  533. if (errorAction != null)
  534. {
  535. //RequestFunc = 查询交割关系表
  536. error.RequestFunc = Client_Resource.Resources_Service_QueryGoodsDeliveryRelationList;
  537. errorAction(error);
  538. }
  539. });
  540. }
  541. /// <summary>
  542. /// 查询P+X交割商品信息
  543. /// </summary>
  544. /// <param name="successAction"></param>
  545. /// <param name="errorAction"></param>
  546. public void QueryRelationPAndXGoodsInfoList(Action<List<RelationPAndXGoodsInfoModel>> successAction, Action<ErrorEntity> errorAction)
  547. {
  548. var queryCommonParams = new List<QueryCommonParam>();
  549. queryCommonParams.Add(new QueryCommonParam() { ParamKey = "deliverygoodsid", ParamValue = string.Empty });
  550. QueryCommonHelper.QueryCommon(QueryStatement.SearchRelationPAndXGoodsInfo, queryCommonParams,
  551. new Action<List<RelationPAndXGoodsInfoModel>>((itemDetails) =>
  552. {
  553. if (successAction != null)
  554. {
  555. successAction(itemDetails);
  556. }
  557. }), (error) =>
  558. {
  559. if (errorAction != null)
  560. {
  561. //RequestFunc = 查询P+X交割商品信息
  562. error.RequestFunc = Client_Resource.Resources_Service_QueryRelationPAndXGoodsInfoList;
  563. errorAction(error);
  564. }
  565. });
  566. }
  567. /// <summary>
  568. /// 交割成交单查询
  569. /// </summary>
  570. /// <param name="AccountId"></param>
  571. /// <param name="strarTime"></param>
  572. /// <param name="endTime"></param>
  573. /// <param name="successAction"></param>
  574. /// <param name="errorAction"></param>
  575. public void QueryDeliveryComplete(ulong AccountId, DateTime strarTime, DateTime endTime, Action<List<DeliveryCompleteModel>> successAction, Action<ErrorEntity> errorAction)
  576. {
  577. var queryCommonParams = new List<QueryCommonParam>();
  578. queryCommonParams.Add(new QueryCommonParam() { ParamKey = "accountId", ParamValue = AccountId + string.Empty });
  579. queryCommonParams.Add(new QueryCommonParam() { ParamKey = "startDate", ParamValue = strarTime.ToString("yyyy-MM-dd") });
  580. queryCommonParams.Add(new QueryCommonParam() { ParamKey = "endDate", ParamValue = endTime.Date.ToString("yyyy-MM-dd HH:mm:ss") });
  581. QueryCommonHelper.QueryCommon(QueryStatement.SearchDeliveryComplete, queryCommonParams,
  582. new Action<List<DeliveryCompleteModel>>((completes) =>
  583. {
  584. if (successAction != null)
  585. {
  586. successAction(completes);
  587. }
  588. }), (error) =>
  589. {
  590. if (errorAction != null)
  591. {
  592. error.RequestFunc = Client_Resource.Resources_Service_Complete;
  593. errorAction(error);
  594. }
  595. });
  596. }
  597. /// <summary>
  598. /// 申报点选仓单查询MTP2.0
  599. /// </summary>
  600. /// <param name="accountId"></param>
  601. /// <param name="deliveryGoodsId"></param>
  602. /// <param name="successAction"></param>
  603. /// <param name="errorAction"></param>
  604. public void QueryDeliveryWhRecieptInfo(ulong accountId, uint deliveryGoodsId, Action<List<DeliveryWhRecieptInfo>> successAction, Action<ErrorEntity> errorAction)
  605. {
  606. var queryCommonParams = new List<QueryCommonParam>();
  607. queryCommonParams.Add(new QueryCommonParam() { ParamKey = "accountId", ParamValue = accountId + string.Empty });
  608. queryCommonParams.Add(new QueryCommonParam() { ParamKey = "goodsid", ParamValue = deliveryGoodsId + string.Empty });
  609. QueryCommonHelper.QueryCommon(QueryStatement.SearchDeliveryWhRecieptInfo, queryCommonParams,
  610. new Action<List<DeliveryWhRecieptInfo>>((itemDetails) =>
  611. {
  612. if (successAction != null)
  613. {
  614. successAction(itemDetails);
  615. }
  616. }), (error) =>
  617. {
  618. if (errorAction != null)
  619. {
  620. //RequestFunc = 卖交割仓单信息查询
  621. error.RequestFunc = Client_Resource.Resources_Service_QueryDeliveryWhRecieptInfo;
  622. errorAction(error);
  623. }
  624. });
  625. }
  626. /// <summary>
  627. /// 交割提货个人信息查询请求
  628. /// </summary>
  629. /// <param name="DepositPersonalInfoReqModel">交割提货个人信息查询请求内容</param>
  630. /// <param name="successAction">成功回应</param>
  631. /// <param name="errorAction">失败回应</param>
  632. public void SearchDepositPersonalInfoReq(DepositPersonalInfoReqModel reqModel, Action<DepositPersonalInfoRspModel> successAction,
  633. Action<ErrorEntity> errorAction)
  634. {
  635. return;
  636. //var reqeust = _deliveryAdapter.ToDepositPersonalInfoReq(reqModel);
  637. //var packgage = new TCPPackage() { Content = reqeust, FunCode = FuncCode.FID_DepositPersonalInfoReq };
  638. //LinkManager.Instance.TradeTcpLinkProxy.SendPackage(packgage, new Action<TCPPackage>((revPackgage) =>
  639. //{
  640. // var responeEntrity = _deliveryAdapter.ToDepositPersonalInfoRsp(revPackgage.Content);
  641. // if (responeEntrity.RetCode == 0)
  642. // {
  643. // //todo:生成委托单
  644. // successAction(responeEntrity.Entity);
  645. // }
  646. // else
  647. // {
  648. // if (errorAction != null)
  649. // {
  650. // //RequestFunc = 交割提货个人信息查询请求
  651. // errorAction(new ErrorEntity() { ReturnCode = responeEntrity.RetCode, ReturnDesc = responeEntrity.RetMessage, RequestFunc = Client_Resource.Resources_Service_SearchDepositPersonalInfoReq });
  652. // }
  653. // }
  654. //}), new Action<int, string>((errorCode, errorDesc) =>
  655. //{ ////通信错误
  656. // if (errorAction != null)
  657. // {
  658. // errorAction(new ErrorEntity() { ReturnCode = errorCode, ReturnDesc = errorDesc, RequestFunc = Client_Resource.Resources_Service_SearchDepositPersonalInfoReq });
  659. // }
  660. //}));
  661. }
  662. /// <summary>
  663. /// 仓单变更流水查询
  664. /// </summary>
  665. /// <param name="ChangeOperator">变更操作人</param>
  666. /// <param name="WRCode">仓单号</param>
  667. /// <param name="successAction"></param>
  668. /// <param name="errorAction"></param>
  669. public void SearchWRChangeFlow(uint ChangeOperator, string WRCode, Action<List<WRChangeFlowModel>> successAction, Action<ErrorEntity> errorAction)
  670. {
  671. var queryCommonParams = new List<QueryCommonParam>();
  672. queryCommonParams.Add(new QueryCommonParam() { ParamKey = "ChangeOperator", ParamValue = ChangeOperator + string.Empty });
  673. queryCommonParams.Add(new QueryCommonParam() { ParamKey = "WRCode", ParamValue = WRCode + string.Empty });
  674. QueryCommonHelper.QueryCommon(QueryStatement.SearchWRChangeFlowData, queryCommonParams,
  675. new Action<List<WRChangeFlowModel>>((itemDetails) =>
  676. {
  677. if (successAction != null)
  678. {
  679. successAction(itemDetails);
  680. }
  681. }), (error) =>
  682. {
  683. if (errorAction != null)
  684. {
  685. //RequestFunc = 仓单变更流水查询
  686. error.RequestFunc = Client_Resource.Resources_Service_SearchWRChangeFlow;
  687. errorAction(error);
  688. }
  689. });
  690. }
  691. /// <summary>
  692. /// 查询履约计划明细
  693. /// </summary>
  694. /// <param name="accountId">变更操作人</param>
  695. /// <param name="PlanId">履约计划id</param>
  696. /// <param name="successAction"></param>
  697. /// <param name="errorAction"></param>
  698. public void SearchDeliveryPerformDetailPlan(long PlanId, bool isHistory , Action<List<DeliveryPerformDetailPlanModel>> successAction, Action<ErrorEntity> errorAction)
  699. {
  700. var queryCommonParams = new List<QueryCommonParam>();
  701. queryCommonParams.Add(new QueryCommonParam() { ParamKey = "deliveryid", ParamValue = PlanId + string.Empty });
  702. var statement =isHistory?QueryStatement.QueryDeliveryHistoryPerformDetailPlan :QueryStatement.QueryDeliveryPerformDetailPlan;
  703. QueryCommonHelper.QueryCommon(statement, queryCommonParams,
  704. new Action<List<DeliveryPerformDetailPlanModel>>((itemDetails) =>
  705. {
  706. if (successAction != null)
  707. {
  708. successAction(itemDetails);
  709. }
  710. }), (error) =>
  711. {
  712. if (errorAction != null)
  713. {
  714. //RequestFunc = 查询履约计划明细
  715. error.RequestFunc = Client_Resource.Resources_Service_SearchDeliveryPerformDetailPlan;
  716. errorAction(error);
  717. }
  718. });
  719. }
  720. /// <summary>
  721. /// 交割关系配置查询
  722. /// </summary>
  723. /// <param name="RELATIONID">交割关系id</param>
  724. /// <param name="successAction"></param>
  725. /// <param name="errorAction"></param>
  726. public void SearchRelationPerformConfig(long RelationId, Action<List<RelationperformConfigModel>> successAction, Action<ErrorEntity> errorAction)
  727. {
  728. var queryCommonParams = new List<QueryCommonParam>();
  729. queryCommonParams.Add(new QueryCommonParam() { ParamKey = "RelationId", ParamValue = RelationId + string.Empty });
  730. QueryCommonHelper.QueryCommon(QueryStatement.SearchRelationPerformConfig, queryCommonParams,
  731. new Action<List<RelationperformConfigModel>>((itemDetails) =>
  732. {
  733. UserManager.UpdateCacheOrder(itemDetails);
  734. if (successAction != null)
  735. {
  736. successAction(itemDetails);
  737. }
  738. }), (error) =>
  739. {
  740. if (errorAction != null)
  741. {
  742. //RequestFunc = 交割关系配置查询
  743. error.RequestFunc = Client_Resource.Resources_Service_SearchRelationPerformConfig;
  744. errorAction(error);
  745. }
  746. });
  747. }
  748. /// <summary>
  749. /// 查询账号某商品的仓单
  750. /// </summary>
  751. /// <param name="accountId"></param>
  752. /// <param name="deliveryGoodsId"></param>
  753. /// <param name="successAction"></param>
  754. /// <param name="errorAction"></param>
  755. public void QueryDeliveryWarehouseOrders(ulong accountId, uint deliveryGoodsId, Action<List<DeliveryWarehouse>> successAction, Action<ErrorEntity> errorAction)
  756. {
  757. var queryCommonParams = new List<QueryCommonParam>();
  758. queryCommonParams.Add(new QueryCommonParam() { ParamKey = "accountId", ParamValue = accountId + string.Empty });
  759. queryCommonParams.Add(new QueryCommonParam() { ParamKey = "DeliveryGoodsId", ParamValue = deliveryGoodsId+string.Empty });
  760. QueryCommonHelper.QueryCommon(QueryStatement.SearchDeliveryWarehouseOrder, queryCommonParams,
  761. new Action<List<DeliveryWarehouse>>((orderDetails) =>
  762. {
  763. UserManager.UpdateCacheOrder(orderDetails);
  764. if (successAction != null)
  765. {
  766. successAction(orderDetails);
  767. }
  768. }), (error) =>
  769. {
  770. if (errorAction != null)
  771. {
  772. //RequestFunc = 仓单查询
  773. error.RequestFunc = Client_Resource.Resources_Service_QueryDeliveryWarehouseOrders;
  774. errorAction(error);
  775. }
  776. });
  777. }
  778. /// <summary>
  779. /// 仓单Id
  780. /// </summary>
  781. /// <param name="wrid"></param>
  782. /// <param name="successAction"></param>
  783. /// <param name="errorAction"></param>
  784. public void QueryDeliveryWarehouseOrders(uint wrid, Action<List<DeliveryWarehouse>> successAction, Action<ErrorEntity> errorAction)
  785. {
  786. var queryCommonParams = new List<QueryCommonParam>();
  787. queryCommonParams.Add(new QueryCommonParam() { ParamKey = "WRID", ParamValue = wrid + string.Empty });
  788. QueryCommonHelper.QueryCommon(QueryStatement.SearchDeliveryWarehouseOrder, queryCommonParams,
  789. new Action<List<DeliveryWarehouse>>((orderDetails) =>
  790. {
  791. UserManager.UpdateCacheOrder(orderDetails);
  792. if (successAction != null)
  793. {
  794. successAction(orderDetails);
  795. }
  796. }), (error) =>
  797. {
  798. if (errorAction != null)
  799. {
  800. //RequestFunc = 仓单查询
  801. error.RequestFunc = Client_Resource.Resources_Service_QueryDeliveryWarehouseOrders;
  802. errorAction(error);
  803. }
  804. });
  805. }
  806. /// <summary>
  807. /// 交割申报单查询
  808. /// </summary>
  809. /// <param name="statement"></param>
  810. /// <param name="queryCommonParams"></param>
  811. /// <param name="successAction"></param>
  812. /// <param name="errorAction"></param>
  813. public void QueryDeliveryDeclareByCapitalAccount(string statement, List<QueryCommonParam> queryCommonParams,
  814. Action<List<DeliveryEntrustOrder>> successAction, Action<ErrorEntity> errorAction)
  815. {
  816. QueryCommonHelper.QueryCommon(statement, queryCommonParams, new Action<List<DeliveryEntrustOrder>>((deliveryLst) =>
  817. {
  818. if (successAction != null)
  819. {
  820. successAction(deliveryLst);
  821. }
  822. }), (error) =>
  823. {
  824. if (errorAction != null)
  825. {
  826. error.RequestFunc = Client_Resource.Resources_Service_QueryHoldingDetails;
  827. errorAction(error);
  828. }
  829. });
  830. }
  831. public void QueryDryOrdersByCapitalAccount(string statement, List<QueryCommonParam> queryCommonParams,
  832. Action<List<DryHoldDetail>> successAction, Action<ErrorEntity> errorAction)
  833. {
  834. QueryCommonHelper.QueryCommon(statement, queryCommonParams, new Action<List<DryHoldDetail>>((deliveryLst) =>
  835. {
  836. if (successAction != null)
  837. {
  838. successAction(deliveryLst);
  839. }
  840. }), (error) =>
  841. {
  842. if (errorAction != null)
  843. {
  844. error.RequestFunc = Client_Resource.Resources_Service_QueryDeliveryHolders;
  845. errorAction(error);
  846. }
  847. });
  848. }
  849. public void QueryDeliveryWarehouseOrdersNew(uint goodsId, uint deliveryGoodsId, uint tradeProperty,
  850. Action<DeliveryWRRspModel> successAction,
  851. Action<ErrorEntity> errorAction)
  852. {
  853. var reqeust = _deliveryAdapter.ToDeliveryWRReq(goodsId, deliveryGoodsId, tradeProperty);
  854. var packgage = new TCPPackage() { Content = reqeust, FunCode = FuncCode.FID_DeliveryWRReq };
  855. LinkManager.Instance.TradeTcpLinkProxy.SendPackage(packgage, new Action<TCPPackage>((revPackgage) =>
  856. {
  857. var responeEntrity = _deliveryAdapter.ToDeliveryWRRsp(revPackgage.Content);
  858. if (responeEntrity.RetCode == 0)
  859. {
  860. //todo:生成委托单
  861. successAction(responeEntrity.Entity);
  862. }
  863. else
  864. {
  865. if (errorAction != null)
  866. {
  867. //RequestFunc = 交割提货个人信息查询请求
  868. errorAction(new ErrorEntity() { ReturnCode = responeEntrity.RetCode, ReturnDesc = responeEntrity.RetMessage, RequestFunc = Client_Resource.Resources_Service_SearchDepositPersonalInfoReq });
  869. }
  870. }
  871. }), new Action<int, string>((errorCode, errorDesc) =>
  872. { ////通信错误
  873. if (errorAction != null)
  874. {
  875. errorAction(new ErrorEntity() { ReturnCode = errorCode, ReturnDesc = errorDesc, RequestFunc = Client_Resource.Resources_Service_SearchDepositPersonalInfoReq });
  876. }
  877. }));
  878. }
  879. }
  880. }