From 89e2243271a81bd6a11612b95d986f0972b6a08e Mon Sep 17 00:00:00 2001
From: dengjunjie <dengjunjie@hnkhzn.com>
Date: 星期五, 24 十月 2025 20:04:50 +0800
Subject: [PATCH] 添加出入库退货单
---
新建文件夹/WIDESEA_WMSServer/WIDESEA_SquareCabinServices/CabinOrderServices.cs | 58 +++++++++++++++++++++++++++++++++-------------------------
1 files changed, 33 insertions(+), 25 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 f24f1aa..101709c 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"
@@ -1,6 +1,7 @@
锘縰sing HslCommunication;
using MailKit.Search;
using Microsoft.AspNetCore.Mvc;
+using Microsoft.Data.SqlClient;
using Newtonsoft.Json;
using SqlSugar;
using System;
@@ -40,11 +41,12 @@
private readonly IInventory_BatchServices _inventory_BatchServices;
private readonly IInventoryInfoService _inventoryInfoService;
private readonly ICabinOrderDetailServices _cabinOrderDetailServices;
+ private readonly IDeliveryOrderServices _eliveryOrderServices;
private readonly ISupplyTaskService _supplyTaskService;
private readonly ISupplyTaskHtyService _supplyTaskHtyService;
public IRepository<Dt_CabinOrder> Repository => BaseDal;
- public CabinOrderServices(IRepository<Dt_CabinOrder> BaseDal, IBasicService basicService, IMedicineGoodsServices medicineGoodsServices, IUnitOfWorkManage unitOfWorkManage, IInventory_BatchServices inventory_BatchServices, IInventoryInfoService inventoryInfoService, ICabinOrderDetailServices cabinOrderDetailServices, ICabinOrderHtyServices cabinOrderHtyServices, ICabinOrderDetailHtyServices cabinOrderDetailHtyServices, ISupplyTaskService supplyTaskService, ISupplyTaskHtyService supplyTaskHtyService) : base(BaseDal)
+ public CabinOrderServices(IRepository<Dt_CabinOrder> BaseDal, IBasicService basicService, IMedicineGoodsServices medicineGoodsServices, IUnitOfWorkManage unitOfWorkManage, IInventory_BatchServices inventory_BatchServices, IInventoryInfoService inventoryInfoService, ICabinOrderDetailServices cabinOrderDetailServices, ICabinOrderHtyServices cabinOrderHtyServices, ICabinOrderDetailHtyServices cabinOrderDetailHtyServices, ISupplyTaskService supplyTaskService, ISupplyTaskHtyService supplyTaskHtyService, IDeliveryOrderServices eliveryOrderServices) : base(BaseDal)
{
_basicService = basicService;
_medicineGoodsServices = medicineGoodsServices;
@@ -54,6 +56,7 @@
_cabinOrderDetailServices = cabinOrderDetailServices;
_supplyTaskService = supplyTaskService;
_supplyTaskHtyService = supplyTaskHtyService;
+ _eliveryOrderServices = eliveryOrderServices;
}
@@ -120,12 +123,13 @@
var LocationCode = saveModel.MainData["LocationCode"].ToString();
var orderNo = saveModel.MainData["orderNo"].ToString();
var batchNo = saveModel.MainData["batchNo"].ToString();
+ var materielCode = saveModel.MainData["materielCode"].ToString();
var Inqty = saveModel.MainData["Inqty"].ObjToInt();
var warehouseCode = saveModel.MainData["warehouseCode"].ToString();
Dt_CabinOrder cabinOrder = BaseDal.Db.Queryable<Dt_CabinOrder>().Where(x => x.Order_no == orderNo && x.Warehouse_no == warehouseCode).Includes(x => x.Details).First();
if (cabinOrder == null || cabinOrder.OdrderStatus == "宸插畬鎴�")
return WebResponseContent.Instance.Error($"鍏ュ簱鍗曞凡瀹屾垚");
- Dt_CabinOrderDetail cabinOrderDetail = cabinOrder.Details.Where(x => x.Batch_num == batchNo && x.Status == 2).First();
+ Dt_CabinOrderDetail cabinOrderDetail = cabinOrder.Details.Where(x => x.Goods_no == materielCode && x.Batch_num == batchNo && x.Status == 2).First();
if (cabinOrderDetail == null || cabinOrderDetail.OrderDetailStatus == "宸插畬鎴�")
return WebResponseContent.Instance.Error($"鍏ュ簱鍗曟槑缁嗗凡瀹屾垚");
Dt_MaterielInfo materielInfo = _basicService.MaterielInfoService.Repository.QueryFirst(x => x.MaterielCode == cabinOrderDetail.Goods_no);
@@ -143,28 +147,9 @@
if (cabinOrderDetail.Order_Inqty == cabinOrderDetail.Order_qty)
{
cabinOrderDetail.OrderDetailStatus = "宸插畬鎴�";
- //_cabinOrderDetailServices.Repository.DeleteAndMoveIntoHty(cabinOrderDetail, OperateTypeEnum.鑷姩瀹屾垚);
-
- //Dt_CabinOrderDetail_Hty hty = new Dt_CabinOrderDetail_Hty
- //{
- // Id = cabinOrderDetail.OrderId,
- // Reservoirarea = cabinOrderDetail.Reservoirarea,
- // Goods_no = cabinOrderDetail.Goods_no,
- // Order_qty = cabinOrderDetail.Order_qty,
- // Order_Inqty = cabinOrderDetail.Order_Inqty,
- // Batch_num = cabinOrderDetail.Batch_num,
- // Exp_date = cabinOrderDetail.Exp_date,
- // OrderDetailStatus = cabinOrderDetail.OrderDetailStatus,
- // Status = cabinOrderDetail.Status,
- // Creater = cabinOrderDetail.Creater,
- // CreateDate = cabinOrderDetail.CreateDate,
- // Modifier = App.User.UserName,
- // ModifyDate = DateTime.Now
- //};
- //var i = BaseDal.Db.Insertable(hty).ExecuteCommand();
}
_cabinOrderDetailServices.Repository.UpdateData(cabinOrderDetail);
- var cabinOrder1 = BaseDal.Db.Queryable<Dt_CabinOrder>().Where(x => x.Order_no == cabinOrder.Order_no).Includes(x => x.Details).First();
+ var cabinOrder1 = BaseDal.Db.Queryable<Dt_CabinOrder>().Where(x => x.Order_no == cabinOrder.Order_no && x.Warehouse_no == warehouseCode).Includes(x => x.Details).First();
if (!cabinOrder1.Details.Where(x => x.OrderDetailStatus != "宸插畬鎴�").Any()) cabinOrder.OdrderStatus = "宸插畬鎴�";
Repository.UpdateData(cabinOrder);
#endregion
@@ -174,6 +159,8 @@
if (location == null) return WebResponseContent.Instance.Error($"璇风淮鎶よ揣浣嶇紪鍙枫�恵LocationCode}銆戠殑璐т綅淇℃伅");
if (location.EnableStatus == EnableStatusEnum.Disable.ObjToInt())
return WebResponseContent.Instance.Error($"璐т綅缂栧彿銆恵LocationCode}銆戝凡绂佺敤锛岃鎭㈠姝e父鍐嶄娇鐢�");
+ if (location.WarehouseCode != cabinOrderDetail.Reservoirarea)
+ return WebResponseContent.Instance.Error($"璐т綅缂栧彿銆恵LocationCode}銆戞墍灞炲簱鎴夸笌褰撳墠鍏ュ簱鍗曟墍灞炲簱鎴夸笉鍖归厤");
if (location.LocationStatus == LocationStatusEnum.Free.ObjToInt())
{
location.LocationStatus = LocationStatusEnum.InStock.ObjToInt();
@@ -187,6 +174,7 @@
{
inventoryInfo.StockQuantity += Inqty;
inventoryInfo.AvailableQuantity += Inqty;
+ inventoryInfo.InDate = DateTime.Now;
_inventoryInfoService.UpdateData(inventoryInfo);
}
else
@@ -374,7 +362,27 @@
else
{
//鍒涘缓鍑哄簱鍗�
-
+ #region 杞崲涓哄嚭搴撳崟
+ UpstramOutOrderInfo upstramOutOrderInfo = new UpstramOutOrderInfo()
+ {
+ order_no = order.order_no,
+ order_type = order.order_type,
+ warehouse_no = order.warehouse_no,
+ details=new List<UpstreamOutOrderDetail>()
+ };
+ foreach (var item in order.details)
+ {
+ UpstreamOutOrderDetail detail = new UpstreamOutOrderDetail()
+ {
+ batch_num = item.batch_num,
+ goods_no = item.goods_no,
+ order_qty = item.order_qty,
+ exp_date = item.exp_date,
+ };
+ upstramOutOrderInfo.details.Add(detail);
+ }
+ _eliveryOrderServices.CreateOutboundOrder(upstramOutOrderInfo);
+ #endregion
}
};
BaseDal.Db.InsertNav(_CabinOrders).Include(x => x.Details).ExecuteCommand();
@@ -586,7 +594,7 @@
//鏌ュ嚭鍖呭惈鍏ㄩ儴鐨勫叆搴撳崟锛屽寘鍚叏閮ㄦ槑缁�+涓�涓槑缁嗗搴斾竴涓晢鍝�
var orders = BaseDal.Db.CopyNew()
.Queryable<Dt_CabinOrder>()
- .Where(o => o.OdrderStatus == "鏂板缓")
+ .Where(o => o.OdrderStatus == "鏂板缓" && o.Warehouse_no == WarehouseEnum.绔嬪簱.ObjToInt().ToString("000"))
.Includes(o => o.Details, d => d.MedicineGoods)
.ToList();
// 3. 鍐嶈繃婊ゆ帀涓嶇鍚堟潯浠剁殑鏄庣粏锛堝彧淇濈暀 Status=0锛�
@@ -698,7 +706,7 @@
try
{
#region 鏌ユ壘鎵�鏈夊凡瀹屾垚鍏ュ簱鍗�
- var inorders = BaseDal.QueryData(x => x.OdrderStatus == "宸插畬鎴�").Select(x => x.Order_no).ToList();
+ var inorders = BaseDal.QueryData(x => x.OdrderStatus == "宸插畬鎴�").Select(x => x.Order_no).Distinct().ToList();
foreach (var inorder in inorders)
{
//var Orders = BaseDal.QueryData(x => x.Order_no == inorder);
--
Gitblit v1.9.3