From dd9b3b17f1a8c28a519d7b28469e32583556dfb3 Mon Sep 17 00:00:00 2001 From: syc_zhaoqianyan Date: Sun, 4 Jan 2026 08:44:48 +0800 Subject: [PATCH] =?UTF-8?q?=E6=B7=BB=E5=8A=A0=E5=A4=9A=E9=80=89=E6=89=93?= =?UTF-8?q?=E5=8D=B0=E6=A0=87=E7=AD=BE?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../seyounth.auto.hs.metadata.v9.bin | Bin 6565 -> 6565 bytes .../seyounth.auto.hs.projects.v9.bin | Bin 2129353 -> 2567730 bytes .../seyounth.auto.hs.strings.v9.bin | Bin 267271 -> 267483 bytes .../DesignTimeBuild/.dtbcache.v2 | Bin 580998 -> 580998 bytes .vs/Seyounth.Auto.Hs/v17/.futdcache.v2 | Bin 11395 -> 11395 bytes .vs/Seyounth.Auto.Hs/v17/.suo | Bin 499200 -> 499200 bytes .../v17/DocumentLayout.backup.json | 155 ++++++++---------- .vs/Seyounth.Auto.Hs/v17/DocumentLayout.json | 153 ++++++++--------- .../Dto/CheckSilkDto.cs | 16 ++ .../Dto/ProduceSelectDto.cs | 24 +++ .../Syc.Basic.Web.WMS.Application/Enum.cs | 6 +- .../Service/BoxService.cs | 102 +++++++++++- .../Service/DownService.cs | 7 +- .../Service/ProduceService.cs | 30 +++- .../Service/SilkService.cs | 6 +- .../Syc.Basic.Web.WMS.Application.xml | 14 ++ 16 files changed, 337 insertions(+), 176 deletions(-) create mode 100644 services/Syc.Basic.Web.WMS.Application/Dto/CheckSilkDto.cs create mode 100644 services/Syc.Basic.Web.WMS.Application/Dto/ProduceSelectDto.cs diff --git a/.vs/ProjectEvaluation/seyounth.auto.hs.metadata.v9.bin b/.vs/ProjectEvaluation/seyounth.auto.hs.metadata.v9.bin index 060690d0de57f4dd0c902ceef75ff5ed2c8e028d..691cf243495445e0ea37d8a9a92613ea9d54cd1f 100644 GIT binary patch delta 581 zcmZ2#ywrF@F^f=Tsu}|bZ~`&&tLNt8u9I6?Ca_<*`NLS;_1!2 z3nY(6vRVR#k8sT7)MoevvW7!`a+kR50|=;5BpHtWw*kP2;{lR|Y25I?a2Rh*c059DAr-U;jyS`R>$ zO`gkpMCjvrh@V7(N+v5F2N_b#=g5{dK>%dPF1~|8!lxjHNCQ=bX45-33f4TNLx5;6m+u08OG6tC;EOuBZl@;P! zb)bqh@;^Xkybzno4sqGN$sOW5r0-sVSR)5ivi{wDh(F{q<9XRPPv+;9nOrWB$@xL| RBgpR@ion>?oh&BV4*;Orr=$P? delta 580 zcmZ2#ywrF@F^f>QKPv+Wr~vWur@CwHSSPo#OkkJ1sa=%43xt z7C-iVdy{MOGuCjn$unNu0y3T1&I&DDED2We2S`@W@dl|-VxP$-aLw&Dka>{(qtG3D zh#68qGajt<0jW5`F_SY;#T}^P9*6woE^*n(&7527*JCk%keq!UDz}~^F z1oqQh-XlVDxggej1}c#~>I$-^n9q?d;r|VgpLX#b6wM*GTDqnm<58QCw~;WDpdO$qK6r%C+n|r zyrcBw8^V2TtEIrc%@MgFr1)MQY^ni}|WPVkE6oDe(j OaVP>KOLwxEWIq6s9=_cG diff --git a/.vs/ProjectEvaluation/seyounth.auto.hs.projects.v9.bin b/.vs/ProjectEvaluation/seyounth.auto.hs.projects.v9.bin index 45faaaa25545c1196e17bdba10509fb86d84d51a..1769032d909a82cbcb4f5e16994c895194a80405 100644 GIT binary patch delta 526 zcmX^4yOD9zojHsREsQNpEzB(}EvzkUE$l5EEu1Y}E!-_UExav!E&MG4ErKmVEy67# zEut-AE#fT_Es`x#Ez&JAEwU|gE%I9wPS$GvX86s>&%nT-aKNdp{kx*n`(3v<3@*%H zCiJsrYUk^%++5R3T<0;Tb>?o*XP0~B#N^C0{opqVzwJFs<-f9QuQXTKz{nUr-OyW3 ziZKF0MM9`32o(*cwrg4{EN}r^W(Kls)xO*9Mjv0F^p5lM)Sj{T2a|G1sc= zZuqC`c?D{j3t5&i#vs|L^=BK;Z$@K~rRSX3rZ65haLdf{*UvIgy0LWWUe8PUOBtt~ z@mG9Si*Dl58!wU+;?f=j4=Vvl%ZEyZ9w=8XX{w8i#COL-ff^!A#r7=k` zZ2!nC=$^``yM10APgDx48UJra_3fA5GijzUF*9sGyhAJ@jZt(vmnW}S3Zu|=#kIT_ s)0q?*w)g)RnwP@*MBq0g+xBU%Sbn82a&DjK&pI=OQF^<9wX9?c0NdTWfB*mh delta 75 zcmV~$$qj-)006+O2&l;A0p8lEi6&EqRT!Gs9_WM*Gym}y;`9w4!9rpwmC3EFZ4|aj Ym0F{7ATiT;1F~Jcn0&&({MO_y7O^ diff --git a/.vs/ProjectEvaluation/seyounth.auto.hs.strings.v9.bin b/.vs/ProjectEvaluation/seyounth.auto.hs.strings.v9.bin index 7686965c3c7b3fec490a8c1aefefbbd22448cb4a..235a1591b9bf28b506862f93cb6ae42ddcd647c2 100644 GIT binary patch delta 169 zcmZo)A#i)80AqY3V=E&NF|{%>Z)Id*6PYf~%fiQDWN2t;Y+zwDeIXBv2!v;7U^IQA zFpDTVND3%9-BE}|lnu-=nJ&P~A{qwPWNc(=qF0eqTp?XvUS5=+UlLLfDans<&PYwp4$jQU26FV0i^V}=0Y&*KrOBzmsX3|1B@l4{f-WuK delta 24 ecmcb;QlNc>0AqL~V=E&NF|{%>Z)Id*69E8Wwgwsi diff --git a/.vs/Seyounth.Auto.Hs/DesignTimeBuild/.dtbcache.v2 b/.vs/Seyounth.Auto.Hs/DesignTimeBuild/.dtbcache.v2 index 4d5dc7285a4bbe84bba230f0aaa72093241bf63f..0701fb9f599e996ccdbb283cefb1727dd206d04a 100644 GIT binary patch delta 70799 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 XpK8j&p^iomuh}Jq*6eb8+vxuRU1S@? delta 71442 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 PtM*8NRePM@H~9Ym|0WG- diff --git a/.vs/Seyounth.Auto.Hs/v17/.futdcache.v2 b/.vs/Seyounth.Auto.Hs/v17/.futdcache.v2 index 52ceeae82b930ee7cacabf8c6c87f939b09b67af..3ca9782fca84c163469fe6ebaca64c6f298a368f 100644 GIT binary patch delta 277 zcmZpUY>wRUQ=HA_qsGPEZj=9u&th9sqyu8kmzc&mmr)DIyvGqcxlzS&bG;-ZBbVk^ zeXvj;BT&p_vVow~w$ITg3O9dp{j~A`tEvI2GM;=vtW@a!TL-^9>3bX>?{QoMxx5A8%mo}-leu{0 cCtuJg0$QWQSrcH4qB(kUf||tU7N!530C$6N9smFU delta 277 zcmZpUY>wRUQ=Co7aMk4-Mw9=G&tj8xUjt&!mzc(R&2%-8d5JrGn$?{q=CI`qWac+-*7?uk%fATpsyU7pO#3l>K-Qo1Q4>79_ZcDx}_hdhLUr`s) zG_yu^n~YrPdmN#H2f#Mg096@Jz93dAbpNe`Umj3KaKitqAeXlwoVkD_Ycdy){NxK7 ZML=tmI6HLLqiBwvoS-JLxkc$eCjdp=bEg0R diff --git a/.vs/Seyounth.Auto.Hs/v17/.suo b/.vs/Seyounth.Auto.Hs/v17/.suo index 8ccc704468fbcb9305787f17c2203e34cbc76139..9ab7f3991b74db2c4fe207284c984fef8857d2d6 100644 GIT binary patch delta 15724 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 input.Mark.Contains(x.Mark)); if (input.Chang != null) - boxlist = boxlist.Where(x => x.Length.Contains(input.Chang)); + boxlist = boxlist.Where(x => x.Length == input.Chang); if (input.Qty > 0) boxlist = boxlist.Where(x => x.Qty == input.Qty); if (input.Start_Time != null && input.End_Time != null) @@ -121,7 +120,7 @@ namespace Syc.Basic.Web.WMS.Service throw Oops.Oh("没有生产设置"); //var silks = await silkRepository.GetListAsync(x=>x.Status==1||x.Status==0); var boxlist = await boxRepository.GetQueryableAsync(); - boxlist = boxlist.Where(x => x.IsDelete == 0 && x.Spec == produce.Spec && x.Type == produce.Type && x.Lot_No == produce.Lot_No); + boxlist = boxlist.Where(x => x.IsDelete == 0 && x.Spec == produce.Spec && x.Type == produce.Type && x.Lot_No == produce.Lot_No && x.Length == produce.Length); var data = boxlist.Where(x => x.DataType == 0).Select(e => new BoxDto() { @@ -649,6 +648,93 @@ namespace Syc.Basic.Web.WMS.Service #endregion } + /// + /// 选中打印标签大标签 + /// + /// + /// + [HttpPost] + public async Task CheckSilksPrint(CheckSilkDto input) + { + var produce = await produceRepository.FirstOrDefaultAsync(x => x.Id == input.Pid); + + var silksQuery = await silkRepository.GetQueryableAsync(); + var silkslist = silksQuery + .Where(x => input.Ids.Contains(x.Id)); + + var netWeight = silkslist.Sum(x => x.Net_Weight); + var num = silkslist.Count(); + + if (produce == null) + throw Oops.Oh("没有生产设置"); + if (silkslist.Count() == 0) + throw Oops.Oh("没有选中的丝锭"); + if (silkslist.Where(x => x.Status != (int)SilkStatus.已称重).Count() > 0) + throw Oops.Oh("选中的丝锭中包含未称重或者已装箱码垛的丝锭,无法创建码垛信息"); + + #region 自动生成成箱码垛流水号 + var date = DateOnly.Parse(DateTime.Now.ToString("yyyy-MM-dd")); + var autolabel = await autoRepository.FirstOrDefaultAsync(x => x.Date == date && x.Type == (int)AutoLabelType.成箱码垛流水号); + var timestr = DateTime.Now.ToString("yyyyMMddHHmmss"); + + if (autolabel == null) + { + autolabel = await autoRepository.InsertAsync(new AutoLabel() + { + Date = date, + Sort = 0, + Mark = timestr, + Type = (int)AutoLabelType.成箱码垛流水号 + }, true); + + } + autolabel.Sort += 1; + logger.LogInformation("丝锭码垛生成Code" + timestr + autolabel.Sort.ToString().PadLeft(4, '0')); + await autoRepository.UpdateAsync(autolabel); + #endregion + + var box = new Box() + { + Dom_Time = Convert.ToDateTime(input.Date), + Type = produce.Type, + Exp_Time = Convert.ToDateTime(input.ExpTime), + Qty = num, + Length = produce.Length, + Lot_No = produce.Lot_No, + Color = input.Color, + //Code = Guid.NewGuid().ToString().Substring(9, 18), + Code = timestr + autolabel.Sort.ToString().PadLeft(4, '0'), + Net_Weight = netWeight, + Spec = produce.Spec, + IsUse = true, + IsDelete = 0, + DataType = (int)BoxDataType.选中打印标签, + Create_Time = DateTime.Now, + Mark = "选中打印标签数量" + num + }; + + var Box = await boxRepository.InsertAsync(box, true); + logger.LogInformation($"已添加码垛信息,码垛编号:{box.Code},包含单品数量:{silkslist.Count()}"); + + List list = new List(); + foreach (var silk in silkslist) + { + silk.Status = 6; + silk.BoxId = Box.Id; + silk.Status_Details = "选中打印标签"; + list.Add(silk); + } + + await silkRepository.UpdateManyAsync(list); + + #region 打印标签 + //打印标签 + BarTenderHelper.BoxPrint(box); + logger.LogInformation($"打印条码{box.Code},丝锭码垛标签打印成功"); + //throw Oops.Oh("丝锭码垛标签打印成功"); + #endregion + } + /// /// 求总 /// @@ -676,7 +762,7 @@ namespace Syc.Basic.Web.WMS.Service } if (input.Chang != null) - boxlist = boxlist.Where(x => x.Length.Contains(input.Chang)); + boxlist = boxlist.Where(x => x.Length == input.Chang); if (input.Qty > 0) boxlist = boxlist.Where(x => x.Qty == input.Qty); if (input.Start_Time != null && input.End_Time != null) @@ -781,7 +867,7 @@ namespace Syc.Basic.Web.WMS.Service var silks = await silkRepository.GetListAsync(x => x.Status == 1); if (box == null) throw Oops.Oh("没有数据"); - + box.IsDelete = 0; box.Mark = "恢复数据"; @@ -801,9 +887,9 @@ namespace Syc.Basic.Web.WMS.Service silk.Status_Details += "(已重新装箱)"; silk.BoxId = box.Id; } - await silkRepository.UpdateAsync(silk); } } + await boxRepository.UpdateAsync(box); } @@ -842,13 +928,11 @@ namespace Syc.Basic.Web.WMS.Service silk.Status_Details += "(已重新装箱)"; silk.BoxId = box.Id; } - await silkRepository.UpdateAsync(silk); - } + } } await boxRepository.UpdateAsync(box); } - } } } diff --git a/services/Syc.Basic.Web.WMS.Application/Service/DownService.cs b/services/Syc.Basic.Web.WMS.Application/Service/DownService.cs index 37c764c..edd885f 100644 --- a/services/Syc.Basic.Web.WMS.Application/Service/DownService.cs +++ b/services/Syc.Basic.Web.WMS.Application/Service/DownService.cs @@ -1,6 +1,7 @@ using Microsoft.AspNetCore.Authorization; using Microsoft.AspNetCore.Hosting; using Microsoft.AspNetCore.Mvc; +using Microsoft.Extensions.Logging; using Syc.Basic.Web.WMS.Dto; using Syc.Basic.Web.WMS.Entitys; using System; @@ -18,11 +19,13 @@ namespace Syc.Basic.Web.WMS.Service { private readonly IRepository silkRepository; private readonly IRepository boxRepository; + private readonly ILogger logger; - public DownService(IRepository silkRepository, IRepository boxRepository) + public DownService(IRepository silkRepository, IRepository boxRepository,ILogger logger) { this.silkRepository = silkRepository; this.boxRepository = boxRepository; + this.logger = logger; } [HttpPost("api/DownSilk")] @@ -66,9 +69,11 @@ namespace Syc.Basic.Web.WMS.Service }; var webHost = base.HttpContext.RequestServices.GetService(typeof(IWebHostEnvironment)) as IWebHostEnvironment; + logger.LogInformation("WebRootPath: {WebRootPath}", webHost.WebRootPath); // 3. 生成 Excel 内存流 var fileName1 = $"{DateTime.Now.ToString("yyyyMMddHHmmss")}.xlsx"; var fiePath = Path.Combine(webHost.WebRootPath, fileName1); + logger.LogInformation("FilePath: {FilePath}", fiePath); ExcelExporter.ExportToExcelStream(silklist, "丝锭数据报表", fiePath, customHeaders); // 4. 配置下载响应(解决中文文件名乱码) diff --git a/services/Syc.Basic.Web.WMS.Application/Service/ProduceService.cs b/services/Syc.Basic.Web.WMS.Application/Service/ProduceService.cs index 299bbbd..52d3998 100644 --- a/services/Syc.Basic.Web.WMS.Application/Service/ProduceService.cs +++ b/services/Syc.Basic.Web.WMS.Application/Service/ProduceService.cs @@ -1,4 +1,5 @@ -using Microsoft.AspNetCore.Mvc; +using Microsoft.AspNetCore.Authorization; +using Microsoft.AspNetCore.Mvc; using Microsoft.Extensions.Logging; using Syc.Basic.Web.WMS.Dto; using Syc.Basic.Web.WMS.Entitys; @@ -13,6 +14,7 @@ using Volo.Abp.Domain.Repositories; namespace Syc.Basic.Web.WMS.Service { + [AllowAnonymous] public class ProduceService : ApiService { private readonly IRepository produceRepository; @@ -26,6 +28,32 @@ namespace Syc.Basic.Web.WMS.Service this.logger = logger; } /// + /// 产品选择框 + /// + /// + /// + [HttpGet] + public async Task> GetProduceSelectList() + { + var list = await produceRepository.GetQueryableAsync(); + list = list.Where(x => x.IsDelete == 0); + + var data = list.Select(x => new ProduceSelectDto() + { + Id = x.Id, + Label = x.Type + "," + x.Spec + "," + x.Length + "," + x.Lot_No + "," + x.Qty, + Spec = x.Spec, + Lot_No = x.Lot_No, + Length = x.Length, + Type = x.Type, + Exp_Time = x.Exp_Time.HasValue ? x.Exp_Time.Value.ToString("yyyy-MM-dd HH:mm") : "-", + IfUse = x.IfUse, + Qty = x.Qty + }).ToList(); + + return data; + } + /// /// 查询生产 /// /// diff --git a/services/Syc.Basic.Web.WMS.Application/Service/SilkService.cs b/services/Syc.Basic.Web.WMS.Application/Service/SilkService.cs index cc3257d..5d860ed 100644 --- a/services/Syc.Basic.Web.WMS.Application/Service/SilkService.cs +++ b/services/Syc.Basic.Web.WMS.Application/Service/SilkService.cs @@ -108,7 +108,7 @@ namespace Syc.Basic.Web.WMS.Service if (input.Lot_No != null) silklist = silklist.Where(x => x.Lot_No.Contains(input.Lot_No)); if (input.Chang != null) - silklist = silklist.Where(x => x.Length.Contains(input.Chang)); + silklist = silklist.Where(x => x.Length == input.Chang); if (input.Start_Time != null && input.End_Time != null) silklist = silklist.Where(x => x.Date >= DateTime.Parse(input.Start_Time) && x.Date <= DateTime.Parse(input.End_Time)); if (input.Qty > 0) @@ -329,7 +329,7 @@ namespace Syc.Basic.Web.WMS.Service if (input.Lot_No != null) silklist = silklist.Where(x => x.Lot_No.Contains(input.Lot_No)); if (input.Chang != null) - silklist = silklist.Where(x => x.Length.Contains(input.Chang)); + silklist = silklist.Where(x => x.Length == input.Chang); if (input.Start_Time != null && input.End_Time != null) silklist = silklist.Where(x => x.Date >= DateTime.Parse(input.Start_Time) && x.Date <= DateTime.Parse(input.End_Time)); if (input.Qty > 0) @@ -386,7 +386,7 @@ namespace Syc.Basic.Web.WMS.Service if (input.Lot_No != null) silklist = silklist.Where(x => x.Lot_No.Contains(input.Lot_No)); if (input.Chang != null) - silklist = silklist.Where(x => x.Length.Contains(input.Chang)); + silklist = silklist.Where(x => x.Length == input.Chang); if (input.Start_Time != null && input.End_Time != null) silklist = silklist.Where(x => x.Date >= DateTime.Parse(input.Start_Time) && x.Date <= DateTime.Parse(input.End_Time)); if (input.Qty > 0) diff --git a/services/Syc.Basic.Web.WMS.Application/Syc.Basic.Web.WMS.Application.xml b/services/Syc.Basic.Web.WMS.Application/Syc.Basic.Web.WMS.Application.xml index 3e09a1f..44076b3 100644 --- a/services/Syc.Basic.Web.WMS.Application/Syc.Basic.Web.WMS.Application.xml +++ b/services/Syc.Basic.Web.WMS.Application/Syc.Basic.Web.WMS.Application.xml @@ -202,6 +202,13 @@ + + + 选中打印标签大标签 + + + + 求总 @@ -230,6 +237,13 @@ + + + 产品选择框 + + + + 查询生产