From b7f53ba61fbc1844d7b92ff852762b140d46ab54 Mon Sep 17 00:00:00 2001 From: huanghongfeng <huanghongfeng@hnkhzn.com> Date: 星期一, 23 六月 2025 19:58:16 +0800 Subject: [PATCH] 最新 --- 代码管理/WMS/WIDESEA_WMSServer/WIDESEA_StockService/Service/StockInfoService.cs | 169 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++ 1 files changed, 168 insertions(+), 1 deletions(-) diff --git "a/\344\273\243\347\240\201\347\256\241\347\220\206/WMS/WIDESEA_WMSServer/WIDESEA_StockService/Service/StockInfoService.cs" "b/\344\273\243\347\240\201\347\256\241\347\220\206/WMS/WIDESEA_WMSServer/WIDESEA_StockService/Service/StockInfoService.cs" index 93b5123..64d0815 100644 --- "a/\344\273\243\347\240\201\347\256\241\347\220\206/WMS/WIDESEA_WMSServer/WIDESEA_StockService/Service/StockInfoService.cs" +++ "b/\344\273\243\347\240\201\347\256\241\347\220\206/WMS/WIDESEA_WMSServer/WIDESEA_StockService/Service/StockInfoService.cs" @@ -4,6 +4,7 @@ using OfficeOpenXml.FormulaParsing.Excel.Functions.RefAndLookup; using SqlSugar; using System; +using System.Collections; using System.Collections.Generic; using System.Linq; using System.Reflection; @@ -13,6 +14,7 @@ using WIDESEA_Core.BaseServices; using WIDESEA_Core.Enums; using WIDESEA_Core.Helper; +using WIDESEA_Core.Utilities; using WIDESEA_DTO.Stock; using WIDESEA_IBasicRepository; using WIDESEA_IRecordRepository; @@ -20,6 +22,7 @@ using WIDESEA_IStockRepository; using WIDESEA_IStockService; using WIDESEA_Model.Models; +using WIDESEA_StockRepository; namespace WIDESEA_StockService { @@ -184,7 +187,171 @@ residueQuantity = needQuantity; return outStocks; } + /// <summary> + /// 鍒犻櫎鏁版嵁 + /// </summary> + /// <param name="keys">涓婚敭鏁扮粍</param> + /// <returns></returns> + public virtual WebResponseContent DeleteData(object[] keys) + { + try + { - + List<Dt_StockInfo> stockList = BaseDal.QureyDataByIds(keys); + + var stokd= stockList.Where(x=>x.StockStatus != (int)StockStatusEmun.缁勭洏鏆傚瓨).ToList(); + if(stokd.Count > 0 ) + { + return WebResponseContent.Instance.Error("鍒犻櫎澶辫触锛佸彧鑳藉垹闄も�滅粍鐩樻殏瀛樷�濈殑淇℃伅"); + } + foreach (var item in stockList) + { + var stodet=_stockRepository.StockInfoDetailRepository.QueryFirst(x => x.StockId == item.Id); + _stockRepository.StockInfoDetailRepository.DeleteData(stodet); + } + + if (typeof(Dt_StockInfodt).GetNavigatePro() == null) + return BaseDal.DeleteDataByIds(keys) ? WebResponseContent.Instance.OK() : WebResponseContent.Instance.Error(); + else + { + if (keys != null) + { + Type detailType = typeof(Dt_StockInfodt).GetDetailType(); + string name = typeof(Dt_StockInfodt).GetMainIdByDetail(); + List<object> dynamicDelKeys = new List<object>(); + + for (int i = 0; i < keys.Length; i++) + { + dynamicDelKeys.Add(keys[i]); + } + ((SqlSugarClient)BaseDal.Db).BeginTran(); + + if (dynamicDelKeys.Count > 0) + BaseDal.Db.Deleteable<object>().AS(detailType.Name).Where($"{name} in (@id)", new { id = dynamicDelKeys.ToArray() }).ExecuteCommandHasChange(); + + BaseDal.DeleteDataByIds(keys); + + ((SqlSugarClient)BaseDal.Db).CommitTran(); + + return WebResponseContent.Instance.OK(); + } + else + { + return WebResponseContent.Instance.Error("鍙傛暟閿欒"); + } + } + } + catch (Exception ex) + { + ((SqlSugarClient)BaseDal.Db).RollbackTran(); + return WebResponseContent.Instance.Error(ex.Message); + } + } + + + //瀵煎嚭 + public override WebResponseContent Export(PageDataOptions options) + { + + WebResponseContent content = new WebResponseContent(); + try + { + string savePath = AppDomain.CurrentDomain.BaseDirectory + $"ExcelExport"; + IExporter exporter = new ExcelExporter(); + //娣诲姞鏉′欢 + string wheres = options.ValidatePageOptions(TProperties); + //鑾峰彇鎺掑簭瀛楁 + Dictionary<string, OrderByType> orderbyDic = options.GetPageDataSort(TProperties); + + List<Dt_StockInfo> entities = BaseDal.QueryData(wheres, orderbyDic); + List<Dt_StockInfoDetail> detdata = _stockInfoDetail.QueryData(); + List<Dt_StockInfodt> stolist= new List<Dt_StockInfodt>(); + for (int i = 0; i < entities.Count; i++) + { + Dt_StockInfoDetail dt_StockIndet = detdata.Where(x => x.StockId == entities[i].Id).FirstOrDefault(); + string MaterialTypet = "鍘熸潗鏂�"; + if (entities[i].MaterialType == (int)InventoryMaterialType.鎴愬搧) + { + MaterialTypet = "鎴愬搧"; + } + else if(entities[i].MaterialType == (int)InventoryMaterialType.绌烘墭) + { + MaterialTypet = "绌烘墭"; + } + + string Wlstatust = "寰呮"; + if (entities[i].Wlstatus== (int)InventoryMaterialStatus.鍚堟牸) + { + Wlstatust = "鍚堟牸"; + } + else if (entities[i].Wlstatus == (int)InventoryMaterialStatus.涓嶅悎鏍�) + { + Wlstatust = "涓嶅悎鏍�"; + } + else if (entities[i].Wlstatus == (int)InventoryMaterialStatus.绌烘墭) + { + Wlstatust = "绌烘墭"; + } + else if (entities[i].Wlstatus == (int)InventoryMaterialStatus.閫�璐�) + { + Wlstatust = "閫�璐�"; + } + else if (entities[i].Wlstatus == (int)InventoryMaterialStatus.杩斿伐) + { + Wlstatust = "杩斿伐"; + } + else if (entities[i].Wlstatus == (int)InventoryMaterialStatus.鐗归噰) + { + Wlstatust = "鐗归噰"; + } + + Dt_StockInfodt dt_ = new Dt_StockInfodt() + { + PalletCode = entities[i].PalletCode, + MaterialType = MaterialTypet, + LocationCode = entities[i].LocationCode, + Wlstatus = Wlstatust, + MaterielCode = dt_StockIndet?.MaterielCode ?? "", // 濡傛灉 dt_StockIndet 涓� null锛屼娇鐢ㄧ┖瀛楃涓蹭綔涓洪粯璁ゅ�� + MaterielName = dt_StockIndet?.MaterielName ?? "", + OrderNo = dt_StockIndet?.OrderNo ?? "", + BatchNo = dt_StockIndet?.BatchNo ?? "", + SerialNumber = dt_StockIndet?.SerialNumber ?? "", + StockQuantity = dt_StockIndet?.StockQuantity ?? 0, // 鍋囪 StockQuantity 鏄暟鍊肩被鍨嬶紝浣跨敤 0 浣滀负榛樿鍊� + BatchNoName = dt_StockIndet?.BatchNoName ?? "", + CreateDate = dt_StockIndet?.CreateDate ?? DateTime.MinValue, // 鍋囪 CreateDate 鏄棩鏈熺被鍨嬶紝浣跨敤榛樿鏃堕棿 + Remark = entities[i].Remark, + }; + stolist.Add(dt_); + } + + byte[] data = exporter.ExportAsByteArray(stolist).Result; + + string fileName = "1.xlsx"; + + FileHelper.WriteFile(savePath, fileName, data); + + content = WebResponseContent.Instance.OK(data: savePath + "\\" + fileName); + } + catch (Exception ex) + { + content = WebResponseContent.Instance.Error(ex.Message); + } + return content; + } + + public class Dt_StockInfodt: Dt_StockInfoDetail + { + [ExporterHeader(DisplayName = "鎵樼洏缂栧彿")] + public string PalletCode { get; set; } + + [ExporterHeader(DisplayName = "绫诲瀷")] + public string MaterialType { get; set; } + + [ExporterHeader(DisplayName = "璐т綅缂栧彿")] + public string LocationCode { get; set; } + + [ExporterHeader(DisplayName = "鐗╂枡鐘舵��")] + public string Wlstatus { get; set; } + } } } -- Gitblit v1.9.3