From a93a1585f0dd1346f40b1054b8abcdc6e6716de8 Mon Sep 17 00:00:00 2001 From: 18942506660 <18942506660@A18942506660> Date: Thu, 1 Aug 2024 10:20:52 +0800 Subject: [PATCH] =?UTF-8?q?=E5=85=A5=E5=BA=93=E5=9B=9E=E9=80=80=E5=90=8E?= =?UTF-8?q?=E5=8F=8D=E5=86=99=E5=85=A5=E5=BA=93=E5=8D=95?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .vs/WMS.Web/DesignTimeBuild/.dtbcache.v2 | Bin 275060 -> 275060 bytes src/WMS.Web.Domain/Entitys/InStockDetails.cs | 5 +++- .../IService/IInStockService.cs | 7 ++++++ .../Infrastructure/IInStockRepositories.cs | 6 +++++ .../Services/BackRecordService.cs | 9 ++++++- src/WMS.Web.Domain/Services/InStockService.cs | 22 ++++++++++++++++++ .../InStockRepositories.cs | 8 +++++++ 7 files changed, 55 insertions(+), 2 deletions(-) diff --git a/.vs/WMS.Web/DesignTimeBuild/.dtbcache.v2 b/.vs/WMS.Web/DesignTimeBuild/.dtbcache.v2 index c6848a43361e5378aed2b365c7414d328baf9612..d09c51782765da4781914dc9153b0de5710c7263 100644 GIT binary patch delta 3550 zcmb7_3viUx7016v*mH$I1K1cIl9*}LVQiq%Y9EmyMo2>5c?c2*_tEARrGF#20i0M6H02P;9MjK~!F*_AyRp&#YFaV`uumo0Ehv)fvB;|K8s{ z_uO;uJ?DPke%6)sSyz_Xb(eXsY3?(v&tuucOPpA}H`3z7rbN80PJ1Y_C~Dm3*6z1P zx$!cK+(VsKc6|7Bf6y0dk6zd4M56vs@TMCJ#v7iZ;L_rn24lHhSmg8hW3YPzHIdLl zrzwUe>_lRICpvNPz`VS|OP0v1!df@w2c1|`DB^g-;Ryxb&rf^8x6TPP7l(o|uRrMc zCKisXbK(~pbUb*?D~nEE;xx6zyz>JNy!!XWsVq9p?<;BvhN3Zl)5KV$%_$t$-zJWA z3qoxH-_1^=H{kbqV~(%rqUh7&PO}qnf=zmzulMYA?Ac|%!%X)^>%vZxzuBKY*u1YE z)YA*c^<=G5DuWCaj{CY?8#x74lk1C-)1q*=w^)mjU4sgmqG1%r$nPtzW#qb7&9QRb z&tq1xIaUwkCT6!;N9*G`rP!-K*b;DhHX(a3vbzm60dK516ltvt1^tU~D-6|RF>?ED zQSQN%NT^jVhjGOvF?(ZV^$g_q-o?TF>SbKkvr5#>?X>Q6-|Mulj}JAv9~;eM$}l!S z8=)-pH=%tT+AOv$XtzR7K--}0&<Iq^yx2J}iOna!&_TtQq(Ttz8u8I>HJyfQgv*|LwZxPIMnV>BKWMWBr-Lvjk@oe@l0+azFy2e;vWb)#BZiOGP#-fZNV1e zV}c8aj|=*VC&{#h#LER25pNa@5N{J~CEg(zB;FGj4iWDb3={7ayq);GV1)RrV3fE^ zFh<-a`B_Z-PqDTW|6Oni@uz}IiT@>d2l2`7y~p`Z;!|>tpAmm3_;cc zA>yA1t{^THe3*Em;7a0K1XmHSmSAg$I|SDfe<_<-M{HQ#3&$TJ4%pqio;WP%5?kW& zC=M$4D`F-1YvNK_?lIyGvc^W@O@fc3`hr`C2g&O;?M32hiME%xR&XC)X~Ey%jTTJceHMHPC6{3Pi4RCp4idi%RJ!_yFwgzl z7CZ09b7an8;v?dC6eX1DZ{VF2>sxpy1v_ymE%%38?ebYC#q>VzwBQH0(}EwtQSc0L zlPq=$I z?e>I5hijB>Qb{YtwJOEa6xYc}ecwm}Mj91QmysELBQr5F%iXfw4#j7yYM!ll zj>0d#&$lX`t9YK`+u#DbSMhwsO)5Eted=bUcm@IV=hUa&9hJ=CX2mV=hC#mO$@D+L z0#(C)#cj6!TUe-WNpZWK9M)m3=2y%P^S?n8pW))fsvUM}WPAe^r|??u>oV3@0|8wRc+sZ&#Bz0!5V@e8E+0bT8x#MeOALPJgW+n?AseD{9X zAAlZ&9)eat4?`=VRnS4iS)Hi)#QvUV#0Dx$rxPgx=+tf2u$kQd{M#x@ocPpk^GsNy zI4>iGuNOwbc8VWG@m%gur78R%Eo(Kc)wE92I*@x+oju$=XxqaO$R0HM5v5DK1QXZe evP{;wUa!)PtK8Nv?2+zYQ}&od!xwh$PyYu;`+`pZ delta 2851 zcmai!32aqG6o%iu)7LXX#X_`U7YRY41{V~J8ZD^MQc3}9wSc%F0tyOPETD36XJ1~I zTQ&g&WD_^wDG0KNhzjDCC@3nDxWt(I=b@m1=s)kBS~XE`^1t()GiT<^ocrb;JDPj! zXs-9kBi<99x6$)|t_TNI`aQC|uCepN9TWVslN&1i-KAa^=d`NIH}UYQeSW#uE$xRv zp)X6jCzK8 zmRe4=h=tyMKkqU(e+{*kT1P!kt*2g~UZh^4UZ!55Hc%U>rD31_eyhOeHeRQ@m2z9$ zMqBTD^xvTG>~ooA}{&-0P}cpFlEZenmD!WZ;3sHiM`}R z^XRmMcXBNXq8Z9w+VuM z%C`&hb>1CLKx200id z7_AMuSMY;o+$Z=>ag5+c#j%2)6vqiZ)xF;@IH*`5_*`+kAky3iSXrZ$g2Rdv1X)2m z)4_>?=8BV8PBR|leiR>KWyOd24m5W%YiKkOOwnUJBIv3Kj|whVd`xhK;^Ts=G8o_q z!POdmQgEH(Q-Z0w+BCs*#TkN=T5hHw=4bXkOEAi0aJFEK;v9jm33GW+#d!j&m=F}i zgUq}tLABPX5!5P%f;z?df<`)Tfgo3Lp`e-KBEgx8iv>A~PYaqTE)nD@F69l_R32$x~Tw^+B@e9^7tXO5b z6!)^dQ+!Zhok>N03WYX>-WEkV(x+jhm?M2HN_3=O!$^OQ46tF2Z$<>snF%j}8*E<+ zrIx=@9&WTKv$)CPW@a*8ZZXhekd4}6u9^RZIfhu=%4`N&MXjSY zQQJro-aOo9OK`izc;lQq>~$$rny4AihHYNLJC!`N+WguwsFrI}{Pgo^LoF{#3OmVs z95)#HwSOkwY3Vd1l3ilP5bFL+9A@b>B$8cX#t<6$*QS#3_U8OH;p8J`VD?>>=Nld# zK4Lm|Dzrt+&~B58)4ukYe*d)J&xVtXDF`3>#*Fhv*ksdUv&L_Xkv1Q9Q}@{9<`Prt z`=e~Q>?1#~Y&3)SQjNWQ}kek$J=EUVp_Q57jst2>9!z+>8>F&9L;bv)6vXu|1YM?MYF7XkrP;_mVb%sU0-M0 zw3(AJb2DaM#w5avkDCt3sL(9*(`6EwGF5KLDz|vGqiRPrj%w0n&Z_-Onet4T(1xRr Sn{&c$$4%R0`Ek?g%0B@3+MnnE diff --git a/src/WMS.Web.Domain/Entitys/InStockDetails.cs b/src/WMS.Web.Domain/Entitys/InStockDetails.cs index c1fca920..6a62a6d6 100644 --- a/src/WMS.Web.Domain/Entitys/InStockDetails.cs +++ b/src/WMS.Web.Domain/Entitys/InStockDetails.cs @@ -42,7 +42,10 @@ namespace WMS.Web.Domain.Entitys /// 箱ID /// public int BoxId { get; set; } - + /// + /// 是否解绑 + /// + public bool? UnBind { get; set; } = false; /// /// 对应金蝶的明细ID /// diff --git a/src/WMS.Web.Domain/IService/IInStockService.cs b/src/WMS.Web.Domain/IService/IInStockService.cs index 911d6ed0..d19350ef 100644 --- a/src/WMS.Web.Domain/IService/IInStockService.cs +++ b/src/WMS.Web.Domain/IService/IInStockService.cs @@ -73,5 +73,12 @@ namespace WMS.Web.Domain.IService /// /// Task> Contrast(ContrastMaterialsRequest dto); + /// + /// 解绑-收货的箱子 + /// + /// + /// + /// + Task UnBind(List boxIds, bool isTransaction = true); } } diff --git a/src/WMS.Web.Domain/Infrastructure/IInStockRepositories.cs b/src/WMS.Web.Domain/Infrastructure/IInStockRepositories.cs index 5c8a1093..bc297b81 100644 --- a/src/WMS.Web.Domain/Infrastructure/IInStockRepositories.cs +++ b/src/WMS.Web.Domain/Infrastructure/IInStockRepositories.cs @@ -129,5 +129,11 @@ namespace WMS.Web.Domain.Infrastructure /// /// Task> GetInstockBoxIds(List boxIds); + /// + /// 集合:根据boxIDS + /// + /// + /// + Task> GetListBy(List boxIds); } } diff --git a/src/WMS.Web.Domain/Services/BackRecordService.cs b/src/WMS.Web.Domain/Services/BackRecordService.cs index 48da40b3..d068251f 100644 --- a/src/WMS.Web.Domain/Services/BackRecordService.cs +++ b/src/WMS.Web.Domain/Services/BackRecordService.cs @@ -35,6 +35,7 @@ namespace WMS.Web.Domain.Services private readonly IChangeMoveBoxService _changeMoveBoxService; private readonly ISerialNumbersRepositories _serialNumbersRepositories; private readonly IInStockTaskBoxService _inStockTaskBoxService; + private readonly IInStockService _inStockService; public BackRecordService(IMapper mapper, ILoginService loginService, ILogger logger, IBasicsRepositories basicsRepositories, @@ -43,7 +44,8 @@ namespace WMS.Web.Domain.Services IChangeMoveBoxService changeMoveBoxService, ISerialNumbersRepositories serialNumbersRepositories, IBackRecordRepositories backRecordRepositories, - IInStockTaskBoxService inStockTaskBoxService) + IInStockTaskBoxService inStockTaskBoxService, + IInStockService inStockService) { _mapper = mapper; _logger = logger; @@ -55,6 +57,7 @@ namespace WMS.Web.Domain.Services _basicsRepositories = basicsRepositories; _serialNumbersRepositories = serialNumbersRepositories; _backRecordRepositories = backRecordRepositories; + _inStockService = inStockService; } /// @@ -123,6 +126,10 @@ namespace WMS.Web.Domain.Services return unBindResult; _logger.LogInformation("入库回退下架-结果:" + unBindResult.IsSuccess); + //入库单解绑 + unBindResult = await _inStockService.UnBind(boxIds, isTransaction); + if (!unBindResult.IsSuccess) + return unBindResult; } //提交事务 diff --git a/src/WMS.Web.Domain/Services/InStockService.cs b/src/WMS.Web.Domain/Services/InStockService.cs index 08e6a2e5..de3b4c12 100644 --- a/src/WMS.Web.Domain/Services/InStockService.cs +++ b/src/WMS.Web.Domain/Services/InStockService.cs @@ -1122,6 +1122,28 @@ namespace WMS.Web.Domain.Services } } + /// + /// 解绑箱子 + /// + /// + /// + /// + public async Task UnBind(List boxIds, bool isTransaction = true) + { + var delete_ids = new List(); + var t_boxIds = boxIds.Distinct().ToList(); + var list = await _inStockRepositories.GetListBy(t_boxIds); + //解绑 + list.ForEach(x => { x.UnBind = true; }); + + if (list.Count != 0) + { + var isSuccess = await _inStockRepositories.UpdateRange(list, isTransaction); + if (!isSuccess) + return Result.ReFailure(ResultCodes.DateWriteError); + } + return Result.ReSuccess(); + } } } diff --git a/src/WMS.Web.Repositories/InStockRepositories.cs b/src/WMS.Web.Repositories/InStockRepositories.cs index 482036b4..1bfad3c8 100644 --- a/src/WMS.Web.Repositories/InStockRepositories.cs +++ b/src/WMS.Web.Repositories/InStockRepositories.cs @@ -501,5 +501,13 @@ namespace WMS.Web.Repositories .SelectMany(x => x.orders.DefaultIfEmpty(), (p, order) => new { p.detail, order }) .Where(x => boxIds.Contains(x.detail.BoxId) && x.order.Type != InstockType.Purchase).Select(s => s.detail.BoxId).ToListAsync(); } + + public async Task> GetListBy(List boxIds) + { + var entitys = await _context.InStockDetails.AsNoTracking() + .Where(x => boxIds.Contains(x.BoxId) && (x.UnBind == null || x.UnBind == false)) + .ToListAsync(); + return entitys; + } } }