From 1d8897348d578648421b024d0dc5ff3d626e05f9 Mon Sep 17 00:00:00 2001
From: huanghongfeng <huanghongfeng@hnkhzn.com>
Date: 星期四, 19 六月 2025 16:48:07 +0800
Subject: [PATCH] 最新
---
代码管理/WMS/WIDESEA_WMSServer/WIDESEA_StockService/Service/StockInfoService.cs | 172 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++
1 files changed, 172 insertions(+), 0 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 4203711..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"
@@ -1,15 +1,20 @@
锘縰sing AutoMapper;
+using Magicodes.ExporterAndImporter.Core;
+using Magicodes.ExporterAndImporter.Excel;
using OfficeOpenXml.FormulaParsing.Excel.Functions.RefAndLookup;
using SqlSugar;
using System;
+using System.Collections;
using System.Collections.Generic;
using System.Linq;
+using System.Reflection;
using System.Text;
using System.Threading.Tasks;
using WIDESEA_Core;
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;
@@ -17,6 +22,7 @@
using WIDESEA_IStockRepository;
using WIDESEA_IStockService;
using WIDESEA_Model.Models;
+using WIDESEA_StockRepository;
namespace WIDESEA_StockService
{
@@ -181,5 +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