From 2b49f7643d15b74889d190f216630559006ed93a Mon Sep 17 00:00:00 2001
From: yanjinhui <3306209981@qq.com>
Date: 星期一, 01 十二月 2025 09:48:43 +0800
Subject: [PATCH] pad和后端的优化
---
新建文件夹/WIDESEA_WMSServer/WIDESEA_SquareCabinServices/CabinOrderServices.cs | 89 +++++++++++++++++++++++++++++++++++++++-----
1 files changed, 78 insertions(+), 11 deletions(-)
diff --git "a/\346\226\260\345\273\272\346\226\207\344\273\266\345\244\271/WIDESEA_WMSServer/WIDESEA_SquareCabinServices/CabinOrderServices.cs" "b/\346\226\260\345\273\272\346\226\207\344\273\266\345\244\271/WIDESEA_WMSServer/WIDESEA_SquareCabinServices/CabinOrderServices.cs"
index f9114b7..2c182d4 100644
--- "a/\346\226\260\345\273\272\346\226\207\344\273\266\345\244\271/WIDESEA_WMSServer/WIDESEA_SquareCabinServices/CabinOrderServices.cs"
+++ "b/\346\226\260\345\273\272\346\226\207\344\273\266\345\244\271/WIDESEA_WMSServer/WIDESEA_SquareCabinServices/CabinOrderServices.cs"
@@ -104,15 +104,72 @@
/// <param name="pageNo"></param>
/// <param name="orderNo"></param>
/// <returns></returns>
+ //public WebResponseContent GetCabinOrderDetail(int pageNo, string orderNo)
+ //{
+ // WebResponseContent content = new WebResponseContent();
+ // Dt_CabinOrder cabinOrder = Db.Queryable<Dt_CabinOrder>().Includes(x => x.Details).First(x => x.Order_no == orderNo);
+ // List<Dt_CabinOrderDetail> cabinOrderDetails = cabinOrder.Details.Where(x => x.Status == 2 && x.OrderDetailStatus != "宸插畬鎴�").ToList();
+ // content.OK(data: cabinOrderDetails);
+ // return content;
+ //}
+
public WebResponseContent GetCabinOrderDetail(int pageNo, string orderNo)
{
WebResponseContent content = new WebResponseContent();
- Dt_CabinOrder cabinOrder = Db.Queryable<Dt_CabinOrder>().Includes(x => x.Details).First(x => x.Order_no == orderNo);
- List<Dt_CabinOrderDetail> cabinOrderDetails = cabinOrder.Details.Where(x => x.Status == 2 && x.OrderDetailStatus != "宸插畬鎴�").ToList();
- content.OK(data: cabinOrderDetails);
+ try
+ {
+ Dt_CabinOrder cabinOrder = Db.Queryable<Dt_CabinOrder>().Includes(x => x.Details).First(x => x.Order_no == orderNo);
+ List<Dt_CabinOrderDetail> cabinOrderDetails = cabinOrder.Details.Where(x => x.Status == 2 && x.OrderDetailStatus != "宸插畬鎴�").ToList();
+
+ // 鑾峰彇鎵�鏈夌墿鏂欑紪鍙�
+ var materielCodes = cabinOrderDetails.Select(x => x.Goods_no).Distinct().ToList();
+
+ // 鑾峰彇鐗╂枡淇℃伅
+ var materiels = Db.Queryable<Dt_MaterielInfo>()
+ .Where(x => materielCodes.Contains(x.MaterielCode))
+ .ToList()
+ .ToDictionary(x => x.MaterielCode, x => x);
+
+ // 缁勫悎鏁版嵁
+ var result = cabinOrderDetails.Select(detail =>
+ {
+ var materiel = materiels.ContainsKey(detail.Goods_no) ? materiels[detail.Goods_no] : null;
+
+ return new
+ {
+ // 璁㈠崟鏄庣粏瀛楁
+ detail.Id,
+ detail.Batch_num,
+ detail.Goods_no,
+ detail.Order_qty,
+ detail.Order_Inqty,
+ detail.Status,
+ detail.OrderDetailStatus,
+ detail.Exp_date,//鏁堟湡
+
+ // 鐗╂枡淇℃伅瀛楁
+ MaterielName = materiel?.MaterielName ?? "",
+ item = materiel?.item ?? "", // 鍝佸悕/閫氱敤鍚�
+ MaterielSpec = materiel?.MaterielSpec ?? "", // 鐗╂枡瑙勬牸
+ Factory = materiel?.Factory ?? "", // 鐢熶骇鍘傚
+ MaterielUnit = materiel?.MaterielUnit ?? "", // 鍩烘湰鍗曚綅
+ MaterielStoragecondition = materiel?.MaterielStoragecondition, // 瀛樺偍鏉′欢/鏁堟湡
+ MaterielModel = materiel?.MaterielModel ?? "" // 鐗╂枡鍨嬪彿
+ };
+ }).ToList();
+ int pageSize = 5; // 姣忛〉鏄剧ず5鏉�
+ var pagedResult = result
+ .Skip((pageNo - 1) * pageSize)
+ .Take(pageSize)
+ .ToList();
+ content.OK(data: pagedResult);
+ }
+ catch (Exception ex)
+ {
+ content.Error(ex.Message);
+ }
return content;
}
-
/// <summary>
/// Pad鍏ュ簱瀹屾垚
@@ -871,17 +928,22 @@
if (order.warehouse_no == WareCodeMJ || order.warehouse_no == WareCodeLD)
{
- List<Dt_Inventory_Batch> inventory_Batchs = _inventory_BatchServices.Repository.QueryData(x => codes.Contains(x.MaterielCode));
- List<Dt_InventoryInfo> _InventoryInfos = _inventoryInfoService.Repository.QueryData(x => codes.Contains(x.MaterielCode));
+ List<Dt_Inventory_Batch> inventory_Batchs = _inventory_BatchServices.Repository.QueryData(x => codes.Contains(x.MaterielCode)).ToList();
+ List<Dt_InventoryInfo> _InventoryInfos = _inventoryInfoService.Repository.QueryData(x => codes.Contains(x.MaterielCode)).ToList();
#region 搴撳瓨銆佸簱瀛樻壒娆″钩璐�
foreach (var item in order.details)
{
//鎵惧簱瀛樻壒娆′俊鎭�
- Dt_Inventory_Batch inventory_Batch = inventory_Batchs.Where(x => x.MaterielCode == item.goods_no && x.BatchNo == item.batch_num).First();
+ Dt_Inventory_Batch inventory_Batch = inventory_Batchs.Where(x => x.MaterielCode == item.goods_no && x.BatchNo == item.batch_num).FirstOrDefault();
+ if (inventory_Batch==null)
+ {
+ _messageInfoService.AddMessageInfo(MessageGroupByEnum.InOrderAlarm, "ERP鎶ユ姤婧㈠叆搴撻敊璇�", $"鐩樼泩鍏ュ簱鍗曘�恵order.order_no}銆戠墿鏂欑紪鍙枫�恵item.goods_no}銆戠墿鏂欐壒娆°�恵item.batch_num}銆戠殑鐗╂枡鎵规淇℃伅閿欒");
+ throw new Exception($"鐩樼泩鍏ュ簱鍗曘�恵order.order_no}銆戠墿鏂欑紪鍙枫�恵item.goods_no}銆戠墿鏂欐壒娆°�恵item.batch_num}銆戠殑鐗╂枡鎵规淇℃伅閿欒");
+ }
if (inventory_Batch.SupplyQuantity != item.order_qty)
{
_messageInfoService.AddMessageInfo(MessageGroupByEnum.InOrderAlarm, "ERP鎶ユ姤婧㈠叆搴撻敊璇�", $"鐩樼泩鍏ュ簱鍗曘�恵order.order_no}銆戠墿鏂欑紪鍙枫�恵item.goods_no}銆戠墿鏂欐壒娆°�恵item.batch_num}銆戠殑鐩樼泩鏁伴噺鏈夎");
- throw new Exception($"鐩樼泩鍏ュ簱鍗曘�恵order.order_no}銆戠墿鏂欑紪鍙枫�恵item.goods_no}銆戠墿鏂欐壒娆°�恵item.batch_num}銆戠殑鐩樼泩鏁伴噺鏈夎");
+ throw new Exception($"鐩樼泩鍏ュ簱鍗曘�恵order.order_no}銆戠墿鏂欑紪鍙枫�恵item.goods_no}銆戠墿鏂欐壒娆°�恵item.batch_num}銆戠殑鐨勭洏鐩堟暟閲忔湁璇�");
}
//鎵炬墍鏈夊簱瀛�
List<Dt_InventoryInfo> inventoryInfos = _InventoryInfos.Where(x => x.MaterielCode == inventory_Batch.MaterielCode && x.BatchNo == inventory_Batch.BatchNo).ToList();
@@ -970,7 +1032,12 @@
foreach (var item in order.details)
{
//鎵惧簱瀛樻壒娆′俊鎭�
- Dt_Inventory_Batch inventory_Batch = inventory_Batchs.Where(x => x.MaterielCode == item.goods_no && x.BatchNo == item.batch_num).First();
+ Dt_Inventory_Batch inventory_Batch = inventory_Batchs.Where(x => x.MaterielCode == item.goods_no && x.BatchNo == item.batch_num).FirstOrDefault();
+ if (inventory_Batch == null)
+ {
+ _messageInfoService.AddMessageInfo(MessageGroupByEnum.InOrderAlarm, "ERP鎶ユ姤婧㈠叆搴撻敊璇�", $"鐩樼泩鍏ュ簱鍗曘�恵order.order_no}銆戠墿鏂欑紪鍙枫�恵item.goods_no}銆戠墿鏂欐壒娆°�恵item.batch_num}銆戠殑鎵规淇℃伅娌℃湁鎵惧埌");
+ throw new Exception($"鐩樼泩鍏ュ簱鍗曘�恵order.order_no}銆戠墿鏂欑紪鍙枫�恵item.goods_no}銆戠墿鏂欐壒娆°�恵item.batch_num}銆戠殑鎵规淇℃伅閿欒");
+ }
var Qty = Math.Abs(inventory_Batch.SupplyQuantity);
if (Qty != item.order_qty)
{
@@ -1216,8 +1283,8 @@
}
else
{
- var url = "http://121.37.118.63:80/GYZ2/95fck/outOrderOk";
- if (cabinOrder.Order_type == "2") url = "http://121.37.118.63:80/GYZ2/95fck/outOrderOk";
+ var url = "http://192.168.1.100:80/GYZ2/95fck/outOrderOk";
+ if (cabinOrder.Order_type == "2") url = "http://192.168.1.100:80/GYZ2/95fck/outOrderOk";
var requestDate = new
{
order_no = cabinOrder.Order_no
--
Gitblit v1.9.3