From 8685c8e96eeeaa262044f0fdc7827e645f5e22a0 Mon Sep 17 00:00:00 2001
From: 啊鑫 <t2856754968@163.com>
Date: 星期一, 23 十二月 2024 21:50:07 +0800
Subject: [PATCH] 111
---
service/Warehouse/MesItemTblManager.cs | 169 +-
entity/MesInvItemBarcodes.cs | 4
Dto/service/WarehouseQuery.cs | 1
entity/MesItemTblDetail.cs | 9
Controllers/Warehouse/MesItemBlController.cs | 374 ++++++
Controllers/Warehouse/MesItemTblController.cs | 14
entity/MesItemBl.cs | 155 ++
Dto/service/PendingMaterialDto.cs | 32
service/Warehouse/MesItemBlDetailManager.cs | 11
entity/MesInvItemOutItems.cs | 5
util/BillNo.cs | 7
service/Warehouse/MesItemBlManager.cs | 1733 +++++++++++++++++++++++++++++
Controllers/Warehouse/MesItemBlDetailController.cs | 162 ++
entity/Womdab.cs | 166 +-
entity/Womdaa.cs | 329 ++--
entity/MesInvBusiness2.cs | 167 +-
entity/MesItemBlDetail.cs | 143 ++
17 files changed, 3,051 insertions(+), 430 deletions(-)
diff --git a/Controllers/Warehouse/MesItemBlController.cs b/Controllers/Warehouse/MesItemBlController.cs
new file mode 100644
index 0000000..026fdca
--- /dev/null
+++ b/Controllers/Warehouse/MesItemBlController.cs
@@ -0,0 +1,374 @@
+锘縰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 MesItemBlController : ControllerBase
+{
+ private readonly MesItemBlManager _manager = new();
+
+ /***杩涘叆妯$増绠$悊鍙互淇敼妯$増***/
+
+ /// <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);
+ }
+ }
+
+ #region 鐢熶骇琛ユ枡
+
+ /// <summary>
+ /// 鑾峰彇鐢熶骇琛ユ枡鍗曞彿鍒楄〃
+ /// </summary>
+ /// <returns>琛ユ枡鍗曞彿鍒楄〃</returns>
+ /// <response code="200">鎴愬姛鑾峰彇琛ユ枡鍗曞彿鍒楄〃</response>
+ /// <response code="400">鑾峰彇澶辫触</response>
+ [HttpPost("GetSCBLBillNo")]
+ public ResponseResult GetSCBLBillNo()
+ {
+ try
+ {
+ dynamic resultInfos = new ExpandoObject();
+ resultInfos.tbBillList = _manager.GetSCBLBillNo();
+ return new ResponseResult
+ {
+ status = 0,
+ message = "OK",
+ data = resultInfos
+ };
+ }
+ catch (Exception ex)
+ {
+ return ResponseResult.ResponseError(ex);
+ }
+ }
+
+ /// <summary>
+ /// 鏍规嵁鍗曞彿鑾峰彇鐢熶骇琛ユ枡鍗曟槑缁�
+ /// </summary>
+ /// <param name="query">鏌ヨ鍙傛暟锛屽繀椤诲寘鍚玝illNo</param>
+ /// <returns>琛ユ枡鍗曟槑缁嗗垪琛�</returns>
+ /// <remarks>
+ /// 璇锋眰绀轰緥:
+ ///
+ /// POST /api/MesItemBl/GetMesItemBlDetailByBillNo
+ /// {
+ /// "billNo": "BL202401010001"
+ /// }
+ /// </remarks>
+ /// <response code="200">鎴愬姛鑾峰彇琛ユ枡鍗曟槑缁�</response>
+ /// <response code="400">鑾峰彇澶辫触锛屽彲鑳芥槸鍗曟嵁鍙蜂笉瀛樺湪鎴栧凡瀹屾垚</response>
+ [HttpPost("GetMesItemBlDetailByBillNo")]
+ public ResponseResult GetMesItemBlDetailByBillNo([FromBody] WarehouseQuery query)
+ {
+ try
+ {
+ dynamic resultInfos = new ExpandoObject();
+ resultInfos.tbBillList = _manager.GetMesItemBlDetailByBillNo(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>
+ /// <remarks>
+ /// 璇锋眰绀轰緥:
+ ///
+ /// POST /api/MesItemBl/SctlScanBarcode
+ /// {
+ /// "billNo": "WO202401010001",
+ /// "barcode": "1234567890",
+ /// "userName": "admin",
+ /// "blNo": "BL202401010001"
+ /// }
+ /// </remarks>
+ /// <response code="200">鎵弿鎴愬姛</response>
+ /// <response code="400">鎵弿澶辫触锛岃繑鍥炲叿浣撻敊璇俊鎭�</response>
+ [HttpPost("SctlScanBarcode")]
+ public ResponseResult SctlScanBarcode([FromBody] WarehouseQuery query)
+ {
+ try
+ {
+ dynamic resultInfos = new ExpandoObject();
+ var (success, pendingList) = _manager.SctlScanBarcode(query);
+ resultInfos.success = success;
+ resultInfos.pendingList = pendingList;
+ return new ResponseResult
+ {
+ status = 0,
+ message = "OK",
+ data = resultInfos
+ };
+ }
+ catch (Exception ex)
+ {
+ return ResponseResult.ResponseError(ex);
+ }
+ }
+
+ #endregion
+
+ #region 鐢熶骇瓒呴
+
+ /// <summary>
+ /// 鑾峰彇鐢熶骇瓒呴鍗曞彿鍒楄〃
+ /// </summary>
+ /// <returns>瓒呴鍗曞彿鍒楄〃</returns>
+ /// <response code="200">鎴愬姛鑾峰彇瓒呴鍗曞彿鍒楄〃</response>
+ /// <response code="400">鑾峰彇澶辫触</response>
+ [HttpPost("GetSccList")]
+ public ResponseResult GetSccList()
+ {
+ try
+ {
+ dynamic resultInfos = new ExpandoObject();
+ resultInfos.tbBillList = _manager.GetSccList();
+ return new ResponseResult
+ {
+ status = 0,
+ message = "OK",
+ data = resultInfos
+ };
+ }
+ catch (Exception ex)
+ {
+ return ResponseResult.ResponseError(ex);
+ }
+ }
+
+ /// <summary>
+ /// 鑾峰彇鐢熶骇瓒呴鍗曟槑缁�
+ /// </summary>
+ /// <param name="query">鏌ヨ鍙傛暟锛屽繀椤诲寘鍚玝illNo</param>
+ /// <returns>瓒呴鍗曟槑缁嗗垪琛�</returns>
+ /// <remarks>
+ /// 璇锋眰绀轰緥:
+ ///
+ /// POST /api/MesItemBl/GetMesItemBlDetailBySccBillNo
+ /// {
+ /// "billNo": "SC202401010001"
+ /// }
+ /// </remarks>
+ /// <response code="200">鎴愬姛鑾峰彇瓒呴鍗曟槑缁�</response>
+ /// <response code="400">鑾峰彇澶辫触锛岃繑鍥炲叿浣撻敊璇俊鎭�</response>
+ [HttpPost("GetMesItemBlDetailBySccBillNo")]
+ public ResponseResult GetMesItemBlDetailBySccBillNo([FromBody] WarehouseQuery query)
+ {
+ try
+ {
+ dynamic resultInfos = new ExpandoObject();
+ resultInfos.tbBillList = _manager.GetMesItemBlDetailBySccBillNo(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>
+ /// <remarks>
+ /// 璇锋眰绀轰緥:
+ ///
+ /// POST /api/MesItemBl/ScanBarcodeForOverPicking
+ /// {
+ /// "billNo": "WO202401010001",
+ /// "barcode": "1234567890",
+ /// "userName": "admin",
+ /// "blNo": "SC202401010001"
+ /// }
+ /// </remarks>
+ /// <response code="200">鎵弿鎴愬姛</response>
+ /// <response code="400">鎵弿澶辫触锛岃繑鍥炲叿浣撻敊璇俊鎭�</response>
+ [HttpPost("ScanBarcodeForOverPicking")]
+ public ResponseResult ScanBarcodeForOverPicking([FromBody] WarehouseQuery query)
+ {
+ try
+ {
+ dynamic resultInfos = new ExpandoObject();
+ var (success, pendingList) = _manager.ScanBarcodeForOverPicking(query);
+ resultInfos.success = success;
+ resultInfos.pendingList = pendingList;
+ return new ResponseResult
+ {
+ status = 0,
+ message = "OK",
+ data = resultInfos
+ };
+ }
+ catch (Exception ex)
+ {
+ return ResponseResult.ResponseError(ex);
+ }
+ }
+
+ #endregion
+}
\ No newline at end of file
diff --git a/Controllers/Warehouse/MesItemBlDetailController.cs b/Controllers/Warehouse/MesItemBlDetailController.cs
new file mode 100644
index 0000000..f198257
--- /dev/null
+++ b/Controllers/Warehouse/MesItemBlDetailController.cs
@@ -0,0 +1,162 @@
+锘縰sing System.Dynamic;
+using Microsoft.AspNetCore.Mvc;
+using NewPdaSqlServer.entity;
+using NewPdaSqlServer.service.Warehouse;
+using NewPdaSqlServer.util;
+
+namespace NewPdaSqlServer.Controllers.Warehouse;
+
+[ApiController]
+[Route("api/[controller]")]
+public class MesItemBlDetailController : ControllerBase
+{
+ private readonly MesItemBlDetailManager m = new();
+
+
+ /***杩涘叆妯$増绠$悊鍙互淇敼妯$増***/
+
+ /// <summary>
+ /// 鑾峰彇鎵�鏈�
+ /// </summary>
+ /// <returns></returns>
+ [HttpPost("GetList")]
+ public ResponseResult GetList()
+ {
+ try
+ {
+ dynamic resultInfos = new ExpandoObject();
+ resultInfos.tbBillList = m.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 = m.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 = m.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] MesItemBlDetail data)
+ {
+ try
+ {
+ dynamic resultInfos = new ExpandoObject();
+ resultInfos.tbBillList = m.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] MesItemBlDetail data)
+ {
+ try
+ {
+ dynamic resultInfos = new ExpandoObject();
+ resultInfos.tbBillList = m.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] MesItemBlDetail data)
+ {
+ try
+ {
+ dynamic resultInfos = new ExpandoObject();
+ resultInfos.tbBillList = m.Update(data);
+ return new ResponseResult
+ {
+ status = 0,
+ message = "OK",
+ data = resultInfos
+ };
+ }
+ catch (Exception ex)
+ {
+ return ResponseResult.ResponseError(ex);
+ }
+ }
+}
\ No newline at end of file
diff --git a/Controllers/Warehouse/MesItemTblController.cs b/Controllers/Warehouse/MesItemTblController.cs
index 6a06111..347c52b 100644
--- a/Controllers/Warehouse/MesItemTblController.cs
+++ b/Controllers/Warehouse/MesItemTblController.cs
@@ -8,9 +8,8 @@
namespace NewPdaSqlServer.Controllers.Warehouse;
/// <summary>
-/// 鐢熶骇閫�鏂欑浉鍏虫帴鍙�
+/// 鐢熶骇閫�鏂欑浉鍏虫帴鍙�
/// </summary>
-
[Route("api/[controller]")]
[ApiController]
public class MesItemTblController : ControllerBase
@@ -166,7 +165,7 @@
// 鏂板鐨勬柟娉�
/// <summary>
- /// 鑾峰彇鐢熶骇閫�鏂欏崟鍙峰垪琛�
+ /// 鑾峰彇鐢熶骇閫�鏂欏崟鍙峰垪琛�
/// </summary>
/// <returns>閫�鏂欏崟鍙峰垪琛�</returns>
[HttpPost("GetSCTLBillNo")]
@@ -190,12 +189,13 @@
}
/// <summary>
- /// 鏍规嵁鍗曞彿鑾峰彇鐢熶骇閫�鏂欏崟鏄庣粏
+ /// 鏍规嵁鍗曞彿鑾峰彇鐢熶骇閫�鏂欏崟鏄庣粏
/// </summary>
/// <param name="query">鏌ヨ鍙傛暟</param>
/// <returns>閫�鏂欏崟鏄庣粏鍒楄〃</returns>
[HttpPost("GetMesItemTblDetailByBillNo")]
- public ResponseResult GetMesItemTblDetailByBillNo([FromBody] WarehouseQuery query)
+ public ResponseResult GetMesItemTblDetailByBillNo(
+ [FromBody] WarehouseQuery query)
{
try
{
@@ -215,7 +215,7 @@
}
/// <summary>
- /// 鎵弿搴撲綅
+ /// 鎵弿搴撲綅
/// </summary>
/// <param name="query">鏌ヨ鍙傛暟</param>
/// <returns>搴撲綅淇℃伅</returns>
@@ -240,7 +240,7 @@
}
/// <summary>
- /// 鎵弿鏉$爜
+ /// 鎵弿鏉$爜
/// </summary>
/// <param name="query">鏌ヨ鍙傛暟</param>
/// <returns>鎵弿缁撴灉</returns>
diff --git a/Dto/service/PendingMaterialDto.cs b/Dto/service/PendingMaterialDto.cs
new file mode 100644
index 0000000..d9363da
--- /dev/null
+++ b/Dto/service/PendingMaterialDto.cs
@@ -0,0 +1,32 @@
+namespace NewPdaSqlServer.Dto.service;
+
+/// <summary>
+/// 寰呭鐞嗙墿鏂欎俊鎭疍TO
+/// </summary>
+public class PendingMaterialDto
+{
+ /// <summary>
+ /// 搴撲綅缂栫爜
+ /// </summary>
+ public string SectionCode { get; set; }
+
+ /// <summary>
+ /// 鐗╂枡缂栧彿
+ /// </summary>
+ public string ItemNo { get; set; }
+
+ /// <summary>
+ /// 鐗╂枡鍚嶇О
+ /// </summary>
+ public string ItemName { get; set; }
+
+ /// <summary>
+ /// 鐗╂枡瑙勬牸
+ /// </summary>
+ public string ItemSpec { get; set; }
+
+ /// <summary>
+ /// 寰呭鐞嗘暟閲�
+ /// </summary>
+ public decimal PendingQty { get; set; }
+}
\ No newline at end of file
diff --git a/Dto/service/WarehouseQuery.cs b/Dto/service/WarehouseQuery.cs
index 6e543bd..103d606 100644
--- a/Dto/service/WarehouseQuery.cs
+++ b/Dto/service/WarehouseQuery.cs
@@ -4,6 +4,7 @@
public class WarehouseQuery : Page
{
+ public string? blNo { get; set; } //琛ユ枡鍗曞彿
public string? id { get; set; }
public string? sectionCode { get; set; }
public string? barcode { get; set; }
diff --git a/entity/MesInvBusiness2.cs b/entity/MesInvBusiness2.cs
index 234b1dd..04db7d7 100644
--- a/entity/MesInvBusiness2.cs
+++ b/entity/MesInvBusiness2.cs
@@ -9,250 +9,249 @@
public class MesInvBusiness2
{
/// <summary>
- /// ID(seq_inv_id)
- /// 榛樿鍊�: (newid())
- ///</summary>
+ /// ID(seq_inv_id)
+ /// 榛樿鍊�: (newid())
+ /// </summary>
[SugarColumn(ColumnName = "guid", IsPrimaryKey = true)]
public Guid Guid { get; set; }
/// <summary>
- /// 鐘舵�亅0-鏈氦鏄�1-宸蹭氦鏄�
- ///</summary>
+ /// 鐘舵�亅0-鏈氦鏄�1-宸蹭氦鏄�
+ /// </summary>
[SugarColumn(ColumnName = "STATUS")]
public long? Status { get; set; }
/// <summary>
- /// 鍗曟嵁绫诲瀷ID
- ///</summary>
+ /// 鍗曟嵁绫诲瀷ID
+ /// </summary>
[SugarColumn(ColumnName = "BILL_TYPE_ID")]
public long? BillTypeId { get; set; }
/// <summary>
- /// 浜嬪姟绫诲瀷缂栫爜
- ///</summary>
+ /// 浜嬪姟绫诲瀷缂栫爜
+ /// </summary>
[SugarColumn(ColumnName = "TRANSACTION_CODE")]
public string? TransactionCode { get; set; }
/// <summary>
- /// 浜ゆ槗绫诲瀷|1-鍏ュ簱0-杞簱-1鍑哄簱
- ///</summary>
+ /// 浜ゆ槗绫诲瀷|1-鍏ュ簱0-杞簱-1鍑哄簱
+ /// </summary>
[SugarColumn(ColumnName = "BUSINESS_TYPE")]
public long? BusinessType { get; set; }
/// <summary>
- /// 鍗曟嵁ID
- ///</summary>
+ /// 鍗曟嵁ID
+ /// </summary>
[SugarColumn(ColumnName = "BILL_ID")]
public long? BillId { get; set; }
/// <summary>
- /// 鍗曟嵁缂栫爜
- ///</summary>
+ /// 鍗曟嵁缂栫爜
+ /// </summary>
[SugarColumn(ColumnName = "BILL_NO")]
public string? BillNo { get; set; }
/// <summary>
- /// 鐢熶骇璁㈠崟鍙�
- ///</summary>
+ /// 鐢熶骇璁㈠崟鍙�
+ /// </summary>
[SugarColumn(ColumnName = "TASK_NO")]
public string? TaskNo { get; set; }
/// <summary>
- /// 瀹㈡埛缂栧彿
- ///</summary>
+ /// 瀹㈡埛缂栧彿
+ /// </summary>
[SugarColumn(ColumnName = "CUSTOMER_NO")]
public string? CustomerNo { get; set; }
/// <summary>
- /// 鍗曟嵁琛孖D
- ///</summary>
+ /// 鍗曟嵁琛孖D
+ /// </summary>
[SugarColumn(ColumnName = "BILL_LINE_ID")]
public long? BillLineId { get; set; }
/// <summary>
- /// 鐗╂枡鏉$爜
- ///</summary>
+ /// 鐗╂枡鏉$爜
+ /// </summary>
[SugarColumn(ColumnName = "ITEM_BARCODE")]
public string? ItemBarcode { get; set; }
/// <summary>
- /// 鏈徃鐗╂枡缂栫爜
- ///</summary>
+ /// 鏈徃鐗╂枡缂栫爜
+ /// </summary>
[SugarColumn(ColumnName = "ITEM_NO")]
public string? ItemNo { get; set; }
/// <summary>
- /// 瀹㈡埛鐗╂枡缂栫爜
- ///</summary>
+ /// 瀹㈡埛鐗╂枡缂栫爜
+ /// </summary>
[SugarColumn(ColumnName = "C_ITEM_CODE")]
public string? CItemCode { get; set; }
/// <summary>
- /// 鍘傚鎵规
- ///</summary>
+ /// 鍘傚鎵规
+ /// </summary>
[SugarColumn(ColumnName = "LOT_NO")]
public string? LotNo { get; set; }
/// <summary>
- /// 鏄惁鐜繚(0:鍚�,1:鏄�)
- ///</summary>
+ /// 鏄惁鐜繚(0:鍚�,1:鏄�)
+ /// </summary>
[SugarColumn(ColumnName = "EP_FLAG")]
public bool? EpFlag { get; set; }
/// <summary>
- /// 鏁伴噺
- ///</summary>
+ /// 鏁伴噺
+ /// </summary>
[SugarColumn(ColumnName = "QUANTITY")]
public decimal? Quantity { get; set; }
/// <summary>
- /// 婧愬瓙搴揅ODE
- ///</summary>
+ /// 婧愬瓙搴揅ODE
+ /// </summary>
[SugarColumn(ColumnName = "FROM_INV_DEPOTS_CODE")]
public string? FromInvDepotsCode { get; set; }
/// <summary>
- /// 婧愯揣浣岰ODE
- ///</summary>
+ /// 婧愯揣浣岰ODE
+ /// </summary>
[SugarColumn(ColumnName = "FROM_INV_DEPOT_SECTIONS_CODE")]
public string? FromInvDepotSectionsCode { get; set; }
/// <summary>
- /// 鐩殑瀛愬簱CODE
- ///</summary>
+ /// 鐩殑瀛愬簱CODE
+ /// </summary>
[SugarColumn(ColumnName = "TO_INV_DEPOTS_CODE")]
public string? ToInvDepotsCode { get; set; }
/// <summary>
- /// 鐩殑璐т綅CODE
- ///</summary>
+ /// 鐩殑璐т綅CODE
+ /// </summary>
[SugarColumn(ColumnName = "TO_INV_DEPOT_SECTIONS_CODE")]
public string? ToInvDepotSectionsCode { get; set; }
/// <summary>
- /// 浜ゆ槗寮傚父淇℃伅
- ///</summary>
+ /// 浜ゆ槗寮傚父淇℃伅
+ /// </summary>
[SugarColumn(ColumnName = "DESCRIPTION")]
public string? Description { get; set; }
/// <summary>
- /// 鍒涘缓浜�
- ///</summary>
+ /// 鍒涘缓浜�
+ /// </summary>
[SugarColumn(ColumnName = "CREATE_BY")]
public string? CreateBy { get; set; }
/// <summary>
- /// 鍒涘缓鏃堕棿
- ///</summary>
+ /// 鍒涘缓鏃堕棿
+ /// </summary>
[SugarColumn(ColumnName = "CREATE_DATE")]
public DateTime? CreateDate { get; set; }
/// <summary>
- /// 鏈�鍚庢洿鏂颁汉
- ///</summary>
+ /// 鏈�鍚庢洿鏂颁汉
+ /// </summary>
[SugarColumn(ColumnName = "LASTUPDATE_BY")]
public string? LastupdateBy { get; set; }
/// <summary>
- /// 鏈�鍚庢洿鏂版椂闂�
- ///</summary>
+ /// 鏈�鍚庢洿鏂版椂闂�
+ /// </summary>
[SugarColumn(ColumnName = "LASTUPDATE_DATE")]
public DateTime? LastupdateDate { get; set; }
/// <summary>
- /// 瓒呮崯缁熻鏍囪瘑
- /// 榛樿鍊�: ((0))
- ///</summary>
+ /// 瓒呮崯缁熻鏍囪瘑
+ /// 榛樿鍊�: ((0))
+ /// </summary>
[SugarColumn(ColumnName = "ULLAGE_STAT_FLAG")]
public bool? UllageStatFlag { get; set; }
/// <summary>
- /// 鍒嗗巶缂栫爜
- ///</summary>
+ /// 鍒嗗巶缂栫爜
+ /// </summary>
[SugarColumn(ColumnName = "FACTORY")]
public string? Factory { get; set; }
/// <summary>
- /// 鍏徃浠g爜
- ///</summary>
+ /// 鍏徃浠g爜
+ /// </summary>
[SugarColumn(ColumnName = "COMPANY")]
public string? Company { get; set; }
/// <summary>
- /// 绠卞彿鏉$爜
- ///</summary>
+ /// 绠卞彿鏉$爜
+ /// </summary>
[SugarColumn(ColumnName = "ITEM_BARCODE2")]
public string? ItemBarcode2 { get; set; }
/// <summary>
- /// 鍗℃澘鏉$爜
- ///</summary>
+ /// 鍗℃澘鏉$爜
+ /// </summary>
[SugarColumn(ColumnName = "ITEM_BARCODE3")]
public string? ItemBarcode3 { get; set; }
/// <summary>
- /// 浠诲姟鍗曞彿
- ///</summary>
+ /// 浠诲姟鍗曞彿
+ /// </summary>
[SugarColumn(ColumnName = "WORK_NO")]
public string? WorkNo { get; set; }
/// <summary>
- /// 浠诲姟鍗曡鍙�
- ///</summary>
+ /// 浠诲姟鍗曡鍙�
+ /// </summary>
[SugarColumn(ColumnName = "WORK_LINE")]
public int? WorkLine { get; set; }
/// <summary>
- /// 渚涘簲鍟�
- ///</summary>
+ /// 渚涘簲鍟�
+ /// </summary>
[SugarColumn(ColumnName = "SUPP_NO")]
public string? SuppNo { get; set; }
/// <summary>
- /// 鐢熶骇绾�
- ///</summary>
+ /// 鐢熶骇绾�
+ /// </summary>
[SugarColumn(ColumnName = "LINE_NO")]
public string? LineNo { get; set; }
/// <summary>
- /// 閲囪喘璁㈠崟id
- ///</summary>
+ /// 閲囪喘璁㈠崟id
+ /// </summary>
[SugarColumn(ColumnName = "EBELN_K3ID")]
public long? EbelnK3id { get; set; }
/// <summary>
- /// 閲囪喘璁㈠崟琛宨d
- ///</summary>
+ /// 閲囪喘璁㈠崟琛宨d
+ /// </summary>
[SugarColumn(ColumnName = "LINE_K3ID")]
public long? LineK3id { get; set; }
/// <summary>
- /// 鐗╂枡ID
- ///</summary>
+ /// 鐗╂枡ID
+ /// </summary>
[SugarColumn(ColumnName = "ITEM_ID")]
public long? ItemId { get; set; }
/// <summary>
- ///
- ///</summary>
+ /// </summary>
[SugarColumn(ColumnName = "SUPP_ID")]
public string? SuppId { get; set; }
/// <summary>
- /// 婧愪粨搴揑D
- ///</summary>
+ /// 婧愪粨搴揑D
+ /// </summary>
[SugarColumn(ColumnName = "FROM_DEPOT_ID")]
public int? FromDepotId { get; set; }
/// <summary>
- /// 鐩殑浠撳簱ID
- ///</summary>
+ /// 鐩殑浠撳簱ID
+ /// </summary>
[SugarColumn(ColumnName = "INV_DEPOT_ID")]
public int? InvDepotId { get; set; }
/// <summary>
- /// mes鍗曟嵁鏄庣粏琛宨d
- ///</summary>
+ /// mes鍗曟嵁鏄庣粏琛宨d
+ /// </summary>
[SugarColumn(ColumnName = "MES_LINE")]
public Guid? MesLine { get; set; }
}
\ No newline at end of file
diff --git a/entity/MesInvItemBarcodes.cs b/entity/MesInvItemBarcodes.cs
index 142865a..3fb8c2d 100644
--- a/entity/MesInvItemBarcodes.cs
+++ b/entity/MesInvItemBarcodes.cs
@@ -192,7 +192,7 @@
/// 鎵规鏃ユ湡
/// </summary>
[SugarColumn(ColumnName = "LOT_DATE")]
- public string? LotDate { get; set; }
+ public DateTime? LotDate { get; set; }
/// <summary>
/// 鎴愬搧鏉$爜
@@ -411,7 +411,7 @@
/// 榛樿鍊�: ((0))
/// </summary>
[SugarColumn(ColumnName = "COME_FLG")]
- public bool? ComeFlg { get; set; }
+ public short? ComeFlg { get; set; }
/// <summary>
/// 琛屽彿
diff --git a/entity/MesInvItemOutItems.cs b/entity/MesInvItemOutItems.cs
index 6d4a2b3..0756b27 100644
--- a/entity/MesInvItemOutItems.cs
+++ b/entity/MesInvItemOutItems.cs
@@ -223,6 +223,11 @@
[SugarColumn(ColumnName = "item_dabid")]
public int? ItemDabid { get; set; }
+ /// <summary>
+ /// 搴旇鏄埌璐ф槑缁嗚〃鐨刧uid
+ /// </summary>
+ [SugarColumn(ColumnName = "about_Guid")]
+ public Guid? AboutGuid { get; set; }
[SugarColumn(IsIgnore = true)] public string? ItemName { get; set; }
diff --git a/entity/MesItemBl.cs b/entity/MesItemBl.cs
new file mode 100644
index 0000000..111e394
--- /dev/null
+++ b/entity/MesItemBl.cs
@@ -0,0 +1,155 @@
+锘縰sing SqlSugar;
+
+namespace NewPdaSqlServer.entity;
+
+/// <summary>
+/// </summary>
+[SugarTable("MES_ITEM_BL")]
+public class MesItemBl
+{
+ /// <summary>
+ /// ID
+ /// </summary>
+ [SugarColumn(ColumnName = "id", IsPrimaryKey = true)]
+ public Guid Id { get; set; }
+
+ /// <summary>
+ /// 琛ユ枡鍗曞彿
+ /// </summary>
+ [SugarColumn(ColumnName = "bl_no")]
+ public string BlNo { get; set; }
+
+ /// <summary>
+ /// 鐢熶骇宸ュ崟
+ /// </summary>
+ [SugarColumn(ColumnName = "bl001")]
+ public string Bl001 { get; set; }
+
+ /// <summary>
+ /// 浜у搧缂栧彿
+ /// </summary>
+ [SugarColumn(ColumnName = "bl002")]
+ public string Bl002 { get; set; }
+
+ /// <summary>
+ /// 浜ч噺
+ /// </summary>
+ [SugarColumn(ColumnName = "bl003")]
+ public int? Bl003 { get; set; }
+
+ /// <summary>
+ /// 鐢宠浜�
+ /// </summary>
+ [SugarColumn(ColumnName = "bl004")]
+ public string Bl004 { get; set; }
+
+ /// <summary>
+ /// 棰嗘枡鏃ユ湡
+ /// </summary>
+ [SugarColumn(ColumnName = "bl005")]
+ public DateTime? Bl005 { get; set; }
+
+ /// <summary>
+ /// 瀹℃牳鏃ユ湡
+ /// </summary>
+ [SugarColumn(ColumnName = "bl006")]
+ public DateTime? Bl006 { get; set; }
+
+ /// <summary>
+ /// 琛ユ枡鍘熷洜
+ /// </summary>
+ [SugarColumn(ColumnName = "bl007")]
+ public string Bl007 { get; set; }
+
+ /// <summary>
+ /// 鍑哄簱绫诲埆锛堣ˉ鏂�,瓒呴锛�
+ /// </summary>
+ [SugarColumn(ColumnName = "bl008")]
+ public string Bl008 { get; set; }
+
+ /// <summary>
+ /// 涓氬姟绫诲瀷
+ /// </summary>
+ [SugarColumn(ColumnName = "bl009")]
+ public string Bl009 { get; set; }
+
+ /// <summary>
+ /// 鍙戞枡浠�
+ /// </summary>
+ [SugarColumn(ColumnName = "bl010")]
+ public string Bl010 { get; set; }
+
+ /// <summary>
+ /// 琛ユ枡閮ㄩ棬
+ /// </summary>
+ [SugarColumn(ColumnName = "bl011")]
+ public string Bl011 { get; set; }
+
+ /// <summary>
+ /// 琛ユ枡浜х嚎
+ /// </summary>
+ [SugarColumn(ColumnName = "bl012")]
+ public string Bl012 { get; set; }
+
+ /// <summary>
+ /// 浠诲姟鍗曞彿
+ /// </summary>
+ [SugarColumn(ColumnName = "bl013")]
+ public string Bl013 { get; set; }
+
+ /// <summary>
+ /// 浜у搧鍚嶇О
+ /// </summary>
+ [SugarColumn(ColumnName = "bl014")]
+ public string Bl014 { get; set; }
+
+ /// <summary>
+ /// 浜у搧鍨嬪彿
+ /// </summary>
+ [SugarColumn(ColumnName = "bl015")]
+ public string Bl015 { get; set; }
+
+ /// <summary>
+ /// 瀹℃牳浜�
+ /// </summary>
+ [SugarColumn(ColumnName = "bl016")]
+ public string Bl016 { get; set; }
+
+ /// <summary>
+ /// 涓氬姟绫诲瀷缂栫爜
+ /// </summary>
+ [SugarColumn(ColumnName = "bl017")]
+ public string Bl017 { get; set; }
+
+ /// <summary>
+ /// 瀹℃牳鐘舵��
+ /// 榛樿鍊�: ((0))
+ /// </summary>
+ [SugarColumn(ColumnName = "bl018")]
+ public bool? Bl018 { get; set; }
+
+ /// <summary>
+ /// 瀹岀粨鏍囪瘑
+ /// 榛樿鍊�: ((0))
+ /// </summary>
+ [SugarColumn(ColumnName = "bl019")]
+ public bool? Bl019 { get; set; }
+
+ /// <summary>
+ /// 浜у搧id
+ /// </summary>
+ [SugarColumn(ColumnName = "item_id")]
+ public int? ItemId { get; set; }
+
+ /// <summary>
+ /// 瀹屾垚浜�
+ /// </summary>
+ [SugarColumn(ColumnName = "wc_user")]
+ public string WcUser { get; set; }
+
+ /// <summary>
+ /// 瀹屾垚鏃堕棿
+ /// </summary>
+ [SugarColumn(ColumnName = "wc_time")]
+ public string WcTime { get; set; }
+}
\ No newline at end of file
diff --git a/entity/MesItemBlDetail.cs b/entity/MesItemBlDetail.cs
new file mode 100644
index 0000000..7a61806
--- /dev/null
+++ b/entity/MesItemBlDetail.cs
@@ -0,0 +1,143 @@
+锘縰sing SqlSugar;
+
+namespace NewPdaSqlServer.entity;
+
+/// <summary>
+/// </summary>
+[SugarTable("MES_ITEM_BL_DETAIL")]
+public class MesItemBlDetail
+{
+ /// <summary>
+ /// ID
+ /// </summary>
+ [SugarColumn(ColumnName = "id", IsPrimaryKey = true)]
+ public Guid Id { get; set; }
+
+ /// <summary>
+ /// MID
+ /// </summary>
+ [SugarColumn(ColumnName = "mid")]
+ public Guid? Mid { get; set; }
+
+ /// <summary>
+ /// 宸ュ崟鍙�
+ /// </summary>
+ [SugarColumn(ColumnName = "bld001")]
+ public string Bld001 { get; set; }
+
+ /// <summary>
+ /// 鐗╂枡缂栧彿
+ /// </summary>
+ [SugarColumn(ColumnName = "bld002")]
+ public string Bld002 { get; set; }
+
+ /// <summary>
+ /// 鐗╂枡鍚嶇О
+ /// </summary>
+ [SugarColumn(ColumnName = "bld003")]
+ public string Bld003 { get; set; }
+
+ /// <summary>
+ /// 瑙勬牸鍨嬪彿
+ /// </summary>
+ [SugarColumn(ColumnName = "bld004")]
+ public string Bld004 { get; set; }
+
+ /// <summary>
+ /// 棰滆壊
+ /// </summary>
+ [SugarColumn(ColumnName = "bld005")]
+ public string Bld005 { get; set; }
+
+ /// <summary>
+ /// 璁″垝鏁伴噺
+ /// </summary>
+ [SugarColumn(ColumnName = "bld006")]
+ public int? Bld006 { get; set; }
+
+ /// <summary>
+ /// 鐢宠鏁伴噺
+ /// </summary>
+ [SugarColumn(ColumnName = "bld007")]
+ public int? Bld007 { get; set; }
+
+ /// <summary>
+ /// 宸查鏁伴噺
+ /// 榛樿鍊�: ((0))
+ /// </summary>
+ [SugarColumn(ColumnName = "bld008")]
+ public int? Bld008 { get; set; }
+
+ /// <summary>
+ /// 鍗曚綅
+ /// </summary>
+ [SugarColumn(ColumnName = "bld009")]
+ public string Bld009 { get; set; }
+
+ /// <summary>
+ /// 澶囨敞
+ /// </summary>
+ [SugarColumn(ColumnName = "bld010")]
+ public string Bld010 { get; set; }
+
+ /// <summary>
+ /// 瀹岀粨鏍囪瘑
+ /// 榛樿鍊�: ((0))
+ /// </summary>
+ [SugarColumn(ColumnName = "bld011")]
+ public int? Bld011 { get; set; }
+
+ /// <summary>
+ /// 鐗╂枡id
+ /// </summary>
+ [SugarColumn(ColumnName = "bld012")]
+ public int? Bld012 { get; set; }
+
+ /// <summary>
+ /// 椤规
+ /// </summary>
+ [SugarColumn(ColumnName = "bld013")]
+ public int? Bld013 { get; set; }
+
+ /// <summary>
+ /// ERP鎶曟枡鍗曡id
+ /// </summary>
+ [SugarColumn(ColumnName = "bld014")]
+ public int? Bld014 { get; set; }
+
+ /// <summary>
+ /// </summary>
+ [SugarColumn(ColumnName = "bld015")]
+ public string Bld015 { get; set; }
+
+ /// <summary>
+ /// </summary>
+ [SugarColumn(ColumnName = "bld016")]
+ public string Bld016 { get; set; }
+
+ /// <summary>
+ /// </summary>
+ [SugarColumn(ColumnName = "bld017")]
+ public string Bld017 { get; set; }
+
+ /// <summary>
+ /// </summary>
+ [SugarColumn(ColumnName = "bld018")]
+ public string Bld018 { get; set; }
+
+ /// <summary>
+ /// </summary>
+ [SugarColumn(ColumnName = "bld019")]
+ public string Bld019 { get; set; }
+
+ /// <summary>
+ /// </summary>
+ [SugarColumn(ColumnName = "bld020")]
+ public string Bld020 { get; set; }
+
+ /// <summary>
+ /// 鍏宠仈鐨刣ab琛ㄤ富閿�
+ /// </summary>
+ [SugarColumn(ColumnName = "dabGuid")]
+ public Guid? DabGuid { get; set; }
+}
\ No newline at end of file
diff --git a/entity/MesItemTblDetail.cs b/entity/MesItemTblDetail.cs
index 7ed7db8..5a32b40 100644
--- a/entity/MesItemTblDetail.cs
+++ b/entity/MesItemTblDetail.cs
@@ -95,11 +95,9 @@
[SugarColumn(ColumnName = "tld012")]
public int? Tld012 { get; set; }
- [SugarColumn(IsIgnore = true)]
- public string? BillNo { get; set; }
+ [SugarColumn(IsIgnore = true)] public string? BillNo { get; set; }
- [SugarColumn(IsIgnore = true)]
- public string? ItemNo { get; set; }
+ [SugarColumn(IsIgnore = true)] public string? ItemNo { get; set; }
/// <summary>
/// 鐗╂枡鍚嶇О
@@ -107,6 +105,5 @@
[SugarColumn(IsIgnore = true)]
public string? ItemName { get; set; }
- [SugarColumn(IsIgnore = true)]
- public string ItemModel { get; set; }
+ [SugarColumn(IsIgnore = true)] public string ItemModel { get; set; }
}
\ No newline at end of file
diff --git a/entity/Womdaa.cs b/entity/Womdaa.cs
index f748c76..3d8aff8 100644
--- a/entity/Womdaa.cs
+++ b/entity/Womdaa.cs
@@ -8,403 +8,418 @@
public class Womdaa
{
/// <summary>
- /// 榛樿鍊�: (newid())
- /// </summary>
- [SugarColumn(ColumnName = "guid")]
- public Guid? Guid { get; set; }
+ ///
+ /// 榛樿鍊�: (newid())
+ ///</summary>
+ [SugarColumn(ColumnName = "guid", IsPrimaryKey = true)]
+ public Guid Guid { get; set; }
/// <summary>
- /// </summary>
+ ///
+ ///</summary>
[SugarColumn(ColumnName = "pbaGuid")]
public Guid? PbaGuid { get; set; }
/// <summary>
- /// </summary>
+ ///
+ ///</summary>
[SugarColumn(ColumnName = "caaGuid")]
public Guid? CaaGuid { get; set; }
/// <summary>
- /// 鑷鍒�
- /// </summary>
+ /// 鑷鍒�
+ ///</summary>
[SugarColumn(ColumnName = "id")]
public int? Id { get; set; }
/// <summary>
- /// 鎺掍骇ID
- /// </summary>
+ /// 鎺掍骇ID
+ ///</summary>
[SugarColumn(ColumnName = "pid")]
public int? Pid { get; set; }
/// <summary>
- /// 鍗曞彿
- /// </summary>
+ /// 鍗曞彿
+ ///</summary>
[SugarColumn(ColumnName = "daa001")]
- public string Daa001 { get; set; }
+ public string? Daa001 { get; set; }
/// <summary>
- /// 浜у搧ID
- /// </summary>
+ /// 浜у搧ID
+ ///</summary>
[SugarColumn(ColumnName = "daa002")]
- public string Daa002 { get; set; }
+ public string? Daa002 { get; set; }
/// <summary>
- /// 浜у搧鍚嶇О
- /// </summary>
+ /// 浜у搧鍚嶇О
+ ///</summary>
[SugarColumn(ColumnName = "daa003")]
- public string Daa003 { get; set; }
+ public string? Daa003 { get; set; }
/// <summary>
- /// 浜у搧瑙勬牸
- /// </summary>
+ /// 浜у搧瑙勬牸
+ ///</summary>
[SugarColumn(ColumnName = "daa004")]
- public string Daa004 { get; set; }
+ public string? Daa004 { get; set; }
/// <summary>
- /// 鍗曚綅
- /// </summary>
+ /// 鍗曚綅
+ ///</summary>
[SugarColumn(ColumnName = "daa005")]
- public string Daa005 { get; set; }
+ public string? Daa005 { get; set; }
/// <summary>
- /// ERP棰勮寮�宸ユ椂闂�
- /// </summary>
+ /// ERP棰勮寮�宸ユ椂闂�
+ ///</summary>
[SugarColumn(ColumnName = "daa006")]
public DateTime? Daa006 { get; set; }
/// <summary>
- /// ERP棰勮瀹屽伐鏃堕棿
- /// </summary>
+ /// ERP棰勮瀹屽伐鏃堕棿
+ ///</summary>
[SugarColumn(ColumnName = "daa007")]
public DateTime? Daa007 { get; set; }
/// <summary>
- /// 宸ュ崟鏁伴噺
- /// </summary>
+ /// 宸ュ崟鏁伴噺
+ ///</summary>
[SugarColumn(ColumnName = "daa008")]
public int? Daa008 { get; set; }
/// <summary>
- /// 澶囨敞
- /// </summary>
+ /// 澶囨敞
+ ///</summary>
[SugarColumn(ColumnName = "daa009")]
- public string Daa009 { get; set; }
+ public string? Daa009 { get; set; }
/// <summary>
- /// 鍏ュ簱鏁伴噺
- /// </summary>
+ /// 鍏ュ簱鏁伴噺
+ ///</summary>
[SugarColumn(ColumnName = "daa010")]
public int? Daa010 { get; set; }
/// <summary>
- /// 宸茬敓浜ч噺
- /// </summary>
+ /// 宸茬敓浜ч噺
+ ///</summary>
[SugarColumn(ColumnName = "daa011")]
public int? Daa011 { get; set; }
/// <summary>
- /// 鎶ュ簾鏁伴噺
- /// </summary>
+ /// 鎶ュ簾鏁伴噺
+ ///</summary>
[SugarColumn(ColumnName = "daa012")]
public int? Daa012 { get; set; }
/// <summary>
- /// 宸ヤ綔杞﹂棿
- /// </summary>
+ /// 宸ヤ綔杞﹂棿
+ ///</summary>
[SugarColumn(ColumnName = "daa013")]
- public string Daa013 { get; set; }
+ public string? Daa013 { get; set; }
/// <summary>
- /// 鎶曟枡鍗曞崟鍙�
- /// </summary>
+ /// 鎶曟枡鍗曞崟鍙�
+ ///</summary>
[SugarColumn(ColumnName = "daa014")]
- public string Daa014 { get; set; }
+ public string? Daa014 { get; set; }
/// <summary>
- /// 鐢熶骇绾垮埆
- /// </summary>
+ /// 鐢熶骇绾垮埆
+ ///</summary>
[SugarColumn(ColumnName = "daa015")]
- public string Daa015 { get; set; }
+ public string? Daa015 { get; set; }
/// <summary>
- /// 瀹為檯寮�宸ユ棩
- /// </summary>
+ /// 瀹為檯寮�宸ユ棩
+ ///</summary>
[SugarColumn(ColumnName = "daa016")]
public DateTime? Daa016 { get; set; }
/// <summary>
- /// 瀹為檯瀹屽伐鏃�
- /// </summary>
+ /// 瀹為檯瀹屽伐鏃�
+ ///</summary>
[SugarColumn(ColumnName = "daa017")]
public DateTime? Daa017 { get; set; }
/// <summary>
- /// 宸ュ崟鐘舵��
- /// </summary>
+ /// 宸ュ崟鐘舵��
+ ///</summary>
[SugarColumn(ColumnName = "daa018")]
- public string Daa018 { get; set; }
+ public string? Daa018 { get; set; }
/// <summary>
- /// 榻愬鐘舵��
- /// </summary>
+ /// 榻愬鐘舵��
+ ///</summary>
[SugarColumn(ColumnName = "daa019")]
- public string Daa019 { get; set; }
+ public string? Daa019 { get; set; }
/// <summary>
- /// 瀹℃牳鐮�
- /// </summary>
+ /// 瀹℃牳鐮�
+ ///</summary>
[SugarColumn(ColumnName = "fstatus")]
public int? Fstatus { get; set; }
/// <summary>
- /// 瀹℃牳鏃ユ湡
- /// </summary>
+ /// 瀹℃牳鏃ユ湡
+ ///</summary>
[SugarColumn(ColumnName = "check_date")]
public DateTime? CheckDate { get; set; }
/// <summary>
- /// 瀹℃牳浜�
- /// </summary>
+ /// 瀹℃牳浜�
+ ///</summary>
[SugarColumn(ColumnName = "check_user")]
- public string CheckUser { get; set; }
+ public string? CheckUser { get; set; }
/// <summary>
- /// 绾垮埆缂栫爜
- /// </summary>
+ /// 绾垮埆缂栫爜
+ ///</summary>
[SugarColumn(ColumnName = "daa020")]
- public string Daa020 { get; set; }
+ public string? Daa020 { get; set; }
/// <summary>
- /// 浠诲姟鍗曞崟鍙�
- /// </summary>
+ /// 浠诲姟鍗曞崟鍙�
+ ///</summary>
[SugarColumn(ColumnName = "daa021")]
- public string Daa021 { get; set; }
+ public string? Daa021 { get; set; }
/// <summary>
- /// 閫氱煡澶囨枡锛�0-鏈�氱煡锛�1-閫氱煡
- /// 榛樿鍊�: ((0))
- /// </summary>
+ /// 閫氱煡澶囨枡锛�0-鏈�氱煡锛�1-閫氱煡
+ /// 榛樿鍊�: ((0))
+ ///</summary>
[SugarColumn(ColumnName = "daa022")]
public int? Daa022 { get; set; }
/// <summary>
- /// 鐢熶骇搴忓彿
- /// </summary>
+ /// 鐢熶骇搴忓彿
+ ///</summary>
[SugarColumn(ColumnName = "daa023")]
public int? Daa023 { get; set; }
/// <summary>
- /// 鎺掍骇鏃ユ湡
- /// </summary>
+ /// 鎺掍骇鏃ユ湡
+ ///</summary>
[SugarColumn(ColumnName = "daa024")]
- public string Daa024 { get; set; }
+ public string? Daa024 { get; set; }
/// <summary>
- /// 棣栦欢鏄惁妫�楠�1-妫�楠岋紝0鏈楠�
- /// </summary>
+ /// 棣栦欢鏄惁妫�楠�1-妫�楠岋紝0鏈楠�
+ ///</summary>
[SugarColumn(ColumnName = "daa025")]
- public string Daa025 { get; set; }
+ public string? Daa025 { get; set; }
/// <summary>
- /// 棣栦欢妫�楠岀粨鏋�
- /// </summary>
+ /// 棣栦欢妫�楠岀粨鏋�
+ ///</summary>
[SugarColumn(ColumnName = "daa026")]
- public string Daa026 { get; set; }
+ public string? Daa026 { get; set; }
/// <summary>
- /// 宸叉姤妫�锛�0-鏈姤妫�锛�1-宸叉姤妫�
- /// </summary>
+ /// 宸叉姤妫�锛�0-鏈姤妫�锛�1-宸叉姤妫�
+ ///</summary>
[SugarColumn(ColumnName = "is_reportcheck")]
public int? IsReportcheck { get; set; }
/// <summary>
- /// 鎶ユ浜�
- /// </summary>
+ /// 鎶ユ浜�
+ ///</summary>
[SugarColumn(ColumnName = "usname")]
- public string Usname { get; set; }
+ public string? Usname { get; set; }
/// <summary>
- /// 鎶ユ鏃堕棿
- /// </summary>
+ /// 鎶ユ鏃堕棿
+ ///</summary>
[SugarColumn(ColumnName = "reporttime")]
public DateTime? Reporttime { get; set; }
/// <summary>
- /// 鏈哄彴缂栧彿
- /// </summary>
+ /// 鏈哄彴缂栧彿
+ ///</summary>
[SugarColumn(ColumnName = "machine_no")]
- public string MachineNo { get; set; }
+ public string? MachineNo { get; set; }
/// <summary>
- /// 澶囨枡瀹屾垚1-瀹屾垚锛�0鏈畬鎴�
- /// </summary>
+ /// 澶囨枡瀹屾垚1-瀹屾垚锛�0鏈畬鎴�
+ ///</summary>
[SugarColumn(ColumnName = "daa027")]
public int? Daa027 { get; set; }
/// <summary>
- /// 澶囨枡瀹屾垚鏃堕棿
- /// </summary>
+ /// 澶囨枡瀹屾垚鏃堕棿
+ ///</summary>
[SugarColumn(ColumnName = "daa028")]
- public string Daa028 { get; set; }
+ public string? Daa028 { get; set; }
/// <summary>
- /// 鏍囧噯宸ユ椂
- /// </summary>
+ /// 鏍囧噯宸ユ椂
+ ///</summary>
[SugarColumn(ColumnName = "prod_hour")]
public int? ProdHour { get; set; }
/// <summary>
- /// 鍗曚汉灏忔椂浜ц兘
- /// </summary>
+ /// 鍗曚汉灏忔椂浜ц兘
+ ///</summary>
[SugarColumn(ColumnName = "person_hour_capacity")]
public int? PersonHourCapacity { get; set; }
/// <summary>
- /// 鐞嗚鏍囦骇
- /// </summary>
+ /// 鐞嗚鏍囦骇
+ ///</summary>
[SugarColumn(ColumnName = "the_capacity")]
public int? TheCapacity { get; set; }
/// <summary>
- /// 璁″垝鐢ㄤ汉鏁�
- /// </summary>
+ /// 璁″垝鐢ㄤ汉鏁�
+ ///</summary>
[SugarColumn(ColumnName = "plan_personnel")]
public int? PlanPersonnel { get; set; }
/// <summary>
- /// 璁″垝鏍囧噯浜ц兘
- /// </summary>
+ /// 璁″垝鏍囧噯浜ц兘
+ ///</summary>
[SugarColumn(ColumnName = "plan_capacity")]
public int? PlanCapacity { get; set; }
/// <summary>
- /// 鐞嗚鐢ㄦ椂/M
- /// </summary>
+ /// 鐞嗚鐢ㄦ椂/M
+ ///</summary>
[SugarColumn(ColumnName = "the_min")]
public int? TheMin { get; set; }
/// <summary>
- /// 鐞嗚鐢ㄦ椂/H
- /// </summary>
+ /// 鐞嗚鐢ㄦ椂/H
+ ///</summary>
[SugarColumn(ColumnName = "the_hour")]
public int? TheHour { get; set; }
/// <summary>
- /// 绾夸綋绫诲埆
- /// </summary>
+ /// 绾夸綋绫诲埆
+ ///</summary>
[SugarColumn(ColumnName = "line_type")]
- public string LineType { get; set; }
+ public string? LineType { get; set; }
/// <summary>
- /// 鏍囧噯浜烘暟
- /// </summary>
+ /// 鏍囧噯浜烘暟
+ ///</summary>
[SugarColumn(ColumnName = "personnel")]
public int? Personnel { get; set; }
/// <summary>
- /// 鎹㈢嚎鏃堕棿
- /// </summary>
+ /// 鎹㈢嚎鏃堕棿
+ ///</summary>
[SugarColumn(ColumnName = "change_line_time")]
public int? ChangeLineTime { get; set; }
/// <summary>
- /// 浼戞伅鏃堕棿
- /// </summary>
+ /// 浼戞伅鏃堕棿
+ ///</summary>
[SugarColumn(ColumnName = "rest_time")]
public int? RestTime { get; set; }
/// <summary>
- /// 鎺掍骇搴忓彿
- /// </summary>
+ /// 鎺掍骇搴忓彿
+ ///</summary>
[SugarColumn(ColumnName = "schedule_order")]
public int? ScheduleOrder { get; set; }
/// <summary>
- /// MES棰勮寮�宸ユ椂闂�
- /// </summary>
+ /// MES棰勮寮�宸ユ椂闂�
+ ///</summary>
[SugarColumn(ColumnName = "mes_start_prod")]
public DateTime? MesStartProd { get; set; }
/// <summary>
- /// MES棰勮瀹屽伐鏃堕棿
- /// </summary>
+ /// MES棰勮瀹屽伐鏃堕棿
+ ///</summary>
[SugarColumn(ColumnName = "mes_end_prod")]
public DateTime? MesEndProd { get; set; }
/// <summary>
- /// 鎺掍骇鎺ㄩ�佹爣璇�
- /// </summary>
+ /// 鎺掍骇鎺ㄩ�佹爣璇�
+ ///</summary>
[SugarColumn(ColumnName = "prodts")]
public int? Prodts { get; set; }
/// <summary>
- /// 棰勮澶囨枡鏃堕棿
- /// </summary>
+ /// 棰勮澶囨枡鏃堕棿
+ ///</summary>
[SugarColumn(ColumnName = "prepare_time")]
public DateTime? PrepareTime { get; set; }
/// <summary>
- /// 鎻掍欢鎶曞叆浜烘暟
- /// </summary>
+ /// 鎻掍欢鎶曞叆浜烘暟
+ ///</summary>
[SugarColumn(ColumnName = "cj_worker")]
public int? CjWorker { get; set; }
/// <summary>
- /// 鎻掍欢璁″垝鎶曞叆浜烘暟
- /// </summary>
+ /// 鎻掍欢璁″垝鎶曞叆浜烘暟
+ ///</summary>
[SugarColumn(ColumnName = "p_cj_worker")]
public int? PCjWorker { get; set; }
/// <summary>
- /// 鎻掍欢鏃ヤ骇閲�
- /// </summary>
+ /// 鎻掍欢鏃ヤ骇閲�
+ ///</summary>
[SugarColumn(ColumnName = "cj_daily_out")]
public int? CjDailyOut { get; set; }
/// <summary>
- /// 鎻掍欢鏍囧噯宸ユ椂
- /// </summary>
+ /// 鎻掍欢鏍囧噯宸ユ椂
+ ///</summary>
[SugarColumn(ColumnName = "cj_std_hour")]
public int? CjStdHour { get; set; }
/// <summary>
- /// 閿$剨鎶曞叆浜烘暟
- /// </summary>
+ /// 閿$剨鎶曞叆浜烘暟
+ ///</summary>
[SugarColumn(ColumnName = "hx_worker")]
public int? HxWorker { get; set; }
/// <summary>
- /// 閿$剨璁″垝鎶曞叆浜烘暟
- /// </summary>
+ /// 閿$剨璁″垝鎶曞叆浜烘暟
+ ///</summary>
[SugarColumn(ColumnName = "p_hx_worker")]
public int? PHxWorker { get; set; }
/// <summary>
- /// 閿$剨鏃ヤ骇閲�
- /// </summary>
+ /// 閿$剨鏃ヤ骇閲�
+ ///</summary>
[SugarColumn(ColumnName = "hx_daily_out")]
public int? HxDailyOut { get; set; }
/// <summary>
- /// 閿$剨鏍囧噯宸ユ椂
- /// </summary>
+ /// 閿$剨鏍囧噯宸ユ椂
+ ///</summary>
[SugarColumn(ColumnName = "hx_std_hour")]
public int? HxStdHour { get; set; }
/// <summary>
- /// 鎻掍欢鏁伴噺
- /// </summary>
+ /// 鎻掍欢鏁伴噺
+ ///</summary>
[SugarColumn(ColumnName = "cj_num")]
public int? CjNum { get; set; }
/// <summary>
- /// 瀹㈡埛
- /// </summary>
+ /// 瀹㈡埛
+ ///</summary>
[SugarColumn(ColumnName = "cust")]
- public string Cust { get; set; }
+ public string? Cust { get; set; }
/// <summary>
- /// 鏄惁棣栨
- /// </summary>
+ /// 鏄惁棣栨
+ ///</summary>
[SugarColumn(ColumnName = "IS_SJ")]
public int? IsSj { get; set; }
+
+ /// <summary>
+ /// 浜у搧缂栫爜
+ ///</summary>
+ [SugarColumn(ColumnName = "daa029")]
+ public string? Daa029 { get; set; }
+
+ /// <summary>
+ /// 瀹為檯绾夸綋缂栫爜
+ ///</summary>
+ [SugarColumn(ColumnName = "sj_xt")]
+ public string? SjXt { get; set; }
}
\ No newline at end of file
diff --git a/entity/Womdab.cs b/entity/Womdab.cs
index 4521451..c3f1fc6 100644
--- a/entity/Womdab.cs
+++ b/entity/Womdab.cs
@@ -8,228 +8,236 @@
public class Womdab
{
/// <summary>
- /// 榛樿鍊�: (newid())
- /// </summary>
+ ///
+ /// 榛樿鍊�: (newid())
+ ///</summary>
[SugarColumn(ColumnName = "guid", IsPrimaryKey = true)]
public Guid Guid { get; set; }
/// <summary>
- /// </summary>
+ ///
+ ///</summary>
[SugarColumn(ColumnName = "daaGuid")]
public Guid? DaaGuid { get; set; }
/// <summary>
- /// 鑷鍒�
- /// </summary>
+ /// 鑷鍒�
+ ///</summary>
[SugarColumn(ColumnName = "id")]
public int? Id { get; set; }
/// <summary>
- /// PID
- /// </summary>
+ /// PID
+ ///</summary>
[SugarColumn(ColumnName = "pid")]
public int? Pid { get; set; }
/// <summary>
- /// 宸ュ崟鍗曞彿
- /// </summary>
+ /// 宸ュ崟鍗曞彿
+ ///</summary>
[SugarColumn(ColumnName = "dab001")]
public string? Dab001 { get; set; }
/// <summary>
- /// 搴忓彿
- /// </summary>
+ /// 搴忓彿
+ ///</summary>
[SugarColumn(ColumnName = "dab002")]
public int? Dab002 { get; set; }
/// <summary>
- /// 鏉愭枡缂栫爜
- /// </summary>
+ /// 鏉愭枡id
+ ///</summary>
[SugarColumn(ColumnName = "dab003")]
public string? Dab003 { get; set; }
/// <summary>
- /// 鏉愭枡鍚嶇О
- /// </summary>
+ /// 鏉愭枡鍚嶇О
+ ///</summary>
[SugarColumn(ColumnName = "dab004")]
public string? Dab004 { get; set; }
/// <summary>
- /// 鏉愭枡瑙勬牸
- /// </summary>
+ /// 鏉愭枡瑙勬牸
+ ///</summary>
[SugarColumn(ColumnName = "dab005")]
public string? Dab005 { get; set; }
/// <summary>
- /// 闇�棰嗙敤閲�
- /// </summary>
+ /// 闇�棰嗙敤閲�
+ ///</summary>
[SugarColumn(ColumnName = "dab006")]
public decimal? Dab006 { get; set; }
/// <summary>
- /// 宸查鐢ㄩ噺
- /// </summary>
+ /// 宸查鐢ㄩ噺
+ ///</summary>
[SugarColumn(ColumnName = "dab007")]
public decimal? Dab007 { get; set; }
/// <summary>
- /// 宸ヨ壓
- /// </summary>
+ /// 宸ヨ壓
+ ///</summary>
[SugarColumn(ColumnName = "dab008")]
public string? Dab008 { get; set; }
/// <summary>
- /// 鍗曚綅
- /// </summary>
+ /// 鍗曚綅
+ ///</summary>
[SugarColumn(ColumnName = "dab009")]
public string? Dab009 { get; set; }
/// <summary>
- /// 鏉愭枡绫诲瀷
- /// </summary>
+ /// 鏉愭枡绫诲瀷
+ ///</summary>
[SugarColumn(ColumnName = "dab010")]
public string? Dab010 { get; set; }
/// <summary>
- /// 涓绘枡
- /// </summary>
+ /// 涓绘枡
+ ///</summary>
[SugarColumn(ColumnName = "dab011")]
public string? Dab011 { get; set; }
/// <summary>
- /// 缁勬垚鐢ㄩ噺
- /// </summary>
+ /// 缁勬垚鐢ㄩ噺
+ ///</summary>
[SugarColumn(ColumnName = "dab012")]
public int? Dab012 { get; set; }
/// <summary>
- /// 搴曟暟
- /// </summary>
+ /// 搴曟暟
+ ///</summary>
[SugarColumn(ColumnName = "dab013")]
public int? Dab013 { get; set; }
/// <summary>
- /// 鏄惁鏇挎枡
- /// </summary>
+ /// 鏄惁鏇挎枡
+ ///</summary>
[SugarColumn(ColumnName = "dab014")]
public string? Dab014 { get; set; }
/// <summary>
- /// 鐐逛綅
- /// </summary>
+ /// 鐐逛綅
+ ///</summary>
[SugarColumn(ColumnName = "dab015")]
public string? Dab015 { get; set; }
/// <summary>
- /// 鎶曟枡鍗曞彿
- /// </summary>
+ /// 鎶曟枡鍗曞彿
+ ///</summary>
[SugarColumn(ColumnName = "dab016")]
public string? Dab016 { get; set; }
/// <summary>
- /// 浠撳簱缂栫爜
- /// </summary>
+ /// 浠撳簱缂栫爜
+ ///</summary>
[SugarColumn(ColumnName = "dab017")]
public string? Dab017 { get; set; }
/// <summary>
- /// 浠撳簱鍚嶇О
- /// </summary>
+ /// 浠撳簱鍚嶇О
+ ///</summary>
[SugarColumn(ColumnName = "dab018")]
public string? Dab018 { get; set; }
/// <summary>
- /// 棰嗘枡鏂瑰紡
- /// </summary>
+ /// 棰嗘枡鏂瑰紡
+ ///</summary>
[SugarColumn(ColumnName = "dab019")]
public string? Dab019 { get; set; }
/// <summary>
- /// 鍥哄畾鎹熻��
- /// </summary>
+ /// 鍥哄畾鎹熻��
+ ///</summary>
[SugarColumn(ColumnName = "scrapqty")]
public int? Scrapqty { get; set; }
/// <summary>
- /// 鍙樺姩鎹熻�楃巼
- /// </summary>
+ /// 鍙樺姩鎹熻�楃巼
+ ///</summary>
[SugarColumn(ColumnName = "scraprate")]
public int? Scraprate { get; set; }
/// <summary>
- /// 鎶曟枡鍗曡id
- /// </summary>
+ /// 鎶曟枡鍗曡id
+ ///</summary>
[SugarColumn(ColumnName = "erpid")]
public int? Erpid { get; set; }
/// <summary>
- /// 鎶曟枡鍗曞ごid
- /// </summary>
+ /// 鎶曟枡鍗曞ごid
+ ///</summary>
[SugarColumn(ColumnName = "eid")]
public int? Eid { get; set; }
/// <summary>
- /// 瀹為鐢ㄩ噺
- /// 榛樿鍊�: ((0))
- /// </summary>
+ /// 瀹為鐢ㄩ噺
+ /// 榛樿鍊�: ((0))
+ ///</summary>
[SugarColumn(ColumnName = "dab020")]
public decimal? Dab020 { get; set; }
/// <summary>
- /// 琛ラ鏁伴噺
- /// 榛樿鍊�: ((0))
- /// </summary>
+ /// 琛ラ鏁伴噺
+ /// 榛樿鍊�: ((0))
+ ///</summary>
[SugarColumn(ColumnName = "dab021")]
public decimal? Dab021 { get; set; }
/// <summary>
- /// 閫�鏂欐暟閲�
- /// 榛樿鍊�: ((0))
- /// </summary>
+ /// 閫�鏂欐暟閲�
+ /// 榛樿鍊�: ((0))
+ ///</summary>
[SugarColumn(ColumnName = "dab022")]
public decimal? Dab022 { get; set; }
/// <summary>
- /// 瓒呴鏁伴噺
- /// 榛樿鍊�: ((0))
- /// </summary>
+ /// 瓒呴鏁伴噺
+ /// 榛樿鍊�: ((0))
+ ///</summary>
[SugarColumn(ColumnName = "dab023")]
public decimal? Dab023 { get; set; }
/// <summary>
- /// 鑹搧閫�鏂�
- /// 榛樿鍊�: ((0))
- /// </summary>
+ /// 鑹搧閫�鏂�
+ /// 榛樿鍊�: ((0))
+ ///</summary>
[SugarColumn(ColumnName = "lp_tl")]
public int? LpTl { get; set; }
/// <summary>
- /// 鏉ユ枡涓嶈壇
- /// 榛樿鍊�: ((0))
- /// </summary>
+ /// 鏉ユ枡涓嶈壇
+ /// 榛樿鍊�: ((0))
+ ///</summary>
[SugarColumn(ColumnName = "ll_bl")]
public int? LlBl { get; set; }
/// <summary>
- /// 浣滀笟涓嶈壇
- /// 榛樿鍊�: ((0))
- /// </summary>
+ /// 浣滀笟涓嶈壇
+ /// 榛樿鍊�: ((0))
+ ///</summary>
[SugarColumn(ColumnName = "zy_bl")]
public int? ZyBl { get; set; }
/// <summary>
- /// 鍚堝苟鏍囪瘑
- /// 榛樿鍊�: ((0))
- /// </summary>
+ /// 鍚堝苟鏍囪瘑
+ /// 榛樿鍊�: ((0))
+ ///</summary>
[SugarColumn(ColumnName = "hb_flag")]
public int? HbFlag { get; set; }
/// <summary>
- /// 鍚堝苟鍗曞彿
- /// </summary>
+ /// 鍚堝苟鍗曞彿
+ ///</summary>
[SugarColumn(ColumnName = "hb_no")]
public string? HbNo { get; set; }
+ /// <summary>
+ /// 鐗╂枡缂栫爜
+ ///</summary>
+ [SugarColumn(ColumnName = "dab024")]
+ public string? Dab024 { get; set; }
+
// 鍔ㄦ�佹坊鍔犵殑灞炴��
[SugarColumn(IsIgnore = true)] public decimal? wNum { get; set; }
diff --git a/service/Warehouse/MesItemBlDetailManager.cs b/service/Warehouse/MesItemBlDetailManager.cs
new file mode 100644
index 0000000..3d70b99
--- /dev/null
+++ b/service/Warehouse/MesItemBlDetailManager.cs
@@ -0,0 +1,11 @@
+锘縰sing NewPdaSqlServer.DB;
+using NewPdaSqlServer.entity;
+
+namespace NewPdaSqlServer.service.Warehouse;
+
+public class MesItemBlDetailManager : Repository<MesItemBlDetail>
+{
+ //褰撳墠绫诲凡缁忕户鎵夸簡 Repository 澧炪�佸垹銆佹煡銆佹敼鐨勬柟娉�
+
+ //杩欓噷闈㈠啓鐨勪唬鐮佷笉浼氱粰瑕嗙洊,濡傛灉瑕侀噸鏂扮敓鎴愯鍒犻櫎 MesItemBlDetailManager.cs
+}
\ No newline at end of file
diff --git a/service/Warehouse/MesItemBlManager.cs b/service/Warehouse/MesItemBlManager.cs
new file mode 100644
index 0000000..a89cb7e
--- /dev/null
+++ b/service/Warehouse/MesItemBlManager.cs
@@ -0,0 +1,1733 @@
+锘縰sing NewPdaSqlServer.DB;
+using NewPdaSqlServer.Dto.service;
+using NewPdaSqlServer.entity;
+using NewPdaSqlServer.util;
+using SqlSugar;
+
+namespace NewPdaSqlServer.service.Warehouse;
+
+public class MesItemBlManager : Repository<MesItemBl>
+{
+ #region 鐢熶骇琛ユ枡
+
+ /// <summary>
+ /// 鑾峰彇鐢熶骇琛ユ枡鍗曞彿鍒楄〃
+ /// </summary>
+ /// <returns>琛ユ枡鍗曞彿鍒楄〃</returns>
+ public List<string> GetSCBLBillNo()
+ {
+ var list = Db.Queryable<MesItemBl>()
+ .Where(s => (s.Bl018 ?? false) == true
+ && (s.Bl019 ?? false) == false
+ && s.Bl008 == "鐢熶骇琛ユ枡")
+ .Select(s => s.BlNo)
+ .ToList();
+ return list;
+ }
+
+ /// <summary>
+ /// 鏍规嵁鍗曞彿鑾峰彇鐢熶骇琛ユ枡鍗曟槑缁� prc_rf_pda_scan_zout_showbl
+ /// </summary>
+ /// <param name="billNo">琛ユ枡鍗曞彿</param>
+ /// <returns>琛ユ枡鍗曟槑缁嗗垪琛�</returns>
+ public List<MesItemBlDetail> GetMesItemBlDetailByBillNo(
+ WarehouseQuery query)
+ {
+ if (string.IsNullOrEmpty(query.billNo))
+ throw new Exception("璇烽�夊崟鎹彿锛�");
+
+ // 妫�鏌ヨˉ鏂欏崟鏄惁瀛樺湪涓斾负鐢熶骇琛ユ枡绫诲瀷
+ var mesItemBl = Db.Queryable<MesItemBl>()
+ .Where(a => a.BlNo == query.billNo && a.Bl008 == "鐢熶骇琛ユ枡")
+ .First();
+
+ if (mesItemBl == null)
+ throw new Exception("鍗曟嵁鍙蜂笉姝g‘锛�");
+
+ if (mesItemBl.Bl019 == true)
+ throw new Exception("鍗曟嵁鍙峰凡瀹屾垚锛�");
+
+ // 鑾峰彇鏈畬鎴愮殑琛ユ枡鍗曟槑缁�
+ var blDetails = Db.Queryable<MesItemBl, MesItemBlDetail>((a, b) =>
+ new JoinQueryInfos(JoinType.Left, a.Id == b.Mid))
+ .Where((a, b) => a.BlNo == query.billNo
+ && (b.Bld007 ?? 0) - (b.Bld008 ?? 0) > 0)
+ .Select((a, b) => new MesItemBlDetail
+ {
+ Bld012 = b.Bld012,
+ Bld002 = b.Bld002,
+ Bld003 = b.Bld003,
+ Bld004 = b.Bld004,
+ Bld007 = b.Bld007,
+ Bld008 = b.Bld008
+ })
+ .ToList();
+
+ return blDetails;
+ }
+
+ /// <summary>
+ /// 鎵弿鏉$爜 prc_rf_pda_scan_zout_barcode3
+ /// </summary>
+ /// <param name="query">鏌ヨ鍙傛暟</param>
+ /// <returns>鎵弿缁撴灉</returns>
+ /// <remarks>
+ /// 鍙傛暟璇存槑:
+ /// - billNo: 鍗曟嵁鍙�(蹇呭~)
+ /// - barcode: 鏉$爜(蹇呭~)
+ /// - userName: 鐢ㄦ埛鍚�
+ /// - blNo: 琛ユ枡鍗曞彿(蹇呭~)
+ /// </remarks>
+ public (bool success, List<PendingMaterialDto> pendingList) SctlScanBarcode(
+ WarehouseQuery query)
+ {
+ #region 鍙傛暟鏍¢獙
+
+ if (string.IsNullOrEmpty(query.billNo))
+ throw new Exception("璇烽�夊彇鍗曟嵁鍙凤紒");
+
+ if (string.IsNullOrEmpty(query.barcode))
+ throw new Exception("璇锋壂鎻忔潯鐮侊紒");
+
+ if (string.IsNullOrEmpty(query.userName))
+ throw new Exception("鐢ㄦ埛鍚嶄笉鑳戒负绌猴紒");
+
+ if (string.IsNullOrEmpty(query.blNo))
+ throw new Exception("琛ユ枡鍗曞彿涓嶈兘涓虹┖锛�");
+
+ #endregion
+
+ // 妫�楠屾槸鍚﹂噸澶嶆壂鎻�
+ var exists = Db.Queryable<MesInvItemOutCDetails>()
+ .Where(b => b.ItemBarcode == query.barcode)
+ .Any();
+
+ if (exists)
+ throw new Exception("姝ゆ潯鐮佸凡鎵弿,鍕块噸澶嶆壂鐮侊紒");
+
+ // 鏌ヨ鏉$爜搴撳瓨淇℃伅
+ var stockBarcode = Db.Queryable<MesInvItemStocks>()
+ .Where(t => t.ItemBarcode == query.barcode && t.Quantity > 0)
+ .First();
+
+ if (stockBarcode == null)
+ throw new Exception($"搴撳瓨涓棤姝ゆ潯鐮�,璇锋牳瀵癸紒{query.barcode}");
+
+ // 妫�鏌ヨˉ鏂欏崟鐘舵��
+ var mesItemBl = Db.Queryable<MesItemBl>()
+ .Where(a => a.BlNo == query.blNo && (a.Bl018 ?? false) == false)
+ .First();
+
+ if (mesItemBl == null)
+ throw new Exception($"鐢宠鍗� {query.blNo} 宸叉挙鍥烇紒");
+
+ if (mesItemBl.Bl018 != true)
+ throw new Exception($"鐢宠鍗� {query.blNo} 鏈鏍革紒");
+
+ if (mesItemBl.Bl019 == true)
+ throw new Exception($"鐢宠鍗� {query.blNo} 宸插畬缁擄紒");
+
+ // 鑾峰彇琛ユ枡鍗曟槑缁嗗苟鏍¢獙
+ var blDetail = Db.Queryable<MesItemBlDetail>()
+ .Where(b =>
+ b.Mid == mesItemBl.Id && b.Bld012 == stockBarcode.ItemId)
+ .First();
+
+ if (blDetail == null)
+ throw new Exception($"鐢宠鍗曚笉瀛樺湪姝ょ墿鏂� {stockBarcode.ItemNo} 璇风‘璁わ紒");
+
+ // 妫�鏌ュ緟琛ユ暟閲�
+ var quantity = (blDetail.Bld007 ?? 0) - (blDetail.Bld008 ?? 0);
+ if (quantity == 0)
+ throw new Exception("鐗╂枡宸叉壂鐮佸畬鎴愶紝璇锋牳瀵癸紒");
+
+ // 妫�鏌ュ伐鍗曚俊鎭�
+ var womdaa = Db.Queryable<Womdaa>()
+ .Where(a => a.Daa001 == query.billNo)
+ .First();
+
+ if (womdaa == null)
+ throw new Exception($"宸ュ崟 {query.billNo} 涓嶅瓨鍦紝璇风‘璁わ紒");
+
+ // 妫�鏌ュ鏂欐槑缁�
+ var womdab = Db.Queryable<Womdab>()
+ .Where(b => b.Dab001 == query.billNo && b.Erpid == blDetail.Bld014)
+ .First();
+
+ if (womdab == null)
+ throw new Exception($"澶囨枡鏄庣粏涓嶅瓨鍦ㄦ鐗╂枡 {stockBarcode.ItemNo} 璇风‘璁わ紒");
+
+ if (stockBarcode.Quantity > quantity)
+ {
+ // 鑾峰彇寰呭彂鏂欐槑缁嗗垪琛�
+ var pendingList = Db.Queryable<MesItemBl, MesItemBlDetail>((a, b) =>
+ new JoinQueryInfos(JoinType.Left, a.Id == b.Mid))
+ .Where((a, b) => a.BlNo == query.blNo
+ && (b.Bld007 ?? 0) - (b.Bld008 ?? 0) > 0)
+ .Select((a, b) => new PendingMaterialDto
+ {
+ SectionCode = b.Bld012.ToString(),
+ ItemNo = b.Bld002,
+ ItemName = b.Bld003,
+ ItemSpec = b.Bld004,
+ PendingQty = (b.Bld007 ?? 0) - (b.Bld008 ?? 0)
+ })
+ .ToList();
+
+ return (false, pendingList);
+ }
+
+ // 寮�鍚簨鍔″鐞�
+ var success = UseTransaction(db =>
+ {
+ // 鑾峰彇鎴栧垱寤哄嚭搴撳崟
+ var outId = Guid.NewGuid();
+ var outNo = BillNo.GetBillNo("SCBL");
+
+ var existingOut = db.Queryable<MesInvItemOuts>()
+ .Where(a => a.BbillNo == query.blNo
+ && a.DepotCode == womdab.Dab017
+ && a.OutDate.Value.Date.ToString("yyyy-MM-dd") ==
+ DateTime.Now.Date.ToString("yyyy-MM-dd")
+ && a.BillTypeId == 200
+ && a.TransactionNo == 209
+ && a.Status == 0)
+ .First();
+
+ if (existingOut != null)
+ {
+ outId = existingOut.Guid;
+ outNo = existingOut.ItemOutNo;
+ }
+ else
+ {
+ // 鎻掑叆鍑哄簱鍗曚富琛�
+ db.Insertable(new MesInvItemOuts
+ {
+ Guid = outId,
+ ItemOutNo = outNo,
+ TaskNo = query.blNo,
+ CreateBy = query.userName,
+ CreateDate = DateTime.Now,
+ LastupdateBy = query.userName,
+ LastupdateDate = DateTime.Now,
+ BillTypeId = 200,
+ TransactionNo = 209,
+ Remark = mesItemBl.Bl007,
+ DepotCode = womdab.Dab017,
+ OutPart = womdaa.Daa013,
+ FType = 0,
+ Factory = stockBarcode.Factory,
+ Company = stockBarcode.Company,
+ WorkNo = womdaa.Daa021,
+ BoardItem = womdaa.Daa002,
+ PbillNo = womdaa.Daa001,
+ OutDate = DateTime.Now,
+ Status = 0,
+ BbillNo = query.blNo
+ }).IgnoreColumns(true).ExecuteCommand();
+ }
+
+ // 妫�鏌ュ苟鏇存柊鍑哄簱鍗曠墿鏂欐槑缁�
+ var itemCount = db.Queryable<MesInvItemOutItems>()
+ .Where(i =>
+ i.ItemOutId == outId && i.ItemId == stockBarcode.ItemId)
+ .Count();
+
+ if (itemCount > 0)
+ {
+ // 鏇存柊宸插瓨鍦ㄧ殑鐗╂枡鏄庣粏鏁伴噺
+ db.Updateable<MesInvItemOutItems>()
+ .SetColumns(i =>
+ i.Quantity == i.Quantity + stockBarcode.Quantity)
+ .Where(i =>
+ i.ItemOutId == outId && i.ItemId == stockBarcode.ItemId)
+ .ExecuteCommand();
+ }
+ else
+ {
+ // 鎻掑叆鏂扮殑鐗╂枡鏄庣粏璁板綍
+ db.Insertable(new MesInvItemOutItems
+ {
+ Guid = Guid.NewGuid(),
+ ItemOutId = outId,
+ ItemNo = blDetail.Bld002,
+ Quantity = stockBarcode.Quantity,
+ CreateBy = query.userName,
+ CreateDate = DateTime.Now,
+ LastupdateBy = query.userName,
+ LastupdateDate = DateTime.Now,
+ Factory = stockBarcode.Factory,
+ Company = stockBarcode.Company,
+ DepotCode = womdab.Dab017,
+ TaskNo = query.blNo,
+ WorkNo = womdaa.Daa021,
+ WorkLine = blDetail.Bld013,
+ ErpItemNo = womdab.Dab003,
+ ErpId = womdab.Eid,
+ ErpAutoid = womdab.Erpid,
+ PbillNo = query.billNo,
+ ItemId = blDetail.Bld012,
+ // Unit = blDetail.Bld009,
+ // DepotId = (int)stockBarcode.DepotsId
+ }).IgnoreColumns(true).ExecuteCommand();
+ }
+
+ // 鎻掑叆鍑哄簱鍗曟潯鐮佹槑缁�
+ db.Insertable(new MesInvItemOutCDetails
+ {
+ Guid = Guid.NewGuid(),
+ ItemOutId = outId,
+ ItemBarcode = stockBarcode.ItemBarcode,
+ ItemNo = stockBarcode.ItemNo,
+ LotNo = stockBarcode.LotNo,
+ Quantity = stockBarcode.Quantity,
+ ForceOutFlag = 0,
+ CreateBy = query.userName,
+ CreateDate = DateTime.Now,
+ LastupdateBy = query.userName,
+ LastupdateDate = DateTime.Now,
+ DepotCode = stockBarcode.DepotsCode,
+ DepotSectionCode = stockBarcode.DepotSectionsCode,
+ Remark = blDetail.Bld010,
+ Factory = stockBarcode.Factory,
+ Company = stockBarcode.Company,
+ TaskNoy = mesItemBl.Bl013,
+ BoardStyle = mesItemBl.Bl002,
+ TaskNo = query.blNo,
+ WorkNo = blDetail.Bld001,
+ WorkLine = blDetail.Bld013,
+ SuppNo = stockBarcode.SuppNo,
+ PbillNo = query.billNo,
+ ItemId = blDetail.Bld012,
+ Unit = blDetail.Bld009,
+ DepotId = (int)stockBarcode.DepotsId,
+ EbelnK3id = womdab.Eid,
+ LineK3id = womdab.Erpid
+ }).IgnoreColumns(true).ExecuteCommand();
+
+ // 鎻掑叆涓氬姟浜ゆ槗璁板綍
+ db.Insertable(new MesInvBusiness2
+ {
+ Guid = Guid.NewGuid(),
+ Status = 1,
+ BillTypeId = 200, // p_bill_type_id
+ TransactionCode = "210", // p_transaction_no
+ BusinessType = -1,
+ ItemBarcode = stockBarcode.ItemBarcode,
+ ItemNo = stockBarcode.ItemNo,
+ LotNo = stockBarcode.LotNo,
+ EpFlag = true,
+ Quantity = stockBarcode.Quantity,
+ FromInvDepotsCode = stockBarcode.DepotsCode,
+ FromInvDepotSectionsCode = stockBarcode.DepotSectionsCode,
+ CreateBy = query.userName,
+ CreateDate = DateTime.Now,
+ LastupdateBy = query.userName,
+ LastupdateDate = DateTime.Now,
+ Factory = stockBarcode.Factory,
+ Company = stockBarcode.Company,
+ TaskNo = mesItemBl.Bl012, // Matches C_QTCK.Bl012
+ BillNo = query.blNo,
+ WorkNo = blDetail.Bld001, // Matches C_QTCK_D.Bld001
+ WorkLine = blDetail.Bld013, // Matches C_QTCK_D.Bld013
+ SuppNo = stockBarcode.SuppNo,
+ ItemId = stockBarcode.ItemId,
+ // CkDepot = stockBarcode.DepotsId
+ }).IgnoreColumns(true).ExecuteCommand();
+
+
+ // 鏇存柊宸ュ崟琛ㄦ暟閲�
+ db.Updateable<Womdab>()
+ .SetColumns(it => new Womdab
+ {
+ Dab007 = (it.Dab007 ?? 0) + stockBarcode.Quantity,
+ Dab020 = (it.Dab020 ?? 0) + stockBarcode.Quantity,
+ Dab021 = (it.Dab021 ?? 0) + stockBarcode.Quantity
+ })
+ .Where(it => it.Id == womdab.Id && it.Dab003 == womdab.Dab003)
+ .ExecuteCommand();
+
+ // 鏇存柊琛ユ枡鍗曟槑缁嗗凡琛ユ暟閲�
+ db.Updateable<MesItemBlDetail>()
+ .SetColumns(it => new MesItemBlDetail
+ {
+ Bld008 = (it.Bld008 ?? 0) + (int)stockBarcode.Quantity
+ })
+ .Where(it => it.Id == blDetail.Id)
+ .ExecuteCommand();
+
+ // 妫�鏌ヨˉ鏂欏崟鏄庣粏鏄惁瀹屾垚
+ var blDetail1 = db.Queryable<MesItemBlDetail>()
+ .Where(it => it.Id == blDetail.Id)
+ .First();
+
+ if ((blDetail1.Bld007 ?? 0) <= (blDetail1.Bld008 ?? 0))
+ {
+ // 鏇存柊鏄庣粏瀹屾垚鐘舵��
+ db.Updateable<MesItemBlDetail>()
+ .SetColumns(it => it.Bld011 == 1)
+ .Where(it => it.Id == blDetail1.Id)
+ .ExecuteCommand();
+ }
+
+ // 鏇存柊搴撳瓨鏁伴噺涓�0
+ db.Updateable<MesInvItemStocks>()
+ .SetColumns(it => it.Quantity == 0)
+ .Where(it => it.Guid == stockBarcode.Guid)
+ .ExecuteCommand();
+
+
+ // 妫�鏌ユ槸鍚︽墍鏈夋槑缁嗛兘宸插畬鎴�
+ var unfinishedDetail = db.Queryable<MesItemBlDetail>()
+ .LeftJoin<MesItemBl>((b, a) => a.Id == b.Mid)
+ .Where((b, a) => a.BlNo == query.blNo && (b.Bld011 ?? 0) == 0)
+ .Select((b, a) => b)
+ .First();
+
+ if (unfinishedDetail == null)
+ {
+ // 濡傛灉娌℃湁鏈畬鎴愮殑鏄庣粏锛屾洿鏂拌ˉ鏂欏崟鐘舵�佷负宸插畬鎴�
+ db.Updateable<MesItemBl>()
+ .SetColumns(it => new MesItemBl
+ {
+ Bl019 = true,
+ WcUser = query.userName,
+ WcTime = DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss")
+ })
+ .Where(it => it.Id == mesItemBl.Id)
+ .ExecuteCommand();
+ }
+
+ return 1;
+ });
+
+ // 鑾峰彇鏈�缁堢殑寰呭彂鏂欐槑缁嗗垪琛�
+ var finalPendingList = Db.Queryable<MesItemBl, MesItemBlDetail>(
+ (a, b) =>
+ new JoinQueryInfos(JoinType.Left, a.Id == b.Mid))
+ .Where((a, b) => a.BlNo == query.blNo
+ && (b.Bld007 ?? 0) - (b.Bld008 ?? 0) > 0)
+ .Select((a, b) => new PendingMaterialDto
+ {
+ SectionCode = b.Bld012.ToString(),
+ ItemNo = b.Bld002,
+ ItemName = b.Bld003,
+ ItemSpec = b.Bld004,
+ PendingQty = (b.Bld007 ?? 0) - (b.Bld008 ?? 0)
+ })
+ .ToList();
+
+ return (true, finalPendingList);
+ }
+
+ /// <summary>
+ /// 鐢熶骇琛ユ枡鍗曟潯鐮佹媶鍒� prc_rf_pda_prnt_zout_barcode2
+ /// </summary>
+ /// <param name="query">鏌ヨ鍙傛暟</param>
+ /// <returns>(鎴愬姛鏍囧織, 寰呭鐞嗗垪琛�)</returns>
+ /// <remarks>
+ /// 鍓嶅彴闇�瑕佷紶鍏ョ殑鍙傛暟:
+ /// - userName: 鐢ㄦ埛鍚�(蹇呭~)
+ /// - billNo: 宸ュ崟鍙�(蹇呭~)
+ /// - barcode: 鐗╂枡鏉$爜(蹇呭~)
+ /// - Num: 鍙戞枡鏁伴噺(蹇呭~,蹇呴』澶т簬0)
+ /// - blNo: 琛ユ枡鍗曞彿(蹇呭~)
+ /// </remarks>
+ public (bool success, List<PendingMaterialDto> pendingList) SplitBarcode(
+ WarehouseQuery query)
+ {
+ #region 鍙傛暟鏍¢獙
+
+ if (string.IsNullOrEmpty(query.userName))
+ throw new Exception("鐢ㄦ埛鍚嶄笉鑳戒负绌猴紒");
+
+ if (string.IsNullOrEmpty(query.billNo))
+ throw new Exception("璇烽�夊彇鍗曟嵁鍙凤紒");
+
+ if (string.IsNullOrEmpty(query.barcode))
+ throw new Exception("璇锋壂鎻忔潯鐮侊紒");
+
+ if (query.Num <= 0)
+ throw new Exception("璇疯緭鍏ユ纭殑鍙戞枡鏁伴噺锛�");
+
+ if (string.IsNullOrEmpty(query.blNo))
+ throw new Exception("琛ユ枡鍗曞彿涓嶈兘涓虹┖锛�");
+
+ #endregion
+
+ // 妫�楠屾槸鍚﹂噸澶嶆壂鎻�
+ var exists = Db.Queryable<MesInvItemOutCDetails>()
+ .Where(b => b.ItemBarcode == query.barcode)
+ .Any();
+
+ if (exists)
+ throw new Exception("姝ゆ潯鐮佸凡鎵弿,鍕块噸澶嶆壂鐮侊紒");
+
+ // 鏌ヨ鏉$爜搴撳瓨淇℃伅
+ var stockBarcode = Db.Queryable<MesInvItemStocks>()
+ .Where(t => t.ItemBarcode == query.barcode && t.Quantity > 0)
+ .First();
+
+ if (stockBarcode == null)
+ throw new Exception($"搴撳瓨涓棤姝ゆ潯鐮�,璇锋牳瀵癸紒{query.barcode}");
+
+ var totalQty = stockBarcode.Quantity;
+ string newBarcode = null;
+
+ // 寮�鍚簨鍔″鐞�
+ var success = UseTransaction(db =>
+ {
+ var executeCommand = 0;
+
+ // 鎷嗗垎鏉$爜
+ if (totalQty > query.Num)
+ {
+ var mesItems = db.Queryable<MesItems>()
+ .Where(s => s.Id == stockBarcode.ItemId).First();
+
+ // 鐢熸垚鏂版潯鐮佸彿
+ newBarcode = BillNo.GetBillNo("TMBH(鏉$爜缂栧彿)", mesItems.ItemNo);
+
+ // 鍐欏叆鏂版潯鐮�
+ executeCommand += db.Insertable(new MesInvItemBarcodes
+ {
+ Guid = Guid.NewGuid(),
+ ItemBarcode = newBarcode,
+ CustNo = stockBarcode.CustomerNo,
+ // ProductCode = stockBarcode.ProductCode,
+ // ItemBarcode2 = stockBarcode.ItemBarcode2,
+ // ItemCode = stockBarcode.ItemCode,
+ ItemNo = stockBarcode.ItemNo,
+ LotNo = stockBarcode.LotNo,
+ Quantity = query.Num,
+ EpFlag = true,
+ TaskNo = stockBarcode.TaskNo,
+ CreateBy = query.userName,
+ CreateDate = DateTime.Now,
+ LastupdateBy = query.userName,
+ LastupdateDate = DateTime.Now,
+ OldItemBarcode = query.barcode,
+ // Mblnr = stockBarcode.Mblnr,
+ // Zeile = stockBarcode.Zeile,
+ // RohInId = stockBarcode.RohInId,
+ // BarcodeStatus = 0,
+ // OldQty = query.Num,
+ // Unit = stockBarcode.Unit,
+ // WeightUnit = stockBarcode.WeightUnit,
+ Factory = stockBarcode.Factory,
+ Company = stockBarcode.Company,
+ BillNo = stockBarcode.BillNo,
+ BoardStyle = stockBarcode.BoardStyle,
+ // ColorName = stockBarcode.ColorName,
+ WorkNo = stockBarcode.WorkNo,
+ WorkLine = stockBarcode.WorkLine,
+ // MemoBad = stockBarcode.MemoBad,
+ ComeFlg = 5,
+ // Memo = stockBarcode.Memo,
+ SuppNo = stockBarcode.SuppNo,
+ // InsDate = stockBarcode.InsDate, // Added InsDate
+ ItemId = stockBarcode.ItemId,
+ // ItemUnit = stockBarcode.ItemUnit // Added ItemUnit
+ }).IgnoreColumns(true).ExecuteCommand();
+
+ // 鏇存柊鍘熸潯鐮佹暟閲�
+ executeCommand += db.Updateable<MesInvItemBarcodes>()
+ .SetColumns(it => it.Quantity == totalQty - query.Num)
+ .Where(it => it.ItemBarcode == query.barcode)
+ .ExecuteCommand();
+
+ // 鍒犻櫎鍘熸潯鐮佸簱瀛樿褰�
+ executeCommand += db.Deleteable<MesInvItemStocks>()
+ .Where(it => it.ItemBarcode == query.barcode)
+ .ExecuteCommand();
+
+ // 鎻掑叆鍓╀綑鏉$爜鏁伴噺鐨勬柊搴撳瓨璁板綍
+ executeCommand += db.Insertable(new MesInvItemStocks
+ {
+ Guid = Guid.NewGuid(),
+ TaskNo = stockBarcode.TaskNo,
+ ItemBarcode = stockBarcode.ItemBarcode,
+ ItemNo = stockBarcode.ItemNo,
+ LotNo = stockBarcode.LotNo,
+ Quantity = totalQty - query.Num,
+ EpFlag = stockBarcode.EpFlag,
+ CustomerNo = stockBarcode.CustomerNo,
+ ItemWt = stockBarcode.ItemWt,
+ DepotsCode = stockBarcode.DepotsCode,
+ DepotsId = stockBarcode.DepotsId,
+ DepotSectionsCode = stockBarcode.DepotSectionsCode,
+ CheckDate = stockBarcode.CheckDate,
+ ItemType = stockBarcode.ItemType,
+ IndepDate = stockBarcode.IndepDate,
+ Factory = stockBarcode.Factory,
+ Company = stockBarcode.Company,
+ IqcStatus = stockBarcode.IqcStatus,
+ BoardStyle = stockBarcode.BoardStyle,
+ WorkNo = stockBarcode.WorkNo,
+ WorkLine = stockBarcode.WorkLine,
+ SuppNo = stockBarcode.SuppNo,
+ ItemId = stockBarcode.ItemId,
+ // UnitId = stockBarcode.ItemUnit
+ }).IgnoreColumns(true).ExecuteCommand();
+
+ // 鍐欏叆鏂版潯鐮佺殑浜ゆ槗璁板綍
+ executeCommand += db.Insertable(new MesInvBusiness2
+ {
+ Guid = Guid.NewGuid(),
+ Status = 1,
+ BillTypeId = 200, // p_bill_type_id
+ TransactionCode = "209", // p_transaction_no
+ BusinessType = -1,
+ ItemBarcode = newBarcode,
+ ItemNo = stockBarcode.ItemNo,
+ LotNo = stockBarcode.LotNo,
+ EpFlag = true,
+ Quantity = query.Num,
+ FromInvDepotsCode = null,
+ FromInvDepotSectionsCode = null,
+ ToInvDepotsCode = stockBarcode.DepotsCode,
+ ToInvDepotSectionsCode = stockBarcode.DepotSectionsCode,
+ Description = null,
+ CreateBy = query.userName,
+ CreateDate = DateTime.Now,
+ LastupdateBy = query.userName,
+ LastupdateDate = DateTime.Now,
+ Factory = stockBarcode.Factory,
+ Company = stockBarcode.Company,
+ TaskNo = stockBarcode.TaskNo,
+ BillNo = stockBarcode.BillNo,
+ WorkNo = stockBarcode.WorkNo,
+ WorkLine = stockBarcode.WorkLine,
+ SuppNo = stockBarcode.SuppNo,
+ SuppId = stockBarcode.SuppId,
+ ItemId = stockBarcode.ItemId,
+ // CkDepot = stockBarcode.DepotsId
+ }).IgnoreColumns(true).ExecuteCommand();
+ }
+ else if (totalQty < query.Num)
+ {
+ throw new Exception("鍙戞枡鏁伴噺澶т簬鏉$爜鏁�,璇锋牳瀵癸紒");
+ }
+
+ if (string.IsNullOrEmpty(newBarcode)) newBarcode = query.barcode;
+
+ // 妫�鏌ヨˉ鏂欏崟鐘舵��
+ var mesItemBl = Db.Queryable<MesItemBl>()
+ .Where(a => a.BlNo == query.blNo && (a.Bl018 ?? false) == false)
+ .First();
+
+ if (mesItemBl == null)
+ throw new Exception($"鐢宠鍗� {query.blNo} 宸叉挙鍥烇紒");
+
+ if (mesItemBl.Bl018 != true)
+ throw new Exception($"鐢宠鍗� {query.blNo} 鏈鏍革紒");
+
+ if (mesItemBl.Bl019 == true)
+ throw new Exception($"鐢宠鍗� {query.blNo} 宸插畬缁擄紒");
+
+ // 鑾峰彇琛ユ枡鍗曟槑缁嗗苟鏍¢獙
+ var blDetail = Db.Queryable<MesItemBlDetail>()
+ .Where(b =>
+ b.Mid == mesItemBl.Id && b.Bld012 == stockBarcode.ItemId)
+ .First();
+
+ if (blDetail == null)
+ throw new Exception($"鐢宠鍗曚笉瀛樺湪姝ょ墿鏂� {stockBarcode.ItemNo} 璇风‘璁わ紒");
+
+ var remainingQty = (blDetail.Bld007 ?? 0) - (blDetail.Bld008 ?? 0);
+ if (remainingQty == 0)
+ throw new Exception("鐗╂枡宸叉壂鐮佸畬鎴愶紝璇锋牳瀵癸紒");
+
+ if (query.Num > remainingQty)
+ throw new Exception(
+ $"鎷嗗垎鏁伴噺锛歿query.Num} 澶т簬寰呭彂鏂欐暟閲忥細{remainingQty}锛岃鏍稿锛�");
+
+ // 妫�鏌ュ伐鍗曚俊鎭�
+ var womdaa = Db.Queryable<Womdaa>()
+ .Where(a => a.Daa001 == query.billNo)
+ .First();
+
+ if (womdaa == null)
+ throw new Exception($"宸ュ崟 {query.billNo} 涓嶅瓨鍦紝璇风‘璁わ紒");
+
+ var womdab = Db.Queryable<Womdab>()
+ .Where(b => b.Dab001 == query.billNo && b.Erpid == blDetail.Bld014)
+ .First();
+
+ if (womdab == null)
+ throw new Exception($"澶囨枡鏄庣粏涓嶅瓨鍦ㄦ鐗╂枡 {stockBarcode.ItemNo} 璇风‘璁わ紒");
+
+ // 妫�鏌ュ凡鍙戞枡鏁伴噺鏄惁瓒呰繃寰呭彂鏂欐暟閲�
+ var sumQty = db.Queryable<MesInvItemOutCDetails>()
+ .Where(it => it.TaskNo == query.blNo && it.ItemId == stockBarcode.ItemId)
+ .Sum(it => it.Quantity);
+
+ if (sumQty > remainingQty)
+ {
+ throw new Exception($"鎷嗗垎鏁伴噺锛歿sumQty} 澶т簬寰呭彂鏂欐暟閲忥細{remainingQty}锛岃鏍稿锛�");
+ }
+
+ // 鑾峰彇鎴栧垱寤哄嚭搴撳崟
+ var itemOut = db.Queryable<MesInvItemOuts>()
+ .Where(a => a.BbillNo == query.blNo
+ && a.DepotCode == womdab.Dab017
+ && a.OutDate.Value.Date.ToString("yyyy-MM-dd") ==
+ DateTime.Now.Date.ToString("yyyy-MM-dd")
+ && a.BillTypeId == 200
+ && a.TransactionNo == 209
+ && a.Status == 0)
+ .First();
+
+ if (itemOut == null)
+ {
+ // 鍒涘缓鏂扮殑鍑哄簱鍗�
+ var outId = Guid.NewGuid();
+ var outNo = BillNo.GetBillNo("SCBL");
+
+ // 鎻掑叆鍑哄簱鍗曚富琛�
+ executeCommand += db.Insertable(new MesInvItemOuts
+ {
+ Guid = outId,
+ ItemOutNo = outNo,
+ TaskNo = query.blNo,
+ CreateBy = query.userName,
+ CreateDate = DateTime.Now,
+ LastupdateBy = query.userName,
+ LastupdateDate = DateTime.Now,
+ BillTypeId = 200,
+ TransactionNo = 209,
+ Remark = mesItemBl.Bl007,
+ DepotCode = womdab.Dab017,
+ OutPart = womdaa.Daa013,
+ FType = 0,
+ Factory = stockBarcode.Factory,
+ Company = stockBarcode.Company,
+ WorkNo = womdaa.Daa021,
+ BoardItem = womdaa.Daa002,
+ PbillNo = womdaa.Daa001,
+ OutDate = DateTime.Now,
+ Status = 0,
+ BbillNo = query.blNo
+ }).IgnoreColumns(true).ExecuteCommand();
+ }
+
+ // 妫�鏌ユ槸鍚﹀凡瀛樺湪鍑哄簱鍗曟槑缁�
+ var itemOutItemCount = db.Queryable<MesInvItemOutItems>()
+ .Where(it =>
+ it.ItemOutId == itemOut.Guid &&
+ it.ItemId == stockBarcode.ItemId)
+ .Count();
+
+ if (itemOutItemCount == 0)
+ {
+ // 鎻掑叆鏂扮殑鍑哄簱鍗曟槑缁�
+ executeCommand += db.Insertable(new MesInvItemOutItems
+ {
+ Guid = Guid.NewGuid(),
+ ItemOutId = itemOut.Guid,
+ ItemNo = blDetail.Bld002,
+ Quantity = query.Num,
+ CreateBy = query.userName,
+ CreateDate = DateTime.Now,
+ LastupdateBy = query.userName,
+ LastupdateDate = DateTime.Now,
+ Factory = stockBarcode.Factory,
+ Company = stockBarcode.Company,
+ DepotCode = womdab.Dab017,
+ TaskNo = query.blNo,
+ WorkNo = womdaa.Daa021,
+ WorkLine = blDetail.Bld013,
+ ErpItemNo = womdab.Dab003,
+ ErpId = womdab.Eid,
+ ErpAutoid = womdab.Erpid,
+ PbillNo = query.billNo,
+ ItemId = blDetail.Bld012,
+ // Unit = blDetail.Bld009,
+ // DepotId = (int)stockBarcode.DepotsId
+ }).IgnoreColumns(true).ExecuteCommand();
+ }
+ else
+ {
+ // 鏇存柊宸叉湁鍑哄簱鍗曟槑缁嗘暟閲�
+ executeCommand += db.Updateable<MesInvItemOutItems>()
+ .SetColumns(it => it.Quantity == it.Quantity + query.Num)
+ .Where(it =>
+ it.ItemOutId == itemOut.Guid &&
+ it.ItemId == stockBarcode.ItemId)
+ .ExecuteCommand();
+ }
+
+ // 鎻掑叆鍑哄簱鏉$爜鏄庣粏
+ executeCommand += db.Insertable(new MesInvItemOutCDetails
+ {
+ Guid = Guid.NewGuid(),
+ ItemOutId = itemOut.Guid,
+ ItemBarcode = newBarcode ?? query.barcode,
+ ItemNo = stockBarcode.ItemNo,
+ LotNo = stockBarcode.LotNo,
+ Quantity = query.Num,
+ ForceOutFlag = 0,
+ CreateBy = query.userName,
+ CreateDate = DateTime.Now,
+ LastupdateBy = query.userName,
+ LastupdateDate = DateTime.Now,
+ DepotCode = stockBarcode.DepotsCode,
+ DepotSectionCode = stockBarcode.DepotSectionsCode,
+ Remark = blDetail.Bld010,
+ Factory = stockBarcode.Factory,
+ Company = stockBarcode.Company,
+ TaskNoy = mesItemBl.Bl013,
+ BoardStyle = mesItemBl.Bl002,
+ TaskNo = query.blNo,
+ WorkNo = blDetail.Bld001,
+ WorkLine = blDetail.Bld013,
+ SuppNo = stockBarcode.SuppNo,
+ PbillNo = query.billNo,
+ ItemId = blDetail.Bld012,
+ Unit = blDetail.Bld009,
+ DepotId = (int)stockBarcode.DepotsId
+ }).IgnoreColumns(true).ExecuteCommand();
+
+ // 鎻掑叆涓氬姟娴佹按
+ executeCommand += db.Insertable(new MesInvBusiness2
+ {
+ Guid = Guid.NewGuid(),
+ Status = 1,
+ BillTypeId = 200, // p_bill_type_id
+ TransactionCode = "210", // p_transaction_no
+ BusinessType = 1,
+ ItemBarcode = newBarcode ?? query.barcode,
+ ItemNo = stockBarcode.ItemNo,
+ LotNo = stockBarcode.LotNo,
+ EpFlag = true,
+ Quantity = query.Num,
+ FromInvDepotsCode = stockBarcode.DepotsCode,
+ FromInvDepotSectionsCode = stockBarcode.DepotSectionsCode,
+ Description = null,
+ CreateBy = query.userName,
+ CreateDate = DateTime.Now,
+ LastupdateBy = query.userName,
+ LastupdateDate = DateTime.Now,
+ Factory = stockBarcode.Factory,
+ Company = stockBarcode.Company,
+ TaskNo = mesItemBl.Bl012,
+ BillNo = query.blNo,
+ WorkNo = blDetail.Bld001,
+ WorkLine = blDetail.Bld013,
+ SuppNo = stockBarcode.SuppNo,
+ ItemId = stockBarcode.ItemId,
+ // CkDepot = stockBarcode.DepotsId
+ }).IgnoreColumns(true).ExecuteCommand();
+
+ // 鏇存柊宸ュ崟琛ㄦ暟閲�
+ executeCommand += db.Updateable<Womdab>()
+ .SetColumns(it => new Womdab
+ {
+ Dab007 = (it.Dab007 ?? 0) + query.Num, // 宸ュ崟鏁伴噺
+ Dab020 = (it.Dab020 ?? 0) + query.Num, // 宸插彂鏂欐暟閲�
+ Dab021 = (it.Dab021 ?? 0) + query.Num // 宸插彂鏂欐暟閲�
+ })
+ .Where(it => it.Id == womdab.Id && it.Dab003 == womdab.Dab003)
+ .IgnoreColumns(true)
+ .ExecuteCommand();
+
+ // 鏇存柊琛ユ枡鍗曟槑缁嗗凡琛ユ暟閲�
+ executeCommand += db.Updateable<MesItemBlDetail>()
+ .SetColumns(it => new MesItemBlDetail
+ {
+ Bld008 = (it.Bld008 ?? 0) + (int)query.Num
+ })
+ .Where(it => it.Id == blDetail.Id)
+ .ExecuteCommand();
+
+ // 鑾峰彇鏇存柊鍚庣殑琛ユ枡鍗曟槑缁嗘暟閲�
+ var updatedDetail = db.Queryable<MesItemBlDetail>()
+ .Where(it => it.Id == blDetail.Id)
+ .Select(it => new { it.Bld007, it.Bld008 })
+ .First();
+
+ if ((updatedDetail.Bld007 ?? 0) <= (updatedDetail.Bld008 ?? 0))
+ {
+ // 鏇存柊鏄庣粏瀹屾垚鐘舵��
+ executeCommand += db.Updateable<MesItemBlDetail>()
+ .SetColumns(it => new MesItemBlDetail { Bld011 = 1 })
+ .Where(it => it.Id == blDetail.Id)
+ .ExecuteCommand();
+ }
+
+ // 妫�鏌ユ槸鍚﹁繕鏈夋湭瀹屾垚鐨勬槑缁�
+
+ var unfinishedDetail = db.Queryable<MesItemBlDetail>()
+ .Where(it => it.Mid == mesItemBl.Id && (it.Bld011 ?? 0) == 0)
+ .First();
+
+ if (unfinishedDetail == null)
+ {
+ // 濡傛灉娌℃湁鎵惧埌鏈畬鎴愭槑缁嗭紝鍒欐洿鏂拌ˉ鏂欏崟鐘舵�佷负宸插畬鎴�
+ executeCommand += db.Updateable<MesItemBl>()
+ .SetColumns(it => new MesItemBl
+ {
+ Bl019 = true,
+ WcUser = query.userName,
+ WcTime = DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss")
+ })
+ .Where(it => it.Id == mesItemBl.Id)
+ .ExecuteCommand();
+ }
+
+ if (executeCommand <= 1) throw new Exception("鏇存柊澶辫触");
+
+ return executeCommand;
+ }) > 0;
+
+ // 鑾峰彇鏈�缁堢殑寰呭彂鏂欐槑缁嗗垪琛�
+ var pendingList = Db.Queryable<MesItemBl, MesItemBlDetail>((a, b) =>
+ new JoinQueryInfos(JoinType.Left, a.Id == b.Mid))
+ .Where((a, b) => a.BlNo == query.blNo
+ && (b.Bld007 ?? 0) - (b.Bld008 ?? 0) > 0)
+ .Select((a, b) => new PendingMaterialDto
+ {
+ SectionCode = b.Bld012.ToString(),
+ ItemNo = b.Bld002,
+ ItemName = b.Bld003,
+ ItemSpec = b.Bld004,
+ PendingQty = (b.Bld007 ?? 0) - (b.Bld008 ?? 0)
+ })
+ .ToList();
+
+ return (success, pendingList);
+ }
+
+ #endregion
+
+ #region 鐢熶骇瓒呴
+
+ public List<string> GetSccList()
+ {
+ var list = Db.Queryable<MesItemBl>()
+ .Where(s => (s.Bl018 ?? false) == true
+ && (s.Bl019 ?? false) == false
+ && s.Bl008 == "鐢熶骇瓒呴")
+ .Select(s => s.BlNo)
+ .ToList();
+ return list;
+ }
+
+ /// <summary>
+ /// 鑾峰彇鐢熶骇瓒呴鍗曟槑缁�
+ /// </summary>
+ /// <param name="query">鏌ヨ鍙傛暟</param>
+ /// <returns>鐢熶骇瓒呴鍗曟槑缁嗗垪琛�</returns>
+ public List<MesItemBlDetail> GetMesItemBlDetailBySccBillNo(
+ WarehouseQuery query)
+ {
+ if (string.IsNullOrEmpty(query.billNo))
+ throw new Exception("璇烽�夊崟鎹彿锛�");
+
+ // 妫�鏌ヨ秴棰嗗崟鏄惁瀛樺湪涓斾负鐢熶骇瓒呴绫诲瀷
+ var mesItemBl = Db.Queryable<MesItemBl>()
+ .Where(a => a.BlNo == query.billNo && a.Bl008 == "鐢熶骇瓒呴")
+ .First();
+
+ if (mesItemBl == null)
+ throw new Exception("鍗曟嵁鍙蜂笉姝g‘锛�");
+
+ // 妫�鏌ュ伐鍗曟槑缁嗙姸鎬�
+ var blDetails = Db.Queryable<MesItemBlDetail>()
+ .Where(it => it.Mid == mesItemBl.Id)
+ .ToList();
+
+ foreach (var womdab in blDetails.Select(detail => Db.Queryable<Womdab>()
+ .Where(it => it.Erpid == detail.Bld014)
+ .First()))
+ {
+ if (womdab == null)
+ throw new Exception("鏈壘鍒板伐鍗曟槑缁嗭紒");
+
+ if ((womdab.Dab006 ?? 0) != (womdab.Dab007 ?? 0) ||
+ (womdab.Dab021 ?? 0) != (womdab.Dab022 ?? 0))
+ throw new Exception("鐗╂枡鏈瀹屾枡鎴栧瓨鍦ㄥ緟琛ョ墿鏂欙紒");
+ }
+
+ // 鑾峰彇鏈畬鎴愮殑瓒呴鍗曟槑缁�
+ var pendingDetails = Db.Queryable<MesItemBl, MesItemBlDetail>((a, b) =>
+ new JoinQueryInfos(JoinType.Left, a.Id == b.Mid))
+ .Where((a, b) => a.BlNo == query.billNo
+ && (b.Bld007 ?? 0) - (b.Bld008 ?? 0) > 0)
+ .OrderBy((a, b) => b.Bld002)
+ .Select((a, b) => new MesItemBlDetail
+ {
+ Bld012 = b.Bld012,
+ Bld002 = b.Bld002,
+ Bld003 = b.Bld003,
+ Bld004 = b.Bld004,
+ Bld007 = b.Bld007,
+ Bld008 = b.Bld008
+ })
+ .ToList();
+
+ return pendingDetails;
+ }
+
+ /// <summary>
+ /// 鐢熶骇瓒呴鎵弿鏉$爜 prc_rf_pda_scan_zout_barcodeCL
+ /// </summary>
+ /// <param name="query">鏌ヨ鍙傛暟</param>
+ /// <returns>鎵弿缁撴灉</returns>
+ /// <remarks>
+ /// 鍙傛暟璇存槑:
+ /// - billNo: 宸ュ崟鍙�(蹇呭~)
+ /// - barcode: 鏉$爜(蹇呭~)
+ /// - userName: 鐢ㄦ埛鍚�(蹇呭~)
+ /// - blNo: 瓒呴鍗曞彿(蹇呭~)
+ /// </remarks>
+ public (bool success, List<PendingMaterialDto> pendingList)
+ ScanBarcodeForOverPicking(
+ WarehouseQuery query)
+ {
+ #region 鍙傛暟鏍¢獙
+
+ if (string.IsNullOrEmpty(query.billNo))
+ throw new Exception("璇烽�夊彇鍗曟嵁鍙凤紒");
+
+ if (string.IsNullOrEmpty(query.barcode))
+ throw new Exception("璇锋壂鎻忔潯鐮侊紒");
+
+ if (string.IsNullOrEmpty(query.userName))
+ throw new Exception("鐢ㄦ埛鍚嶄笉鑳戒负绌猴紒");
+
+ if (string.IsNullOrEmpty(query.blNo))
+ throw new Exception("瓒呴鍗曞彿涓嶈兘涓虹┖锛�");
+
+ #endregion
+
+ // 妫�楠屾槸鍚﹂噸澶嶆壂鎻�
+ var exists = Db.Queryable<MesInvItemOutCDetails>()
+ .Where(b => b.ItemBarcode == query.barcode)
+ .Any();
+
+ if (exists)
+ throw new Exception("姝ゆ潯鐮佸凡鎵弿,鍕块噸澶嶆壂鐮侊紒");
+
+ // 鏌ヨ鏉$爜搴撳瓨淇℃伅
+ var stockBarcode = Db.Queryable<MesInvItemStocks>()
+ .Where(t => t.ItemBarcode == query.barcode && t.Quantity > 0)
+ .First();
+
+ if (stockBarcode == null)
+ throw new Exception($"搴撳瓨涓棤姝ゆ潯鐮�,璇锋牳瀵癸紒{query.barcode}");
+
+ // 妫�鏌ヨ秴棰嗗崟鐘舵��
+ var mesItemBl = Db.Queryable<MesItemBl>()
+ .Where(a => a.BlNo == query.blNo && a.Bl008 == "鐢熶骇瓒呴")
+ .First();
+
+ if (mesItemBl == null)
+ throw new Exception($"鐢宠鍗� {query.blNo} 宸叉挙鍥烇紒");
+
+ if (mesItemBl.Bl018 != true)
+ throw new Exception($"鐢宠鍗� {query.blNo} 鏈鏍革紒");
+
+ if (mesItemBl.Bl019 == true)
+ throw new Exception($"鐢宠鍗� {query.blNo} 宸插畬缁擄紒");
+
+ // 妫�鏌ュ伐鍗曟槑缁嗙姸鎬�
+ var blDetails = Db.Queryable<MesItemBlDetail>()
+ .Where(it => it.Mid == mesItemBl.Id)
+ .ToList();
+
+ foreach (var womdab1 in blDetails.Select(detail => Db
+ .Queryable<Womdab>()
+ .Where(it => it.Erpid == detail.Bld014)
+ .First()))
+ {
+ if (womdab1 == null)
+ throw new Exception("鏈壘鍒板伐鍗曟槑缁嗭紒");
+
+ if ((womdab1.Dab006 ?? 0) != (womdab1.Dab007 ?? 0) ||
+ (womdab1.Dab021 ?? 0) != (womdab1.Dab022 ?? 0))
+ throw new Exception("鐗╂枡鏈瀹屾枡鎴栧瓨鍦ㄥ緟琛ョ墿鏂欙紒");
+ }
+
+ // 鑾峰彇瓒呴鍗曟槑缁嗗苟鏍¢獙
+ var blDetail = Db.Queryable<MesItemBlDetail>()
+ .Where(b =>
+ b.Mid == mesItemBl.Id && b.Bld012 == stockBarcode.ItemId)
+ .First();
+
+ if (blDetail == null)
+ throw new Exception($"鐢宠鍗曚笉瀛樺湪姝ょ墿鏂� {stockBarcode.ItemNo} 璇风‘璁わ紒");
+
+ // 妫�鏌ュ緟瓒呴鏁伴噺
+ var quantity = (blDetail.Bld007 ?? 0) - (blDetail.Bld008 ?? 0);
+ if (quantity == 0)
+ throw new Exception("鐗╂枡宸叉壂鐮佸畬鎴愶紝璇锋牳瀵癸紒");
+
+ // 妫�鏌ュ伐鍗曚俊鎭�
+ var womdaa = Db.Queryable<Womdaa>()
+ .Where(a => a.Daa001 == query.billNo)
+ .First();
+
+ if (womdaa == null)
+ throw new Exception($"宸ュ崟 {query.billNo} 涓嶅瓨鍦紝璇风‘璁わ紒");
+
+ var womdab = Db.Queryable<Womdab>()
+ .Where(b => b.Dab001 == query.billNo && b.Erpid == blDetail.Bld014)
+ .First();
+
+ if (womdab == null)
+ throw new Exception($"澶囨枡鏄庣粏涓嶅瓨鍦ㄦ鐗╂枡 {stockBarcode.ItemNo} 璇风‘璁わ紒");
+
+ // 濡傛灉鏉$爜鏁伴噺澶т簬寰呰秴棰嗘暟閲�,杩斿洖寰呭鐞嗗垪琛ㄤ緵纭
+ if (stockBarcode.Quantity > quantity)
+ {
+ var pendingList = Db.Queryable<MesItemBl, MesItemBlDetail>((a, b) =>
+ new JoinQueryInfos(JoinType.Left, a.Id == b.Mid))
+ .Where((a, b) => a.BlNo == query.blNo
+ && (b.Bld007 ?? 0) - (b.Bld008 ?? 0) > 0)
+ .Select((a, b) => new PendingMaterialDto
+ {
+ SectionCode = b.Bld012.ToString(),
+ ItemNo = b.Bld002,
+ ItemName = b.Bld003,
+ ItemSpec = b.Bld004,
+ PendingQty = (b.Bld007 ?? 0) - (b.Bld008 ?? 0)
+ })
+ .ToList();
+
+ return (false, pendingList);
+ }
+
+ // 鎵ц鏁版嵁搴撲簨鍔�
+ UseTransaction(db =>
+ {
+ // 鐢熸垚鎴栬幏鍙栧嚭搴撳崟
+ Guid outId = Guid.Empty;
+ var outNo = "";
+ var outRecord = db.Queryable<MesInvItemOuts>()
+ .Where(a => a.BbillNo == query.blNo
+ && a.DepotCode == womdab.Dab017
+ && a.OutDate.Value.Date == DateTime.Now.Date
+ && a.BillTypeId == 200
+ && a.TransactionNo == 210
+ && a.Status == 0)
+ .First();
+
+ if (outRecord == null)
+ {
+ outId = Guid.NewGuid();
+ outNo = BillNo.GetBillNo("SCBL"); // 闇�瑕佸疄鐜扮敓鎴愬崟鍙风殑鏂规硶
+
+ // 鎻掑叆鍑哄簱鍗曚富琛�
+ db.Insertable(new MesInvItemOuts
+ {
+ Guid = outId,
+ ItemOutNo = outNo,
+ TaskNo = query.blNo,
+ CreateBy = query.userName,
+ CreateDate = DateTime.Now,
+ LastupdateBy = query.userName,
+ LastupdateDate = DateTime.Now,
+ BillTypeId = 200,
+ TransactionNo = 210,
+ Remark = mesItemBl.Bl007,
+ DepotCode = womdab.Dab017,
+ OutPart = womdaa.Daa013,
+ FType = 0,
+ WorkNo = womdaa.Daa021,
+ OutType = "鐢熶骇瓒呴鍗�",
+ BoardItem = womdaa.Daa002,
+ PbillNo = womdaa.Daa001,
+ OutDate = DateTime.Now,
+ Status = 0,
+ BbillNo = query.blNo
+ }).IgnoreColumns(true).ExecuteCommand();
+ }
+ else
+ {
+ outId = outRecord.Guid;
+ outNo = outRecord.ItemOutNo;
+ }
+
+ // 鏇存柊鎴栨彃鍏ュ嚭搴撳崟鏄庣粏
+ var outItem = db.Queryable<MesInvItemOutItems>()
+ .Where(it =>
+ it.ItemOutId == outId && it.ItemId == stockBarcode.ItemId)
+ .First();
+
+ if (outItem == null)
+ {
+ // 鎻掑叆鍑哄簱鍗曟槑缁�
+ db.Insertable(new MesInvItemOutItems
+ {
+ Guid = Guid.NewGuid(),
+ ItemOutId = outId,
+ ItemNo = blDetail.Bld002,
+ Quantity = stockBarcode.Quantity,
+ CreateBy = query.userName,
+ CreateDate = DateTime.Now,
+ LastupdateBy = query.userName,
+ LastupdateDate = DateTime.Now,
+ DepotCode = womdab.Dab017,
+ TaskNo = query.blNo,
+ WorkNo = womdaa.Daa021,
+ WorkLine = blDetail.Bld013,
+ ErpItemNo = womdab.Dab003,
+ ErpId = womdab.Eid,
+ ErpAutoid = womdab.Erpid,
+ PbillNo = query.billNo,
+ ItemId = blDetail.Bld012,
+ // Unit = blDetail.Bld009,
+ // DepotId = stockBarcode.DepotsId
+ }).IgnoreColumns(true).ExecuteCommand();
+ }
+ else
+ {
+ // 鏇存柊鍑哄簱鍗曟槑缁嗘暟閲�
+ db.Updateable<MesInvItemOutItems>()
+ .SetColumns(it => new MesInvItemOutItems
+ {
+ Quantity = it.Quantity + stockBarcode.Quantity
+ })
+ .Where(it =>
+ it.ItemOutId == outId &&
+ it.ItemId == stockBarcode.ItemId)
+ .ExecuteCommand();
+ }
+
+ // 鎻掑叆鍑哄簱鏉$爜鏄庣粏
+ db.Insertable(new MesInvItemOutCDetails
+ {
+ Guid = Guid.NewGuid(),
+ ItemOutId = outId,
+ ItemBarcode = stockBarcode.ItemBarcode,
+ ItemNo = stockBarcode.ItemNo,
+ LotNo = stockBarcode.LotNo,
+ Quantity = stockBarcode.Quantity,
+ CreateBy = query.userName,
+ CreateDate = DateTime.Now,
+ LastupdateBy = query.userName,
+ LastupdateDate = DateTime.Now,
+ DepotCode = stockBarcode.DepotsCode,
+ DepotSectionCode = stockBarcode.DepotSectionsCode,
+ Remark = blDetail.Bld010,
+ TaskNo = query.blNo,
+ WorkNo = blDetail.Bld001,
+ WorkLine = blDetail.Bld013,
+ SuppNo = stockBarcode.SuppNo,
+ PbillNo = query.billNo,
+ ItemId = blDetail.Bld012,
+ Unit = blDetail.Bld009,
+ DepotId = (int)stockBarcode.DepotsId
+ }).IgnoreColumns(true).ExecuteCommand();
+
+ // 鎻掑叆涓氬姟娴佹按
+ db.Insertable(new MesInvBusiness2
+ {
+ Guid = Guid.NewGuid(),
+ Status = 1,
+ BillTypeId = 200,
+ TransactionCode = "210",
+ BusinessType = -1,
+ ItemBarcode = query.barcode,
+ ItemNo = stockBarcode.ItemNo,
+ LotNo = stockBarcode.LotNo,
+ EpFlag = true,
+ Quantity = stockBarcode.Quantity,
+ FromInvDepotsCode = stockBarcode.DepotsCode,
+ FromInvDepotSectionsCode = stockBarcode.DepotSectionsCode,
+ CreateBy = query.userName,
+ CreateDate = DateTime.Now,
+ LastupdateBy = query.userName,
+ LastupdateDate = DateTime.Now,
+ TaskNo = mesItemBl.Bl012,
+ BillNo = query.blNo,
+ WorkNo = blDetail.Bld001,
+ WorkLine = blDetail.Bld013,
+ SuppNo = stockBarcode.SuppNo,
+ SuppId = stockBarcode.SuppId,
+ ItemId = stockBarcode.ItemId,
+ // CkDepot = stockBarcode.DepotsId
+ }).IgnoreColumns(true).ExecuteCommand();
+
+ // 鏇存柊宸ュ崟澶囨枡鏄庣粏
+ db.Updateable<Womdab>()
+ .SetColumns(it => new Womdab
+ {
+ Dab020 = (it.Dab020 ?? 0) + stockBarcode.Quantity,
+ Dab023 = (it.Dab023 ?? 0) + stockBarcode.Quantity
+ })
+ .Where(it => it.Id == womdab.Id)
+ .ExecuteCommand();
+
+ // 鏇存柊瓒呴鍗曟槑缁�
+ db.Updateable<MesItemBlDetail>()
+ .SetColumns(it => new MesItemBlDetail
+ {
+ Bld008 = (it.Bld008 ?? 0) + (int)stockBarcode.Quantity,
+ Bld011 = (it.Bld007 ?? 0) <=
+ (it.Bld008 ?? 0) + stockBarcode.Quantity
+ ? 1
+ : 0
+ })
+ .Where(it => it.Id == blDetail.Id)
+ .ExecuteCommand();
+
+ // 鏇存柊搴撳瓨鏁伴噺涓�0
+ db.Updateable<MesInvItemStocks>()
+ .SetColumns(it => it.Quantity == 0)
+ .Where(it => it.Guid == stockBarcode.Guid)
+ .ExecuteCommand();
+
+ // 妫�鏌ユ槸鍚︽墍鏈夋槑缁嗛兘宸插畬鎴�
+ var hasUnfinished = db.Queryable<MesItemBlDetail>()
+ .Where(it => it.Mid == mesItemBl.Id && (it.Bld011 ?? 0) == 0)
+ .Any();
+
+ // 濡傛灉鎵�鏈夋槑缁嗗畬鎴�,鏇存柊瓒呴鍗曠姸鎬佷负宸插畬鎴�
+ if (!hasUnfinished)
+ {
+ db.Updateable<MesItemBl>()
+ .SetColumns(it => it.Bl019 == true)
+ .Where(it => it.Id == mesItemBl.Id)
+ .ExecuteCommand();
+ }
+
+ return 1;
+ });
+
+ // 鑾峰彇鏈�缁堢殑寰呭鐞嗗垪琛�
+ var finalPendingList = Db.Queryable<MesItemBl, MesItemBlDetail>(
+ (a, b) =>
+ new JoinQueryInfos(JoinType.Left, a.Id == b.Mid))
+ .Where((a, b) => a.BlNo == query.blNo
+ && (b.Bld007 ?? 0) - (b.Bld008 ?? 0) > 0)
+ .Select((a, b) => new PendingMaterialDto
+ {
+ SectionCode = b.Bld012.ToString(),
+ ItemNo = b.Bld002,
+ ItemName = b.Bld003,
+ ItemSpec = b.Bld004,
+ PendingQty = (b.Bld007 ?? 0) - (b.Bld008 ?? 0)
+ })
+ .ToList();
+
+ return (true, finalPendingList);
+ }
+
+ /// <summary>
+ /// 鐢熶骇瓒呴鎵撳嵃鏉$爜
+ /// </summary>
+ /// <param name="query">鏌ヨ鍙傛暟</param>
+ /// <returns>澶勭悊缁撴灉</returns>
+ public (bool success, List<PendingMaterialDto> pendingList)
+ PrintBarcodeForOverPicking(WarehouseQuery query)
+ {
+ UseTransaction(db =>
+ {
+ #region 鍙傛暟鏍¢獙
+
+ if (string.IsNullOrEmpty(query.billNo))
+ throw new Exception("璇烽�夊彇鍗曟嵁鍙凤紒");
+
+ if (string.IsNullOrEmpty(query.barcode))
+ throw new Exception("璇锋壂鎻忔潯鐮侊紒");
+
+ if (string.IsNullOrEmpty(query.userName))
+ throw new Exception("鐢ㄦ埛鍚嶄笉鑳戒负绌猴紒");
+
+ if (string.IsNullOrEmpty(query.blNo))
+ throw new Exception("瓒呴鍗曞彿涓嶈兘涓虹┖锛�");
+
+ if (query.Num <= 0)
+ throw new Exception("璇疯緭鍏ユ纭殑鍙戞枡鏁伴噺锛�");
+
+ #endregion
+
+ // 鏌ヨ搴撳瓨鏉$爜淇℃伅
+ var stockBarcode = db.Queryable<MesInvItemStocks>()
+ .Where(t => t.ItemBarcode == query.barcode && t.Quantity > 0)
+ .First();
+
+ if (stockBarcode == null)
+ throw new Exception($"搴撳瓨涓棤姝ゆ潯鐮侊紝璇锋牳瀵癸紒{query.barcode}");
+
+ var totalQty = stockBarcode.Quantity;
+ string newBarcode = null;
+
+ // 鎷嗗垎鏉$爜
+ if (totalQty > query.Num)
+ {
+ var mesItems = db.Queryable<MesItems>()
+ .Where(s => s.Id == stockBarcode.ItemId).First();
+ // 鐢熸垚鏂版潯鐮佸彿
+ newBarcode = BillNo.GetBillNo("TMBH(鏉$爜缂栧彿)", mesItems.ItemNo);
+
+ // 鍐欏叆鏂版潯鐮佽褰�
+ db.Insertable(new MesInvItemBarcodes
+ {
+ Guid = Guid.NewGuid(),
+ ItemBarcode = newBarcode,
+ ItemNo = stockBarcode.ItemNo,
+ LotNo = stockBarcode.LotNo,
+ Quantity = query.Num,
+ EpFlag = true,
+ CreateBy = query.userName,
+ CreateDate = DateTime.Now,
+ LastupdateBy = query.userName,
+ LastupdateDate = DateTime.Now,
+ OldItemBarcode = query.barcode,
+ Factory = stockBarcode.Factory,
+ Company = stockBarcode.Company,
+ WorkNo = stockBarcode.WorkNo,
+ WorkLine = stockBarcode.WorkLine,
+ SuppId = stockBarcode.SuppId,
+ SuppNo = stockBarcode.SuppNo,
+ ItemId = stockBarcode.ItemId
+ }).IgnoreColumns(true).ExecuteCommand();
+
+ // 鏇存柊鍘熸潯鐮佹暟閲�
+ db.Updateable<MesInvItemBarcodes>()
+ .SetColumns(it => new MesInvItemBarcodes
+ { Quantity = totalQty - query.Num })
+ .Where(it => it.ItemBarcode == query.barcode)
+ .ExecuteCommand();
+
+ // 鍒犻櫎鍘熸潯鐮佸簱瀛樿褰�
+ db.Deleteable<MesInvItemStocks>()
+ .Where(it => it.ItemBarcode == query.barcode)
+ .ExecuteCommand();
+
+ // 鎻掑叆鍓╀綑鏉$爜鏁伴噺鐨勬柊搴撳瓨璁板綍
+ db.Insertable(new MesInvItemStocks
+ {
+ Guid = Guid.NewGuid(),
+ ItemBarcode = stockBarcode.ItemBarcode,
+ ItemNo = stockBarcode.ItemNo,
+ LotNo = stockBarcode.LotNo,
+ Quantity = totalQty - query.Num,
+ EpFlag = stockBarcode.EpFlag,
+ CustomerNo = stockBarcode.CustomerNo,
+ DepotsCode = stockBarcode.DepotsCode,
+ DepotsId = stockBarcode.DepotsId,
+ DepotSectionsCode = stockBarcode.DepotSectionsCode,
+ CheckDate = stockBarcode.CheckDate,
+ ItemType = stockBarcode.ItemType,
+ IndepDate = stockBarcode.IndepDate,
+ Factory = stockBarcode.Factory,
+ Company = stockBarcode.Company,
+ IqcStatus = stockBarcode.IqcStatus,
+ BoardStyle = stockBarcode.BoardStyle,
+ WorkNo = stockBarcode.WorkNo,
+ WorkLine = stockBarcode.WorkLine,
+ SuppNo = stockBarcode.SuppNo,
+ SuppId = stockBarcode.SuppId,
+ ItemId = stockBarcode.ItemId
+ }).IgnoreColumns(true).ExecuteCommand();
+
+ // 鍐欐柊鏉$爜鐨勪氦鏄撹〃锛屾柊鏉$爜涓嶅叆搴撶洿鎺ュ嚭
+ db.Insertable(new MesInvBusiness2
+ {
+ Guid = Guid.NewGuid(),
+ Status = 1,
+ BillTypeId = 200,
+ TransactionCode = "210",
+ BusinessType = -1,
+ ItemBarcode = newBarcode,
+ ItemNo = stockBarcode.ItemNo,
+ LotNo = stockBarcode.LotNo,
+ EpFlag = true,
+ Quantity = query.Num,
+ ToInvDepotsCode = stockBarcode.DepotsCode,
+ ToInvDepotSectionsCode = stockBarcode.DepotSectionsCode,
+ Description = "鐢熶骇瓒呴",
+ CreateBy = query.userName,
+ CreateDate = DateTime.Now,
+ LastupdateBy = query.userName,
+ LastupdateDate = DateTime.Now,
+ TaskNo = stockBarcode.TaskNo,
+ WorkNo = stockBarcode.WorkNo,
+ WorkLine = stockBarcode.WorkLine,
+ SuppNo = stockBarcode.SuppNo,
+ SuppId = stockBarcode.SuppId,
+ ItemId = stockBarcode.ItemId
+ }).IgnoreColumns(true).ExecuteCommand();
+ }
+ else if (totalQty < query.Num)
+ {
+ throw new Exception("鍙戞枡鏁伴噺澶т簬鏉$爜鏁�,璇锋牳瀵癸紒");
+ }
+
+ if (string.IsNullOrEmpty(newBarcode))
+ newBarcode = query.barcode;
+
+ // 妫�鏌ヨ秴棰嗗崟鐘舵��
+ var mesItemBl = db.Queryable<MesItemBl>()
+ .Where(a => a.BlNo == query.blNo && a.Bl008 == "鐢熶骇瓒呴")
+ .First();
+
+ if (mesItemBl == null)
+ throw new Exception("鐢宠鍗曚笉瀛樺湪锛�");
+
+ if (!(mesItemBl.Bl018 ?? false))
+ throw new Exception($"鐢宠鍗� {query.blNo} 鏈鏍革紒");
+
+ if (mesItemBl.Bl019 ?? false)
+ throw new Exception($"鐢宠鍗� {query.blNo} 宸插畬缁擄紒");
+
+ // 妫�鏌ヨ秴棰嗗崟鏄庣粏
+ var blDetail = db.Queryable<MesItemBlDetail>()
+ .Where(b =>
+ b.Mid == mesItemBl.Id && b.Bld012 == stockBarcode.ItemId)
+ .First();
+
+ if (blDetail == null)
+ throw new Exception($"鐢宠鍗曚笉瀛樺湪姝ょ墿鏂� {stockBarcode.ItemNo} 璇风‘璁わ紒");
+
+ var pendingQty = (blDetail.Bld007 ?? 0) - (blDetail.Bld008 ?? 0);
+ if (pendingQty == 0)
+ throw new Exception("鐗╂枡宸叉壂鐮佸畬鎴愶紝璇锋牳瀵癸紒");
+
+ // 妫�鏌ュ伐鍗�
+ var workOrder = db.Queryable<Womdaa>()
+ .Where(a => a.Daa001 == query.billNo)
+ .First();
+
+ if (workOrder == null)
+ throw new Exception($"宸ュ崟 {query.billNo} 涓嶅瓨鍦紝璇风‘璁わ紒");
+
+ var workOrderDetail = db.Queryable<Womdab>()
+ .Where(b =>
+ b.Dab001 == query.billNo && b.Erpid == blDetail.Bld014)
+ .First();
+
+ if (workOrderDetail == null)
+ throw new Exception($"澶囨枡鏄庣粏涓嶅瓨鍦ㄦ鐗╂枡 {stockBarcode.ItemNo} 璇风‘璁わ紒");
+
+ if (query.Num > pendingQty)
+ throw new Exception(
+ $"鎷嗗垎鏁伴噺锛歿query.Num} 澶т簬寰呭彂鏂欐暟閲忥細{pendingQty}锛岃鏍稿锛�");
+
+ // 鑾峰彇鎴栧垱寤哄嚭搴撳崟
+ var itemOut = db.Queryable<MesInvItemOuts>()
+ .Where(a => a.BbillNo == query.blNo
+ && a.DepotCode == workOrderDetail.Dab017
+ && a.OutDate.Value.Date.ToString("yyyy-MM-dd") ==
+ DateTime.Now.Date.ToString("yyyy-MM-dd")
+ && a.BillTypeId == 200
+ && a.TransactionNo == 210
+ && a.Status == 0)
+ .First();
+
+ if (itemOut == null)
+ {
+ // 鍒涘缓鏂扮殑鍑哄簱鍗�
+ itemOut = new MesInvItemOuts
+ {
+ Guid = Guid.NewGuid(),
+ ItemOutNo = BillNo.GetBillNo("SCBL"), // 闇�瑕佸疄鐜扮敓鎴愬崟鍙风殑鏂规硶
+ TaskNo = query.blNo,
+ CreateBy = query.userName,
+ CreateDate = DateTime.Now,
+ LastupdateBy = query.userName,
+ LastupdateDate = DateTime.Now,
+ BillTypeId = 200,
+ TransactionNo = 210,
+ Remark = mesItemBl.Bl007,
+ DepotCode = workOrderDetail.Dab017,
+ OutPart = workOrder.Daa013,
+ FType = 0,
+ Factory = stockBarcode.Factory,
+ Company = stockBarcode.Company,
+ WorkNo = workOrder.Daa021,
+ OutType = "鐢熶骇瓒呴鍗�",
+ BoardItem = workOrder.Daa002,
+ PbillNo = workOrder.Daa001,
+ OutDate = DateTime.Now,
+ Status = 0,
+ BbillNo = query.blNo
+ };
+
+ db.Insertable(itemOut).IgnoreColumns(true).ExecuteCommand();
+ }
+
+ // 妫�鏌ユ槸鍚﹀凡瀛樺湪鍑哄簱鍗曟槑缁�
+ var itemOutItemCount = db.Queryable<MesInvItemOutItems>()
+ .Where(it =>
+ it.ItemOutId == itemOut.Guid &&
+ it.ItemId == stockBarcode.ItemId)
+ .Count();
+
+ if (itemOutItemCount == 0)
+ {
+ // 鎻掑叆鏂扮殑鍑哄簱鍗曟槑缁�
+ db.Insertable(new MesInvItemOutItems
+ {
+ Guid = Guid.NewGuid(),
+ ItemOutId = itemOut.Guid,
+ ItemNo = blDetail.Bld002,
+ Quantity = query.Num,
+ CreateBy = query.userName,
+ CreateDate = DateTime.Now,
+ LastupdateBy = query.userName,
+ LastupdateDate = DateTime.Now,
+ Factory = stockBarcode.Factory,
+ Company = stockBarcode.Company,
+ DepotCode = workOrderDetail.Dab017,
+ TaskNo = query.blNo,
+ WorkNo = workOrder.Daa021,
+ WorkLine = blDetail.Bld013,
+ ErpItemNo = workOrderDetail.Dab003,
+ ErpId = workOrderDetail.Eid,
+ ErpAutoid = workOrderDetail.Erpid,
+ PbillNo = query.billNo,
+ ItemId = blDetail.Bld012,
+ // Unit = blDetail.Bld009,
+ // DepotId = stockBarcode.DepotsId
+ }).IgnoreColumns(true).ExecuteCommand();
+ }
+ else
+ {
+ // 鏇存柊宸叉湁鍑哄簱鍗曟槑缁嗘暟閲�
+ db.Updateable<MesInvItemOutItems>()
+ .SetColumns(it => it.Quantity == it.Quantity + query.Num)
+ .Where(it =>
+ it.ItemOutId == itemOut.Guid &&
+ it.ItemId == stockBarcode.ItemId)
+ .ExecuteCommand();
+ }
+
+ // 鎻掑叆鍑哄簱鏄庣粏璁板綍
+ db.Insertable(new MesInvItemOutCDetails
+ {
+ Guid = Guid.NewGuid(),
+ ItemOutId = itemOut.Guid,
+ ItemBarcode = newBarcode,
+ ItemNo = stockBarcode.ItemNo,
+ LotNo = stockBarcode.LotNo,
+ Quantity = query.Num,
+ ForceOutFlag = 0,
+ CreateBy = query.userName,
+ CreateDate = DateTime.Now,
+ LastupdateBy = query.userName,
+ LastupdateDate = DateTime.Now,
+ DepotCode = stockBarcode.DepotsCode,
+ DepotSectionCode = stockBarcode.DepotSectionsCode,
+ Remark = blDetail.Bld010,
+ Factory = stockBarcode.Factory,
+ Company = stockBarcode.Company,
+ TaskNoy = mesItemBl.Bl013,
+ BoardStyle = mesItemBl.Bl002,
+ TaskNo = query.blNo,
+ WorkNo = blDetail.Bld001,
+ WorkLine = blDetail.Bld013,
+ SuppNo = stockBarcode.SuppNo,
+ PbillNo = query.billNo,
+ ItemId = blDetail.Bld012,
+ Unit = blDetail.Bld009,
+ DepotId = (int)stockBarcode.DepotsId,
+ LineK3id = workOrderDetail.Erpid,
+ EbelnK3id = workOrderDetail.Eid
+ }).IgnoreColumns(true).ExecuteCommand();
+
+ // 鎻掑叆涓氬姟浜ゆ槗璁板綍
+ db.Insertable(new MesInvBusiness2
+ {
+ Guid = Guid.NewGuid(),
+ Status = 1,
+ BillTypeId = 200, // p_bill_type_id
+ TransactionCode = "210", // p_transaction_no
+ BusinessType = 1,
+ ItemBarcode = newBarcode,
+ ItemNo = stockBarcode.ItemNo,
+ LotNo = stockBarcode.LotNo,
+ EpFlag = true,
+ Quantity = query.Num,
+ FromInvDepotsCode = stockBarcode.DepotsCode,
+ FromInvDepotSectionsCode = stockBarcode.DepotSectionsCode,
+ CreateBy = query.userName,
+ CreateDate = DateTime.Now,
+ LastupdateBy = query.userName,
+ LastupdateDate = DateTime.Now,
+ Factory = stockBarcode.Factory,
+ Company = stockBarcode.Company,
+ TaskNo = mesItemBl.Bl012, // Matches C_QTCK.Bl012
+ BillNo = query.blNo,
+ WorkNo = blDetail.Bld001, // Matches C_QTCK_D.Bld001
+ WorkLine = blDetail.Bld013, // Matches C_QTCK_D.Bld013
+ SuppNo = stockBarcode.SuppNo,
+ ItemId = stockBarcode.ItemId
+ }).IgnoreColumns(true).ExecuteCommand();
+
+ // 鏇存柊宸ュ崟琛ㄦ暟閲�
+ db.Updateable<Womdab>()
+ .SetColumns(it => new Womdab
+ {
+ Dab020 = (it.Dab020 ?? 0) + stockBarcode.Quantity,
+ Dab023 = (it.Dab023 ?? 0) + stockBarcode.Quantity
+ })
+ .Where(it => it.Id == workOrderDetail.Id)
+ .ExecuteCommand();
+
+ // 鏇存柊琛ユ枡鍗曟槑缁嗗凡琛ユ暟閲�
+ db.Updateable<MesItemBlDetail>()
+ .SetColumns(it => new MesItemBlDetail
+ {
+ Bld008 = (it.Bld008 ?? 0) + (int)stockBarcode.Quantity
+ })
+ .Where(it => it.Id == blDetail.Id)
+ .ExecuteCommand();
+
+ // 妫�鏌ヨˉ鏂欏崟鏄庣粏鏄惁瀹屾垚
+ var blDetail1 = db.Queryable<MesItemBlDetail>()
+ .Where(it => it.Id == blDetail.Id)
+ .First();
+
+ if ((blDetail1.Bld007 ?? 0) <= (blDetail1.Bld008 ?? 0))
+ {
+ // 鏇存柊鏄庣粏瀹屾垚鐘舵��
+ db.Updateable<MesItemBlDetail>()
+ .SetColumns(it => it.Bld011 == 1)
+ .Where(it => it.Id == blDetail1.Id)
+ .ExecuteCommand();
+ }
+
+ // 妫�鏌ユ槸鍚︽墍鏈夋槑缁嗛兘宸插畬鎴�
+ var hasUnfinished = db.Queryable<MesItemBlDetail>()
+ .Where(it => it.Mid == mesItemBl.Id && (it.Bld011 ?? 0) == 0)
+ .Any();
+
+ // 濡傛灉鎵�鏈夋槑缁嗗畬鎴�,鏇存柊琛ユ枡鍗曠姸鎬佷负宸插畬鎴�
+ if (!hasUnfinished)
+ {
+ db.Updateable<MesItemBl>()
+ .SetColumns(it => it.Bl019 == true)
+ .Where(it => it.Id == mesItemBl.Id)
+ .ExecuteCommand();
+ }
+
+ return 1;
+ });
+
+
+ // 鑾峰彇鏈�缁堢殑寰呭鐞嗗垪琛�
+ var pendingList = Db.Queryable<MesItemBl, MesItemBlDetail>((a, b) =>
+ new JoinQueryInfos(JoinType.Left, a.Id == b.Mid))
+ .Where((a, b) => a.BlNo == query.blNo
+ && (b.Bld007 ?? 0) - (b.Bld008 ?? 0) > 0)
+ .Select((a, b) => new PendingMaterialDto
+ {
+ SectionCode = b.Bld012.ToString(),
+ ItemNo = b.Bld002,
+ ItemName = b.Bld003,
+ ItemSpec = b.Bld004,
+ PendingQty = (b.Bld007 ?? 0) - (b.Bld008 ?? 0)
+ })
+ .ToList();
+
+ return (true, pendingList);
+ }
+
+ #endregion
+}
\ No newline at end of file
diff --git a/service/Warehouse/MesItemTblManager.cs b/service/Warehouse/MesItemTblManager.cs
index f5c63c2..9560243 100644
--- a/service/Warehouse/MesItemTblManager.cs
+++ b/service/Warehouse/MesItemTblManager.cs
@@ -52,9 +52,7 @@
public WarehouseQuery SctlScanDepots(WarehouseQuery query)
{
if (query.DepotCode.IsNullOrEmpty())
- {
throw new NullReferenceException("璇锋壂搴撲綅鏉$爜");
- }
var warehouseQuery = Db.Queryable<MesDepotSections, MesDepots>((a, b) =>
new JoinQueryInfos(JoinType.Inner, a.DepotGuid == b.Guid))
@@ -63,13 +61,11 @@
{
DepotSectionName = a.DepotSectionName,
DepotName = b.DepotName,
- DepotCode = b.DepotCode,
+ DepotCode = b.DepotCode
}).First();
if (warehouseQuery == null)
- {
throw new Exception("搴撲綅缂栫爜" + query.DepotCode + " 涓嶅瓨鍦紝璇风‘璁わ紒");
- }
return warehouseQuery;
}
@@ -84,10 +80,7 @@
var p_bill_type_id = 100;
var p_transction_no = 104;
- if (p_section_code.IsNullOrEmpty())
- {
- throw new Exception("璇锋壂搴撲綅鏉$爜锛�");
- }
+ if (p_section_code.IsNullOrEmpty()) throw new Exception("璇锋壂搴撲綅鏉$爜锛�");
var c_depot_code = Db.Queryable<MesDepotSections, MesDepots>((a, b) =>
new JoinQueryInfos(JoinType.Inner, a.DepotGuid == b.Guid))
@@ -95,25 +88,19 @@
.Select((a, b) => b.DepotId).First();
if (!c_depot_code.HasValue)
- {
throw new Exception("搴撲綅缂栫爜" + p_section_code + " 涓嶅瓨鍦紝璇风‘璁わ紒");
- }
var mesDepotSections = Db.Queryable<MesDepotSections>()
.Where(a => a.DepotSectionCode == p_section_code).First();
if (mesDepotSections == null)
- {
throw new Exception("搴撲綅缂栫爜" + p_section_code + " 涓嶅瓨鍦紝璇风‘璁わ紒");
- }
var c_mes_depots = Db.Queryable<MesDepots>()
.Where(b => b.Guid == mesDepotSections.DepotGuid).First();
if (c_mes_depots == null)
- {
throw new Exception("搴撲綅缂栫爜" + p_section_code + " 涓嶅瓨鍦紝璇风‘璁わ紒");
- }
var c_num = Db.Queryable<MesInvItemIns, MesInvItemInCDetails>((a, b) =>
new JoinQueryInfos(JoinType.Inner, a.Guid == b.ItemInId))
@@ -122,45 +109,29 @@
a.TransctionNo == p_transction_no.ToString())
.Count();
- if (c_num > 0)
- {
- throw new Exception("姝ゆ潯鐮佸凡鎵叆搴擄紝鍕块噸澶嶆壂鎻忥紒");
- }
+ if (c_num > 0) throw new Exception("姝ゆ潯鐮佸凡鎵叆搴擄紝鍕块噸澶嶆壂鎻忥紒");
c_num = Db.Queryable<MesInvItemStocks>()
.Where(t => t.ItemBarcode == p_item_barcode).Count();
- if (c_num > 0)
- {
- throw new Exception("姝ゆ潯鐮佸凡鎵叆搴擄紝鍕块噸澶嶆壂鎻忥紒");
- }
+ if (c_num > 0) throw new Exception("姝ゆ潯鐮佸凡鎵叆搴擄紝鍕块噸澶嶆壂鎻忥紒");
var c_mes_inv_item_barcodes = Db.Queryable<MesInvItemBarcodes>()
.Where(t => t.ItemBarcode == p_item_barcode).First();
if (c_mes_inv_item_barcodes == null)
- {
throw new Exception("姝ゆ潯鐮佷笉灞炰簬璇ラ��鏂欏崟锛岃鏍稿锛�");
- }
if (c_mes_inv_item_barcodes.Memo != "鐢熶骇閫�鏂�")
- {
throw new Exception("姝ゆ潯鐮佷笉鏄敓浜ч��鏂欐潯鐮侊紝涓嶅彲浣跨敤鐢熶骇閫�鏂欐ā鍧楋紒");
- }
var C_MES_ITEM_TBL = Db.Queryable<MesItemTbl>()
.Where(a => a.BillNo == c_mes_inv_item_barcodes.BillNo
&& (a.Tbl013 ?? 0) == 1).First();
- if (C_MES_ITEM_TBL == null)
- {
- throw new Exception("鐢宠鍗曞凡鎾ゅ洖,鏃犳硶鎵爜!");
- }
+ if (C_MES_ITEM_TBL == null) throw new Exception("鐢宠鍗曞凡鎾ゅ洖,鏃犳硶鎵爜!");
- if (C_MES_ITEM_TBL.Tbl020 == 1)
- {
- throw new Exception("鎵爜瀹屾垚,鐢宠鍗曞凡瀹岀粨!");
- }
+ if (C_MES_ITEM_TBL.Tbl020 == 1) throw new Exception("鎵爜瀹屾垚,鐢宠鍗曞凡瀹岀粨!");
var C_MES_ITEM_TBL_DETAIL = Db.Queryable<MesItemTblDetail>()
.Where(a => a.Tlmid == C_MES_ITEM_TBL.Id
@@ -168,9 +139,7 @@
.First();
if (C_MES_ITEM_TBL_DETAIL == null)
- {
throw new Exception("鏉$爜涓嶅睘浜庤鐢宠鍗曟槑缁�,鏃犳硶鎵爜!");
- }
var c_quantity = c_mes_inv_item_barcodes.Quantity;
@@ -223,10 +192,7 @@
}
var hbdy = c_mes_inv_item_barcodes.Hbdy ?? 0;
- if (hbdy == 1)
- {
- throw new Exception("涓嶆敮鎸佸悎骞舵墦鍗扮殑鏉$爜:" + p_item_barcode);
- }
+ if (hbdy == 1) throw new Exception("涓嶆敮鎸佸悎骞舵墦鍗扮殑鏉$爜:" + p_item_barcode);
totalResult += db.Insertable(new MesInvItemInCDetails
{
@@ -321,46 +287,58 @@
{
// 鑹搧閫�鏂� - 鏇存柊宸ュ崟琛�(WOMDAB)鐩稿叧鏁伴噺
if (C_MES_ITEM_TBL.Tbl005 == "鑹搧閫�鏂�")
- {
- totalResult += Db.Updateable<Womdab>()
- .SetColumns(it => new Womdab
- {
- Dab007 = it.Dab007 - c_mes_inv_item_barcodes.Quantity, // 鍑忓皯宸ュ崟鏁伴噺
- Dab022 = (it.Dab022 ?? 0) + c_mes_inv_item_barcodes.Quantity, // 澧炲姞閫�鏂欐暟閲�
- LpTl = (it.LpTl ?? 0) + (int)c_mes_inv_item_barcodes.Quantity, // 澧炲姞鑹搧閫�鏂欐暟閲�
- Dab020 = (it.Dab020 ?? 0) - c_mes_inv_item_barcodes.Quantity // 鍑忓皯宸插彂鏂欐暟閲�
- })
- .Where(it => it.Dab001 == c_mes_inv_item_barcodes.WorkNo
- && it.Dab002 == c_mes_inv_item_barcodes.WorkLine
- && it.Dab003 == c_mes_inv_item_barcodes.ItemId.ToString())
- .ExecuteCommand();
- }
- // 鏉ユ枡涓嶈壇閫�鏂� - 鏇存柊宸ュ崟琛�(WOMDAB)鐩稿叧鏁伴噺
- else if (C_MES_ITEM_TBL.Tbl005 == "鏉ユ枡涓嶈壇閫�鏂�")
- {
totalResult += Db.Updateable<Womdab>()
.SetColumns(it => new Womdab
{
- Dab007 = it.Dab007 - c_mes_inv_item_barcodes.Quantity, // 鍑忓皯宸ュ崟鏁伴噺
- Dab022 = (it.Dab022 ?? 0) + c_mes_inv_item_barcodes.Quantity, // 澧炲姞閫�鏂欐暟閲�
- LlBl = (it.LlBl ?? 0) + (int)c_mes_inv_item_barcodes.Quantity, // 澧炲姞鏉ユ枡涓嶈壇鏁伴噺
- Dab020 = (it.Dab020 ?? 0) - c_mes_inv_item_barcodes.Quantity // 鍑忓皯宸插彂鏂欐暟閲�
+ Dab007 = it.Dab007 -
+ c_mes_inv_item_barcodes.Quantity, // 鍑忓皯宸ュ崟鏁伴噺
+ Dab022 = (it.Dab022 ?? 0) +
+ c_mes_inv_item_barcodes.Quantity, // 澧炲姞閫�鏂欐暟閲�
+ LpTl = (it.LpTl ?? 0) +
+ (int)c_mes_inv_item_barcodes
+ .Quantity, // 澧炲姞鑹搧閫�鏂欐暟閲�
+ Dab020 = (it.Dab020 ?? 0) -
+ c_mes_inv_item_barcodes.Quantity // 鍑忓皯宸插彂鏂欐暟閲�
})
.Where(it => it.Dab001 == c_mes_inv_item_barcodes.WorkNo
- && it.Dab002 == c_mes_inv_item_barcodes.WorkLine
- && it.Dab003 == c_mes_inv_item_barcodes.ItemId.ToString())
+ && it.Dab002 == c_mes_inv_item_barcodes
+ .WorkLine
+ && it.Dab003 == c_mes_inv_item_barcodes
+ .ItemId.ToString())
.ExecuteCommand();
- }
+ // 鏉ユ枡涓嶈壇閫�鏂� - 鏇存柊宸ュ崟琛�(WOMDAB)鐩稿叧鏁伴噺
+ else if (C_MES_ITEM_TBL.Tbl005 == "鏉ユ枡涓嶈壇閫�鏂�")
+ totalResult += Db.Updateable<Womdab>()
+ .SetColumns(it => new Womdab
+ {
+ Dab007 = it.Dab007 -
+ c_mes_inv_item_barcodes.Quantity, // 鍑忓皯宸ュ崟鏁伴噺
+ Dab022 = (it.Dab022 ?? 0) +
+ c_mes_inv_item_barcodes.Quantity, // 澧炲姞閫�鏂欐暟閲�
+ LlBl = (it.LlBl ?? 0) +
+ (int)c_mes_inv_item_barcodes
+ .Quantity, // 澧炲姞鏉ユ枡涓嶈壇鏁伴噺
+ Dab020 = (it.Dab020 ?? 0) -
+ c_mes_inv_item_barcodes.Quantity // 鍑忓皯宸插彂鏂欐暟閲�
+ })
+ .Where(it => it.Dab001 == c_mes_inv_item_barcodes.WorkNo
+ && it.Dab002 == c_mes_inv_item_barcodes
+ .WorkLine
+ && it.Dab003 == c_mes_inv_item_barcodes
+ .ItemId.ToString())
+ .ExecuteCommand();
// 鏇存柊閫�鏂欏崟鏄庣粏琛ㄥ凡閫�鏁伴噺
totalResult += Db.Updateable<MesItemTblDetail>()
.SetColumns(it => new MesItemTblDetail
{
- Tld006 = (it.Tld006 ?? 0) + (int)c_mes_inv_item_barcodes.Quantity // 澧炲姞宸查��鏁伴噺
+ Tld006 = (it.Tld006 ?? 0) +
+ (int)c_mes_inv_item_barcodes.Quantity // 澧炲姞宸查��鏁伴噺
})
.Where(it => it.Tlmid == C_MES_ITEM_TBL.Id
- && it.Tld009 == c_mes_inv_item_barcodes.ItemId
- && it.Tld010 == c_mes_inv_item_barcodes.WorkLine)
+ && it.Tld009 == c_mes_inv_item_barcodes.ItemId
+ && it.Tld010 ==
+ c_mes_inv_item_barcodes.WorkLine)
.ExecuteCommand();
}
// 浣滀笟涓嶈壇閫�鏂� - 鏇存柊宸ュ崟琛ㄥ拰閫�鏂欏崟鏄庣粏琛�
@@ -369,59 +347,66 @@
totalResult += Db.Updateable<Womdab>()
.SetColumns(it => new Womdab
{
- Dab022 = (it.Dab022 ?? 0) + c_mes_inv_item_barcodes.Quantity, // 澧炲姞閫�鏂欐暟閲�
- ZyBl = (it.ZyBl ?? 0) + (int)c_mes_inv_item_barcodes.Quantity, // 澧炲姞浣滀笟涓嶈壇鏁伴噺
- Dab020 = (it.Dab020 ?? 0) - c_mes_inv_item_barcodes.Quantity // 鍑忓皯宸插彂鏂欐暟閲�
+ Dab022 = (it.Dab022 ?? 0) +
+ c_mes_inv_item_barcodes.Quantity, // 澧炲姞閫�鏂欐暟閲�
+ ZyBl = (it.ZyBl ?? 0) +
+ (int)c_mes_inv_item_barcodes
+ .Quantity, // 澧炲姞浣滀笟涓嶈壇鏁伴噺
+ Dab020 = (it.Dab020 ?? 0) -
+ c_mes_inv_item_barcodes.Quantity // 鍑忓皯宸插彂鏂欐暟閲�
})
.Where(it => it.Dab001 == c_mes_inv_item_barcodes.WorkNo
- && it.Dab002 == c_mes_inv_item_barcodes.WorkLine
- && it.Dab003 == c_mes_inv_item_barcodes.ItemId.ToString())
+ && it.Dab002 ==
+ c_mes_inv_item_barcodes.WorkLine
+ && it.Dab003 == c_mes_inv_item_barcodes.ItemId
+ .ToString())
.ExecuteCommand();
// 鏇存柊閫�鏂欏崟鏄庣粏琛ㄥ凡閫�鏁伴噺
totalResult += Db.Updateable<MesItemTblDetail>()
.SetColumns(it => new MesItemTblDetail
{
- Tld006 = (it.Tld006 ?? 0) + (int)c_mes_inv_item_barcodes.Quantity // 澧炲姞宸查��鏁伴噺
+ Tld006 = (it.Tld006 ?? 0) +
+ (int)c_mes_inv_item_barcodes.Quantity // 澧炲姞宸查��鏁伴噺
})
.Where(it => it.Tlmid == C_MES_ITEM_TBL.Id
- && it.Tld009 == c_mes_inv_item_barcodes.ItemId
- && it.Tld010 == c_mes_inv_item_barcodes.WorkLine)
+ && it.Tld009 == c_mes_inv_item_barcodes.ItemId
+ && it.Tld010 ==
+ c_mes_inv_item_barcodes.WorkLine)
.ExecuteCommand();
}
// 濡傛灉寰呴��鏁伴噺绛変簬鏈閫�鏂欐暟閲忥紝鍒欐洿鏂版槑缁嗗畬鎴愮姸鎬�
- if ((C_MES_ITEM_TBL_DETAIL.Tld005 ?? 0) - (C_MES_ITEM_TBL_DETAIL.Tld006 ?? 0) == c_mes_inv_item_barcodes.Quantity)
- {
+ if ((C_MES_ITEM_TBL_DETAIL.Tld005 ?? 0) -
+ (C_MES_ITEM_TBL_DETAIL.Tld006 ?? 0) ==
+ c_mes_inv_item_barcodes.Quantity)
totalResult += Db.Updateable<MesItemTblDetail>()
- .SetColumns(it => new MesItemTblDetail { Tld008 = 1 }) // 璁剧疆瀹屾垚鏍囧織
+ .SetColumns(it => new MesItemTblDetail
+ { Tld008 = 1 }) // 璁剧疆瀹屾垚鏍囧織
.Where(it => it.Tlid == C_MES_ITEM_TBL_DETAIL.Tlid)
.ExecuteCommand();
- }
// 妫�鏌ラ��鏂欏崟鏄惁鎵�鏈夋槑缁嗛兘宸插畬鎴�
- var remainingCount = Db.Queryable<MesItemTbl, MesItemTblDetail>((a, b) =>
- new JoinQueryInfos(JoinType.Left, a.Id == b.Tlmid))
- .Where((a, b) => a.BillNo == p_bill_no && (b.Tld005 ?? 0) - (b.Tld006 ?? 0) > 0)
+ var remainingCount = Db.Queryable<MesItemTbl, MesItemTblDetail>(
+ (a, b) =>
+ new JoinQueryInfos(JoinType.Left, a.Id == b.Tlmid))
+ .Where((a, b) =>
+ a.BillNo == p_bill_no &&
+ (b.Tld005 ?? 0) - (b.Tld006 ?? 0) > 0)
.Count();
// 濡傛灉鎵�鏈夋槑缁嗛兘宸插畬鎴愶紝鍒欐洿鏂伴��鏂欏崟鐘舵�佷负宸插畬鎴�
if (remainingCount < 1)
- {
totalResult += Db.Updateable<MesItemTbl>()
- .SetColumns(it => it.Tbl020 == 1 ) // 璁剧疆瀹屾垚鏍囧織
+ .SetColumns(it => it.Tbl020 == 1) // 璁剧疆瀹屾垚鏍囧織
.Where(it => it.BillNo == p_bill_no)
.ExecuteCommand();
- }
-
- if (totalResult < 3)
- {
- throw new Exception("鎻掑叆澶辫触");
- }
+
+ if (totalResult < 3) throw new Exception("鎻掑叆澶辫触");
return totalResult;
});
-
+
// 璁剧疆杩斿洖缁撴灉
// c_result = $"001[,{c_mes_inv_item_barcodes.ItemNo},{c_quantity},鎵爜鎴愬姛锛�,鍙傝�冨簱浣岪鐗╂枡@寰呴��鏁伴噺{c_in_field_valT}";
diff --git a/util/BillNo.cs b/util/BillNo.cs
index 3065ded..aa7c5ef 100644
--- a/util/BillNo.cs
+++ b/util/BillNo.cs
@@ -6,15 +6,16 @@
public static class BillNo
{
/// <summary>
- /// TL(閲囪喘閫�鏂欏崟),DH(鍒拌揣鍗�),JY(妫�楠屽崟),IN(鍏ュ簱鍗�)
+ /// TL(閲囪喘閫�鏂欏崟),DH(鍒拌揣鍗�),JY(妫�楠屽崟),IN(鍏ュ簱鍗�),TMBH(鏉$爜缂栧彿)
/// </summary>
/// <param name="billType"></param>
/// <returns></returns>
- public static string GetBillNo(string billType)
+ public static string GetBillNo(string billType, string itemNo = "")
{
var sbSql = new StringBuilder();
sbSql.Append(" DECLARE @hNo nvarchar(50) ");
- sbSql.Append(" EXEC [getOrderNo] '" + billType + "',@hNo output");
+ sbSql.Append(" EXEC [getOrderNo] '" + billType + "',@hNo output,'" +
+ itemNo + "'");
sbSql.Append(" select @hNo as t1");
var str = "";
try
--
Gitblit v1.9.3