From 0bd21a03299ffc8a1943bec8833848e2f88e6862 Mon Sep 17 00:00:00 2001 From: 18942506660 <18942506660@A18942506660> Date: Thu, 9 Nov 2023 10:06:36 +0800 Subject: [PATCH] =?UTF-8?q?erp=E5=AE=A2=E6=88=B7=E5=90=8C=E6=AD=A5?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .vs/WMS.Web/DesignTimeBuild/.dtbcache.v2 | Bin 228751 -> 228751 bytes .../Dto/Erp/Customer/ErpCustomerDto.cs | 27 +++++++ .../Public/IErpBasicDataExtendService.cs | 10 ++- .../IService/Public/IErpService.cs | 7 +- .../Public/ErpBasicDataExtendService.cs | 14 ++++ .../Services/Public/ErpService.cs | 70 ++++++++++++++++++ src/WMS.Web.Domain/Values/Erp/FormIdParam.cs | 6 +- .../OutStockRepositories.cs | 26 ++++++- .../OutStockTaskRepositories.cs | 37 +++++++-- 9 files changed, 184 insertions(+), 13 deletions(-) create mode 100644 src/WMS.Web.Core/Dto/Erp/Customer/ErpCustomerDto.cs diff --git a/.vs/WMS.Web/DesignTimeBuild/.dtbcache.v2 b/.vs/WMS.Web/DesignTimeBuild/.dtbcache.v2 index 1aca7bb9113962059a0399364a486e45ddfa334a..cc7ffb654b373020ae2b0b276c534ded952952b1 100644 GIT binary patch delta 5110 zcmc&%dvFv*9^UDmo+JnaV+ctMkOU%#Ja&_PB%Vl!M1mq<>3M&cD&6b@Q->HsQ1P_{ zmGf~PlDo36w5;<~M1l|yae@elpn`{Ydfut0B7{f)c}+7w2qEUao}JAQz$)*~s@uxf z{r%?qdZxF#_xGDD>g>0uvmbFKEhf_@6jp`2k#M-UurL}8MSKBwiLc7zEeU)5K~Iq< z><{{jg5lzbC*tw=ii%5u-e{mW>W+Fsp`g!S<*i@z*dk@^B62fJ&%Y^BTOFJ=ZSI{_ zk=p4sk=kHggn!0JYnj*Yt8!OG3rhk4pEnfr_`JT7aGirk@+ zV8mVMFLVd0f}Us~S`w)W6?=Rh*Hr%LL}dzpaR^cM@+5LgcFvIU*>%-*^X61u;GsIt zBX^PEg;QonYlCy@YUhUP=GI0kr(D3wPYxps`wx=RJ=Gz2%I><4-#wfx8$PDz+KjnX zv#LXtQ_5>=%7SyMLz9Aa!Seg+BD2GKY5{2`{W9#)b1LQNcSew zXAjPwRCiY;=2v;s+?twM)sb2mB)I<8wZxsv`^+Rcmu=Tvu8)Af06Tz>fxiNO13m#h z1+rXx#!QkC+Y0^#@Fnms;49#3;2U5k@GYeAp>KdOHB=O@SsS@?(=oOn}@B z<7pT>f&SoI(7z9S0DK5+1AfYOsu+6)Uiq1(r&bgE4*#ULG?IDRWYMOU&Y$09s|U+5 zHP-?|F^ECMKJ`?Z!5WmsV!t}kND^%XL>y4j8hym~s?k>*RK+3H6#MlTR+Id`vBPSa zX=IqDIHHQfs%d1J@*}C!AwHV087g>>4OH6V9f(NSj;Y{1Hc)Acccy6^i9gdgYUo#Q zB$Ko|&BVClsxX~#pmJQi138hfom9blZVxJL@eZUtVLPRQ_t-$CtzAF5m3UKfI})zb zs_1ZBpwiW$@=ep}-rUZF>x?Qo9T%u{b*lR9PmpK&m31X-Kd7P$wjwFVKQgvHqB~)7 zG4S4|Zhc4^9k23VwUEbS3Y#QH2*Rv^1~CO?rcjw+wxT&o5|m^nQf#GD3?Hqr86@2f#4Y7)PS_>E&GUvBz4FD=b`Hr zQk>K&18neN0hc#r7JT;&Lmr z*VPnbtk7OeQ5l*`E&j0 z2>#1dGuL;a+?#@ zrxnrcSV5(=ndvudCskDMROoc&r)6+`x=Oi{yDo9#x0zVy+!$2ecpcM+JVpMHoVz|@ zdxwejjtx}W)-(Re@5%GI8xpRKOl)vmpwhL0>34rcW|E(&DBP=#-(=^zcdZAQvL0;4 zDSVHKEw*x22Hy(heI`CgWKXUQqPOwbAetZh${GJPT;DJ;fW|A$#ZEF$qsTo}?6k*! z>x|ijF}s;)IbYcWrIm^A&R6zAX=7raRK{R&_B*#b0O@-s4%&mxswan_9Om7FXioHq ztsZs88Bhfi$Ie$wD94#NalUdAN;?y$&R061oR)>-Cc9>E)Qke&ok_hvS~vLhS#(rh z6GP6&4@#_-WHrbdN!Ea@m1He{Hj9o(J*TMf9a;2AO_v6pS7y@^ty%JB{rPMfF1)W?%>KF+j9ZK>-zDz)oCi0rmq2fOyrb$)^*Drt#JJ zG@B%8{NsGOKpD?x45O1tvc`9=Bu6q*F!~WxtVe;zfQ3LGjkh$Bva{;rJ^a=Jnocg# ztoqo$F9w}e7uOchg$iHu03BW-i{HIat>V{h7r$i{XBWTwv{UKAjROBifqybgG^l|0 zOLo6x4@mX^e`Ex`G4`MqPZ|$tGT&M0=wS`7jhdKmEA@`D0Lmkpc+^%NbCiWpexr&1 z_!sW~uYTf;*S|m}@NFY$Amc*sERSnC-dWxveV)KNJqbLe@x}Rc2yZ+_M(f=x$m@js zR^v4%NXC^F^Y}CojR& z#>3-imG-h+}6QH5nK*O313J@F+#@J%pH5X`mz z%cN0@8Oasm4b4bK)grjQ8)b8iyr29Jxk0?CO$EeS4J}^p-qM7wiDpf#!+mi5ZB4A# z#5Iqk8nr+f0veE)vm z?#$hp{r}CJw$5|fI+N4!qI5h9}JgQ27|$} zNZ23n2P@*fcu`p}?5_w{RD>(bGaQKUQ)i$}{t<&k)0 zw8$TgdjsK$crYA_L}QiyP%IXSMnjRHuPhL#42OLoU(6SXhrDI6P@p_m=DAVq9I1^p zVj1M8dB$f0$Q?vHP(Y@N&Vxy{v1>4?CE~fEWS;Sh%Sk2?&s;(Flmsf`<-tHO5-RhT z;a;&yuP+kyg(IPW&mZ$gy*^AQTH*5-#md4(foQNYR#E8>N6L!4kx*sC7xk2i`ddl9 z7=9JW6*pZ+x*O-NBu#lnb}6|$f8guf<5>f|0jvey1l9rTfek=C7rxs_|3q(($Fmjj zHsG(ocHnP-y6zod2k>`bC-5%t9`HW!0q`O45%4ka4`4H}3-|>16xa>y0X_rzIpgdF zS7Yr1FkT`x;O97@26YGfrUUKAH3xu3;2`kzfx9{bAA+Xte;80>sLAi=iH;YypK%im zUjQ0zpaxL=5%d(jx>)^Ms44yPaS=RvU#&$#g!ds_LYp?6@9N@ys$clbBQ<)LVO) zY_9gSJfx2_Gvq-6A`k0m&1~7Eo1Nqrx;&y=@{rNIf(-05>8M^}nK_mvkLmKLZkf53 zIuuQJh?`y8aUDEm168(U2V%N5se`9%pvq?I#>{)k5BZ%ZT$`oK6KNZ$vL!o^ldkQQ z4xYLjsInzHkQUc=S_ecpJ>g;3DYMj=eT_*h zNth)mle(j@w8EieFq!EnS!pF3%0*0ea+J<#r3;jCi5JnPx^L!q4Z<2zoT55R`Q_?U~-_N3`#2nQAmTCyv&h?q@|%y zE@yI>qg;_zu7q+G6ZO@kk{7ZumMk=O9w4ug-beLPd*fm|f?!W#!+~Jeji@0rwA>Ra z!sf!x0m1gcZUJdA{7uA1c&iFpg|8otW}HzRtNqwQGKO|Nt0F8bRuSa9@l`YVv6dig zTzcUw$?ectElXzGp|eDm>|%$`x>&M@9Xg9)$zFEoEPy3*?a+DZmh5YX&ZD+uz8zkg zNInru7TB@#R4qBw4xJ}y$t&&9d3=^Ep>wrAAT8X0segy5)@!#uyY<^`k=>4l^C>w7 z?YW(rETzSAEHDlTuwr>56;p@NE+ojr_@$)3@t`EPY1tttVIaap_A6vXRuued;Jc#E zB5mXvCiW~NdE{DV3@@ZpH8vdD2r=O@I!$=JG*fJ9As3TkCc3O3Ie8-?Ht5B23s3^S z75z3~6f@XqGDRD|AHnkw8uj9;s#8urWZw4qa6WVMVGUFHa6geXOuoR-A|Ebb$cHa7 zxez<5#%OFMMEgJILxFraQCwe7Zb~d-P9lDZ$we%c#XwblNOmBLUE9kHJY@q_wqysg z#I-GD;3*rZvL!o^TG#dpUiaFx4^;VTnOHxA6pEj0CPT!THZp$nx0I59dzOqL7cFx~ zpRS2MZKSUly%pm;vz2VhuXCj*HCdOQ7pR(79W$!8k#cH8A0;EoYZ(=q2)B_T z#*`<>lbPZcP*L!E@{E|RPBwL;KPTTtW`DdVou(%YCv&Z~r);Ur{yO&A8YbUxly)RT&Ns@ za+Jwq7b?wAjx%Xqs7NR$?9~7L%-_jm@)t<{gT=%=8u-@*K%fBRh#h&f=YT~FDI9MT zUKJ3$FL)V1@J3*_gVYMzhYsoXwGyEVZ2{>ge$g3wB5GaZM*VwbBFRn zWI#+FMthPknYeurEzC+49Wj3py=3qiRD?F*EN~9kjf%AoI1Dra$$GSV5FJ6zGts|* z=8>#5x7+!~d>?JinN-7_n*9QoH9S>iL2;-v_8}Lzwih{g z$_A=z$qrI5=;{WbG>;1d6_57%u>0S zo0*o}OK^TKir~xYe(HbJxpE1=5s*tcT6~Vxa`_6E%ebt=eQ_f|Ad2XSNeA7$22?wbL42t94VV29M{YYa}>f+(nKgV%N(wr{0@Dt_N>`sEMDjC zY9nCP@8pQ&M0a~lw!^#J@NPRiuECj5?tATcnk(ODhojx}{XoZXmL1M?&9gg(k9G`$ ZOwA+U-s%ZkecZkF1~%46Os3sB{Sz^b%ZmU2 diff --git a/src/WMS.Web.Core/Dto/Erp/Customer/ErpCustomerDto.cs b/src/WMS.Web.Core/Dto/Erp/Customer/ErpCustomerDto.cs new file mode 100644 index 00000000..5e05f3e0 --- /dev/null +++ b/src/WMS.Web.Core/Dto/Erp/Customer/ErpCustomerDto.cs @@ -0,0 +1,27 @@ +using System; +using System.Collections.Generic; +using System.Text; + +namespace WMS.Web.Core.Dto.Erp.Customer +{ + /// + /// 客户 + /// + public class ErpCustomerDto + { + /// + /// ID + /// + public int Id { get; set; } + + /// + /// 编码 + /// + public string Number { get; set; } + + /// + /// 名称 + /// + public string Name { get; set; } + } +} diff --git a/src/WMS.Web.Domain/IService/Public/IErpBasicDataExtendService.cs b/src/WMS.Web.Domain/IService/Public/IErpBasicDataExtendService.cs index de5a657d..ae09e909 100644 --- a/src/WMS.Web.Domain/IService/Public/IErpBasicDataExtendService.cs +++ b/src/WMS.Web.Domain/IService/Public/IErpBasicDataExtendService.cs @@ -2,6 +2,7 @@ using System.Collections.Generic; using System.Text; using WMS.Web.Core.Dto.Erp; +using WMS.Web.Core.Dto.Erp.Customer; using WMS.Web.Core.Dto.Erp.Org; using WMS.Web.Core.Dto.Erp.Supplier; @@ -58,7 +59,14 @@ namespace WMS.Web.Domain.IService.Public /// /// string GetSupplierName(List erpSuppliers, int supplierId); - + /// + /// 获取客户名称 + /// + /// + /// + /// + string GetCustomerName(List erpCustomers, int customerId); + /// /// 获取仓库名称 /// diff --git a/src/WMS.Web.Domain/IService/Public/IErpService.cs b/src/WMS.Web.Domain/IService/Public/IErpService.cs index b31974da..d09b81b9 100644 --- a/src/WMS.Web.Domain/IService/Public/IErpService.cs +++ b/src/WMS.Web.Domain/IService/Public/IErpService.cs @@ -3,6 +3,7 @@ using System.Collections.Generic; using System.Text; using System.Threading.Tasks; using WMS.Web.Core.Dto.Erp; +using WMS.Web.Core.Dto.Erp.Customer; using WMS.Web.Core.Dto.Erp.Org; using WMS.Web.Core.Dto.Erp.OutStock; using WMS.Web.Core.Dto.Erp.Purchase; @@ -66,7 +67,11 @@ namespace WMS.Web.Domain.IService.Public /// /// Task> BillQueryForSupplier(); - + /// + /// 客户 + /// + /// + Task> BillQueryForCustomer(); /// /// 获取仓库信息 /// diff --git a/src/WMS.Web.Domain/Services/Public/ErpBasicDataExtendService.cs b/src/WMS.Web.Domain/Services/Public/ErpBasicDataExtendService.cs index 4f9a5a7b..a836efc4 100644 --- a/src/WMS.Web.Domain/Services/Public/ErpBasicDataExtendService.cs +++ b/src/WMS.Web.Domain/Services/Public/ErpBasicDataExtendService.cs @@ -4,6 +4,7 @@ using System.Collections.Generic; using System.Linq; using System.Text; using WMS.Web.Core.Dto.Erp; +using WMS.Web.Core.Dto.Erp.Customer; using WMS.Web.Core.Dto.Erp.Org; using WMS.Web.Core.Dto.Erp.Supplier; using WMS.Web.Domain.Infrastructure; @@ -100,6 +101,17 @@ namespace WMS.Web.Domain.Services.Public var supplier = erpSuppliers.Where(x => x.Id == supplierId).FirstOrDefault(); return supplier == null ? "" : supplier.Name; } + /// + /// 获取客户名称 + /// + /// + /// + /// + public string GetCustomerName(List erpCustomers, int customerId) + { + var supplier = erpCustomers.Where(x => x.Id == customerId).FirstOrDefault(); + return supplier == null ? "" : supplier.Name; + } /// /// 获取仓库名称 @@ -136,5 +148,7 @@ namespace WMS.Web.Domain.Services.Public var stock = erpStocks.Where(x => x.Id == stockId).FirstOrDefault(); return stock == null ? "" : stock.Code; } + + } } diff --git a/src/WMS.Web.Domain/Services/Public/ErpService.cs b/src/WMS.Web.Domain/Services/Public/ErpService.cs index 1f5329d7..35f86e58 100644 --- a/src/WMS.Web.Domain/Services/Public/ErpService.cs +++ b/src/WMS.Web.Domain/Services/Public/ErpService.cs @@ -12,6 +12,7 @@ using System.ServiceModel; using System.Text; using System.Threading.Tasks; using WMS.Web.Core.Dto.Erp; +using WMS.Web.Core.Dto.Erp.Customer; using WMS.Web.Core.Dto.Erp.Org; using WMS.Web.Core.Dto.Erp.OutStock; using WMS.Web.Core.Dto.Erp.Purchase; @@ -397,7 +398,74 @@ namespace WMS.Web.Domain.Services.Public return ResultList.ReFailure(ResultCodes.ErpSupplierError); } } + /// + /// 客户 + /// + /// + public async Task> BillQueryForCustomer() + { + try + { + //1.获取缓存中的供应商数据; + var cache_key = "erp_customer_list"; + var customers = _memoryCache.Get>(cache_key); + if (customers == null || customers.Count == 0) + { + //2.先登录金蝶-拿到token + var token_result = await this.Init(); + if (!token_result.IsSuccess) + return ResultList.ReFailure(token_result); + + //3.获取金蝶供应商:拼接参数和条件 + var query = new ErpBillQueryDto(token_result.Data); + var param = new ErpBillQueryParamDto(FormIdParam.BD_Customer.ToString()); + param.FieldKeys = "FCUSTID,FNumber,FName"; + param.Limit = 10000; + //查询条件:备注其中的条件值以金蝶的值为准!!! + param.FilterString = ""; + + //备注:因为供应商数据不是很多,就不能和获取物料一样循环获取;组织这里就获取10000条数据就行了 + var beginTime = DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss.fff"); + _logger.LogInformation($"供应商拉取-开始时间:{beginTime}"); + //4.参数json化 + query.Data = JsonConvert.SerializeObject(param); + var json = JsonConvert.SerializeObject(query); + + //5.请求查询接口并返回数据 + var result_json = await _client.ExecuteBillQueryAsync(json); + var result = JsonConvert.DeserializeObject>>(result_json); + + var endTime = DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss.fff"); + _logger.LogInformation($"供应商拉取-结束时间:{endTime}"); + //6.拼装 + var list = new List(); + foreach (var item in result) + { + var lis = new ErpCustomerDto(); + lis.Id = int.Parse(item[0]); + lis.Number = item[1]; + lis.Name = item[2]; + list.Add(lis); + + } + //5.供应商集合进行缓存 + _memoryCache.Set(cache_key, list, new MemoryCacheEntryOptions().SetAbsoluteExpiration(TimeSpan.FromHours(12))); + _logger.LogInformation($"供应商拉取-总条数:{list.Count}"); + return ResultList.ReSuccess(list); + + } + else + { + return ResultList.ReSuccess(customers); + } + + } + catch (Exception) + { + return ResultList.ReFailure(ResultCodes.ErpSupplierError); + } + } /// /// erp:仓库 /// @@ -1006,6 +1074,8 @@ namespace WMS.Web.Domain.Services.Public } } + + #endregion } } diff --git a/src/WMS.Web.Domain/Values/Erp/FormIdParam.cs b/src/WMS.Web.Domain/Values/Erp/FormIdParam.cs index 9221849a..ad225a75 100644 --- a/src/WMS.Web.Domain/Values/Erp/FormIdParam.cs +++ b/src/WMS.Web.Domain/Values/Erp/FormIdParam.cs @@ -68,6 +68,10 @@ namespace WMS.Web.Domain.Values.Erp /// /// 分布式调出单 /// - STK_TRANSFEROUT=15 + STK_TRANSFEROUT=15, + /// + /// 客户 + /// + BD_Customer=16 } } diff --git a/src/WMS.Web.Repositories/OutStockRepositories.cs b/src/WMS.Web.Repositories/OutStockRepositories.cs index 30b15a6f..4b422fae 100644 --- a/src/WMS.Web.Repositories/OutStockRepositories.cs +++ b/src/WMS.Web.Repositories/OutStockRepositories.cs @@ -88,7 +88,7 @@ namespace WMS.Web.Repositories var staffList = await _basicsRepositories.GetStaffListAsync(_loginRepositories.CompanyId); ids = staffList.Where(w => EF.Functions.Like(w.Name, "%" + dto.Creator + "%")).Select(s => s.Id).ToList(); } - + #region erp基础资料 List mIds = new List(); var materials_result = await _erpService.BillQueryForMaterial(); if (!materials_result.IsSuccess) @@ -100,6 +100,24 @@ namespace WMS.Web.Repositories mIds = materials.Where(w => EF.Functions.Like(w.MaterialNumber, "%" + dto.MaterialNumber + "%")).Select(s => s.MaterialId).ToList(); } + //取组织 + var org_result = await _erpService.BillQueryForOrg(); + if (!org_result.IsSuccess) + return (new List(), 0); + var orgs = org_result.Data.ToList(); + + List cIds = new List(); + var customer_result = await _erpService.BillQueryForCustomer(); + if (!customer_result.IsSuccess) + return (new List(), 0); + var customers = customer_result.Data.ToList(); + //物料集合;模糊查询后的物料集合 + if (!string.IsNullOrEmpty(dto.ReceiptCustomer)) + { + cIds = customers.Where(w => EF.Functions.Like(w.Name, "%" + dto.ReceiptCustomer + "%")).Select(s => s.MaterialId).ToList(); + } + #endregion + var query = _context.OutStockDetails .GroupJoin(_context.OutStock, detail => detail.Fid, order => order.Id, (detail, orders) => new { detail, orders }) .SelectMany(x => x.orders.DefaultIfEmpty(), (p, order) => new { p.detail, order }) @@ -139,8 +157,10 @@ namespace WMS.Web.Repositories Stock = _singleDataService.GetSingleData(SingleAction.Stocks, _loginRepositories.CompanyId, s.detail.StockId), SourceBillNo = s.order.SourceBillNo, SaleBillNo = s.detail.SaleBillNo, - DeliveryOrg = "", - ReceiptCustomer = "", + DeliveryOrg = _erpBasicDataExtendService.GetOrgName(orgs, s.order.DeliveryOrgId), + ReceiptCustomer = s.order.Type == OutStockType.Sal + ? _erpBasicDataExtendService.GetCustomerName(customers, s.order.ReceiptCustomerId) + : _erpBasicDataExtendService.GetOrgName(orgs, s.order.DeliveryOrgId), MaterialName = _erpBasicDataExtendService.GetMaterialName(materials, s.detail.MaterialId), MaterialNumber = _erpBasicDataExtendService.GetMaterialNumber(materials, s.detail.MaterialId), Specifications = _erpBasicDataExtendService.GetMaterialSpecifications(materials, s.detail.MaterialId), diff --git a/src/WMS.Web.Repositories/OutStockTaskRepositories.cs b/src/WMS.Web.Repositories/OutStockTaskRepositories.cs index 6d9c5fd7..2d2dae1f 100644 --- a/src/WMS.Web.Repositories/OutStockTaskRepositories.cs +++ b/src/WMS.Web.Repositories/OutStockTaskRepositories.cs @@ -214,6 +214,7 @@ namespace WMS.Web.Repositories /// public async Task<(List list, int total)> GetListAsync(OutStockTaskQueryRequest dto) { + #region erp基础资料 List mIds = new List(); var materials_result = await _erpService.BillQueryForMaterial(); if (!materials_result.IsSuccess) @@ -224,14 +225,34 @@ namespace WMS.Web.Repositories { mIds = materials.Where(w => EF.Functions.Like(w.MaterialNumber, "%" + dto.MaterialNumber + "%")).Select(s => s.MaterialId).ToList(); } + + //取组织 + var org_result = await _erpService.BillQueryForOrg(); + if (!org_result.IsSuccess) + return (new List(), 0); + var orgs = org_result.Data.ToList(); + + List cIds = new List(); + var customer_result = await _erpService.BillQueryForCustomer(); + if (!customer_result.IsSuccess) + return (new List(), 0); + var customers = customer_result.Data.ToList(); + //物料集合;模糊查询后的物料集合 + if (!string.IsNullOrEmpty(dto.ReceiptCustomer)) + { + cIds = customers.Where(w => EF.Functions.Like(w.Name, "%" + dto.ReceiptCustomer + "%")).Select(s => s.MaterialId).ToList(); + } + #endregion + var query = _context.OutStockTaskDetails .GroupJoin(_context.OutStockTask, detail => detail.Fid, order => order.Id, (detail, orders) => new { detail, orders }) .SelectMany(x => x.orders.DefaultIfEmpty(), (p, order) => new { p.detail, order }) .OrderByDescending(o => o.order.Id) .Where(adv => 1 == 1); - //if (!string.IsNullOrEmpty(dto.ReceiptCustomer)) - if (mIds.Count()!=0) + if (cIds.Count() != 0) + query = query.Where(w => cIds.Contains(w.order.ReceiptCustomerId)); + if (mIds.Count() != 0) query = query.Where(w => mIds.Contains(w.detail.MaterialId)); if (dto.Ids.Count() > 0) query = query.Where(w => dto.Ids.Contains(w.detail.Id)); @@ -255,18 +276,20 @@ namespace WMS.Web.Repositories { #region dto组装 Id = s.order.Id, - DetailId=s.detail.Id, - BillNo =s.order.BillNo, + DetailId = s.detail.Id, + BillNo = s.order.BillNo, Status = s.order.Status.GetRemark(), Type = s.order.Type.GetRemark(), CreateTime = s.order.OperateTime.DateToStringSeconds(), - OutStockBeginTime= s.detail.OutStockBeginTime.DateToStringSeconds(), + OutStockBeginTime = s.detail.OutStockBeginTime.DateToStringSeconds(), OutStockEndTime = s.detail.OutStockEndTime.DateToStringSeconds(), Stock = _singleDataService.GetSingleData(SingleAction.Stocks, _loginRepositories.CompanyId, s.detail.StockId), SourceBillNo = s.order.SourceBillNo, SaleBillNo = s.detail.SaleBillNo, - DeliveryOrg = "", - ReceiptCustomer = "", + DeliveryOrg = _erpBasicDataExtendService.GetOrgName(orgs, s.order.DeliveryOrgId), + ReceiptCustomer = s.order.Type == OutStockType.Sal + ? _erpBasicDataExtendService.GetCustomerName(customers, s.order.ReceiptCustomerId) + : _erpBasicDataExtendService.GetOrgName(orgs, s.order.DeliveryOrgId), MaterialName = _erpBasicDataExtendService.GetMaterialName(materials, s.detail.MaterialId), MaterialNumber = _erpBasicDataExtendService.GetMaterialNumber(materials, s.detail.MaterialId), Specifications = _erpBasicDataExtendService.GetMaterialSpecifications(materials, s.detail.MaterialId),