From 567b9c89e3a8a7812a668909354f9fa634972278 Mon Sep 17 00:00:00 2001
From: 南骏 池 <chiffly@163.com>
Date: 星期四, 06 三月 2025 13:22:36 +0800
Subject: [PATCH] 1.销售退货初步功能完成(后续新增防呆)
---
entity/SalesReturnNoticeDetail.cs | 184 +++++++++++++
Controllers/Warehouse/MesXsthController.cs | 255 ++++++++++++++++++
entity/SalesReturnNotice.cs | 268 +++++++++++++++++++
service/Warehouse/MesXsthManager.cs | 129 +++++++++
4 files changed, 836 insertions(+), 0 deletions(-)
diff --git a/Controllers/Warehouse/MesXsthController.cs b/Controllers/Warehouse/MesXsthController.cs
new file mode 100644
index 0000000..3241ac0
--- /dev/null
+++ b/Controllers/Warehouse/MesXsthController.cs
@@ -0,0 +1,255 @@
+锘縰sing System.Dynamic;
+using Microsoft.AspNetCore.Mvc;
+using NewPdaSqlServer.Dto.service;
+using NewPdaSqlServer.entity;
+using NewPdaSqlServer.service.Warehouse;
+using NewPdaSqlServer.util;
+
+namespace NewPdaSqlServer.Controllers.Warehouse;
+
+/// <summary>
+/// 鐢熶骇琛ユ枡鐩稿叧鎺ュ彛
+/// </summary>
+[Route("api/[controller]")]
+[ApiController]
+public class MesXsthController : ControllerBase
+{
+ private readonly MesXsthManager _manager = new();
+
+ #region 鍩虹
+ /***杩涘叆妯$増绠$悊鍙互淇敼妯$増***/
+
+ /// <summary>
+ /// 鑾峰彇鎵�鏈�
+ /// </summary>
+ /// <returns></returns>
+ [HttpPost("GetList")]
+ public ResponseResult GetList()
+ {
+ try
+ {
+ dynamic resultInfos = new ExpandoObject();
+ resultInfos.tbBillList = _manager.GetList();
+ return new ResponseResult
+ {
+ status = 0,
+ message = "OK",
+ data = resultInfos
+ };
+ }
+ catch (Exception ex)
+ {
+ return ResponseResult.ResponseError(ex);
+ }
+ }
+
+ /// <summary>
+ /// 鏍规嵁涓婚敭鑾峰彇
+ /// </summary>
+ /// <returns></returns>
+ [HttpPost("GetById")]
+ public ResponseResult GetById(int id)
+ {
+ try
+ {
+ dynamic resultInfos = new ExpandoObject();
+ resultInfos.tbBillList = _manager.GetById(id);
+ return new ResponseResult
+ {
+ status = 0,
+ message = "OK",
+ data = resultInfos
+ };
+ }
+ catch (Exception ex)
+ {
+ return ResponseResult.ResponseError(ex);
+ }
+ }
+
+ /// <summary>
+ /// 鏍规嵁涓婚敭鍒犻櫎
+ /// </summary>
+ /// <returns></returns>
+ [HttpPost("DeleteByIds")]
+ public ResponseResult DeleteByIds([FromBody] object[] ids)
+ {
+ try
+ {
+ dynamic resultInfos = new ExpandoObject();
+ resultInfos.tbBillList = _manager.DeleteByIds(ids);
+ return new ResponseResult
+ {
+ status = 0,
+ message = "OK",
+ data = resultInfos
+ };
+ }
+ catch (Exception ex)
+ {
+ return ResponseResult.ResponseError(ex);
+ }
+ }
+
+ /// <summary>
+ /// 娣诲姞
+ /// </summary>
+ /// <returns></returns>
+ [HttpPost("Insert")]
+ public ResponseResult Add([FromBody] MesItemBl data)
+ {
+ try
+ {
+ dynamic resultInfos = new ExpandoObject();
+ resultInfos.tbBillList = _manager.Insert(data);
+ return new ResponseResult
+ {
+ status = 0,
+ message = "OK",
+ data = resultInfos
+ };
+ }
+ catch (Exception ex)
+ {
+ return ResponseResult.ResponseError(ex);
+ }
+ }
+
+ /// <summary>
+ /// 娣诲姞杩斿洖鑷
+ /// </summary>
+ /// <returns></returns>
+ [HttpPost("InsertReturnIdentity")]
+ public ResponseResult InsertReturnIdentity([FromBody] MesItemBl data)
+ {
+ try
+ {
+ dynamic resultInfos = new ExpandoObject();
+ resultInfos.tbBillList = _manager.InsertReturnIdentity(data);
+ return new ResponseResult
+ {
+ status = 0,
+ message = "OK",
+ data = resultInfos
+ };
+ }
+ catch (Exception ex)
+ {
+ return ResponseResult.ResponseError(ex);
+ }
+ }
+
+ /// <summary>
+ /// 淇敼
+ /// </summary>
+ /// <returns></returns>
+ [HttpPost("Update")]
+ public ResponseResult Update([FromBody] MesItemBl data)
+ {
+ try
+ {
+ dynamic resultInfos = new ExpandoObject();
+ resultInfos.tbBillList = _manager.Update(data);
+ return new ResponseResult
+ {
+ status = 0,
+ message = "OK",
+ data = resultInfos
+ };
+ }
+ catch (Exception ex)
+ {
+ return ResponseResult.ResponseError(ex);
+ }
+ }
+
+ #endregion
+
+
+ /// <summary>
+ /// 鑾峰彇閿�鍞��璐х敵璇峰垪琛�
+ /// </summary>
+ /// <returns>閿�鍞��璐х敵璇峰垪琛�</returns>
+ [HttpPost("GetXsthBillNo")]
+ public ResponseResult GetXsthBillNo(WarehouseQuery query)
+ {
+ try
+ {
+ dynamic resultInfos = new ExpandoObject();
+ resultInfos.tbBillList = _manager.GetXsthBillNo(query);
+ return new ResponseResult
+ {
+ status = 0,
+ message = "OK",
+ data = resultInfos
+ };
+ }
+ catch (Exception ex)
+ {
+ return ResponseResult.ResponseError(ex);
+ }
+ }
+
+ /// <summary>
+ /// 鏍规嵁鍗曞彿鑾峰彇閿�鍞��璐у崟鏄庣粏
+ /// </summary>
+ /// <param name="query">鏌ヨ鍙傛暟</param>
+ /// <returns>閿�鍞��璐у崟鏄庣粏鍒楄〃</returns>
+ [HttpPost("GetMesItemDetailByBillNo")]
+ public ResponseResult GetMesItemDetailByBillNo(
+ [FromBody] WarehouseQuery query)
+ {
+ try
+ {
+ dynamic resultInfos = new ExpandoObject();
+ resultInfos.tbBillList = _manager.GetMesItemDetailByBillNo(query);
+
+ if (resultInfos.tbBillList.Count < 1)
+ {
+ return new ResponseResult
+ {
+ status = 1,
+ message = "璇ョ敵璇峰崟鍙蜂笉瀛樺湪鎴栨湭瀹℃牳锛侊紒锛�",
+ data = ""
+ };
+ }
+
+ return new ResponseResult
+ {
+ status = 0,
+ message = "OK",
+ data = resultInfos
+ };
+ }
+ catch (Exception ex)
+ {
+ return ResponseResult.ResponseError(ex);
+ }
+ }
+
+ /// <summary>
+ /// 鑾峰彇鏉$爜淇℃伅鍜岀墿鏂欎俊鎭�
+ /// </summary>
+ /// <returns></returns>
+ [HttpPost("XsthScanBarcode")]
+ public ResponseResult XsthScanBarcode(WarehouseQuery unity)
+ {
+ try
+ {
+ dynamic resultInfos = new ExpandoObject();
+ resultInfos.tbBillList = _manager.XsthScanBarcode(unity);
+ return new ResponseResult
+ {
+ status = 0,
+ message = resultInfos.tbBillList,
+ data = resultInfos
+ };
+ }
+ catch (Exception ex)
+ {
+ return ResponseResult.ResponseError(ex);
+ }
+ }
+
+
+}
\ No newline at end of file
diff --git a/entity/SalesReturnNotice.cs b/entity/SalesReturnNotice.cs
new file mode 100644
index 0000000..4b70e06
--- /dev/null
+++ b/entity/SalesReturnNotice.cs
@@ -0,0 +1,268 @@
+锘縰sing SqlSugar;
+
+namespace MES.Service.Modes;
+
+/// <summary>
+/// 閿�鍞��璐х敵璇峰崟
+/// </summary>
+[SugarTable("SALES_RETURN_NOTICE")]
+public class SalesReturnNotice
+{
+ /// <summary>
+ /// 涓婚敭
+ /// </summary>
+ [SugarColumn(ColumnName = "ID", IsPrimaryKey = true)]
+ public Guid? Id { get; set; }
+
+ /// <summary>
+ /// 鍗曟嵁绫诲瀷
+ /// </summary>
+ [SugarColumn(ColumnName = "BILL_TYPE")]
+ public string? BillType { get; set; }
+
+ /// <summary>
+ /// 鍗曟嵁缂栧彿
+ /// </summary>
+ [SugarColumn(ColumnName = "BILL_NO")]
+ public string? BillNo { get; set; }
+
+ /// <summary>
+ /// 鏃ユ湡
+ /// </summary>
+ [SugarColumn(ColumnName = "F_DATE")]
+ public DateTime? FDate { get; set; }
+
+ /// <summary>
+ /// 缁撶畻甯佸埆
+ /// </summary>
+ [SugarColumn(ColumnName = "CURRENCY")]
+ public string? Currency { get; set; }
+
+ /// <summary>
+ /// 閿�鍞粍缁�
+ /// </summary>
+ [SugarColumn(ColumnName = "SALES_ORG")]
+ public string? SalesOrg { get; set; }
+
+ /// <summary>
+ /// 閿�鍞儴闂�
+ /// </summary>
+ [SugarColumn(ColumnName = "SALES_DEPT")]
+ public string? SalesDept { get; set; }
+
+ /// <summary>
+ /// 瀹㈡埛璁㈠崟
+ /// </summary>
+ [SugarColumn(ColumnName = "CUSTOMER_ORDER_NO")]
+ public string? CustomerOrderNo { get; set; }
+
+ /// <summary>
+ /// 閫�璐у鎴�
+ /// </summary>
+ [SugarColumn(ColumnName = "RETURN_CUSTOMER")]
+ public string? ReturnCustomer { get; set; }
+
+ /// <summary>
+ /// 娣樺疂瀹㈡埛澶囨敞
+ /// </summary>
+ [SugarColumn(ColumnName = "TAOBAO_REMARK")]
+ public string? TaobaoRemark { get; set; }
+
+ /// <summary>
+ /// 閫�璐у師鍥�
+ /// </summary>
+ [SugarColumn(ColumnName = "RETURN_REASON")]
+ public string? ReturnReason { get; set; }
+
+ /// <summary>
+ /// 浜よ揣鍦扮偣
+ /// </summary>
+ [SugarColumn(ColumnName = "DELIVERY_LOCATION")]
+ public string? DeliveryLocation { get; set; }
+
+ /// <summary>
+ /// 搴撳瓨缁勭粐
+ /// </summary>
+ [SugarColumn(ColumnName = "INVENTORY_ORG")]
+ public string? InventoryOrg { get; set; }
+
+ /// <summary>
+ /// 搴撳瓨閮ㄩ棬
+ /// </summary>
+ [SugarColumn(ColumnName = "INVENTORY_DEPT")]
+ public string? InventoryDept { get; set; }
+
+ /// <summary>
+ /// 搴撳瓨缁�
+ /// </summary>
+ [SugarColumn(ColumnName = "INVENTORY_GROUP")]
+ public string? InventoryGroup { get; set; }
+
+ /// <summary>
+ /// 浠撶鍛�
+ /// </summary>
+ [SugarColumn(ColumnName = "WAREHOUSE_MANAGER")]
+ public string? WarehouseManager { get; set; }
+
+ /// <summary>
+ /// 閿�鍞粍
+ /// </summary>
+ [SugarColumn(ColumnName = "SALES_GROUP")]
+ public string? SalesGroup { get; set; }
+
+ /// <summary>
+ /// 閿�鍞憳
+ /// </summary>
+ [SugarColumn(ColumnName = "SALES_PERSON")]
+ public string? SalesPerson { get; set; }
+
+ /// <summary>
+ /// 蹇�掑崟鍙�
+ /// </summary>
+ [SugarColumn(ColumnName = "EXPRESS_NO")]
+ public string? ExpressNo { get; set; }
+
+ /// <summary>
+ /// 鏀惰揣鏂�
+ /// </summary>
+ [SugarColumn(ColumnName = "RECEIVER")]
+ public string? Receiver { get; set; }
+
+ /// <summary>
+ /// 鏀惰揣鏂硅仈绯讳汉
+ /// </summary>
+ [SugarColumn(ColumnName = "RECEIVER_CONTACT")]
+ public string? ReceiverContact { get; set; }
+
+ /// <summary>
+ /// 鏀惰揣鏂瑰湴鍧�
+ /// </summary>
+ [SugarColumn(ColumnName = "RECEIVER_ADDRESS")]
+ public string? ReceiverAddress { get; set; }
+
+ /// <summary>
+ /// 鏀惰揣鏂瑰鍚�
+ /// </summary>
+ [SugarColumn(ColumnName = "RECEIVER_NAME")]
+ public string? ReceiverName { get; set; }
+
+ /// <summary>
+ /// 缁撶畻鏂�
+ /// </summary>
+ [SugarColumn(ColumnName = "SETTLE_PARTY")]
+ public string? SettleParty { get; set; }
+
+ /// <summary>
+ /// 鍒涘缓浜�
+ /// </summary>
+ [SugarColumn(ColumnName = "CREATED_BY")]
+ public string? CreatedBy { get; set; }
+
+ /// <summary>
+ /// 鍒涘缓鏃堕棿
+ /// </summary>
+ [SugarColumn(ColumnName = "CREATED_DATE")]
+ public DateTime? CreatedDate { get; set; }
+
+ /// <summary>
+ /// 淇敼浜�
+ /// </summary>
+ [SugarColumn(ColumnName = "MODIFIED_BY")]
+ public string? ModifiedBy { get; set; }
+
+ /// <summary>
+ /// 淇敼鏃堕棿
+ /// </summary>
+ [SugarColumn(ColumnName = "MODIFIED_DATE")]
+ public DateTime? ModifiedDate { get; set; }
+
+ /// <summary>
+ /// 鍏抽棴浜�
+ /// </summary>
+ [SugarColumn(ColumnName = "CLOSED_BY")]
+ public string? ClosedBy { get; set; }
+
+ /// <summary>
+ /// 鍏抽棴鍘熷洜
+ /// </summary>
+ [SugarColumn(ColumnName = "CLOSE_REASON")]
+ public string? CloseReason { get; set; }
+
+ /// <summary>
+ /// 鍏抽棴鏃ユ湡
+ /// </summary>
+ [SugarColumn(ColumnName = "CLOSE_DATE")]
+ public DateTime? CloseDate { get; set; }
+
+ /// <summary>
+ /// 瀹℃牳浜�
+ /// </summary>
+ [SugarColumn(ColumnName = "APPROVED_BY")]
+ public string? ApprovedBy { get; set; }
+
+ /// <summary>
+ /// 瀹℃牳鏃ユ湡
+ /// </summary>
+ [SugarColumn(ColumnName = "APPROVED_DATE")]
+ public DateTime? ApprovedDate { get; set; }
+
+ /// <summary>
+ /// 浣滃簾鐘舵��
+ /// </summary>
+ [SugarColumn(ColumnName = "CANCEL_STATUS")]
+ public string? CancelStatus { get; set; }
+
+ /// <summary>
+ /// 浣滃簾浜�
+ /// </summary>
+ [SugarColumn(ColumnName = "CANCELLED_BY")]
+ public string? CancelledBy { get; set; }
+
+ /// <summary>
+ /// 浣滃簾鏃ユ湡
+ /// </summary>
+ [SugarColumn(ColumnName = "CANCEL_DATE")]
+ public DateTime? CancelDate { get; set; }
+
+ /// <summary>
+ /// 鍏抽棴鐘舵��
+ /// </summary>
+ [SugarColumn(ColumnName = "CLOSE_STATUS")]
+ public string? CloseStatus { get; set; }
+
+ /// <summary>
+ /// 鏄惁鎵嬪姩鍏抽棴
+ /// </summary>
+ [SugarColumn(ColumnName = "MANUAL_CLOSE_FLAG")]
+ public string? ManualCloseFlag { get; set; }
+
+ /// <summary>
+ /// ERP澶碔D
+ /// </summary>
+ [SugarColumn(ColumnName = "ERP_ID")]
+ public string? ErpId { get; set; }
+
+ /// <summary>
+ /// 鍗曟嵁鐘舵��
+ /// </summary>
+ [SugarColumn(ColumnName = "BILL_STATUS")]
+ public string? BillStatus { get; set; }
+
+ /// <summary>
+ /// 妫�鏌ョ姸鎬�
+ /// </summary>
+ [SugarColumn(ColumnName = "checkStatus")]
+ public bool? CheckStatus { get; set; }
+
+ /// <summary>
+ /// 瀹岀粨鐘舵��
+ /// </summary>
+ [SugarColumn(ColumnName = "finishStatus")]
+ public bool? FinishStatus { get; set; }
+
+ /// <summary>
+ /// 閿�鍞鍗曞彿
+ /// </summary>
+ [SugarColumn(ColumnName = "SALES_ORDER_ID")]
+ public Guid? SalesOrderId { get; set; }
+}
\ No newline at end of file
diff --git a/entity/SalesReturnNoticeDetail.cs b/entity/SalesReturnNoticeDetail.cs
new file mode 100644
index 0000000..48df0dc
--- /dev/null
+++ b/entity/SalesReturnNoticeDetail.cs
@@ -0,0 +1,184 @@
+锘縰sing SqlSugar;
+
+namespace MES.Service.Modes;
+
+/// <summary>
+/// 閿�鍞��璐ч�氱煡鍗曟槑缁嗚〃
+/// </summary>
+[SugarTable("SALES_RETURN_NOTICE_DETAIL")]
+public class SalesReturnNoticeDetail
+{
+ /// <summary>
+ /// 涓婚敭
+ /// </summary>
+ [SugarColumn(ColumnName = "ID", IsPrimaryKey = true)]
+ public Guid? Id { get; set; }
+
+ /// <summary>
+ /// 鐢宠鍗曚富閿�
+ /// </summary>
+ [SugarColumn(ColumnName = "pid")]
+ public Guid? Pid { get; set; }
+
+ /// <summary>
+ /// 鐗╂枡ID
+ /// </summary>
+ [SugarColumn(ColumnName = "MATERIAL_ID")]
+ public string? MaterialId { get; set; }
+
+ /// <summary>
+ /// 鐗╂枡鍚嶇О
+ /// </summary>
+ [SugarColumn(ColumnName = "MATERIAL_NAME")]
+ public string? MaterialName { get; set; }
+
+ /// <summary>
+ /// 鐗╂枡瑙勬牸
+ /// </summary>
+ [SugarColumn(ColumnName = "MATERIAL_SPECIFICATION")]
+ public string? MaterialSpecification { get; set; }
+
+ /// <summary>
+ /// 閿�鍞崟浣�
+ /// </summary>
+ [SugarColumn(ColumnName = "SALES_UNIT_ID")]
+ public string? SalesUnitId { get; set; }
+
+ /// <summary>
+ /// 閿�鍞暟閲�
+ /// </summary>
+ [SugarColumn(ColumnName = "SALES_QUANTITY")]
+ public decimal? SalesQuantity { get; set; }
+
+ /// <summary>
+ /// 鏄惁璧犲搧
+ /// </summary>
+ [SugarColumn(ColumnName = "IS_FREE")]
+ public bool? IsFree { get; set; }
+
+ /// <summary>
+ /// 閫�璐ф棩鏈�
+ /// </summary>
+ [SugarColumn(ColumnName = "RETURN_DATE")]
+ public DateTime? ReturnDate { get; set; }
+
+ /// <summary>
+ /// 浠撳簱
+ /// </summary>
+ [SugarColumn(ColumnName = "WAREHOUSE")]
+ public string? Warehouse { get; set; }
+
+ /// <summary>
+ /// 璁″垝璺熻釜鍙�
+ /// </summary>
+ [SugarColumn(ColumnName = "PLAN_TRACKING_NUMBER")]
+ public string? PlanTrackingNumber { get; set; }
+
+ /// <summary>
+ /// 鎵瑰彿
+ /// </summary>
+ [SugarColumn(ColumnName = "LOT_NUMBER")]
+ public string? LotNumber { get; set; }
+
+ /// <summary>
+ /// 澶囨敞
+ /// </summary>
+ [SugarColumn(ColumnName = "NOTE")]
+ public string? Note { get; set; }
+
+ /// <summary>
+ /// 閫�璐х被鍨�
+ /// </summary>
+ [SugarColumn(ColumnName = "RETURN_TYPE")]
+ public string? ReturnType { get; set; }
+
+ /// <summary>
+ /// 璺熷崟鍛�
+ /// </summary>
+ [SugarColumn(ColumnName = "SALES_CLERK")]
+ public string? SalesClerk { get; set; }
+
+ /// <summary>
+ /// 搴撳瓨鍗曚綅
+ /// </summary>
+ [SugarColumn(ColumnName = "INVENTORY_UNIT")]
+ public string? InventoryUnit { get; set; }
+
+ /// <summary>
+ /// 搴撳瓨鏁伴噺
+ /// </summary>
+ [SugarColumn(ColumnName = "INVENTORY_QUANTITY")]
+ public decimal? InventoryQuantity { get; set; }
+
+ /// <summary>
+ /// 鐗╂枡绫诲埆
+ /// </summary>
+ [SugarColumn(ColumnName = "MATERIAL_CATEGORY")]
+ public string? MaterialCategory { get; set; }
+
+ /// <summary>
+ /// 璐т富绫诲瀷
+ /// </summary>
+ [SugarColumn(ColumnName = "OWNER_TYPE_ID")]
+ public string? OwnerTypeId { get; set; }
+
+ /// <summary>
+ /// 璐т富
+ /// </summary>
+ [SugarColumn(ColumnName = "OWNER_ID")]
+ public string? OwnerId { get; set; }
+
+ /// <summary>
+ /// 婧愬崟绫诲瀷
+ /// </summary>
+ [SugarColumn(ColumnName = "SOURCE_BILL_TYPE")]
+ public string? SourceBillType { get; set; }
+
+ /// <summary>
+ /// 婧愬崟鍗曞彿
+ /// </summary>
+ [SugarColumn(ColumnName = "SOURCE_BILL_NO")]
+ public string? SourceBillNo { get; set; }
+
+ /// <summary>
+ /// 璁㈠崟鍗曞彿
+ /// </summary>
+ [SugarColumn(ColumnName = "ORDER_BILL_NO")]
+ public string? OrderBillNo { get; set; }
+
+ /// <summary>
+ /// ERP琛孖D
+ /// </summary>
+ [SugarColumn(ColumnName = "ERP_LINE_ID")]
+ public string? ErpLineId { get; set; }
+
+ /// <summary>
+ /// ERP澶碔D
+ /// </summary>
+ [SugarColumn(ColumnName = "ERP_HEAD_ID")]
+ public string? ErpHeadId { get; set; }
+
+ /// <summary>
+ /// 鐢宠鏁伴噺
+ /// </summary>
+ [SugarColumn(ColumnName = "SQ_Qty")]
+ public decimal? SqQty { get; set; }
+
+ /// <summary>
+ /// 宸叉壂鏁伴噺
+ /// </summary>
+ [SugarColumn(ColumnName = "YS_Qty")]
+ public decimal? YsQty { get; set; }
+
+ /// <summary>
+ /// 閫佽揣鍗曟槑缁咷UID
+ /// </summary>
+ [SugarColumn(ColumnName = "DELIVE_DETAIL_GUID")]
+ public Guid? DeliverDetailGuid { get; set; }
+
+ /// <summary>
+ /// 搴忓彿
+ /// </summary>
+ [SugarColumn(ColumnName = "FSEQ")]
+ public int? FSeq { get; set; }
+}
\ No newline at end of file
diff --git a/service/Warehouse/MesXsthManager.cs b/service/Warehouse/MesXsthManager.cs
new file mode 100644
index 0000000..5298152
--- /dev/null
+++ b/service/Warehouse/MesXsthManager.cs
@@ -0,0 +1,129 @@
+锘縰sing Masuit.Tools;
+using MES.Service.Modes;
+using NewPdaSqlServer.DB;
+using NewPdaSqlServer.Dto.service;
+using NewPdaSqlServer.entity;
+using NewPdaSqlServer.util;
+using OracleInternal.Sharding;
+using SqlSugar;
+using SqlSugar.Extensions;
+using System.Data;
+using System.Data.SqlClient;
+
+namespace NewPdaSqlServer.service.Warehouse;
+
+public class MesXsthManager : Repository<MesItemBl>
+{
+ /// <summary>
+ /// 鑾峰彇閿�鍞��璐х敵璇峰垪琛�
+ /// </summary>
+ /// <returns>閿�鍞��璐х敵璇峰垪琛�</returns>
+ public List<string> GetXsthBillNo(WarehouseQuery query)
+ {
+ var list = Db.Queryable<SalesReturnNotice>()
+ .Where(s => s.CheckStatus == true)
+ .Select(s => s.BillNo).ToList();
+
+ return list;
+ }
+
+ /// <summary>
+ /// 鏍规嵁鍗曞彿鑾峰彇MES鐗╂枡琛ㄦ槑缁�
+ /// </summary>
+ /// <param name="query">浠撳簱鏌ヨ鍙傛暟</param>
+ /// <returns>鐗╂枡鏄庣粏鍒楄〃</returns>
+ public List<ItemDetailModel> GetMesItemDetailByBillNo(
+ WarehouseQuery query)
+ {
+ // 鍏宠仈鏌ヨ鐗╂枡琛ㄣ�佺墿鏂欐槑缁嗚〃鍜岀墿鏂欏熀纭�淇℃伅琛�
+ var mesItemTblDetails = Db
+ .Queryable<SalesReturnNotice, SalesReturnNoticeDetail, MesItems>(
+ (a, b, c) => new JoinQueryInfos(
+ JoinType.Left,
+ a.Id == b.Pid,
+ JoinType.Left,
+ b.MaterialId == c.Id.ToString())
+ ).Where((a, b, c) => a.BillNo == query.billNo && a.CheckStatus == true)
+ .Select<ItemDetailModel>((a, b, c) => new ItemDetailModel
+ {
+ ItemNo = c.ItemNo,
+ ItemName = c.ItemName,
+ ItemModel = c.ItemModel,
+ FQty = b.SqQty, // 鐢宠鏁伴噺
+ SQty = b.YsQty, // 宸叉壂鏁伴噺
+ Pid = b.Pid.ToString(),
+ FMaterialId = b.MaterialId,
+ Id = b.Id.ToString()
+ }).ToList();
+
+ // 绛涢�夊嚭寰呴��鏁伴噺澶т簬宸查��鏁伴噺鐨勮褰�
+ //var itemTblDetails = mesItemTblDetails
+ // .Where(s => (s.Tld005 ?? 0) - (s.Tld006 ?? 0) > 0).ToList();
+
+ return mesItemTblDetails;
+ }
+
+ /// <summary>
+ /// 閿�鍞��璐у叆搴�
+ /// </summary>
+ /// <param name="unity"></param>
+ /// <returns></returns>
+ /// <exception cref="Exception"></exception>
+ public string XsthScanBarcode(WarehouseQuery unity)
+ {
+ var _strMsg = "";
+ var _intSum = "";
+ using (var conn = new SqlConnection(DbHelperSQL.strConn))
+ {
+ if (unity.userName.IsNullOrEmpty()) throw new Exception("鐢ㄦ埛鍚嶄笉鍏佽涓虹┖");
+ if (unity.sectionCode.IsNullOrEmpty()) throw new Exception("搴撲綅缂栧彿涓嶅厑璁镐负绌�");
+ if (unity.barcode.IsNullOrEmpty()) throw new Exception("鏉$爜涓嶅厑璁镐负绌�");
+ if (unity.billNo.IsNullOrEmpty()) throw new Exception("鐢宠鍗曞彿涓嶅厑璁镐负绌�");
+
+ using (var cmd = new SqlCommand("[prc_pda_inv_xsth]", conn))
+ {
+ try
+ {
+ conn.Open();
+ cmd.CommandType = CommandType.StoredProcedure;
+ SqlParameter[] parameters =
+ {
+ new("@po_outMsg", SqlDbType.NVarChar, 300),
+ new("@po_outSum", SqlDbType.NVarChar, 300),
+ //new("@po_womInBarSum", SqlDbType.NVarChar, 300),
+ new("@pi_user", unity.userName),
+ new("@pi_barcode", unity.barcode),
+ new("@pi_sectionCode", unity.sectionCode),
+ new("@pi_billno", unity.billNo),
+
+ };
+ parameters[0].Direction = ParameterDirection.Output;
+ parameters[1].Direction = ParameterDirection.Output;
+ // parameters[2].Direction = ParameterDirection.Output;
+
+ foreach (var parameter in parameters)
+ cmd.Parameters.Add(parameter);
+ cmd.ExecuteNonQuery();
+ _strMsg = parameters[0].Value.ToString();
+ _intSum = parameters[1].Value.ToString();
+
+ var result = Convert.ToInt32(_intSum);
+ if (result <= 0) throw new Exception(_strMsg);
+
+ return _strMsg;
+
+ //return 0;
+
+ }
+ catch (Exception ex)
+ {
+ throw new Exception(ex.Message);
+ }
+ finally
+ {
+ conn.Close();
+ }
+ }
+ }
+ }
+}
\ No newline at end of file
--
Gitblit v1.9.3