From 266afcd9d3b53e97b9a81e61efd095bbdbc8de9e Mon Sep 17 00:00:00 2001
From: tjx <t2856754968@163.com>
Date: 星期五, 17 十月 2025 01:17:27 +0800
Subject: [PATCH] 同步为建辉的版本
---
service/Warehouse/MesSttlManager.cs | 1
service/Wom/WomdaaManager.cs | 69
service/Warehouse/MesCgthSqManager.cs | 234 +
service/QC/IpqcService.cs | 10
Controllers/Warehouse/MesCgthSqController.cs | 63
Controllers/Warehouse/MesXkyController.cs | 1
Dto/base/ImageDto.cs | 4
service/Warehouse/ZzxdbManager.cs | 675 ++++++
Controllers/Warehouse/ZzxdbController.cs | 411 ++++
entity/VIpqcSj.cs | 2
entity/SalesDeliver.cs | 2
entity/MesShouTuo.cs | 2
service/Warehouse/TransferOutManager.cs | 1
service/QC/OAJyService.cs | 3
entity/MesScthSqDetail.cs | 2
service/Warehouse/MesDbckManager.cs | 2
Controllers/Warehouse/MesXkyShdController.cs | 26
NewPdaSqlServer.csproj | 4
entity/Base/ItemInBaseModel.cs | 8
entity/SalesReturnNoticeDetail.cs | 2
entity/DeliveryNotice.cs | 3
entity/MesQaItemsDetectDetail13.cs | 2
entity/TblBarcodeInformation.cs | 3
entity/MesShouTuoDetail.cs | 2
entity/MesScthSq.cs | 2
service/base/MesPrintMangeer.cs | 26
entity/SalesOrder.cs | 2
service/Warehouse/MesItemBlManager.cs | 12
entity/SalesReturnNotice.cs | 2
entity/SalesOrderDetail.cs | 2
service/Warehouse/MesInvItemInCDetailsManager.cs | 2135 ++++++++++++--------
service/QC/LljService.cs | 15
service/Warehouse/MesItemQtrkManager.cs | 50
entity/MesDbck.cs | 2
CLAUDE.md | 2
Controllers/base/MesImageController.cs | 1
service/ErpKcManager.cs | 117
service/Wom/WwGdManager.cs | 338 +--
service/Warehouse/MesSctkManager.cs | 1
Dto/service/WarehouseQuery.cs | 15
entity/MesShouTuiDetail.cs | 2
entity/SalesDeliverDetail.cs | 2
Controllers/BaseController.cs | 4
Controllers/Kingdee/ErpKcController.cs | 7
Dto/service/ScanWorkResult.cs | 7
Controllers/Wom/WomdaaController.cs | 24
service/base/LoginService.cs | 4
service/Warehouse/MesItemQtManager.cs | 34
entity/VIpqcXj.cs | 2
Controllers/Warehouse/MesInvItemInCDetailsController.cs | 49
entity/DeliveryNoticeDetail.cs | 2
service/Warehouse/MesXkyService.cs | 15
Dto/service/ScanWorkRequest.cs | 7
Startup.cs | 1
Controllers/Wom/MesWorkProdController.cs | 54
service/base/MesImageManager.cs | 1
entity/Base/RequestInfo.cs | 5
service/Warehouse/MesXkyShdManager.cs | 59
entity/MesShouTui.cs | 2
service/Warehouse/MesXsckManager.cs | 555 ++++
service/QC/OaApi.cs | 27
service/Wom/MesWorkProdManager.cs | 739 ++----
service/Warehouse/MesXsthManager.cs | 1
Controllers/Wom/WwGdController.cs | 59
Controllers/Warehouse/MesSctkController.cs | 1
entity/MesDbckDetail.cs | 2
service/Warehouse/MesStrkManager.cs | 2
service/base/WmsBaseMangeer.cs | 47
Controllers/Warehouse/MesXsckController.cs | 18
Controllers/Warehouse/MesBarCFController.cs | 27
70 files changed, 3,794 insertions(+), 2,219 deletions(-)
diff --git a/CLAUDE.md b/CLAUDE.md
index c2a38ba..064d075 100644
--- a/CLAUDE.md
+++ b/CLAUDE.md
@@ -183,4 +183,4 @@
- Custom SQL data access layer (`DbHelperSQL`) instead of modern ORM鈥擿SqlSugarCore` is referenced but not actively used
- No automated tests (see Testing section)
- CORS policy allows any origin鈥攖ighten for production
-- Secrets stored in appsettings.json (use `dotnet user-secrets` instead)
\ No newline at end of file
+- Secrets stored in appsettings.json (use `dotnet user-secrets` instead)
diff --git a/Controllers/BaseController.cs b/Controllers/BaseController.cs
index 52ffce2..b36bc12 100644
--- a/Controllers/BaseController.cs
+++ b/Controllers/BaseController.cs
@@ -1,5 +1,7 @@
锘縰sing Microsoft.AspNetCore.Mvc;
-using Microsoft.Extensions.DependencyInjection;
+using NewPdaSqlServer.entity.Base;
+
+namespace NewPdaSqlServer.Controllers;
public class BaseController : ControllerBase
{
diff --git a/Controllers/Kingdee/ErpKcController.cs b/Controllers/Kingdee/ErpKcController.cs
index 377cac7..c0f7f6a 100644
--- a/Controllers/Kingdee/ErpKcController.cs
+++ b/Controllers/Kingdee/ErpKcController.cs
@@ -1,14 +1,17 @@
锘縰sing System.Dynamic;
using Microsoft.AspNetCore.Mvc;
+
using NewPdaSqlServer.entity;
using NewPdaSqlServer.service;
using NewPdaSqlServer.util;
+
namespace NewPdaSqlServer.Controllers.Kingdee;
+
[ApiController]
[Route("api/[controller]")]
-public class ErpKcController : ControllerBase
+public class ErpKcController : ControllerBase
{
private readonly ErpKcManager kc = new();
private readonly string METHOD = "POST";
@@ -37,4 +40,4 @@
return ResponseResult.ResponseError(ex);
}
}
-}
\ No newline at end of file
+}
diff --git a/Controllers/Warehouse/MesBarCFController.cs b/Controllers/Warehouse/MesBarCFController.cs
index 09436ea..3199bfb 100644
--- a/Controllers/Warehouse/MesBarCFController.cs
+++ b/Controllers/Warehouse/MesBarCFController.cs
@@ -97,33 +97,6 @@
/// <summary>
- /// PDA閲嶆墦鏉$爜
- /// </summary>
- /// <returns></returns>
- [HttpPost("BarRePrint")]
- public ResponseResult BarRePrint(WarehouseQuery unity)
- {
- try
- {
- dynamic resultInfos = new ExpandoObject();
- resultInfos.tbBillList = new ExpandoObject();
- resultInfos.tbBillList.printInfo = _mCf.getPrintInfo(unity);
- resultInfos.tbBillList.cfBarInfo = _mCf.getPrintBarInfo(unity);
- return new ResponseResult
- {
- status = 0,
- message = "OK",
- data = resultInfos
- };
- }
- catch (Exception ex)
- {
- return ResponseResult.ResponseError(ex);
- }
- }
-
-
- /// <summary>
/// 鑾峰彇鏉$爜淇℃伅鍜岀墿鏂欎俊鎭�
/// </summary>
/// <returns></returns>
diff --git a/Controllers/Warehouse/MesCgthSqController.cs b/Controllers/Warehouse/MesCgthSqController.cs
index 68baf8c..cc451a7 100644
--- a/Controllers/Warehouse/MesCgthSqController.cs
+++ b/Controllers/Warehouse/MesCgthSqController.cs
@@ -10,7 +10,7 @@
[ApiController]
[Route("api/[controller]")]
-public class MesCgthSqController : BaseController
+public class MesCgthSqController : ControllerBase
{
private readonly MesCgthSqManager m = new();
private readonly MesPrintMangeer _mCf = new();
@@ -39,7 +39,7 @@
return ResponseResult.ResponseError(ex);
}
}
-
+
/// <summary>
/// 鑾峰彇鎵�鏈夊凡缁忓鏍哥殑鐢宠鍗�
/// </summary>
@@ -63,10 +63,10 @@
return ResponseResult.ResponseError(ex);
}
}
-
+
//ScanCode
/// <summary>
- /// 鑾峰彇鎵�鏈夊凡缁忓鏍哥殑鐢宠鍗�
+ /// 閲囪喘閫�璐�
/// </summary>
/// <returns></returns>
[HttpPost("ScanCode")]
@@ -97,7 +97,60 @@
return ResponseResult.ResponseError(ex);
}
}
-
+
+ //ScanCode
+ /// <summary>
+ /// 閲囪喘楠岄��
+ /// </summary>
+ /// <returns></returns>
+ [HttpPost("ScanCgyt")]
+ public ResponseResult ScanCgyt(dynamic query)
+ {
+ try
+ {
+ dynamic resultInfos = new ExpandoObject();
+ resultInfos.tbBillList = m.ScanCgyt(query);
+ resultInfos.YtItem = m.getYtItem(resultInfos.tbBillList.ytdh);
+ resultInfos.YtBarInfo = m.getYtBarInfo(resultInfos.tbBillList.ytdh);
+ return new ResponseResult
+ {
+ status = 0,
+ message = "OK",
+ data = resultInfos
+ };
+ }
+ catch (Exception ex)
+ {
+ return ResponseResult.ResponseError(ex);
+ }
+ }
+
+
+ //ScanCode
+ /// <summary>
+ /// 閲囪喘閫�璐у垹闄�
+ /// </summary>
+ /// <returns></returns>
+ [HttpPost("deleteCgyt")]
+ public ResponseResult deleteCgyt(dynamic query)
+ {
+ try
+ {
+ dynamic resultInfos = new ExpandoObject();
+ resultInfos.tbBillList = m.deleteCgyt(query);
+ return new ResponseResult
+ {
+ status = 0,
+ message = "OK",
+ data = resultInfos
+ };
+ }
+ catch (Exception ex)
+ {
+ return ResponseResult.ResponseError(ex);
+ }
+ }
+
[HttpPost("ScanCodeCF")]
public ResponseResult ScanCodeCF(WarehouseQuery query)
{
diff --git a/Controllers/Warehouse/MesInvItemInCDetailsController.cs b/Controllers/Warehouse/MesInvItemInCDetailsController.cs
index 026df77..d06388c 100644
--- a/Controllers/Warehouse/MesInvItemInCDetailsController.cs
+++ b/Controllers/Warehouse/MesInvItemInCDetailsController.cs
@@ -287,4 +287,53 @@
return ResponseResult.ResponseError(ex);
}
}
+
+ /// <summary>
+ /// 楠岄��鎵爜
+ /// </summary>
+ /// <returns></returns>
+ [HttpPost("GetReturnBarcodeInfo")]
+ public ResponseResult GetReturnBarcodeInfo(WarehouseQuery entity)
+ {
+ try
+ {
+ dynamic resultInfos = new ExpandoObject();
+ resultInfos.tbBillList = m.GetReturnBarcodeInfo(entity);
+ return new ResponseResult
+ {
+ status = 0,
+ message = resultInfos.tbBillList.Message,
+ data = resultInfos
+ };
+ }
+ catch (Exception ex)
+ {
+ return ResponseResult.ResponseError(ex);
+ }
+ }
+
+ /// <summary>
+ /// 楠岄��
+ /// </summary>
+ /// <returns></returns>
+ [HttpPost("ConfirmReturn")]
+ public ResponseResult ConfirmReturn(WarehouseQuery entity)
+ {
+ try
+ {
+ dynamic resultInfos = new ExpandoObject();
+ resultInfos.tbBillList = m.ConfirmReturn(entity);
+ return new ResponseResult
+ {
+ status = 0,
+ message = resultInfos.tbBillList.Message,
+ data = resultInfos
+ };
+ }
+ catch (Exception ex)
+ {
+ return ResponseResult.ResponseError(ex);
+ }
+ }
+
}
\ No newline at end of file
diff --git a/Controllers/Warehouse/MesSctkController.cs b/Controllers/Warehouse/MesSctkController.cs
index a0e4517..2c780de 100644
--- a/Controllers/Warehouse/MesSctkController.cs
+++ b/Controllers/Warehouse/MesSctkController.cs
@@ -1,5 +1,4 @@
锘縰sing System.Dynamic;
-using MES.Service.Models;
using Microsoft.AspNetCore.Mvc;
using NewPdaSqlServer.Dto.service;
using NewPdaSqlServer.entity;
diff --git a/Controllers/Warehouse/MesXkyController.cs b/Controllers/Warehouse/MesXkyController.cs
index b98b049..fd854b4 100644
--- a/Controllers/Warehouse/MesXkyController.cs
+++ b/Controllers/Warehouse/MesXkyController.cs
@@ -3,6 +3,7 @@
using NewPdaSqlServer.Dto.service;
using NewPdaSqlServer.entity;
using NewPdaSqlServer.service.QC;
+using NewPdaSqlServer.service.Warehouse;
using NewPdaSqlServer.util;
using Newtonsoft.Json.Linq;
diff --git a/Controllers/Warehouse/MesXkyShdController.cs b/Controllers/Warehouse/MesXkyShdController.cs
index 8aad5e8..487a6e4 100644
--- a/Controllers/Warehouse/MesXkyShdController.cs
+++ b/Controllers/Warehouse/MesXkyShdController.cs
@@ -24,7 +24,7 @@
{
dynamic resultInfos = new ExpandoObject();
resultInfos.tbBillList = m.GetShdhItems(unity);
- resultInfos.tbMesItems = m.GetShdhBar(unity);
+ //resultInfos.tbMesItems = m.GetShdhBar(unity);
return new ResponseResult
{
status = 0,
@@ -95,4 +95,28 @@
return ResponseResult.ResponseError(ex);
}
}
+
+ /// <summary>
+ /// 纭畾绛炬敹
+ /// </summary>
+ /// <returns></returns>
+ [HttpPost("OkBtn")]
+ public ResponseResult OkBtn(dynamic unity)
+ {
+ try
+ {
+ dynamic resultInfos = new ExpandoObject();
+ resultInfos.message = m.ConfirmSignReceipt(unity);
+ return new ResponseResult
+ {
+ status = 0,
+ message = resultInfos.message,
+ data = resultInfos
+ };
+ }
+ catch (Exception ex)
+ {
+ return ResponseResult.ResponseError(ex);
+ }
+ }
}
\ No newline at end of file
diff --git a/Controllers/Warehouse/MesXsckController.cs b/Controllers/Warehouse/MesXsckController.cs
index 6b984aa..8ea3e24 100644
--- a/Controllers/Warehouse/MesXsckController.cs
+++ b/Controllers/Warehouse/MesXsckController.cs
@@ -2,7 +2,6 @@
using Microsoft.AspNetCore.Mvc;
using NewPdaSqlServer.Dto.service;
using NewPdaSqlServer.entity;
-using NewPdaSqlServer.service.@base;
using NewPdaSqlServer.service.Warehouse;
using NewPdaSqlServer.util;
@@ -16,8 +15,6 @@
public class MesXsckController : BaseController
{
private readonly MesXsckManager _manager = new();
-
- private readonly MesPrintMangeer _mCf = new();
/***杩涘叆妯$増绠$悊鍙互淇敼妯$増***/
@@ -199,21 +196,14 @@
/// <response code="200">鎷嗗垎鎴愬姛</response>
/// <response code="400">鎷嗗垎澶辫触锛岃繑鍥炲叿浣撻敊璇俊鎭�</response>
[HttpPost("SplitBarcode")]
- public ResponseResult SplitBarcode(WarehouseQuery query)
+ public ResponseResult SplitBarcode([FromBody] WarehouseQuery query)
{
try
{
dynamic resultInfos = new ExpandoObject();
- resultInfos.tbBillList = new ExpandoObject();
- resultInfos.tbBillList.printInfo = _mCf.getPrintInfo(query);
- var scanResult = _manager.SplitBarcode(query);
- resultInfos.tbBillList.cfBarInfo = _mCf.getCfInfo(scanResult);
-
- //dynamic resultInfos = new ExpandoObject();
- //var (success, pendingList) = _manager.SplitBarcode(query);
- //resultInfos.success = success;
- //resultInfos.pendingList = pendingList;
-
+ var (success, pendingList) = _manager.SplitBarcode(query);
+ resultInfos.success = success;
+ resultInfos.pendingList = pendingList;
return new ResponseResult
{
status = 0,
diff --git a/Controllers/Warehouse/ZzxdbController.cs b/Controllers/Warehouse/ZzxdbController.cs
new file mode 100644
index 0000000..1ca8efb
--- /dev/null
+++ b/Controllers/Warehouse/ZzxdbController.cs
@@ -0,0 +1,411 @@
+锘縰sing System.Dynamic;
+using Microsoft.AspNetCore.Mvc;
+using NewPdaSqlServer.Dto.service;
+using NewPdaSqlServer.service.@base;
+using NewPdaSqlServer.service.Warehouse;
+using NewPdaSqlServer.util;
+
+namespace NewPdaSqlServer.Controllers.Warehouse;
+
+/// <summary>
+/// 璋冩嫧鍑哄簱鐩稿叧鎺ュ彛
+/// </summary>
+[Route("api/[controller]")]
+[ApiController]
+public class ZzxdbController : BaseController
+{
+ private readonly ZzxdbManager _manager = new();
+
+ private readonly MesPrintMangeer _mCf = new();
+
+ #region 鍩虹CRUD
+
+ /// <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);
+ }
+ }
+
+ #endregion
+
+ #region 璋冩嫧鍏ュ簱涓氬姟
+
+ /// <summary>
+ /// 鎵弿鏉$爜杩涜璋冩嫧鍏ュ簱澶勭悊
+ /// </summary>
+ /// <param name="query">鏌ヨ鍙傛暟</param>
+ /// <returns>澶勭悊缁撴灉鍜屽緟澶勭悊鏄庣粏</returns>
+ /// <remarks>
+ /// 璇锋眰绀轰緥:
+ /// POST /api/TransferOut/ScanReceiveBarcode
+ /// {
+ /// "billNo": "DB202401010001", // 璋冩嫧鍗曞彿(蹇呭~)
+ /// "userName": "admin", // 鐢ㄦ埛鍚�(蹇呭~)
+ /// "barcode": "BC001" // 鏉$爜鍙�(蹇呭~)
+ /// }
+ /// 涓氬姟澶勭悊锛�
+ /// - 楠岃瘉璋冩嫧鍗曠姸鎬�
+ /// - 楠岃瘉鏉$爜搴撳瓨淇℃伅
+ /// - 楠岃瘉浠撳簱涓�鑷存��
+ /// - 楠岃瘉鏁伴噺鏄惁瓒呭嚭鏈壂鏁伴噺
+ /// - 鎵ц璋冩嫧鍏ュ簱浜嬪姟澶勭悊
+ /// 杩斿洖鏁版嵁鍖呭惈锛�
+ /// - form: 澶勭悊缁撴灉琛ㄥ崟
+ /// - items: 寰呭鐞嗘槑缁嗗垪琛�
+ /// </remarks>
+ /// <response code="200">鎵弿鎴愬姛</response>
+ /// <response code="400">鎵弿澶辫触锛岃繑鍥炲叿浣撻敊璇俊鎭�</response>
+ [HttpPost("ScanReceiveBarcode")]
+ public ResponseResult ScanReceiveBarcode([FromBody] WarehouseQuery query)
+ {
+ try
+ {
+ dynamic resultInfos = new ExpandoObject();
+ var (form, items) = _manager.ScanReceiveBarcode(query);
+ resultInfos.form = form;
+ resultInfos.items = items;
+ return new ResponseResult
+ {
+ status = 0,
+ message = "OK",
+ data = resultInfos
+ };
+ }
+ catch (Exception ex)
+ {
+ return ResponseResult.ResponseError(ex);
+ }
+ }
+
+ #endregion
+
+ #region 璋冩嫧涓氬姟
+
+ /// <summary>
+ /// 鑾峰彇鍛ㄨ浆绠辩墿鏂欏垪琛�
+ /// </summary>
+ /// <returns>鑾峰彇鍛ㄨ浆绠辩墿鏂欏垪琛�</returns>
+ /// <remarks>
+ ///
+ /// </remarks>
+ /// <response code="200">鎴愬姛鑾峰彇鍛ㄨ浆绠辩墿鏂欏垪琛�</response>
+ /// <response code="400">鑾峰彇澶辫触</response>
+ [HttpPost("GetItemNoList")]
+ public ResponseResult GetItemNoList([FromBody] WarehouseQuery query)
+ {
+ try
+ {
+ dynamic resultInfos = new ExpandoObject();
+ resultInfos.tbBillList = _manager.GetTransferOutNoList(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>
+ ///
+ /// </remarks>
+ /// <response code="200">鎴愬姛鑾峰彇搴撲綅鏄庣粏</response>
+ /// <response code="400">鑾峰彇澶辫触锛岃繑鍥炲叿浣撻敊璇俊鎭�</response>
+ [HttpPost("GetKwByBillNo")]
+ public ResponseResult GetKwByBillNo(
+ [FromBody] WarehouseQuery query)
+ {
+ try
+ {
+ dynamic resultInfos = new ExpandoObject();
+ resultInfos.tbBillList =
+ _manager.GetTransferOutDetailListByBillNo(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>
+ ///
+ /// </remarks>
+ /// <response code="200">鎴愬姛鑾峰彇搴撲綅鏄庣粏</response>
+ /// <response code="400">鑾峰彇澶辫触锛岃繑鍥炲叿浣撻敊璇俊鎭�</response>
+ [HttpPost("GetMesItemByItemNo")]
+ public ResponseResult GetMesItemByItemNo(
+ [FromBody] WarehouseQuery query)
+ {
+ try
+ {
+ dynamic resultInfos = new ExpandoObject();
+ resultInfos.tbBillList =
+ _manager.GetMesItemByItemNo(query, RequestInfo);
+ return new ResponseResult
+ {
+ status = 0,
+ message = "OK",
+ data = resultInfos
+ };
+ }
+ catch (Exception ex)
+ {
+ return ResponseResult.ResponseError(ex);
+ }
+ }
+
+ [HttpPost("GetTransferInDetailListByBillNo")]
+ public ResponseResult GetTransferInDetailListByBillNo(
+ [FromBody] WarehouseQuery query)
+ {
+ try
+ {
+ dynamic resultInfos = new ExpandoObject();
+ resultInfos.tbBillList =
+ _manager.GetTransferInDetailListByBillNo(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/TransferOut/ScanMoveBarcode
+ /// {
+ /// "billNo": "DB202401010001", // 璋冩嫧鍗曞彿(蹇呭~)
+ /// "userName": "admin", // 鐢ㄦ埛鍚�(蹇呭~)
+ /// "barcode": "BC001" // 鏉$爜鍙�(蹇呭~)
+ /// }
+ /// 涓氬姟澶勭悊锛�
+ /// - 楠岃瘉璋冩嫧鍗曠姸鎬�
+ /// - 楠岃瘉鏉$爜搴撳瓨淇℃伅
+ /// - 楠岃瘉浠撳簱涓�鑷存��
+ /// - 楠岃瘉鏁伴噺鏄惁瓒呭嚭鏈壂鏁伴噺
+ /// - 鎵ц璋冩嫧鍑哄簱浜嬪姟澶勭悊
+ /// 杩斿洖鏁版嵁鍖呭惈锛�
+ /// - form: 澶勭悊缁撴灉琛ㄥ崟
+ /// - items: 寰呭鐞嗘槑缁嗗垪琛�
+ /// </remarks>
+ /// <response code="200">鎵弿鎴愬姛</response>
+ /// <response code="400">鎵弿澶辫触锛岃繑鍥炲叿浣撻敊璇俊鎭�</response>
+ [HttpPost("saveDbsq")]
+ public ResponseResult saveDbsq([FromBody] WarehouseQuery query)
+ {
+ try
+ {
+ dynamic resultInfos = new ExpandoObject();
+ resultInfos.tbBillList = _manager.saveDbsq(query,RequestInfo);
+ if (resultInfos.tbBillList.result == "2")
+ {
+ return new ResponseResult
+ {
+ status = Convert.ToInt32(resultInfos.tbBillList.result),
+ message = resultInfos.tbBillList.strMsg,
+ data = resultInfos
+ };
+ }
+ 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/TransferOut/ScanMoveBarcode
+ /// {
+ /// "billNo": "DB202401010001", // 璋冩嫧鍗曞彿(蹇呭~)
+ /// "userName": "admin", // 鐢ㄦ埛鍚�(蹇呭~)
+ /// "barcode": "BC001" // 鏉$爜鍙�(蹇呭~)
+ /// }
+ /// 涓氬姟澶勭悊锛�
+ /// - 楠岃瘉璋冩嫧鍗曠姸鎬�
+ /// - 楠岃瘉鏉$爜搴撳瓨淇℃伅
+ /// - 楠岃瘉浠撳簱涓�鑷存��
+ /// - 楠岃瘉鏁伴噺鏄惁瓒呭嚭鏈壂鏁伴噺
+ /// - 鎵ц璋冩嫧鍑哄簱浜嬪姟澶勭悊
+ /// 杩斿洖鏁版嵁鍖呭惈锛�
+ /// - form: 澶勭悊缁撴灉琛ㄥ崟
+ /// - items: 寰呭鐞嗘槑缁嗗垪琛�
+ /// </remarks>
+ /// <response code="200">鎵弿鎴愬姛</response>
+ /// <response code="400">鎵弿澶辫触锛岃繑鍥炲叿浣撻敊璇俊鎭�</response>
+ [HttpPost("deleteDbsqMx")]
+ public ResponseResult deleteDbsqMx([FromBody] WarehouseQuery query)
+ {
+ try
+ {
+ dynamic resultInfos = new ExpandoObject();
+ resultInfos.tbBillList = _manager.deleteDbsqMx(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/TransferOut/ScanMoveBarcode
+ /// {
+ /// "billNo": "DB202401010001", // 璋冩嫧鍗曞彿(蹇呭~)
+ /// "userName": "admin", // 鐢ㄦ埛鍚�(蹇呭~)
+ /// "barcode": "BC001" // 鏉$爜鍙�(蹇呭~)
+ /// }
+ /// 涓氬姟澶勭悊锛�
+ /// - 楠岃瘉璋冩嫧鍗曠姸鎬�
+ /// - 楠岃瘉鏉$爜搴撳瓨淇℃伅
+ /// - 楠岃瘉浠撳簱涓�鑷存��
+ /// - 楠岃瘉鏁伴噺鏄惁瓒呭嚭鏈壂鏁伴噺
+ /// - 鎵ц璋冩嫧鍑哄簱浜嬪姟澶勭悊
+ /// 杩斿洖鏁版嵁鍖呭惈锛�
+ /// - form: 澶勭悊缁撴灉琛ㄥ崟
+ /// - items: 寰呭鐞嗘槑缁嗗垪琛�
+ /// </remarks>
+ /// <response code="200">鎵弿鎴愬姛</response>
+ /// <response code="400">鎵弿澶辫触锛岃繑鍥炲叿浣撻敊璇俊鎭�</response>
+ [HttpPost("submit")]
+ public ResponseResult submit([FromBody] WarehouseQuery query)
+ {
+ try
+ {
+ dynamic resultInfos = new ExpandoObject();
+ resultInfos.tbBillList = _manager.submitDbBillNo(query, RequestInfo);
+
+ 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/TransferOut/SplitBarcode
+ /// {
+ /// "billNo": "DB202401010001", // 璋冩嫧鍗曞彿(蹇呭~)
+ /// "userName": "admin", // 鐢ㄦ埛鍚�(蹇呭~)
+ /// "barcode": "BC001" // 鏉$爜鍙�(蹇呭~)
+ /// "fum": "1" // 鎷嗗垎鏁�(蹇呭~)
+ /// }
+ /// 涓氬姟澶勭悊锛�
+ /// - 楠岃瘉璋冩嫧鍗曠姸鎬�
+ /// - 楠岃瘉鏉$爜搴撳瓨淇℃伅
+ /// - 楠岃瘉浠撳簱涓�鑷存��
+ /// - 楠岃瘉鏁伴噺鏄惁瓒呭嚭鏈壂鏁伴噺
+ /// - 鎵ц鍒嗗壊鏉$爜鐨勮皟鎷ㄥ嚭搴撲簨鍔″鐞�
+ /// </remarks>
+ /// <response code="200">鍒嗗壊鎴愬姛</response>
+ /// <response code="400">鍒嗗壊澶辫触锛岃繑鍥炲叿浣撻敊璇俊鎭�</response>
+ [HttpPost("ScanCodeCF")]
+ public ResponseResult ScanCodeCF(WarehouseQuery query)
+ {
+ try
+ {
+ dynamic resultInfos = new ExpandoObject();
+ resultInfos.tbBillList = new ExpandoObject();
+ resultInfos.tbBillList.printInfo = _mCf.getPrintInfo(query);
+ var scanResult = _manager.ScanCodeCF(query);
+ resultInfos.tbBillList.cfBarInfo = _mCf.getCfInfo(scanResult);
+ 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/Wom/MesWorkProdController.cs b/Controllers/Wom/MesWorkProdController.cs
index 15bc4ae..92b1a8e 100644
--- a/Controllers/Wom/MesWorkProdController.cs
+++ b/Controllers/Wom/MesWorkProdController.cs
@@ -214,59 +214,5 @@
}
}
- /// <summary>
- /// PDA鎵弿鐢熶骇鎶ュ伐
- /// </summary>
- /// <param name="request">鎶ュ伐璇锋眰鍙傛暟</param>
- /// <returns>鎶ュ伐缁撴灉</returns>
- /// <remarks>
- /// 璇锋眰绀轰緥:
- /// POST /api/MesWorkProd/GetRksqList
- /// {
- /// "sjBillNO": "rksq001",
- /// }
- /// </remarks>
- /// <response code="200">鎵弿鎴愬姛</response>
- /// <response code="400">鎵弿澶辫触锛岃繑鍥炲叿浣撻敊璇俊鎭�</response>
- [HttpPost("GetRksqList")]
- public ResponseResult GetRksqList([FromBody] ScanWorkRequest request)
- {
- try
- {
- dynamic resultInfos = new ExpandoObject();
- resultInfos.result = _manager.GetRksqList(request);
- return new ResponseResult
- {
- status = 0,
- message = "OK",
- data = resultInfos
- };
- }
- catch (Exception ex)
- {
- return ResponseResult.ResponseError(ex);
- }
- }
-
- [HttpPost("GetRksqSelect")]
- public ResponseResult GetRksqSelect([FromBody] ScanWorkRequest request)
- {
- try
- {
- dynamic resultInfos = new ExpandoObject();
- resultInfos.result = _manager.GetRksqSelect(request);
- 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/Wom/WomdaaController.cs b/Controllers/Wom/WomdaaController.cs
index 3b5c3ca..f5dee1c 100644
--- a/Controllers/Wom/WomdaaController.cs
+++ b/Controllers/Wom/WomdaaController.cs
@@ -151,30 +151,6 @@
}
/// <summary>
- /// 鐢熶骇棰嗘枡鐐瑰嚮鐗╂枡鏄庣粏鑾峰彇鐩稿叧鏉$爜淇℃伅
- /// </summary>
- /// <returns></returns>
- [HttpPost("GetBarKwByItemCK")]
- public ResponseResult GetBarKwByItemCK(dynamic unity)
- {
- try
- {
- dynamic resultInfos = new ExpandoObject();
- resultInfos.tbBillList = m.GetBarKwByItemCK(unity);
- return new ResponseResult
- {
- status = 0,
- message = "OK",
- data = resultInfos
- };
- }
- catch (Exception ex)
- {
- return ResponseResult.ResponseError(ex);
- }
- }
-
- /// <summary>
/// 鑾峰彇鎵�鏈�
/// </summary>
/// <returns></returns>
diff --git a/Controllers/Wom/WwGdController.cs b/Controllers/Wom/WwGdController.cs
index 4e39fb9..8ec8e60 100644
--- a/Controllers/Wom/WwGdController.cs
+++ b/Controllers/Wom/WwGdController.cs
@@ -9,7 +9,7 @@
[ApiController]
[Route("api/[controller]")]
-public class WwGdController : BaseController
+public class WwGdController : ControllerBase
{
private readonly WwGdManager m = new();
@@ -94,61 +94,6 @@
}
}
-
- /// <summary>
- /// 鑾峰彇搴撲綅淇℃伅
- /// </summary>
- /// <returns></returns>
- [HttpPost("GetBarKwByItem")]
- public ResponseResult GetBarKwByItem(dynamic unity)
- {
- try
- {
- dynamic resultInfos = new ExpandoObject();
- resultInfos.tbBillList = m.GetBarKwByItem(unity);
- return new ResponseResult
- {
- status = 0,
- message = "OK",
- data = resultInfos
- };
- }
- catch (Exception ex)
- {
- return ResponseResult.ResponseError(ex);
- }
- }
-
- /// <summary>
- /// 閫夊彇鍒楄〃
- /// </summary>
- /// <param name="query"></param>
- /// <returns></returns>
- /// <summary>
- /// 鐜板満鏀舵枡鑾峰彇鍙�夊伐鍗曚俊鎭�
- /// </summary>
- /// <param name="query"></param>
- /// <returns></returns>
- [HttpPost("GetXcslDaa")]
- public ResponseResult GetXcslDaa([FromBody] dynamic query)
- {
- try
- {
- dynamic resultInfos = new ExpandoObject();
- resultInfos.tbBillList = m.GetXcslDaa(query, RequestInfo);
- return new ResponseResult
- {
- status = 0,
- message = "OK",
- data = resultInfos
- };
- }
- catch (Exception ex)
- {
- return ResponseResult.ResponseError(ex);
- }
- }
-
/// <summary>
/// 鏍规嵁宸ュ崟鍙疯幏鍙栦唬棰嗙墿鏂欐槑缁�
/// </summary>
@@ -169,7 +114,7 @@
{
// 璋冪敤WwGdManager鐨凣etItemsByDaa001鏂规硶鑾峰彇浠i鐗╂枡鏄庣粏
dynamic resultInfos = new ExpandoObject();
- resultInfos.tbBillList = m.GetItemsByDaa001(query, RequestInfo);
+ resultInfos.tbBillList = m.GetItemsByDaa001(query);
return new ResponseResult
{
status = 0,
diff --git a/Controllers/base/MesImageController.cs b/Controllers/base/MesImageController.cs
index 4c15216..e33d064 100644
--- a/Controllers/base/MesImageController.cs
+++ b/Controllers/base/MesImageController.cs
@@ -1,5 +1,6 @@
锘縰sing System.Dynamic;
using Microsoft.AspNetCore.Mvc;
+using NewPdaSqlServer.Dto.@base;
using NewPdaSqlServer.Dto.service;
using NewPdaSqlServer.entity;
using NewPdaSqlServer.service.@base;
diff --git a/Dto/base/ImageDto.cs b/Dto/base/ImageDto.cs
index 7b29397..13873e1 100644
--- a/Dto/base/ImageDto.cs
+++ b/Dto/base/ImageDto.cs
@@ -1,6 +1,4 @@
-锘縰sing NewPdaSqlServer.entity;
-
-namespace NewPdaSqlServer.Dto.service;
+锘縩amespace NewPdaSqlServer.Dto.@base;
public class ImageDto
{
diff --git a/Dto/service/ScanWorkRequest.cs b/Dto/service/ScanWorkRequest.cs
index aea0007..ff70aef 100644
--- a/Dto/service/ScanWorkRequest.cs
+++ b/Dto/service/ScanWorkRequest.cs
@@ -1,13 +1,10 @@
-锘縰sing NewPdaSqlServer.entity;
-
-namespace NewPdaSqlServer.Dto.service;
+锘縩amespace NewPdaSqlServer.Dto.service;
public class ScanWorkRequest
{
public string? UserNo { get; set; }
public string? ItemBarcode { get; set; }
public string? StaffNo { get; set; }
- public string? sjBillNo { get; set; }
+
public decimal? Quantity { get; set; }
-
}
\ No newline at end of file
diff --git a/Dto/service/ScanWorkResult.cs b/Dto/service/ScanWorkResult.cs
index b50ff5b..ff8bb47 100644
--- a/Dto/service/ScanWorkResult.cs
+++ b/Dto/service/ScanWorkResult.cs
@@ -1,6 +1,4 @@
-锘縰sing NewPdaSqlServer.entity;
-
-namespace NewPdaSqlServer.Dto.service;
+锘縩amespace NewPdaSqlServer.Dto.service;
/// <summary>
/// 鐢熶骇鎶ュ伐鎵弿缁撴灉
@@ -16,7 +14,4 @@
public string ItemName { get; set; }
public string ItemModel { get; set; }
public string Message { get; set; }
- public string sjBillNo { get; set; }
- public List<MesInvItemInRksqDetails> BarcodesDetail { get; set; }
- public List<MesInvItemIns> rksqOrderList { get; set; }
}
\ No newline at end of file
diff --git a/Dto/service/WarehouseQuery.cs b/Dto/service/WarehouseQuery.cs
index 32dc00d..f4c4f5f 100644
--- a/Dto/service/WarehouseQuery.cs
+++ b/Dto/service/WarehouseQuery.cs
@@ -17,6 +17,11 @@
public DateTime? date { get; set; }
public string? Type { get; set; }
+ //楠岄��鏉$爜銆佹暟閲�
+ public string? returnBarcode { get; set; }
+ public decimal? returnQuantity { get; set; }
+
+
//搴撲綅缂栫爜
public string? DepotCode { get; set; }
@@ -37,6 +42,16 @@
public string? itemNo { get; set; }
public string? message { get; set; }
+ public string? orgid { get; set; }
+ public string? dckw { get; set; }
+ public decimal? dbNum { get; set; }
+ public string? remark { get; set; }
+
+ public string? drkw { get; set; }
+
+ //鍏嬮噸
+ public decimal? weight { get; set; }
+
public string? cgrkType { get; set; }
public string? hbNo { get; set; } //鍚堝苟鍗曞彿
}
\ No newline at end of file
diff --git a/NewPdaSqlServer.csproj b/NewPdaSqlServer.csproj
index f5eaf8f..262d84e 100644
--- a/NewPdaSqlServer.csproj
+++ b/NewPdaSqlServer.csproj
@@ -22,4 +22,8 @@
<_ContentIncludedByDefault Remove="Controllers\AGV\app.config"/>
</ItemGroup>
+ <ItemGroup>
+ <Folder Include="resources\" />
+ </ItemGroup>
+
</Project>
diff --git a/Startup.cs b/Startup.cs
index 2b8124c..7507a84 100644
--- a/Startup.cs
+++ b/Startup.cs
@@ -1,5 +1,6 @@
锘縰sing System.Reflection;
using Microsoft.OpenApi.Models;
+using NewPdaSqlServer.entity.Base;
using NewPdaSqlServer.util;
using Newtonsoft.Json;
using Newtonsoft.Json.Serialization;
diff --git a/entity/Base/ItemInBaseModel.cs b/entity/Base/ItemInBaseModel.cs
index dc6418e..d7f5548 100644
--- a/entity/Base/ItemInBaseModel.cs
+++ b/entity/Base/ItemInBaseModel.cs
@@ -5,12 +5,16 @@
//璋冩嫧鍑哄叆搴撳崟閫氱敤绫�
public class ItemInBaseModel
{
+
+
//鐗╂枡淇℃伅
public MesItems itemDetail { get; set; }
- //鏉$爜鏄庣粏
+ //鍏ュ簱鏉$爜鏄庣粏
public List<dynamic>? ItemBarCDetails { get; set; }
//鐗╂枡姹囨�绘槑缁�
public List<dynamic>? ItemInDetails { get; set; }
+ public MesInvItemBarcodes itemBarcodeDetails { get; set; }
+
//鍑�/鍏ュ簱鍗曚俊鎭�
public List<dynamic>? MesInvItem { get; set; }
@@ -19,4 +23,6 @@
//鍏ュ簱鎬绘暟
public decimal? SumQuantity { get; set; }
+
+
}
\ No newline at end of file
diff --git a/entity/Base/RequestInfo.cs b/entity/Base/RequestInfo.cs
index 08a12ba..7103497 100644
--- a/entity/Base/RequestInfo.cs
+++ b/entity/Base/RequestInfo.cs
@@ -1,5 +1,6 @@
-锘縰sing Microsoft.AspNetCore.Http;
-using System.Dynamic;
+锘縰sing System.Dynamic;
+
+namespace NewPdaSqlServer.entity.Base;
public class RequestInfo : DynamicObject
{
diff --git a/entity/DeliveryNotice.cs b/entity/DeliveryNotice.cs
index e738109..077a993 100644
--- a/entity/DeliveryNotice.cs
+++ b/entity/DeliveryNotice.cs
@@ -1,7 +1,6 @@
锘縰sing SqlSugar;
-using System;
-namespace MES.Service.Models;
+namespace NewPdaSqlServer.entity;
/// <summary>
/// 閫佽揣閫氱煡鍗曚富琛�
diff --git a/entity/DeliveryNoticeDetail.cs b/entity/DeliveryNoticeDetail.cs
index 28cadfe..955862e 100644
--- a/entity/DeliveryNoticeDetail.cs
+++ b/entity/DeliveryNoticeDetail.cs
@@ -1,6 +1,6 @@
锘縰sing SqlSugar;
-namespace MES.Service.Models;
+namespace NewPdaSqlServer.entity;
/// <summary>
/// 閫佽揣閫氱煡鍗曟嵁鏄庣粏琛�
diff --git a/entity/MesDbck.cs b/entity/MesDbck.cs
index e8ada26..1fccec3 100644
--- a/entity/MesDbck.cs
+++ b/entity/MesDbck.cs
@@ -1,6 +1,6 @@
锘縰sing SqlSugar;
-namespace MES.Service.Modes;
+namespace NewPdaSqlServer.entity;
/// <summary>
/// 璋冩嫧鍑哄簱鐢宠
diff --git a/entity/MesDbckDetail.cs b/entity/MesDbckDetail.cs
index 61aa8c0..b9b852a 100644
--- a/entity/MesDbckDetail.cs
+++ b/entity/MesDbckDetail.cs
@@ -1,6 +1,6 @@
锘縰sing SqlSugar;
-namespace MES.Service.Modes;
+namespace NewPdaSqlServer.entity;
/// <summary>
/// 璋冩嫧鍑哄簱鐢宠璇︽儏
diff --git a/entity/MesQaItemsDetectDetail13.cs b/entity/MesQaItemsDetectDetail13.cs
index 7391008..7e930a3 100644
--- a/entity/MesQaItemsDetectDetail13.cs
+++ b/entity/MesQaItemsDetectDetail13.cs
@@ -1,6 +1,6 @@
锘縰sing SqlSugar;
-namespace MES.Service.Models;
+namespace NewPdaSqlServer.entity;
/// <summary>
/// IQC妫�楠屾牱渚嬭〃
diff --git a/entity/MesScthSq.cs b/entity/MesScthSq.cs
index a7f39dd..99c3e12 100644
--- a/entity/MesScthSq.cs
+++ b/entity/MesScthSq.cs
@@ -1,6 +1,6 @@
锘縰sing SqlSugar;
-namespace MES.Service.Models;
+namespace NewPdaSqlServer.entity;
/// <summary>
/// 鐢熶骇閫�璐ц〃瀹炰綋绫�
diff --git a/entity/MesScthSqDetail.cs b/entity/MesScthSqDetail.cs
index c0d6e0f..30f8c32 100644
--- a/entity/MesScthSqDetail.cs
+++ b/entity/MesScthSqDetail.cs
@@ -1,6 +1,6 @@
锘縰sing SqlSugar;
-namespace MES.Service.Models;
+namespace NewPdaSqlServer.entity;
/// <summary>
/// 鐢熶骇閫�璐ф槑缁嗚〃瀹炰綋绫�
diff --git a/entity/MesShouTui.cs b/entity/MesShouTui.cs
index 21c5884..f1e7241 100644
--- a/entity/MesShouTui.cs
+++ b/entity/MesShouTui.cs
@@ -1,6 +1,6 @@
锘縰sing SqlSugar;
-namespace MES.Service.Models;
+namespace NewPdaSqlServer.entity;
/// <summary>
/// 鍙楅��
diff --git a/entity/MesShouTuiDetail.cs b/entity/MesShouTuiDetail.cs
index 4343907..46ef589 100644
--- a/entity/MesShouTuiDetail.cs
+++ b/entity/MesShouTuiDetail.cs
@@ -1,6 +1,6 @@
锘縰sing SqlSugar;
-namespace MES.Service.Models;
+namespace NewPdaSqlServer.entity;
/// <summary>
/// 鍙楅��鏄庣粏
diff --git a/entity/MesShouTuo.cs b/entity/MesShouTuo.cs
index cea7f65..3590acc 100644
--- a/entity/MesShouTuo.cs
+++ b/entity/MesShouTuo.cs
@@ -1,6 +1,6 @@
锘縰sing SqlSugar;
-namespace MES.Service.Modes;
+namespace NewPdaSqlServer.entity;
/// <summary>
/// 鍙楁墭鍏ュ簱鐢宠
diff --git a/entity/MesShouTuoDetail.cs b/entity/MesShouTuoDetail.cs
index 278c717..d50b4b3 100644
--- a/entity/MesShouTuoDetail.cs
+++ b/entity/MesShouTuoDetail.cs
@@ -1,6 +1,6 @@
锘縰sing SqlSugar;
-namespace MES.Service.Models;
+namespace NewPdaSqlServer.entity;
/// <summary>
/// 鍙楁墭鍏ュ簱鐢宠鏄庣粏
diff --git a/entity/SalesDeliver.cs b/entity/SalesDeliver.cs
index b32c46b..cb3ac2f 100644
--- a/entity/SalesDeliver.cs
+++ b/entity/SalesDeliver.cs
@@ -1,6 +1,6 @@
锘縰sing SqlSugar;
-namespace MES.Service.Modes;
+namespace NewPdaSqlServer.entity;
/// <summary>
/// 鍙戣揣閫氱煡鐢宠鍗�
diff --git a/entity/SalesDeliverDetail.cs b/entity/SalesDeliverDetail.cs
index 1278cb5..3527914 100644
--- a/entity/SalesDeliverDetail.cs
+++ b/entity/SalesDeliverDetail.cs
@@ -1,6 +1,6 @@
锘縰sing SqlSugar;
-namespace MES.Service.Modes;
+namespace NewPdaSqlServer.entity;
/// <summary>
/// 鍙戣揣閫氱煡鍗曟槑缁�
diff --git a/entity/SalesOrder.cs b/entity/SalesOrder.cs
index 2ce2dd9..cc87f95 100644
--- a/entity/SalesOrder.cs
+++ b/entity/SalesOrder.cs
@@ -1,6 +1,6 @@
锘縰sing SqlSugar;
-namespace MES.Service.Modes;
+namespace NewPdaSqlServer.entity;
/// <summary>
/// 閿�鍞鍗曡〃
diff --git a/entity/SalesOrderDetail.cs b/entity/SalesOrderDetail.cs
index 0cce5a2..82b4122 100644
--- a/entity/SalesOrderDetail.cs
+++ b/entity/SalesOrderDetail.cs
@@ -1,6 +1,6 @@
锘縰sing SqlSugar;
-namespace MES.Service.Modes;
+namespace NewPdaSqlServer.entity;
/// <summary>
/// 閿�鍞鍗曟槑缁嗚〃
diff --git a/entity/SalesReturnNotice.cs b/entity/SalesReturnNotice.cs
index 4b70e06..b1c1561 100644
--- a/entity/SalesReturnNotice.cs
+++ b/entity/SalesReturnNotice.cs
@@ -1,6 +1,6 @@
锘縰sing SqlSugar;
-namespace MES.Service.Modes;
+namespace NewPdaSqlServer.entity;
/// <summary>
/// 閿�鍞��璐х敵璇峰崟
diff --git a/entity/SalesReturnNoticeDetail.cs b/entity/SalesReturnNoticeDetail.cs
index 48df0dc..7d08dcf 100644
--- a/entity/SalesReturnNoticeDetail.cs
+++ b/entity/SalesReturnNoticeDetail.cs
@@ -1,6 +1,6 @@
锘縰sing SqlSugar;
-namespace MES.Service.Modes;
+namespace NewPdaSqlServer.entity;
/// <summary>
/// 閿�鍞��璐ч�氱煡鍗曟槑缁嗚〃
diff --git a/entity/TblBarcodeInformation.cs b/entity/TblBarcodeInformation.cs
index 17c57af..d8ca1bc 100644
--- a/entity/TblBarcodeInformation.cs
+++ b/entity/TblBarcodeInformation.cs
@@ -1,7 +1,6 @@
锘縰sing SqlSugar;
-using System;
-namespace MES.Service.Models
+namespace NewPdaSqlServer.entity
{
/// <summary>
/// 鎼哄浜戞潯鐮佷俊鎭〃
diff --git a/entity/VIpqcSj.cs b/entity/VIpqcSj.cs
index 2ad38a3..3fcfe64 100644
--- a/entity/VIpqcSj.cs
+++ b/entity/VIpqcSj.cs
@@ -1,6 +1,6 @@
锘縰sing SqlSugar;
-namespace MES.Service.Models;
+namespace NewPdaSqlServer.entity;
/// <summary>
/// IPQC棣栨瑙嗗浘瀹炰綋绫�
diff --git a/entity/VIpqcXj.cs b/entity/VIpqcXj.cs
index e22fbd5..5213739 100644
--- a/entity/VIpqcXj.cs
+++ b/entity/VIpqcXj.cs
@@ -1,6 +1,6 @@
锘縰sing SqlSugar;
-namespace MES.Service.Models;
+namespace NewPdaSqlServer.entity;
/// <summary>
/// IPQC宸℃瑙嗗浘瀹炰綋绫�
diff --git a/service/ErpKcManager.cs b/service/ErpKcManager.cs
index fcc9346..dbe35e3 100644
--- a/service/ErpKcManager.cs
+++ b/service/ErpKcManager.cs
@@ -1,6 +1,4 @@
-锘�//using Kingdee.CDP.WebApi.SDK;
-
-using NewPdaSqlServer.DB;
+锘縰sing NewPdaSqlServer.DB;
using NewPdaSqlServer.Dto;
using NewPdaSqlServer.entity;
using SqlSugar;
@@ -11,81 +9,32 @@
{
public bool QueryStocks(Inventory inventory)
{
- //List<ErpKc> erpKc = GetErpInventory(inventory);
- var erpKc = new List<ErpKc>();
+ List<ErpKc> erpKc = GetErpInventory(inventory);
// 妫�鏌ヨ繑鍥炵粨鏋滄槸鍚︿负绌�
if (erpKc == null || erpKc.Count == 0)
- throw new NotImplementedException("杩斿洖缁撴灉涓虹┖");
-
- var baseObjects = MapErpCABtoWomcab(erpKc);
-
- return UseTransaction(db =>
{
- return SaveData(db, baseObjects) ? 1 : 0;
- }) > 0;
+ throw new NotImplementedException("杩斿洖缁撴灉涓虹┖");
+ }
+ else
+ {
+ var baseObjects = MapErpCABtoWomcab(erpKc);
+
+ return UseTransaction(db =>
+ {
+ return SaveData(db, baseObjects) ? 1 : 0;
+ }) > 0;
+ }
}
- /**
- * #region 1.鑾峰彇鍗虫椂搴撳瓨
- * public List
- * <ErpKc>
- * GetErpInventory(Inventory inventory)
- * {
- * //娉ㄦ剰 1锛氭澶勪笉鍐嶄娇鐢ㄥ弬鏁板舰寮忎紶鍏ョ敤鎴峰悕鍙婂瘑鐮佺瓑鏁忔劅淇℃伅锛屾敼涓哄湪鐧诲綍閰嶇疆鏂囦欢涓缃��
- * //娉ㄦ剰 2锛氬繀椤诲厛閰嶇疆绗笁鏂圭郴缁熺櫥褰曟巿鏉冧俊鎭悗锛屽啀杩涜涓氬姟鎿嶄綔锛岃鎯呭弬鑰冨悇璇█鐗堟湰SDK浠嬬粛涓殑鐧诲綍閰嶇疆鏂囦欢璇存槑銆�
- * //璇诲彇閰嶇疆锛屽垵濮嬪寲SDK
- * K3CloudApi client = new K3CloudApi();
- * //鐢ㄤ簬璁板綍缁撴灉
- * StringBuilder Info = new StringBuilder();
- * //涓氬姟瀵硅薄鏍囪瘑
- * string formId = "STK_Inventory";
- * DateTime dt = DateTime.Now;
- * //鏌ヨ瀛楁闆嗗悎锛屽嵆杩斿洖鍝簺鏁版嵁锛屼笉鑳戒负绌猴紝鏍规嵁涓嶅悓涓氬姟鍗曟嵁濉啓涓嶅悓鐨勫瓧娈靛悕锛屼互涓嬩粎涓虹ず渚�
- * //string fieldKeys = "FCod,FFileId,FRelevantObject";
- * //string FilterString = "FID='-2146304'";
- * string fieldKeys =
- * "FMaterialId.FNumber,FMtoNo,FStockId,FLot.FNumber,FStockUnitId.FNumber,FBaseUnitId.FNumber,FStockStatusId.FName,FBASEQTY,FMaterialid.FSTOREURNOM,FMaterialid.FSTOREURNUM,FStockOrgId";
- * string FilterString = string.Format(@"FMaterialId.FNumber like '%{0}%' and
- * FStockId.FNumber like '%{1}%' and FBaseQty>0",
- * inventory.ItemNo,inventory.DepotCode);
- * string OrderString = "";
- * int TopRowCount = 0;
- * int StartRow = 0;
- * int Limit = 0;
- * var param = new QueryParam()
- * {
- * FormId = formId,
- * FieldKeys = fieldKeys,
- * FilterString = FilterString,
- * OrderString = OrderString,
- * TopRowCount = TopRowCount,
- * StartRow = StartRow,
- * Limit = Limit
- * };
- * //璋冪敤鎺ュ彛
- * var result = client.ExecuteBillQuery(param.ToJson());
- * return result.Select(s =>
- * {
- * var entity = new ErpKc
- * {
- * FMaterialId = s[0]?.ToString(),
- * FMtoNo = s[1]?.ToString(),
- * FStockId = s[2]?.ToString(),
- * FLot = s[3]?.ToString(),
- * FStockUnitId = s[4]?.ToString(),
- * FBaseUnitId = s[5]?.ToString(),
- * FStockStatusId = s[6]?.ToString(),
- * FBASEQTY = s[7]?.ToString() ,
- * FSTOREURNOM = s[8]?.ToString(),
- * FSTOREURNUM = s[9]?.ToString(),
- * FStockOrgId = s[10]?.ToString()
- * };
- * return entity;
- * }).ToList();
- * }
- * #endregion
- */
+ #region 1.鑾峰彇鍗虫椂搴撳瓨
+ public List<ErpKc> GetErpInventory(Inventory inventory)
+ {
+ return null;
+ }
+ #endregion
+
+
private List<ErpMesKc> MapErpCABtoWomcab(List<ErpKc> dtoList)
{
var ErpMesKcList = new List<ErpMesKc>();
@@ -96,16 +45,17 @@
{
FNumber = dto.FMaterialId,
FQty = Convert.ToDecimal(dto.FBASEQTY),
- FBaseUnit = dto.FBaseUnitId,
- FStockUnit = dto.FStockUnitId,
- FStockId = dto.FStockId,
- CreateDate = DateTime.Now,
- FBatchno = dto.FLot,
- FMtono = dto.FMtoNo,
- FStockStatus = dto.FStockStatusId,
- FStoreUrnom = Convert.ToDecimal(dto.FSTOREURNOM),
- FStoreUrnum = Convert.ToDecimal(dto.FSTOREURNUM),
+ FBaseUnit=dto.FBaseUnitId,
+ FStockUnit=dto.FStockUnitId,
+ FStockId=dto.FStockId,
+ CreateDate=DateTime.Now,
+ FBatchno=dto.FLot,
+ FMtono=dto.FMtoNo,
+ FStockStatus=dto.FStockStatusId,
+ FStoreUrnom= Convert.ToDecimal(dto.FSTOREURNOM),
+ FStoreUrnum= Convert.ToDecimal(dto.FSTOREURNUM),
FStockOrgId = Convert.ToDecimal(dto.FStockOrgId)
+
};
ErpMesKcList.Add(kc);
@@ -118,10 +68,11 @@
private bool SaveData(SqlSugarScope db, List<ErpMesKc> kcc)
{
Db.Deleteable<ErpMesKc>()
- .ExecuteCommand();
+ .ExecuteCommand();
var save = base.InsertRange(kcc);
if (save) return true;
throw new NotImplementedException("鎻掑叆澶辫触");
}
-}
\ No newline at end of file
+
+}
diff --git a/service/QC/IpqcService.cs b/service/QC/IpqcService.cs
index df1c963..baac2bc 100644
--- a/service/QC/IpqcService.cs
+++ b/service/QC/IpqcService.cs
@@ -1,12 +1,14 @@
-锘縰sing MES.Service.Models;
-using Microsoft.IdentityModel.Tokens;
+锘縰sing Microsoft.IdentityModel.Tokens;
using NewPdaSqlServer.DB;
using NewPdaSqlServer.Dto.service;
+using NewPdaSqlServer.entity;
using NewPdaSqlServer.util;
using SqlSugar;
using System.Data;
using System.Data.SqlClient;
using System.Text;
+using static Azure.Core.HttpHeader;
+using static Microsoft.EntityFrameworkCore.DbLoggerCategory;
using DbHelperSQL = NewPdaSqlServer.DB.DbHelperSQL;
namespace NewPdaSqlServer.service.QC;
@@ -76,12 +78,12 @@
WHERE C.parent_guid = A.guid), 0) AS [YbslIn]
FROM [MES_QA_ITEMS_DETECT_DETAIL5] [a]
Left JOIN [MES_QA_ITEMS_DETECT_DETAIL12] [b] ON ([a].[guid] = [b].[parent_guid])
-WHERE ([a].[release_no] = N'{0}' AND IS_GWSCAN = 1)
+WHERE ([a].[release_no] = N'{0}')
GROUP BY [a].[guid], [a].[parent_guid], [a].[release_no], [a].[fac_level], [a].[fcheck_item], [a].[fcheck_tool],
[a].[fdown_allow], [a].[fcheck_level], [a].[fstand], [a].[fup_allow], [a].[sample_size_no], [a].[fspec_requ],
[a].[fre_qty], [a].[check_qyt], [a].[fcheck_resu], [a].[forder], [a].[ybsl], [a].stationName,
[a].IS_GWSCAN
-ORDER BY [a].[forder] ASC", releaseNo);
+ORDER BY [a].[forder] , [a].[fcheck_item] ASC", releaseNo);
var Ybsl_In = Db.Ado.SqlQuery<dynamic>(sql).ToList();
diff --git a/service/QC/LljService.cs b/service/QC/LljService.cs
index 6873dad..014a170 100644
--- a/service/QC/LljService.cs
+++ b/service/QC/LljService.cs
@@ -1,5 +1,4 @@
-锘縰sing MES.Service.Models;
-using Microsoft.IdentityModel.Tokens;
+锘縰sing Microsoft.IdentityModel.Tokens;
using NewPdaSqlServer.DB;
using NewPdaSqlServer.Dto.service;
using NewPdaSqlServer.entity;
@@ -342,16 +341,8 @@
//鍚堟牸鐨勬楠岀粨鏋滅瓑浜庢�绘楠屾暟瑙嗕负鍚堟牸
FcheckResu = "鍚堟牸";
- SysUser sysUser;
- try
- {
- sysUser = Db.Queryable<SysUser>()
- .Where(s => s.Account == detail.CreateBy).First();
- }
- catch
- {
- throw new Exception($"鐢ㄦ埛璐﹀彿 {detail.CreateBy} 涓嶅瓨鍦紝鏃犳硶瀹屾垚妫�楠屾搷浣滐紒");
- }
+ var sysUser = Db.Queryable<SysUser>()
+ .Where(s => s.Account == detail.CreateBy).First();
UseTransaction(db =>
{
diff --git a/service/QC/OAJyService.cs b/service/QC/OAJyService.cs
index c7fb134..abb2747 100644
--- a/service/QC/OAJyService.cs
+++ b/service/QC/OAJyService.cs
@@ -1,5 +1,4 @@
-锘縰sing MES.Service.Models;
-using Microsoft.IdentityModel.Tokens;
+锘縰sing Microsoft.IdentityModel.Tokens;
using NewPdaSqlServer.Controllers;
using NewPdaSqlServer.DB;
using NewPdaSqlServer.Dto.service;
diff --git a/service/QC/OaApi.cs b/service/QC/OaApi.cs
index 632f099..99ae010 100644
--- a/service/QC/OaApi.cs
+++ b/service/QC/OaApi.cs
@@ -1,24 +1,17 @@
// OaApiService.cs
-using System;
-using System.Collections.Generic;
-using System.Dynamic;
-using System.Data.SqlClient;
+
using System.Data;
-using System.IO;
-using System.Net.Http;
+using System.Data.SqlClient;
+using System.Dynamic;
using System.Security.Cryptography;
using System.Text;
-using System.Threading.Tasks;
-using NewPdaSqlServer.entity.Base;
+using NewPdaSqlServer.DB;
using Newtonsoft.Json;
using Newtonsoft.Json.Linq;
using Org.BouncyCastle.Crypto.Parameters;
using Org.BouncyCastle.Security;
-using NewPdaSqlServer.DB;
-using SqlSugar;
-using static Microsoft.EntityFrameworkCore.DbLoggerCategory;
-using NewPdaSqlServer.entity;
-using System.Linq;
+
+namespace NewPdaSqlServer.service.QC;
public class OaApiService : Repository<dynamic>
{
@@ -428,7 +421,7 @@
{
//new JObject { ["fieldName"] = "xh", ["fieldValue"] = record.xh?.ToString() ?? "" },
new JObject { ["fieldName"] = "jydh", ["fieldValue"] = record.jydh?.ToString() ?? "" },
- new JObject { ["fieldName"] = "jyr", ["fieldValue"] = record.jyr?.ToString() ?? "" },
+ new JObject { ["fieldName"] = "jyr", ["fieldValue"] = record.jyr?.ToString() ?? "" },
new JObject {
["fieldName"] = "jydrq",
// 鏍煎紡鍖栦负"yyyy-MM-dd"瀛楃涓�
@@ -503,8 +496,8 @@
//return Convert.ToBase64String(encrypted);
RsaKeyParameters publicKeyParam = (RsaKeyParameters)PublicKeyFactory.CreateKey(Convert.FromBase64String(publicKey));
string XML = string.Format("<RSAKeyValue><Modulus>{0}</Modulus><Exponent>{1}</Exponent></RSAKeyValue>",
- Convert.ToBase64String(publicKeyParam.Modulus.ToByteArrayUnsigned()),
- Convert.ToBase64String(publicKeyParam.Exponent.ToByteArrayUnsigned()));
+ Convert.ToBase64String(publicKeyParam.Modulus.ToByteArrayUnsigned()),
+ Convert.ToBase64String(publicKeyParam.Exponent.ToByteArrayUnsigned()));
string encryptedContent = string.Empty;
using (RSACryptoServiceProvider rsa = new RSACryptoServiceProvider())
{
@@ -549,4 +542,4 @@
{
_httpClient?.Dispose();
}
-}
+}
\ No newline at end of file
diff --git a/service/Warehouse/MesCgthSqManager.cs b/service/Warehouse/MesCgthSqManager.cs
index 211894d..4c92478 100644
--- a/service/Warehouse/MesCgthSqManager.cs
+++ b/service/Warehouse/MesCgthSqManager.cs
@@ -12,65 +12,44 @@
public class MesCgthSqManager : Repository<MesCgthSq>
{
- public List<string> GetMesCgthSq()
+ public List<MesCgthSq> GetMesCgthSq()
{
return Db.Queryable<MesCgthSq>()
.Where(s => s.Status == true)
- // .Where(s => s.Status == false)
.OrderByDescending(s => s.CreateDate)
- .Select<string>(s => s.BillNo)
.ToList();
}
public ProductionPickDto GetSumItem(WarehouseQuery query)
{
- // 楠岃瘉鐢宠鍗曞彿鏄惁涓虹┖
- if (string.IsNullOrEmpty(query.billNo))
- throw new Exception("鐢宠鍗曞彿涓虹┖");
+ if (string.IsNullOrEmpty(query.billNo)) throw new Exception("鐢宠鍗曞彿涓虹┖");
- var mesInvItemOuts = base.GetSingle(it =>
- it.BillNo == query.billNo && it.Status == true);
+ var mesInvItemOuts = base.GetSingle(it => it.BillNo == query.billNo && it.Status == true);
if (mesInvItemOuts == null) throw new Exception("閲囪喘閫�璐х敵璇峰崟涓嶅瓨鍦ㄦ垨鏈鏍�");
- // 鏋勫缓鏌ヨ鏄庣粏鏁版嵁鐨凷QL璇彞
- var sql = string.Format(@"
- SELECT
- c.item_no ItemNo,
- c.item_name ItemName,
- c.item_model ItemModel,
- ISNULL(A.SQ_NUM, 0) FQty,
- ISNULL(A.YS_NUM, 0) SQty,
- ISNULL(A.SQ_NUM, 0) - ISNULL(A.YS_NUM, 0) DSQty,
- dbo.F_QX_GETRECODEPOTSE(A.ITEM_ID, '', '', '') as RecoKw
- FROM
- MES_CGTH_SQ_DETAIL A
- LEFT JOIN MES_CGTH_SQ B ON A.MID = B.ID
- LEFT JOIN MES_ITEMS C ON A.ITEM_ID = C.item_id
- WHERE
- B.BILL_NO = '{0}'", query.billNo);
+ var sql = string.Format(@"SELECT c.item_no ItemNo,c.item_name ItemName,c.item_model ItemModel,A.SQ_NUM FQty,A.YS_NUM SQty,A.SQ_NUM - A.YS_NUM DSQty,
+ dbo.F_QX_GETRECODEPOTSE(A.ITEM_ID,A.depot_id,'','') as RecoKw
+fROM MES_CGTH_SQ_DETAIL A
+ LEFT JOIN MES_CGTH_SQ B ON A.MID = B.ID
+ LEFT JOIN MES_ITEMS C ON A.ITEM_ID = C.item_id
+WHERE B.BILL_NO = '{0}'", query.billNo);
- // 鎵цSQL鏌ヨ鑾峰彇鏄庣粏鍒楄〃
var womdabs = Db.Ado.SqlQuery<ItemDetailModel>(sql);
- // 楠岃瘉鏄庣粏鏁版嵁鏄惁瀛樺湪
- if (womdabs.Count < 1)
+ if(womdabs.Count < 1)
{
throw new Exception("璇ラ噰璐��璐х敵璇峰崟鏄庣粏涓嶅瓨鍦�");
}
- // 绛涢�夊緟澶勭悊鏄庣粏锛圖SQty > 0锛�
+
var DS_list = womdabs.Where(s => s.DSQty > 0).ToList();
- // 绛涢�夊凡澶勭悊鏄庣粏锛圫Qty > 0锛�
var YS_list = womdabs.Where(s => s.SQty > 0).ToList();
- // 鏋勫缓骞惰繑鍥濪TO瀵硅薄
var dto = new ProductionPickDto
{
- // 娉ㄩ噴锛氬師璁″垝鍙风浉鍏虫槧灏勶紙褰撳墠鏈娇鐢級
- // daa001 = womdaa.Daa001,
- // PlanNo = womcaa.Caa020,
-
+ //daa001 = womdaa.Daa001,
+ //PlanNo = womcaa.Caa020,
items = DS_list,
Ysitems = YS_list
};
@@ -90,11 +69,11 @@
throw new ApplicationException("GUID杞崲閿欒"); // 濡傛灉杞崲澶辫触锛屽垯鎶涘嚭寮傚父
// 浣跨敤SqlSugar妗嗘灦鏌ヨMesInvItemOutItems鍜孧esItems琛紝鏍规嵁ItemId杩涜鍐呰繛鎺�
- var mesInvItemOutItemsList = Db
- .Queryable<MesCgthSqDetail, MesItems>((c, s) => new object[]
- {
- JoinType.Inner, c.ItemId == s.Id // 鍐呰繛鎺ユ潯浠�
- }).Where((c, s) => c.Mid == parsedGuid) // 鏍规嵁ItemOutId杩囨护
+ var mesInvItemOutItemsList = Db.Queryable<MesCgthSqDetail, MesItems>(
+ (c, s) => new object[]
+ {
+ JoinType.Inner, c.ItemId == s.Id // 鍐呰繛鎺ユ潯浠�
+ }).Where((c, s) => c.Mid == parsedGuid) // 鏍规嵁ItemOutId杩囨护
.Select<MesCgthSqDetail>((c, s) =>
new MesCgthSqDetail // 閫夋嫨骞舵槧灏勫埌MesInvItemOutItems瀵硅薄
{
@@ -125,8 +104,7 @@
using (var conn = new SqlConnection(DbHelperSQL.strConn))
{
if (query.userName.IsNullOrEmpty()) throw new Exception("鐢ㄦ埛鍚嶄笉鍏佽涓虹┖");
- if (query.billNo.IsNullOrEmpty()) throw new Exception("棰嗘枡鍗曞彿涓嶅厑璁镐负绌�");
- if (query.barcode.IsNullOrEmpty()) throw new Exception("鏉$爜涓嶅厑璁镐负绌�");
+ if (query.billNo.IsNullOrEmpty()) throw new Exception("鐢宠鍗曞彿涓嶅厑璁镐负绌�"); if (query.barcode.IsNullOrEmpty()) throw new Exception("鏉$爜涓嶅厑璁镐负绌�");
using (var cmd = new SqlCommand("[prc_pda_CGTH]", conn))
{
@@ -162,7 +140,7 @@
var dto = new ProductionPickDto
{
- daa001 = query.daa001,
+ daa001 = query.billNo,
barcodeNum = barcodeNum,
splitNum = splitNum,
barcode = query.barcode,
@@ -187,15 +165,14 @@
public ProductionPickDto ScanCodeCF(WarehouseQuery query)
{
if (query.userName.IsNullOrEmpty()) throw new Exception("鐢ㄦ埛鍚嶄笉鍏佽涓虹┖");
- // if (query.daa001.IsNullOrEmpty()) throw new Exception("棰嗘枡鍗曞彿涓嶅厑璁镐负绌�");
+ if (query.billNo.IsNullOrEmpty()) throw new Exception("鐢宠鍗曞彿涓嶅厑璁镐负绌�");
if (query.barcode.IsNullOrEmpty()) throw new Exception("鏉$爜涓嶅厑璁镐负绌�");
if (query.Num is null or 0) throw new Exception("鏉$爜鎷嗗垎鏁颁笉鍏佽涓虹┖鎴栬�呬负0");
- if (query.billNo.IsNullOrEmpty()) throw new Exception("鐢宠鍗曞彿涓嶅厑璁镐负绌�");
var _strMsg = "";
var _intSum = "";
- var _cfBar = ""; //鎷嗗垎鍚庢潯鐮�
+ var _cfBar = "";//鎷嗗垎鍚庢潯鐮�
using (var conn = new SqlConnection(DbHelperSQL.strConn))
{
using (var cmd = new SqlCommand("[prc_pda_CGTH_CF]", conn))
@@ -210,7 +187,6 @@
new("@outSum", SqlDbType.NVarChar, 300),
new("@outCfBar", SqlDbType.NVarChar, 300),
new("@c_User", query.userName),
- // new("@p_biLL_no", query.daa001),
new("@p_biLL_no", query.billNo),
new("@p_item_barcode", query.barcode),
new("@num", query.Num)
@@ -231,9 +207,9 @@
var dto = new ProductionPickDto
{
- daa001 = query.daa001,
- barcode = query.barcode, //鍘熸潯鐮�
- cfBarcode = _cfBar //鎷嗗垎鍚庢潯鐮�
+ daa001 = query.billNo,
+ barcode = query.barcode,//鍘熸潯鐮�
+ cfBarcode = _cfBar//鎷嗗垎鍚庢潯鐮�
};
return dto;
@@ -249,4 +225,164 @@
}
}
}
+
+
+ /// <summary>
+ /// 閲囪喘鎵爜楠岄��
+ /// </summary>
+ /// <param name="query"></param>
+ /// <returns></returns>
+ /// <exception cref="ArgumentNullException"></exception>
+ /// <exception cref="ArgumentException"></exception>
+ /// <exception cref="Exception"></exception>
+ public dynamic ScanCgyt(dynamic query)
+ {
+ if (query == null) throw new ArgumentNullException(nameof(query), "鍙傛暟瀵硅薄涓嶈兘涓� null");
+
+ // 2. 浣跨敤 string.IsNullOrEmpty 鐩存帴鍒ゆ柇瀛楃涓插睘鎬э紙閬垮厤 NullReferenceException锛�
+ if (string.IsNullOrEmpty(query.userName?.ToString()))
+ throw new ArgumentException("鐢ㄦ埛鍚嶄笉鍏佽涓虹┖", nameof(query.userName));
+
+ if (string.IsNullOrEmpty(query.barcode?.ToString()))
+ throw new ArgumentException("閲囪喘鐗╂枡鏉$爜涓嶅厑璁镐负绌�", nameof(query.barcode));
+
+ using (var conn = new SqlConnection(DbHelperSQL.strConn))
+ {
+ using (var cmd = new SqlCommand("prc_pda_scan_CGYT", conn))
+ {
+ cmd.CommandType = CommandType.StoredProcedure;
+ var parameters = new SqlParameter[]
+ {
+ new("@pi_user", SqlDbType.NVarChar, 100) { Value = query.userName },
+ new("@pi_barcode", SqlDbType.NVarChar, 100) { Value = query.barcode },
+ new("@po_outMsg", SqlDbType.NVarChar, 2000) { Direction = ParameterDirection.Output },
+ new("@po_outSum", SqlDbType.Int) { Direction = ParameterDirection.Output },
+ new("@po_ygdh", SqlDbType.NVarChar, 200) { Direction = ParameterDirection.Output }
+ };
+
+ cmd.Parameters.AddRange(parameters);
+ conn.Open();
+ cmd.ExecuteNonQuery();
+
+ var result = new
+ {
+ result = parameters[3].Value.ToString(),
+ barcode = query.barcode,
+ ytdh = parameters[4].Value.ToString(),
+ msg = parameters[2].Value.ToString()
+ };
+
+ if (result.result == "-1")
+ throw new Exception(parameters[2].Value.ToString());
+
+ return result;
+ }
+ }
+ }
+
+ /// <summary>
+ /// 鍒犻櫎楠岄��鍗�
+ /// </summary>
+ /// <param name="query"></param>
+ /// <returns></returns>
+ /// <exception cref="ArgumentNullException"></exception>
+ /// <exception cref="ArgumentException"></exception>
+ /// <exception cref="Exception"></exception>
+ public dynamic deleteCgyt(dynamic query)
+ {
+ if (query == null) throw new ArgumentNullException(nameof(query), "鍙傛暟瀵硅薄涓嶈兘涓� null");
+
+ // 2. 浣跨敤 string.IsNullOrEmpty 鐩存帴鍒ゆ柇瀛楃涓插睘鎬э紙閬垮厤 NullReferenceException锛�
+ if (string.IsNullOrEmpty(query.userName?.ToString()))
+ throw new ArgumentException("鐢ㄦ埛鍚嶄笉鍏佽涓虹┖", nameof(query.userName));
+
+ if (string.IsNullOrEmpty(query.ytdh?.ToString()))
+ throw new ArgumentException("杩芥函鐮佷笉鍏佽涓虹┖", nameof(query.ytdh));
+
+ using (var conn = new SqlConnection(DbHelperSQL.strConn))
+ {
+ using (var cmd = new SqlCommand("prc_pda_delete_CGYT", conn))
+ {
+ cmd.CommandType = CommandType.StoredProcedure;
+ var parameters = new SqlParameter[]
+ {
+ new("@pi_user", SqlDbType.NVarChar, 100) { Value = query.userName },
+ new("@pi_ytdh", SqlDbType.NVarChar, 100) { Value = query.ytdh },
+ new("@po_outMsg", SqlDbType.NVarChar, 2000) { Direction = ParameterDirection.Output },
+ new("@po_outSum", SqlDbType.Int) { Direction = ParameterDirection.Output }
+ };
+
+ cmd.Parameters.AddRange(parameters);
+ conn.Open();
+ cmd.ExecuteNonQuery();
+
+ var result = new
+ {
+ result = parameters[3].Value.ToString(),
+ msg = parameters[2].Value.ToString(),
+ };
+
+ if (result.result == "-1")
+ throw new Exception(parameters[2].Value.ToString());
+
+ return result;
+ }
+ }
+ }
+
+ /// <summary>
+ /// 鑾峰彇楠岄��鍗曞凡鎵墿鏂欎俊鎭�
+ /// </summary>
+ /// <param name="query"></param>
+ /// <returns></returns>
+ public dynamic getYtItem(string ytdh)
+ {
+ if (string.IsNullOrEmpty(ytdh?.ToString()))
+ throw new ArgumentException("楠岄��鍗曞彿涓嶅厑璁镐负绌�", nameof(ytdh));
+
+ var sqlParams = new List<SugarParameter> { new("@ytdh", ytdh) };
+
+ var sql1 = @"SELECT C.item_id,C.item_no,C.item_name,C.item_model,A.quantity
+FROM MES_INV_ITEM_CGYT_ITEMS A
+ LEFT JOIN MES_INV_ITEM_CGYT B ON A.item_cgyt_id = B.GUID
+ LEFT JOIN MES_ITEMS C ON A.item_id = C.item_id
+WHERE B.item_cgyt_no = @ytdh";
+
+ var YtItem = Db.Ado.SqlQuery<dynamic>(sql1, sqlParams);
+
+ //if (YtItem.Count < 1)
+ //{
+ // throw new Exception($"璇ラ獙閫�鍗曞彿{ytdh}鐗╂枡鏄庣粏涓嶅瓨鍦紒");
+ //}
+
+ return YtItem;
+ }
+
+ /// <summary>
+ /// 鑾峰彇楠岄��鍗曞凡鎵潯鐮佷俊鎭�
+ /// </summary>
+ /// <param name="query"></param>
+ /// <returns></returns>
+ public dynamic getYtBarInfo(string ytdh)
+ {
+ if (string.IsNullOrEmpty(ytdh?.ToString()))
+ throw new ArgumentException("楠岄��鍗曞彿涓嶅厑璁镐负绌�", nameof(ytdh));
+
+ var sqlParams = new List<SugarParameter> { new("@ytdh", ytdh) };
+
+ var sql1 = @"SELECT C.item_id,C.item_no,C.item_name,C.item_model,A.quantity,A.ITEM_BARCODE
+FROM MES_INV_ITEM_CGYT_C_DETAILS A
+ LEFT JOIN MES_INV_ITEM_CGYT B ON A.item_cgyt_id = B.GUID
+ LEFT JOIN MES_ITEMS C ON A.item_id = C.item_id
+WHERE B.item_cgyt_no = @ytdh";
+
+ var YtBarInfo = Db.Ado.SqlQuery<dynamic>(sql1, sqlParams);
+
+ //if (YtBarInfo.Count < 1)
+ //{
+ // throw new Exception($"璇ラ獙閫�鍗曞彿{ytdh}浠栦滑涓嶅瓨鍦紒");
+ //}
+
+ return YtBarInfo;
+ }
}
\ No newline at end of file
diff --git a/service/Warehouse/MesDbckManager.cs b/service/Warehouse/MesDbckManager.cs
index d05f336..5dd2376 100644
--- a/service/Warehouse/MesDbckManager.cs
+++ b/service/Warehouse/MesDbckManager.cs
@@ -1,6 +1,6 @@
锘縰sing NewPdaSqlServer.DB;
using NewPdaSqlServer.entity;
-using MES.Service.Modes;
+
namespace NewPdaSqlServer.service.Warehouse;
public class MesDbckManager : Repository<MesDbck>
diff --git a/service/Warehouse/MesInvItemInCDetailsManager.cs b/service/Warehouse/MesInvItemInCDetailsManager.cs
index 0fd977c..427e898 100644
--- a/service/Warehouse/MesInvItemInCDetailsManager.cs
+++ b/service/Warehouse/MesInvItemInCDetailsManager.cs
@@ -1,4 +1,5 @@
锘縰sing Masuit.Tools.Models;
+using Microsoft.AspNetCore.SignalR.Protocol;
using NewPdaSqlServer.DB;
using NewPdaSqlServer.Dto.service;
using NewPdaSqlServer.entity;
@@ -7,7 +8,11 @@
using NewPdaSqlServer.util;
using Newtonsoft.Json;
using SqlSugar;
+using System;
+using System.Data;
+using System.Data.SqlClient;
using static Microsoft.EntityFrameworkCore.DbLoggerCategory;
+using DbHelperSQL = NewPdaSqlServer.DB.DbHelperSQL;
namespace NewPdaSqlServer.service.Warehouse;
@@ -15,934 +20,1003 @@
{
//褰撳墠绫诲凡缁忕户鎵夸簡 Repository 澧炪�佸垹銆佹煡銆佹敼鐨勬柟娉�
+
public ItemInBaseModel SaveBarCodes(WarehouseQuery entity)
{
+ ItemInBaseModel res = new ItemInBaseModel();
+ string connectionString = DbHelperSQL.strConn;
+
// 鍙傛暟楠岃瘉
- if (entity == null)
- throw new ArgumentNullException(nameof(entity), "鍙傛暟瀵硅薄涓嶈兘涓虹┖");
+ if (string.IsNullOrEmpty(entity.userName)) throw new ArgumentNullException(nameof(entity.userName), "鐢ㄦ埛鍚嶄笉鍏佽涓虹┖");
+ if (string.IsNullOrEmpty(entity.sectionCode)) throw new ArgumentNullException(nameof(entity.sectionCode), "搴撲綅缂栧彿涓嶅厑璁镐负绌�");
+ if (string.IsNullOrEmpty(entity.barcode)) throw new ArgumentNullException(nameof(entity.barcode), "鏉$爜涓嶅厑璁镐负绌�");
- if (string.IsNullOrEmpty(entity.userName))
- throw new ArgumentException("鐢ㄦ埛鍚嶄笉鑳戒负绌�", nameof(entity.userName));
-
- if (string.IsNullOrEmpty(entity.barcode))
- throw new ArgumentException("鏉$爜涓嶈兘涓虹┖", nameof(entity.barcode));
-
- string functionName = "閲囪喘鍏ュ簱", fieldName = null, inFieldVal = null;
- string user = entity.userName,
- sectionCode = entity.sectionCode,
- itemBarcode = entity.barcode;
- var transactionNo = "101";
- int? billTypeId = 100, num = 0, num2 = 0;
- var freeze = 0;
- decimal cSyQty = 0;
-
- if (string.IsNullOrEmpty(sectionCode))
- throw new Exception("璇锋壂搴撲綅鏉$爜锛�");
-
- MesInvItemBarcodes itemBarcodeDetails;
- try
+ using (var conn = new SqlConnection(connectionString))
{
- itemBarcodeDetails = Db.Queryable<MesInvItemBarcodes>()
- .Where(it => it.ItemBarcode == itemBarcode)
- .First();
- }
- catch
- {
- throw new Exception("鏉$爜涓嶅瓨鍦紝璇锋牳瀵癸紒");
- }
-
- if (string.IsNullOrEmpty(itemBarcodeDetails.Memo) || itemBarcodeDetails.Memo != "閲囪喘鍏ュ簱")
- throw new Exception("姝ゆ潯鐮佷笉灞炰簬鍒拌揣鏉$爜锛屾棤娉曠敤閲囪喘鍏ュ簱锛�");
-
- MesInvItemArn inventory;
- try
- {
- inventory = Db.Queryable<MesInvItemArn>()
- .Where(it => it.BillNo == itemBarcodeDetails.BillNo && it.Fstatus == true )
- .First();
- }
- catch
- {
- throw new Exception("姝ゆ潯鐮佹壘涓嶅埌瀵瑰簲鏀惰揣鍗曟垨鏈鏍革紒");
- }
-
- // var inventoryDetails = Db.Queryable<MesInvItemArnDetail>()
- // .Where(it => it.ParentGuid == inventory.Guid
- // && it.ItemId == itemBarcodeDetails.ItemId
- // && it.EbelnLine == itemBarcodeDetails.WorkLine
- // && it.Ebeln == itemBarcodeDetails.WorkNo)
- // .First();
-
- MesInvItemArnDetail inventoryDetails;
- try
- {
- inventoryDetails = Db.Queryable<MesInvItemArnDetail>()
- .Where(it => it.Guid == itemBarcodeDetails.AboutGuid)
- .First();
- }
- catch
- {
- throw new Exception("姝ゆ潯鐮佹壘涓嶅埌瀵瑰簲鏀惰揣鍗曟槑缁嗭紒");
- }
-
- MesRohInData cgddDetails;
- try
- {
- cgddDetails = Db.Queryable<MesRohInData>()
- .Where(it => it.EbelnK3id == inventoryDetails.LineK3id)
- .First();
- }
- catch
- {
- throw new Exception("姝ゆ潯鐮佹壘涓嶅埌瀵瑰簲閲囪喘璁㈠崟鏄庣粏锛�");
- }
-
- //鑾峰彇鍒拌揣妫�楠屾槑缁�
- var sqlParams = new List<SugarParameter> { new("@dhmxGuid", itemBarcodeDetails.AboutGuid) };
- var sql1 = @"SELECT *FROM v_dhmx WHERE dhmxGuid = @dhmxGuid ";
- vDhmx dhjymx;
- try
- {
- dhjymx = Db.Ado.SqlQuery<vDhmx>(sql1, sqlParams).First();
- }
- catch
- {
- throw new Exception("璇ユ潯鐮佹壘涓嶅埌瀵瑰簲鐨勬楠屾槑缁嗭紒");
- }
-
- //鍒ゅ畾妫�楠岃兘鍚﹀叆搴�
- if (dhjymx.CanStore!= 1)
- {
- throw new Exception($"璇ユ潯鐮佸搴旂殑鏀舵枡鍗曟楠岀粨鏋�:銆恵dhjymx.InspectionResult}銆�,鍒ゅ畾缁撴灉锛氥�恵dhjymx.JudgmentResult}銆戯紝澶勭悊鎰忚锛氥�恵dhjymx.HandlingSuggestion}銆�,鏃犳硶鍏ュ簱");
- }
-
- string depotCode;
- try
- {
- depotCode = Db.Queryable<MesDepotSections>()
- .Where(it => it.DepotSectionCode == sectionCode)
- .Select(it => it.DepotGuid)
- .First();
- }
- catch
- {
- throw new Exception("搴撲綅缂栫爜 " + sectionCode + " 涓嶅瓨鍦紝璇风‘璁わ紒");
- }
-
- MesDepots mesDepost = null;
-
- var checkGuid = UtilityHelper.CheckGuid(depotCode);
- if (checkGuid && depotCode != null)
- {
- try
+ using (var cmd = new SqlCommand("[prc_pda_inv_cgrk]", conn))
{
- mesDepost = Db.Queryable<MesDepots>()
- .Where(s => s.Guid == depotCode).First();
- }
- catch
- {
- throw new Exception("搴撲綅缂栫爜 " + sectionCode + " 瀵瑰簲鐨勪粨搴撲笉瀛樺湪锛岃纭锛�");
- }
-
- // if (depotCode != mesDepost.Guid)
- // throw new Exception("鎵弿搴撲綅涓庨噰璐叆搴撳簱浣嶄笉涓�鑷达紒");
- }
- else
- {
- throw new Exception("搴撲綅缂栫爜 " + sectionCode + " 涓嶅瓨鍦紝璇风‘璁わ紒");
- }
-
-
- //num = Db.Queryable<MesInvItemInCDetails>()
- // .Where(it => it.ItemBarcode == itemBarcode)
- // .Count();
-
- //if (num > 0)
- // throw new Exception("姝ゆ潯鐮佸凡鎵爜鍏ュ簱瀹屾垚锛岃鏍稿锛�");
-
- //num = Db.Queryable<MesInvItemStocks>()
- // .Where(it => it.ItemBarcode == itemBarcode)
- // .Count();
-
- //if (num > 0)
- // throw new Exception("姝ゆ潯鐮佸凡鎵爜鍏ュ簱锛岃鏍稿锛�");
-
- var wmsManager = new WmsBaseMangeer();
- // 鏂板鍏ュ簱鏍¢獙锛堣皟鐢ㄥ瓨鍌ㄨ繃绋嬶級
- var checkResult = wmsManager.pdaInvJY(
- db: Db,
- edtUserNo: entity.userName,
- barcode: entity.barcode,
- sectionCode: sectionCode,
- stockId: mesDepost.DepotId.ToString(),
- stockOrgId: mesDepost.FSubsidiary,
- billNo: "", // 鏍规嵁瀹為檯鍗曟嵁鍙蜂紶鍊�
- transactionNo: "101" // 浜嬪姟绫诲瀷涓庡瓨鍌ㄨ繃绋嬪尮閰�
- );
-
- if (checkResult == null)
- throw new Exception("鍏ュ簱鏍¢獙澶辫触锛氳繑鍥炵粨鏋滀负绌�");
-
- if (Convert.ToInt32(checkResult.result) < 1)
- throw new Exception($"鍏ュ簱鏍¢獙澶辫触锛歿checkResult.strMsg}");
-
-
-
- //num = Db.Queryable<MesInvItemArn>()
- // .Where(a => a.BillNo == itemBarcodeDetails.BillNo)
- // .InnerJoin<MesInvItemArnDetail>((a, b) =>
- // b.ParentGuid == a.Guid &&
- // b.ItemId == itemBarcodeDetails.ItemId && b.Ischeck == 1)
- // .Count();
-
- //num2 = Db.Queryable<MesInvItemArn>()
- // .Where(a => a.BillNo == itemBarcodeDetails.BillNo)
- // .InnerJoin<MesInvItemArnDetail>((a, b) => b.ParentGuid == a.Guid
- // && b.ItemId == itemBarcodeDetails.ItemId
- // && (b.CheckRes == "鍚堟牸" || b.CheckStates == "鐗归噰鐩存帴浣跨敤"))
- // .Count();
-
- //switch (num)
- //{
- // case 0 when num2 == 0:
- // case > 0 when num2 == 0:
- // freeze = 1;
- // break;
- // case 0 when num2 > 0:
- // throw new Exception("鍏ュ簱澶辫触,鍒拌揣鍗曟嵁鏈夐棶棰橈紒");
- //}
-
-
- // 鍒ゆ柇璐т富绫诲瀷
- var owner_type = wmsManager.GetOwnerType(cgddDetails.DemandOrg);
- // if (Db.Queryable<SysOrganization>().Any(x => x.Fid == cgddDetails.DemandOrg))
- // {
- // owner_type = "BD_OwnerOrg";
- // }
- // else
- // {
- // // 绗簩灞傚垽鏂細妫�鏌� MES_CUSTOMER
- // if (Db.Queryable<MesCustomer>().Any(x => x.Id == Convert.ToInt32(cgddDetails.DemandOrg)))
- // {
- // owner_type = "BD_Customer";
- // }
- // else
- // {
- // // 绗笁灞傚垽鏂細妫�鏌� MES_SUPPLIER
- // if (Db.Queryable<MesSupplier>().Any(x => x.Id == Convert.ToInt32(cgddDetails.DemandOrg)))
- // {
- // owner_type = "BD_Supplier";
- // }
- // else
- // {
-
- // // 绗洓灞傚垽鏂細鍐嶆妫�鏌� SYS_ORGANIZATION
- // if (Db.Queryable<SysOrganization>().Any(x => x.Fid == cgddDetails.ReceivingOrg))
- // {
- // owner_type = "BD_OwnerOrg";
- // }
- // else
- // {
- // throw new Exception("鍏ュ簱澶辫触,鍒拌揣鍗曟嵁瀵瑰簲鐨勯渶姹傜粍缁囨湁闂锛�");
- // }
- // }
- // }
- //}
-
- var result = new ItemInBaseModel();
-
- UseTransaction(db =>
- {
- var existingRecord = db.Queryable<MesInvItemIns>()
- .Where(it => it.InsDate.Value.ToString("yyyy-MM-dd") == DateTime.Now.ToString("yyyy-MM-dd")
- && it.TaskNo == itemBarcodeDetails.BillNo
- && it.Status == 0
- && it.TransctionNo == transactionNo
- && it.CreateBy == entity.userName
- && it.BillTypeId == billTypeId
- && it.DepotsId == mesDepost.DepotId)
- .Select(it => new
- {
- it.Guid,
- it.BillNo
- })
- .ToList()
- .FirstOrDefault();
-
- var cId = Guid.Empty;
- string cBillNo = null;
-
- if (existingRecord != null)
- {
- // If record exists, assign values
- cId = existingRecord.Guid;
- cBillNo = existingRecord.BillNo;
- }
- else
- {
- cId = Guid.NewGuid();
- cBillNo = BillNo.GetBillNo("CGRK(閲囪喘鍏ュ簱)");
-
- MesSupplier suppNo;
try
{
- suppNo = db.Queryable<MesSupplier>()
- .Where(s => s.Id.ToString() == inventory.SuppId).First();
- }
- catch
- {
- throw new Exception("鎵句笉鍒板搴旂殑渚涘簲鍟嗕俊鎭紒");
- }
+ conn.Open();
+ cmd.CommandType = CommandType.StoredProcedure;
- db.Insertable(new MesInvItemIns
- {
- Guid = cId,
- BillNo = cBillNo,
- BillTypeId = billTypeId,
- InsDate = DateTime.Now,
- DepotsId = mesDepost.DepotId,
- DepotsCode = mesDepost.DepotCode,
- TransctionNo = transactionNo,
- SuppId = suppNo.Id.ToString(),
- SuppNo = suppNo.SuppNo,
- CreateBy = user,
- CreateDate = DateTime.Now,
- LastupdateBy = user,
- LastupdateDate = DateTime.Now,
- UrgentFlag = itemBarcodeDetails.UrgentFlag.GetValueOrDefault() ? "1" : "0",
- CbillNo = itemBarcodeDetails.BillNo,
- Fstatus = 0,
- Status = 0,
- ReceiveOrgId = inventory.ReceiveOrgId,
- InType = "閲囪喘鍏ュ簱",
- TaskNo = itemBarcodeDetails.BillNo
- //WorkNo = itemBarcodeDetails.WorkNo
- }).IgnoreColumns(true).ExecuteCommand();
- }
-
- cSyQty = itemBarcodeDetails.Quantity ?? 0;
-
- if (cSyQty <= 0)
- throw new Exception("鏉$爜鏁伴噺鏃犳晥锛岃妫�鏌ユ潯鐮佷俊鎭紒");
-
- entity.id = cId.ToString();
- entity.PageIndex = 1;
- entity.Limit = 1;
-
- itemBarcodeDetails.Hbdy ??= 0;
- if (itemBarcodeDetails.Hbdy == 1)
- {
- var details = db.Queryable<MesInvItemArnDetail>()
- .Where(d =>
- d.CbillNo == itemBarcodeDetails.BillNo &&
- d.Quantity != d.OkRkqty &&
- d.ItemId == itemBarcodeDetails.ItemId)
- .ToList();
-
-
- foreach (var detail in details)
- {
- if (cSyQty == 0) break;
-
- var remainingQty = detail.Quantity - (detail.OkRkqty ?? 0);
- if (remainingQty <= cSyQty)
+ // 璁剧疆瀛樺偍杩囩▼鍙傛暟
+ SqlParameter[] parameters =
{
- // Update detail
- db.Updateable<MesInvItemArnDetail>()
- .SetColumns(d => new MesInvItemArnDetail
- {
- OkRkqty = (int)d.Quantity,
- IsdepsIn = true
- })
- .Where(d => d.Guid == detail.Guid)
- .IgnoreColumns(true)
- .ExecuteCommand();
+ new SqlParameter("@pi_user", SqlDbType.NVarChar, 100) { Value = entity.userName },
+ new SqlParameter("@pi_barcode", SqlDbType.NVarChar, 100) { Value = entity.barcode.Trim().ToLower() },
+ new SqlParameter("@pi_sectionCode", SqlDbType.NVarChar, 30) { Value = entity.sectionCode },
+ new SqlParameter("@pi_weight", SqlDbType.Decimal) { Value = entity.weight },
+ new SqlParameter("@po_outMsg", SqlDbType.NVarChar, 300) { Direction = ParameterDirection.Output },
+ new SqlParameter("@po_outSum", SqlDbType.NVarChar, 300) { Direction = ParameterDirection.Output }
+ };
- // Check if already inserted
- var count = db.Queryable<MesInvItemInCItems>()
- .Where(it =>
- it.ItemInId == cId &&
- it.ItemId == detail.ItemId &&
- it.DepotId == mesDepost.DepotId.ToString() &&
- it.EbelnK3id == detail.EbelnK3id &&
- it.LineK3id == detail.LineK3id)
- .Count();
+ cmd.Parameters.AddRange(parameters);
+ cmd.ExecuteNonQuery();
- cSyQty -= remainingQty.Value;
+ // 鑾峰彇杈撳嚭鍙傛暟
+ string? outMessage = parameters[4].Value?.ToString();
+ string? outSum = parameters[5].Value?.ToString();
- if (count == 0)
- // Insert new item into MES_INV_ITEM_IN_C_ITEMS
- db.Insertable(new MesInvItemInCItems
- {
- ItemInId = cId,
- Quantity = remainingQty,
- CreateBy = user,
- CreateDate = DateTime.Now,
- ItemId = detail.ItemId,
- DepotCode = mesDepost.DepotCode,
- ItemSname = itemBarcodeDetails.ItemSname,
- Unit = itemBarcodeDetails.Unit,
- Ebeln = detail.Ebeln,
- BillNo = cBillNo,
- WorkNo = detail.WorkNo,
- CbillNo = detail.CbillNo,
- WorkLine = detail.WorkLine,
- SuppId = itemBarcodeDetails.SuppId,
- SuppNo = itemBarcodeDetails.SuppNo,
- Remark = itemBarcodeDetails.Memo,
- EbelnK3id = detail.EbelnK3id,
- LineK3id = detail.LineK3id,
- DepotId = mesDepost.DepotId.ToString(),
- itemDabid = itemBarcodeDetails.AboutGuid.ToString()
- }).IgnoreColumns(true).ExecuteCommand();
- else
- db.Updateable<MesInvItemInCItems>()
- .SetColumns(it =>
- it.Quantity == it.Quantity + remainingQty)
- .Where(it =>
- it.ItemInId == cId &&
- it.ItemId == detail.ItemId &&
- it.DepotId == mesDepost.DepotId.ToString() &&
- it.EbelnK3id == detail.EbelnK3id &&
- it.LineK3id == detail.LineK3id)
- .IgnoreColumns(true)
- .ExecuteCommand();
- // Insert new detail into MES_INV_ITEM_IN_C_DETAILS
- db.Insertable(new MesInvItemInCDetails
- {
- ItemInId = cId,
- BillNo = cBillNo,
- ItemBarcode = itemBarcode,
- Quantity = remainingQty,
- BarcodeFlag = true,
- EpFlag = true,
- WorkType = 1,
- ItemNo = detail.ItemNo,
- SuppId = itemBarcodeDetails.SuppId,
- SuppNo = itemBarcodeDetails.SuppNo,
- DepotCode = mesDepost.DepotCode,
- DepotSectionCode = sectionCode,
- ItemSname = itemBarcodeDetails.ItemSname,
- Unit = itemBarcodeDetails.Unit,
- CreateBy = user,
- CreateDate = DateTime.Now,
- LastupdateBy = user,
- LastupdateDate = DateTime.Now,
- Remark = itemBarcodeDetails.Memo,
- Ebeln = detail.WorkNo,
- WorkNo = detail.WorkNo,
- WorkLine = detail.WorkLine,
- CbillNo = itemBarcodeDetails.BillNo,
- UrgentFlag = detail.UrgentFlag,
- BoardStyle = detail.BoardStyle,
- TaskNo = detail.WorkNo,
- EbelnK3id = detail.EbelnK3id,
- LineK3id = detail.LineK3id,
- ItemId = detail.ItemId,
- ReceiveOrgId = inventory.ReceiveOrgId,
- LotNo = cgddDetails.BatchNumber
- }).IgnoreColumns(true).ExecuteCommand();
+ // 妫�鏌ュ弬鏁版槸鍚︿负绌猴紝骞跺湪寮傚父涓樉绀哄疄闄呭��
+ if (string.IsNullOrEmpty(outMessage) || string.IsNullOrEmpty(outSum))
+ {
+ // 鎷兼帴鍙傛暟瀹為檯鍊硷紙澶勭悊 null 鐨勬儏鍐碉級
+ string messageValue = outMessage ?? "null";
+ string sumValue = outSum ?? "null";
+ throw new InvalidOperationException(
+ $"瀛樺偍杩囩▼杩斿洖鍙傛暟寮傚父锛氳緭鍑烘秷鎭负銆恵messageValue}銆戯紝杈撳嚭鏁伴噺涓恒�恵sumValue}銆�"
+ );
}
- else
- {
- // Partially fulfill remaining quantity
- db.Updateable<MesInvItemArnDetail>()
- .SetColumns(d => new MesInvItemArnDetail
- {
- OkRkqty = (int)((d.OkRkqty ?? 0) + cSyQty)
- })
- .Where(d => d.Guid == detail.Guid)
- .IgnoreColumns(true)
- .ExecuteCommand();
- var count = db.Queryable<MesInvItemInCItems>()
- .Where(it =>
- it.ItemInId == cId &&
- it.ItemId == detail.ItemId &&
- it.DepotId == mesDepost.DepotId.ToString() &&
- it.EbelnK3id == detail.EbelnK3id &&
- it.LineK3id == detail.LineK3id)
- .Count();
+ // 楠岃瘉缁撴灉
+ if (!int.TryParse(outSum, out int result) || result <= 0)
+ throw new InvalidOperationException(outMessage);
- if (count == 0)
- db.Insertable(new MesInvItemInCItems
- {
- ItemInId = cId,
- Quantity = cSyQty,
- CreateBy = user,
- CreateDate = DateTime.Now,
- ItemNo = detail.ItemNo,
- DepotCode = mesDepost.DepotCode,
- ItemSname = itemBarcodeDetails.ItemSname,
- Unit = itemBarcodeDetails.Unit,
- Ebeln = detail.WorkNo,
- BillNo = cBillNo,
- WorkNo = detail.WorkNo,
- EbelnLineNo = detail.EbelnLine,
- CbillNo = detail.CbillNo,
- WorkLine = detail.WorkLine,
- SuppId = itemBarcodeDetails.SuppId,
- SuppNo = itemBarcodeDetails.SuppNo,
- Remark = itemBarcodeDetails.Memo,
- EbelnK3id = detail.EbelnK3id,
- LineK3id = detail.LineK3id,
- ItemId = detail.ItemId,
- DepotId = mesDepost.DepotId.ToString()
- }).IgnoreColumns(true).ExecuteCommand();
- else
- db.Updateable<MesInvItemInCItems>()
- .SetColumns(it =>
- it.Quantity == it.Quantity + cSyQty)
- .Where(it =>
- it.ItemInId == cId &&
- it.ItemId == detail.ItemId &&
- it.DepotId == mesDepost.DepotId.ToString() &&
- it.EbelnK3id == detail.EbelnK3id &&
- it.LineK3id == detail.LineK3id)
- .IgnoreColumns(true)
- .ExecuteCommand();
+ // 璋冭瘯杈撳嚭
+ Console.WriteLine($"鏌ヨ鐨勬潯鐮佸��: '{entity.barcode}' (闀垮害: {entity.barcode.Length})");
- db.Insertable(new MesInvItemInCDetails
- {
- ItemInId = cId,
- BillNo = cBillNo,
- ItemBarcode = itemBarcode,
- Quantity = cSyQty,
- BarcodeFlag = true,
- EpFlag = true,
- WorkType = 1,
- ItemNo = detail.ItemNo,
- SuppId = itemBarcodeDetails.SuppId,
- SuppNo = itemBarcodeDetails.SuppNo,
- DepotCode = mesDepost.DepotCode,
- DepotSectionCode = sectionCode,
- ItemSname = itemBarcodeDetails.ItemSname,
- Unit = itemBarcodeDetails.Unit,
- CreateBy = user,
- CreateDate = DateTime.Now,
- LastupdateBy = user,
- LastupdateDate = DateTime.Now,
- Remark = itemBarcodeDetails.Memo,
- Ebeln = detail.WorkNo,
- EbelnLineNo = detail.EbelnLine,
- WorkNo = detail.WorkNo,
- WorkLine = detail.WorkLine,
- CbillNo = itemBarcodeDetails.BillNo,
- UrgentFlag = detail.UrgentFlag,
- BoardStyle = detail.BoardStyle,
- TaskNo = detail.WorkNo,
- EbelnK3id = detail.EbelnK3id,
- LineK3id = detail.LineK3id,
- ItemId = detail.ItemId,
- ReceiveOrgId = inventory.ReceiveOrgId,
- LotNo = cgddDetails.BatchNumber
- }).IgnoreColumns(true).ExecuteCommand();
+ // 浣跨敤鍙傛暟鍖栨煡璇㈠苟蹇界暐澶у皬鍐欙紙閫傜敤浜庢敮鎸佺殑鏁版嵁搴擄級
+ var itemBarcodeDetails = Db.Queryable<MesInvItemBarcodes>()
+ .Where(it => it.ItemBarcode.Trim().ToLower() == entity.barcode.Trim().ToLower())
+ .First() ?? throw new InvalidOperationException($"鏈壘鍒版潯鐮� '{entity.barcode}' 鐨勫尮閰嶄俊鎭�");
- cSyQty = 0; // Remaining quantity fulfilled
- }
+ // 璋冭瘯杈撳嚭锛堟鏌ュ�煎拰闀垮害锛�
+ Console.WriteLine($"鏌ヨ鐨勬潯鐮佸��: '{entity.barcode}' (闀垮害: {entity.barcode.Length})");
+
+ // 浼樺寲鏌ヨ锛堝幓闄ょ┖鏍煎苟蹇界暐澶у皬鍐欙級
+ var MesInvItemInCDetails = Db.Queryable<MesInvItemInCDetails>()
+ .Where(it => it.ItemBarcode.Trim().ToLower() == entity.barcode.Trim().ToLower())
+ .First() ?? throw new InvalidOperationException($"鏈壘鍒版潯鐮� '{entity.barcode}' 鐨勫尮閰嶇殑鍏ュ簱淇℃伅");
+
+ // 浠庡叆搴撴潯鐮佷腑鑾峰彇鏈夋晥鐨処temInId
+ var cId = MesInvItemInCDetails.ItemInId; // 鍋囪瀛樺湪ItemInId灞炴��
+
+ // 鏌ヨ鐗╂枡姹囨�绘槑缁�
+ var sql = string.Format(@"
+ SELECT
+ b.Item_No AS ItemNo,
+ b.Item_Name AS ItemName,
+ b.Item_Model AS ItemModel,
+ a.Quantity AS FQty,
+ b.Item_Id AS FMaterialId,
+ CONVERT(VARCHAR(36), b.Guid) AS Id
+ FROM MES_INV_ITEM_IN_C_ITEMS a
+ LEFT JOIN Mes_Items b ON a.Item_Id = b.Item_Id
+ WHERE a.Item_In_Id = '{0}' AND a.Item_Id = '{1}'", cId, itemBarcodeDetails.ItemId);
+
+ res.ItemInDetails = Db.Ado.SqlQuery<dynamic>(sql);
+
+ // 鏌ヨ鍏ュ簱鏉$爜鏄庣粏
+ var sql2 = string.Format(@"
+ SELECT
+ b.Item_No AS ItemNo,
+ b.Item_Name AS ItemName,
+ b.Item_Model AS ItemModel,
+ a.Quantity AS FQty,
+ b.Item_Id AS FMaterialId,
+ CONVERT(VARCHAR(36), a.Guid) AS Id,
+ a.Depot_Section_Code AS kw,
+ a.Item_Barcode AS barcode
+ FROM Mes_Inv_Item_In_C_Details a
+ LEFT JOIN Mes_Items b ON a.Item_Id = b.Item_Id
+ WHERE a.Item_In_Id = '{0}' AND a.Item_Id = '{1}'", cId, itemBarcodeDetails.ItemId);
+
+ res.ItemBarCDetails = Db.Ado.SqlQuery<dynamic>(sql2);
+ //鏌ヨ宸插叆搴撴�绘暟
+ var totalCDetailsQuantity = Db.Queryable<MesInvItemInCDetails>()
+ .Where(it => it.ItemInId == cId)
+ .Sum(it => it.Quantity);
+
+ res.SumQuantity = Convert.ToDecimal(totalCDetailsQuantity);
+
+ // 璁剧疆杩斿洖淇℃伅
+ res.Message = outMessage;
+
+
+ return res;
}
-
- db.Insertable(new MesInvBusiness2
+ catch (Exception ex)
{
- Status = 1,
- BillTypeId = billTypeId,
- TransactionCode = transactionNo,
- BusinessType = 1,
- ItemBarcode = itemBarcode,
- ItemNo = itemBarcodeDetails.ItemNo,
- LotNo = cgddDetails.BatchNumber,
- EpFlag = true,
- Quantity = itemBarcodeDetails.Quantity,
- ToInvDepotsCode = mesDepost.DepotCode,
- ToInvDepotSectionsCode = sectionCode,
- Description = "閲囪喘鍏ュ簱",
- CreateBy = user,
- CreateDate = DateTime.Now,
- LastupdateBy = user,
- LastupdateDate = DateTime.Now,
- TaskNo = itemBarcodeDetails.BillNo,
- BillNo = cBillNo,
- WorkNo = itemBarcodeDetails.WorkNo,
- WorkLine = itemBarcodeDetails.WorkLine,
- SuppId = itemBarcodeDetails.SuppId,
- SuppNo = itemBarcodeDetails.SuppNo,
- EbelnK3id = itemBarcodeDetails.EbelnK3id,
- LineK3id = itemBarcodeDetails.LineK3id,
- ItemId = itemBarcodeDetails.ItemId
- }).IgnoreColumns(true).ExecuteCommand();
- // Insert into mes_inv_item_stocks
+
+ // 璁板綍寮傚父鏃ュ織锛堝缓璁坊鍔犳棩蹇楄褰曪級
+ res.Message = $"鎿嶄綔澶辫触: {ex.Message}";
+ res.SumQuantity = -1;
+ return res;
+ }
}
- else
- {
- var detailone = db.Queryable<MesInvItemArnDetail>()
- .Where(d =>
- d.Guid == itemBarcodeDetails.AboutGuid)
- .First();
-
- // 妫�鏌ユ槸鍚﹀瓨鍦ㄤ簬 MES_INV_ITEM_IN_C_ITEMS 琛�
- var existingCount = db.Queryable<MesInvItemInCItems>()
- .Where(it =>
- it.ItemInId == cId &&
- it.ItemId == detailone.ItemId &&
- it.DepotId == mesDepost.DepotId.ToString() &&
- it.itemDabid == itemBarcodeDetails.AboutGuid.ToString())
- .Count();
-
- if (existingCount == 0)
- // 涓嶅瓨鍦ㄦ椂鎻掑叆鏂拌褰�
- db.Insertable(new MesInvItemInCItems
- {
- ItemInId = cId,
- Quantity = itemBarcodeDetails.Quantity,
- CreateBy = user,
- CreateDate = DateTime.Now,
- ItemNo = itemBarcodeDetails.ItemNo,
- DepotCode = mesDepost.DepotCode,
- ItemSname = itemBarcodeDetails.ItemSname,
- Unit = itemBarcodeDetails.Unit,
- Ebeln = itemBarcodeDetails.WorkNo,
- BillNo = cBillNo,
- WorkNo = itemBarcodeDetails.WorkNo,
- EbelnLineNo = itemBarcodeDetails.WorkLine,
- CbillNo = itemBarcodeDetails.BillNo,
- WorkLine = itemBarcodeDetails.WorkLine,
- SuppId = itemBarcodeDetails.SuppId,
- SuppNo = itemBarcodeDetails.SuppNo,
- Remark = itemBarcodeDetails.Memo,
- EbelnK3id = itemBarcodeDetails.EbelnK3id,
- LineK3id = itemBarcodeDetails.LineK3id,
- ItemId = itemBarcodeDetails.ItemId,
- DepotId = mesDepost.DepotId.ToString(),
- itemDabid = itemBarcodeDetails.AboutGuid.ToString()
- }).IgnoreColumns(true).ExecuteCommand();
- else
- // 瀛樺湪鏃舵洿鏂版暟閲�
- db.Updateable<MesInvItemInCItems>()
- .SetColumns(it => new MesInvItemInCItems
- {
- Quantity = SqlFunc.IsNull(it.Quantity, 0) + itemBarcodeDetails.Quantity // 纭繚 Quantity 涓嶄负 null
- })
- .Where(it =>
- it.ItemInId == cId &&
- it.ItemId == detailone.ItemId &&
- it.DepotId == mesDepost.DepotId.ToString() &&
- it.itemDabid == itemBarcodeDetails.AboutGuid.ToString())
- //.IgnoreColumns(true) // 淇濈暀 IgnoreColumns
- .ExecuteCommand();
-
- // 鎻掑叆 mes_inv_item_in_c_details 琛�
- db.Insertable(new MesInvItemInCDetails
- {
- ItemInId = cId,
- BillNo = cBillNo,
- ItemBarcode = itemBarcode,
- Quantity = itemBarcodeDetails.Quantity,
- BarcodeFlag = true,
- EpFlag = true,
- WorkType = 1,
- ItemNo = itemBarcodeDetails.ItemNo,
- LotNo = cgddDetails.BatchNumber,
- SuppId = itemBarcodeDetails.SuppId,
- SuppNo = itemBarcodeDetails.SuppNo,
- DepotCode = mesDepost.DepotCode,
- DepotSectionCode = sectionCode,
- ItemSname = itemBarcodeDetails.ItemSname,
- Unit = itemBarcodeDetails.Unit,
- CreateBy = user,
- CreateDate = DateTime.Now,
- LastupdateBy = user,
- LastupdateDate = DateTime.Now,
- Remark = itemBarcodeDetails.Memo,
- Ebeln = itemBarcodeDetails.Mblnr,
- EbelnLineNo = itemBarcodeDetails.Zeile,
- WorkNo = itemBarcodeDetails.WorkNo,
- WorkLine = itemBarcodeDetails.WorkLine,
- CbillNo = itemBarcodeDetails.BillNo,
- UrgentFlag = itemBarcodeDetails.UrgentFlag,
- BoardStyle = itemBarcodeDetails.BoardStyle,
- TaskNo = itemBarcodeDetails.TaskNo,
- EbelnK3id = itemBarcodeDetails.EbelnK3id,
- LineK3id = itemBarcodeDetails.LineK3id,
- ItemId = itemBarcodeDetails.ItemId,
- Ischeck = true,
- CheckDate = inventoryDetails.CheckDate,
- CheckRes = inventoryDetails.CheckRes,
- CheckStates = inventoryDetails.CheckStates,
- ReceiveOrgId = inventory.ReceiveOrgId,
- DepotId = Convert.ToInt64(mesDepost.DepotId.ToString())
- }).IgnoreColumns(true).ExecuteCommand();
-
- // 鎻掑叆 mes_inv_business2 琛�
- db.Insertable(new MesInvBusiness2
- {
- Status = 1,
- BillTypeId = billTypeId,
- TransactionCode = transactionNo,
- BusinessType = 1,
- ItemBarcode = itemBarcode,
- ItemNo = itemBarcodeDetails.ItemNo,
- LotNo = itemBarcodeDetails.LotNo,
- EpFlag = true,
- Quantity = itemBarcodeDetails.Quantity,
- FromInvDepotsCode = null,
- FromInvDepotSectionsCode = null,
- ToInvDepotsCode = mesDepost.DepotCode,
- ToInvDepotSectionsCode = sectionCode,
- Description = "閲囪喘鍏ュ簱",
- CreateBy = user,
- CreateDate = DateTime.Now,
- LastupdateBy = user,
- LastupdateDate = DateTime.Now,
- TaskNo = itemBarcodeDetails.TaskNo,
- BillNo = cBillNo,
- WorkNo = itemBarcodeDetails.WorkNo,
- WorkLine = itemBarcodeDetails.WorkLine,
- SuppId = itemBarcodeDetails.SuppId,
- SuppNo = itemBarcodeDetails.SuppNo,
- EbelnK3id = itemBarcodeDetails.EbelnK3id,
- LineK3id = itemBarcodeDetails.LineK3id,
- ItemId = itemBarcodeDetails.ItemId
- }).IgnoreColumns(true).ExecuteCommand();
-
- // 鎻掑叆 mes_inv_item_stocks 琛�
- }
-
-
-
- db.Insertable(new MesInvItemStocks
- {
- TaskNo = itemBarcodeDetails.TaskNo,
- ItemBarcode = itemBarcode,
- ItemNo = cgddDetails.BatchNumber,
- LotNo = itemBarcodeDetails.LotNo,
- Quantity = itemBarcodeDetails.Quantity,
- DepotsCode = mesDepost.DepotCode,
- DepotSectionsCode = sectionCode,
- CheckDate = inventoryDetails.CheckDate,
- IndepDate = DateTime.Now,
- IqcStatus = inventoryDetails.CheckStates,
- BoardStyle = itemBarcodeDetails.BoardStyle,
- WorkNo = itemBarcodeDetails.WorkNo,
- WorkLine = itemBarcodeDetails.WorkLine,
- SuppId = itemBarcodeDetails.SuppId,
- SuppNo = itemBarcodeDetails.SuppNo,
- EbelnK3id = itemBarcodeDetails.EbelnK3id,
- LineK3id = itemBarcodeDetails.LineK3id,
- ItemId = itemBarcodeDetails.ItemId,
- BillNo = itemBarcodeDetails.BillNo,
- DepotId = Convert.ToInt32(mesDepost.DepotId),
- OwnerId = cgddDetails.DemandOrg,
- OwnerType = owner_type,
- StockOrgId = mesDepost.FSubsidiary,
- IndepUserCode = user
- }).IgnoreColumns(true).ExecuteCommand();
-
- itemBarcodeDetails.Hbdy ??= 0;
-
- if (itemBarcodeDetails.Hbdy != 1)
- {
- //鏇存柊鏀舵枡鍗曟槑缁�
- db.Updateable<MesInvItemArnDetail>()
- .SetColumns(d => new MesInvItemArnDetail
- {
- OkRkqty = (int)((d.OkRkqty ?? 0) + cSyQty)
- })
- .Where(d => d.Guid == itemBarcodeDetails.AboutGuid)
- .ExecuteCommand();
-
- var first = db
- .Queryable<MesInvItemArnDetail>()
- .Where(b =>
- b.Guid == itemBarcodeDetails.AboutGuid)
- .Select(b => new
- {
- TotalQuantity =
- SqlFunc.AggregateSum(b.Quantity),
- TotalOkRkQty = SqlFunc.AggregateSum(b.OkRkqty)
- })
- .First();
-
- var TotalQuantity = first.TotalQuantity ?? 0;
- var TotalOkRkQty = first.TotalOkRkQty ?? 0;
-
- if (TotalQuantity == TotalOkRkQty)
- db.Updateable<MesInvItemArnDetail>()
- .SetColumns(s => s.IsdepsIn == true)
- .Where(s => s.Guid == itemBarcodeDetails.AboutGuid)
- .ExecuteCommand();
-
-
- var totalSummary = db.Queryable<MesInvItemArnDetail>()
- .InnerJoin<MesInvItemArn>((b, a) => a.Guid == b.ParentGuid)
- .Where((b, a) =>
- a.BillNo == inventory.BillNo && b.ReturnFlag == 0)
- .Select((b, a) => new
- {
- TotalQuantity = SqlFunc.AggregateSum(b.Quantity),
- TotalOkRkQty = SqlFunc.AggregateSum(b.OkRkqty)
- })
- .First();
-
- if ((totalSummary.TotalQuantity ?? 0) ==
- (totalSummary.TotalOkRkQty ?? 0))
- db.Updateable<MesInvItemArn>()
- .SetColumns(it => it.Status == 1)
- .Where(it => it.BillNo == itemBarcodeDetails.BillNo)
- .ExecuteCommand();
-
- var totalCDetailsQuantity = db.Queryable<MesInvItemInCDetails>()
- .Where(it => it.ItemId == itemBarcodeDetails.ItemId &&
- it.WorkNo == itemBarcodeDetails.WorkNo &&
- it.ItemInId == cId)
- .Sum(it => it.Quantity);
-
- var detailSummary = db.Queryable<MesInvItemArnDetail>()
- .Where(it => it.Guid == inventoryDetails.Guid)
- .Select(it => new
- {
- TotalComeQty = SqlFunc.AggregateSum(it.Quantity),
- TotalInvQty = SqlFunc.AggregateSum(it.OkRkqty)
- })
- .First();
-
- var comeQty = detailSummary.TotalComeQty ?? 0;
- var invQty = detailSummary.TotalInvQty ?? 0;
- var diffQty = comeQty - invQty;
-
- if (detailSummary == null)
- throw new Exception("姝ゆ潯鐮佹壘涓嶅埌瀵瑰簲鏀惰揣鍗曟槑缁嗭紒");
-
- var mesItems = db.Queryable<MesItems>()
- .Where(s => s.Id == itemBarcodeDetails.ItemId).First();
-
- //result.Message =
- // $"鏉$爜鏁伴噺 {itemBarcodeDetails.Quantity},閲囪喘璁㈠崟 {itemBarcodeDetails.WorkNo} 椤规 {itemBarcodeDetails.WorkLine} 鐗╂枡 {mesItems.ItemNo} 鏈鍏ュ簱鎬绘暟锛歿totalCDetailsQuantity} 鎬诲埌 {comeQty} 宸插叆 {invQty} 娆� {diffQty}";
- result.Message = $"鐗╂枡{mesItems.ItemNo}鍏ュ簱鎴愬姛鏁伴噺{itemBarcodeDetails.Quantity.ToString()}";
-
- result.itemDetail = mesItems;
-
- result.ItemInDetails = db.Queryable<MesInvItemInCItems,MesItems>(
- (a, b) => new JoinQueryInfos(
- JoinType.Left,
- a.ItemId == b.ItemId)
- )
- .Where(a => a.ItemInId == cId && a.ItemId == itemBarcodeDetails.ItemId)
- .Select<dynamic>((a, b) => new
- {
- ItemNo = b.ItemNo,
- ItemName = b.ItemName,
- ItemModel = b.ItemModel,
- FQty = a.Quantity, // 鐢宠鏁伴噺
- FMaterialId = b.ItemId,
- Id = b.Guid.ToString()
- })
- .ToList();
-
- result.ItemBarCDetails = db.Queryable<MesInvItemInCDetails, MesItems>(
- (a, b) => new JoinQueryInfos(
- JoinType.Left,
- a.ItemId == b.ItemId)
- )
- .Where(a => a.ItemInId == cId && a.ItemId == itemBarcodeDetails.ItemId)
- .Select<dynamic>((a, b) => new
- {
- ItemNo = b.ItemNo,
- ItemName = b.ItemName,
- ItemModel = b.ItemModel,
- FQty = a.Quantity, // 鐢宠鏁伴噺
- FMaterialId = b.ItemId,
- Id = a.Guid.ToString(),
- kw = a.DepotSectionCode,
- barcode = a.ItemBarcode
- })
- .ToList();
-
-
- //result.ItemNo = mesItems.ItemNo;
- result.SumQuantity = Convert.ToDecimal(invQty);
-
- return 1;
- }
- else
- {
- // Step 1: Check if bill needs to be closed (status update)
- var totalSummary = db.Queryable<MesInvItemArnDetail>()
- .LeftJoin<MesInvItemArn>((b, a) => a.Guid == b.ParentGuid)
- .Where((b, a) =>
- a.BillNo == inventory.BillNo && b.ReturnFlag == 0)
- .Select((b, a) => new
- {
- TotalQuantity = SqlFunc.AggregateSum(b.Quantity),
- TotalOkRkQty = SqlFunc.AggregateSum(b.OkRkqty)
- })
- .First();
-
- if ((totalSummary.TotalQuantity ?? 0) ==
- (totalSummary.TotalOkRkQty ?? 0))
- db.Updateable<MesInvItemArn>()
- .SetColumns(it => it.Status == 1)
- .Where(it => it.BillNo == itemBarcodeDetails.BillNo)
- .ExecuteCommand();
-
- // Step 2: Calculate total sum from `mes_inv_item_in_c_details`
- var totalCDetailsQuantity = db.Queryable<MesInvItemInCDetails>()
- .Where(it => it.Guid == itemBarcodeDetails.AboutGuid)
- .Sum(it => it.Quantity);
-
- // Step 3: Calculate comeQty and invQty from `mes_inv_item_arn_detail`
- var detailSummary = db.Queryable<MesInvItemArnDetail>()
- .Where(it => it.Guid == itemBarcodeDetails.AboutGuid)
- .Select(it => new
- {
- TotalComeQty = SqlFunc.AggregateSum(it.Quantity),
- TotalInvQty = SqlFunc.AggregateSum(it.OkRkqty)
- })
- .First();
-
- if (detailSummary == null)
- throw new Exception("姝ゆ潯鐮佹壘涓嶅埌瀵瑰簲鏀惰揣鍗曟槑缁嗭紒");
-
- var comeQty = detailSummary.TotalComeQty ?? 0;
- var invQty = detailSummary.TotalInvQty ?? 0;
- var diffQty = comeQty - invQty;
-
- var mesItems = db.Queryable<MesItems>()
- .Where(s => s.Id == itemBarcodeDetails.ItemId).First();
-
- // Step 5: Combine final result
- result.Message =
- $" 鏉$爜鏁伴噺:{itemBarcodeDetails.Quantity},鐗╂枡 {mesItems.ItemNo} 鏈鍏ュ簱鎬绘暟锛歿totalCDetailsQuantity} 鎬诲埌 {comeQty} 宸插叆 {invQty} 娆� {diffQty}";
-
-
- //result.ItemNo = mesItems.ItemNo;
- result.SumQuantity = Convert.ToDecimal(totalCDetailsQuantity);
- }
-
- var mesInvItemInCDetails =
- base.GetSingle(it => it.ItemBarcode == entity.barcode);
-
- if (mesInvItemInCDetails == null)
- throw new Exception("鐗╂枡鍏ュ簱鏉$爜鏄庣粏涓嶅瓨鍦�"); // 鎶涘嚭寮傚父浠ヤ緵鍓嶅彴澶勭悊
-
- // 鍒涘缓 鎻掑叆鏃ュ織
- var logService = new LogService();
- var LogMsg = "銆怭DA銆戦噰璐叆搴撱�傛潯鐮併��" + entity.barcode + "銆� 鍏ュ簱鍗曞彿銆�" + cBillNo + "銆�";
- logService.CreateLog(db, entity.userName, inventory.Guid.ToString(), "MES_INV_ITEM_ARN", LogMsg, inventory.BillNo);
-
- return 1;
- });
-
- var purchaseInventory = getPurchaseInventory(entity);
-
-
- //result.ItemInDetails = purchaseInventory.ItemInDetails;
- //result.InvItemInCDetails = purchaseInventory.InvItemInCDetails;
-
- return result;
+ }
}
+
+
+
+ /* public ItemInBaseModel SaveBarCodes(WarehouseQuery entity)
+ {
+ string functionName = "閲囪喘鍏ュ簱", fieldName = null, inFieldVal = null;
+ string user = entity.userName,
+ sectionCode = entity.sectionCode,
+ itemBarcode = entity.barcode;
+ var transactionNo = "101";
+ int? billTypeId = 100, num = 0, num2 = 0;
+ var freeze = 0;
+ decimal cSyQty = 0;
+
+ if (string.IsNullOrEmpty(sectionCode))
+ throw new Exception("璇锋壂搴撲綅鏉$爜锛�");
+
+ var itemBarcodeDetails = Db.Queryable<MesInvItemBarcodes>()
+ .Where(it => it.ItemBarcode == itemBarcode)
+ .First();
+
+ if (itemBarcodeDetails == null)
+ throw new Exception("鏉$爜涓嶅瓨鍦紝璇锋牳瀵癸紒");
+
+ if (string.IsNullOrEmpty(itemBarcodeDetails.Memo) || itemBarcodeDetails.Memo != "閲囪喘鍏ュ簱")
+ throw new Exception("姝ゆ潯鐮佷笉灞炰簬鍒拌揣鏉$爜锛屾棤娉曠敤閲囪喘鍏ュ簱锛�");
+
+ var inventory = Db.Queryable<MesInvItemArn>()
+ .Where(it => it.BillNo == itemBarcodeDetails.BillNo && it.Fstatus == true )
+ .First();
+
+ if (inventory == null)
+ throw new Exception("姝ゆ潯鐮佹壘涓嶅埌瀵瑰簲鏀惰揣鍗曟垨鏈鏍革紒");
+
+ // var inventoryDetails = Db.Queryable<MesInvItemArnDetail>()
+ // .Where(it => it.ParentGuid == inventory.Guid
+ // && it.ItemId == itemBarcodeDetails.ItemId
+ // && it.EbelnLine == itemBarcodeDetails.WorkLine
+ // && it.Ebeln == itemBarcodeDetails.WorkNo)
+ // .First();
+
+ var inventoryDetails = Db.Queryable<MesInvItemArnDetail>()
+ .Where(it => it.Guid == itemBarcodeDetails.AboutGuid)
+ .First();
+
+ var cgddDetails = Db.Queryable<MesRohInData>()
+ .Where(it => it.EbelnK3id == inventoryDetails.LineK3id)
+ .First();
+
+ if (cgddDetails == null)
+ throw new Exception("姝ゆ潯鐮佹壘涓嶅埌瀵瑰簲閲囪喘璁㈠崟鏄庣粏锛�");
+
+ if (inventoryDetails == null)
+ throw new Exception("姝ゆ潯鐮佹壘涓嶅埌瀵瑰簲鏀惰揣鍗曟槑缁嗭紒");
+
+ //鑾峰彇鍒拌揣妫�楠屾槑缁�
+ var sqlParams = new List<SugarParameter> { new("@dhmxGuid", itemBarcodeDetails.AboutGuid) };
+ var sql1 = @"SELECT *FROM v_dhmx WHERE dhmxGuid = @dhmxGuid ";
+ var dhjymx = Db.Ado.SqlQuery<vDhmx>(sql1, sqlParams).First();
+ //鍒ゅ畾妫�楠岃兘鍚﹀叆搴�
+ if (dhjymx.CanStore!= 1)
+ {
+ throw new Exception($"璇ユ潯鐮佸搴旂殑鏀舵枡鍗曟楠岀粨鏋�:銆恵dhjymx.InspectionResult}銆�,鍒ゅ畾缁撴灉锛氥�恵dhjymx.JudgmentResult}銆戯紝澶勭悊鎰忚锛氥�恵dhjymx.HandlingSuggestion}銆�,鏃犳硶鍏ュ簱");
+ }
+
+ var depotCode = Db.Queryable<MesDepotSections>()
+ .Where(it => it.DepotSectionCode == sectionCode)
+ .Select(it => it.DepotGuid)
+ .First();
+
+ var depotCode2 = Db.Queryable<MesInvItemArn>()
+ .Where(it => it.BillNo == itemBarcodeDetails.BillNo)
+ .Select(it => it.DepotsId)
+ .First();
+
+ MesDepots mesDepost = null;
+
+ var checkGuid = UtilityHelper.CheckGuid(depotCode);
+ if (checkGuid && depotCode != null)
+ {
+ mesDepost = Db.Queryable<MesDepots>()
+ .Where(s => s.DepotId.ToString() == depotCode).First();
+
+ // if (depotCode != mesDepost.Guid)
+ // throw new Exception("鎵弿搴撲綅涓庨噰璐叆搴撳簱浣嶄笉涓�鑷达紒");
+ }
+ else
+ {
+ throw new Exception("搴撲綅缂栫爜 " + sectionCode + " 涓嶅瓨鍦紝璇风‘璁わ紒");
+ }
+
+
+ //num = Db.Queryable<MesInvItemInCDetails>()
+ // .Where(it => it.ItemBarcode == itemBarcode)
+ // .Count();
+
+ //if (num > 0)
+ // throw new Exception("姝ゆ潯鐮佸凡鎵爜鍏ュ簱瀹屾垚锛岃鏍稿锛�");
+
+ //num = Db.Queryable<MesInvItemStocks>()
+ // .Where(it => it.ItemBarcode == itemBarcode)
+ // .Count();
+
+ //if (num > 0)
+ // throw new Exception("姝ゆ潯鐮佸凡鎵爜鍏ュ簱锛岃鏍稿锛�");
+
+ var wmsManager = new WmsBaseMangeer();
+ // 鏂板鍏ュ簱鏍¢獙锛堣皟鐢ㄥ瓨鍌ㄨ繃绋嬶級
+ var checkResult = wmsManager.pdaInvJY(
+ db: Db,
+ edtUserNo: entity.userName,
+ barcode: entity.barcode,
+ sectionCode: sectionCode,
+ stockId: mesDepost.DepotId.ToString(),
+ stockOrgId: mesDepost.FSubsidiary,
+ billNo: "", // 鏍规嵁瀹為檯鍗曟嵁鍙蜂紶鍊�
+ transactionNo: "101" // 浜嬪姟绫诲瀷涓庡瓨鍌ㄨ繃绋嬪尮閰�
+ );
+
+ if (Convert.ToInt32(checkResult.result) < 1)
+ throw new Exception($"鍏ュ簱鏍¢獙澶辫触锛歿checkResult.strMsg}");
+
+
+
+ //num = Db.Queryable<MesInvItemArn>()
+ // .Where(a => a.BillNo == itemBarcodeDetails.BillNo)
+ // .InnerJoin<MesInvItemArnDetail>((a, b) =>
+ // b.ParentGuid == a.Guid &&
+ // b.ItemId == itemBarcodeDetails.ItemId && b.Ischeck == 1)
+ // .Count();
+
+ //num2 = Db.Queryable<MesInvItemArn>()
+ // .Where(a => a.BillNo == itemBarcodeDetails.BillNo)
+ // .InnerJoin<MesInvItemArnDetail>((a, b) => b.ParentGuid == a.Guid
+ // && b.ItemId == itemBarcodeDetails.ItemId
+ // && (b.CheckRes == "鍚堟牸" || b.CheckStates == "鐗归噰鐩存帴浣跨敤"))
+ // .Count();
+
+ //switch (num)
+ //{
+ // case 0 when num2 == 0:
+ // case > 0 when num2 == 0:
+ // freeze = 1;
+ // break;
+ // case 0 when num2 > 0:
+ // throw new Exception("鍏ュ簱澶辫触,鍒拌揣鍗曟嵁鏈夐棶棰橈紒");
+ //}
+
+
+ // 鍒ゆ柇璐т富绫诲瀷
+ var owner_type = wmsManager.GetOwnerType(cgddDetails.DemandOrg);
+ // if (Db.Queryable<SysOrganization>().Any(x => x.Fid == cgddDetails.DemandOrg))
+ // {
+ // owner_type = "BD_OwnerOrg";
+ // }
+ // else
+ // {
+ // // 绗簩灞傚垽鏂細妫�鏌� MES_CUSTOMER
+ // if (Db.Queryable<MesCustomer>().Any(x => x.Id == Convert.ToInt32(cgddDetails.DemandOrg)))
+ // {
+ // owner_type = "BD_Customer";
+ // }
+ // else
+ // {
+ // // 绗笁灞傚垽鏂細妫�鏌� MES_SUPPLIER
+ // if (Db.Queryable<MesSupplier>().Any(x => x.Id == Convert.ToInt32(cgddDetails.DemandOrg)))
+ // {
+ // owner_type = "BD_Supplier";
+ // }
+ // else
+ // {
+
+ // // 绗洓灞傚垽鏂細鍐嶆妫�鏌� SYS_ORGANIZATION
+ // if (Db.Queryable<SysOrganization>().Any(x => x.Fid == cgddDetails.ReceivingOrg))
+ // {
+ // owner_type = "BD_OwnerOrg";
+ // }
+ // else
+ // {
+ // throw new Exception("鍏ュ簱澶辫触,鍒拌揣鍗曟嵁瀵瑰簲鐨勯渶姹傜粍缁囨湁闂锛�");
+ // }
+ // }
+ // }
+ //}
+
+ var result = new ItemInBaseModel();
+
+ UseTransaction(db =>
+ {
+ var existingRecord = db.Queryable<MesInvItemIns>()
+ .Where(it => it.InsDate.Value.ToString("yyyy-MM-dd") == DateTime.Now.ToString("yyyy-MM-dd")
+ && it.TaskNo == itemBarcodeDetails.BillNo
+ && it.Status == 0
+ && it.TransctionNo == transactionNo
+ && it.CreateBy == entity.userName
+ && it.BillTypeId == billTypeId
+ && it.DepotsId == mesDepost.DepotId)
+ .Select(it => new
+ {
+ it.Guid,
+ it.BillNo
+ })
+ .First();
+
+ var cId = Guid.Empty;
+ string cBillNo = null;
+
+ if (existingRecord != null)
+ {
+ // If record exists, assign values
+ cId = existingRecord.Guid;
+ cBillNo = existingRecord.BillNo;
+ }
+ else
+ {
+ cId = Guid.NewGuid();
+ cBillNo = BillNo.GetBillNo("CGRK(閲囪喘鍏ュ簱)");
+
+ var suppNo = db.Queryable<MesSupplier>()
+ .Where(s => s.Id.ToString() == inventory.SuppId).First();
+
+ db.Insertable(new MesInvItemIns
+ {
+ Guid = cId,
+ BillNo = cBillNo,
+ BillTypeId = billTypeId,
+ InsDate = DateTime.Now,
+ DepotsId = mesDepost.DepotId,
+ DepotsCode = mesDepost.DepotCode,
+ TransctionNo = transactionNo,
+ SuppId = suppNo.Id.ToString(),
+ SuppNo = suppNo.SuppNo,
+ CreateBy = user,
+ CreateDate = DateTime.Now,
+ LastupdateBy = user,
+ LastupdateDate = DateTime.Now,
+ UrgentFlag = itemBarcodeDetails.UrgentFlag.GetValueOrDefault() ? "1" : "0",
+ CbillNo = itemBarcodeDetails.BillNo,
+ Fstatus = 0,
+ Status = 0,
+ ReceiveOrgId = inventory.ReceiveOrgId,
+ InType = "閲囪喘鍏ュ簱",
+ TaskNo = itemBarcodeDetails.BillNo
+ //WorkNo = itemBarcodeDetails.WorkNo
+ }).IgnoreColumns(true).ExecuteCommand();
+ }
+
+ cSyQty = itemBarcodeDetails.Quantity.Value;
+
+ entity.id = cId.ToString();
+ entity.PageIndex = 1;
+ entity.Limit = 1;
+
+ itemBarcodeDetails.Hbdy ??= 0;
+ if (itemBarcodeDetails.Hbdy == 1)
+ {
+ var details = db.Queryable<MesInvItemArnDetail>()
+ .Where(d =>
+ d.CbillNo == itemBarcodeDetails.BillNo &&
+ d.Quantity != d.OkRkqty &&
+ d.ItemId == itemBarcodeDetails.ItemId)
+ .ToList();
+
+
+ foreach (var detail in details)
+ {
+ if (cSyQty == 0) break;
+
+ var remainingQty = detail.Quantity - (detail.OkRkqty ?? 0);
+ if (remainingQty <= cSyQty)
+ {
+ // Update detail
+ db.Updateable<MesInvItemArnDetail>()
+ .SetColumns(d => new MesInvItemArnDetail
+ {
+ OkRkqty = (int)d.Quantity,
+ IsdepsIn = true
+ })
+ .Where(d => d.Guid == detail.Guid)
+ .IgnoreColumns(true)
+ .ExecuteCommand();
+
+ // Check if already inserted
+ var count = db.Queryable<MesInvItemInCItems>()
+ .Where(it =>
+ it.ItemInId == cId &&
+ it.ItemId == detail.ItemId &&
+ it.DepotId == mesDepost.DepotId.ToString() &&
+ it.EbelnK3id == detail.EbelnK3id &&
+ it.LineK3id == detail.LineK3id)
+ .Count();
+
+ cSyQty -= remainingQty.Value;
+
+ if (count == 0)
+ // Insert new item into MES_INV_ITEM_IN_C_ITEMS
+ db.Insertable(new MesInvItemInCItems
+ {
+ ItemInId = cId,
+ Quantity = remainingQty,
+ CreateBy = user,
+ CreateDate = DateTime.Now,
+ ItemId = detail.ItemId,
+ DepotCode = mesDepost.DepotCode,
+ ItemSname = itemBarcodeDetails.ItemSname,
+ Unit = itemBarcodeDetails.Unit,
+ Ebeln = detail.Ebeln,
+ BillNo = cBillNo,
+ WorkNo = detail.WorkNo,
+ CbillNo = detail.CbillNo,
+ WorkLine = detail.WorkLine,
+ SuppId = itemBarcodeDetails.SuppId,
+ SuppNo = itemBarcodeDetails.SuppNo,
+ Remark = itemBarcodeDetails.Memo,
+ EbelnK3id = detail.EbelnK3id,
+ LineK3id = detail.LineK3id,
+ DepotId = mesDepost.DepotId.ToString(),
+ itemDabid = itemBarcodeDetails.AboutGuid.ToString()
+ }).IgnoreColumns(true).ExecuteCommand();
+ else
+ db.Updateable<MesInvItemInCItems>()
+ .SetColumns(it =>
+ it.Quantity == it.Quantity + remainingQty)
+ .Where(it =>
+ it.ItemInId == cId &&
+ it.ItemId == detail.ItemId &&
+ it.DepotId == mesDepost.DepotId.ToString() &&
+ it.EbelnK3id == detail.EbelnK3id &&
+ it.LineK3id == detail.LineK3id)
+ .IgnoreColumns(true)
+ .ExecuteCommand();
+
+ // Insert new detail into MES_INV_ITEM_IN_C_DETAILS
+ db.Insertable(new MesInvItemInCDetails
+ {
+ ItemInId = cId,
+ BillNo = cBillNo,
+ ItemBarcode = itemBarcode,
+ Quantity = remainingQty,
+ BarcodeFlag = true,
+ EpFlag = true,
+ WorkType = 1,
+ ItemNo = detail.ItemNo,
+ SuppId = itemBarcodeDetails.SuppId,
+ SuppNo = itemBarcodeDetails.SuppNo,
+ DepotCode = mesDepost.DepotCode,
+ DepotSectionCode = sectionCode,
+ ItemSname = itemBarcodeDetails.ItemSname,
+ Unit = itemBarcodeDetails.Unit,
+ CreateBy = user,
+ CreateDate = DateTime.Now,
+ LastupdateBy = user,
+ LastupdateDate = DateTime.Now,
+ Remark = itemBarcodeDetails.Memo,
+ Ebeln = detail.WorkNo,
+ WorkNo = detail.WorkNo,
+ WorkLine = detail.WorkLine,
+ CbillNo = itemBarcodeDetails.BillNo,
+ UrgentFlag = detail.UrgentFlag,
+ BoardStyle = detail.BoardStyle,
+ TaskNo = detail.WorkNo,
+ EbelnK3id = detail.EbelnK3id,
+ LineK3id = detail.LineK3id,
+ ItemId = detail.ItemId,
+ ReceiveOrgId = inventory.ReceiveOrgId,
+ LotNo = cgddDetails.BatchNumber
+ }).IgnoreColumns(true).ExecuteCommand();
+ }
+ else
+ {
+ // Partially fulfill remaining quantity
+ db.Updateable<MesInvItemArnDetail>()
+ .SetColumns(d => new MesInvItemArnDetail
+ {
+ OkRkqty = (int)((d.OkRkqty ?? 0) + cSyQty)
+ })
+ .Where(d => d.Guid == detail.Guid)
+ .IgnoreColumns(true)
+ .ExecuteCommand();
+
+ var count = db.Queryable<MesInvItemInCItems>()
+ .Where(it =>
+ it.ItemInId == cId &&
+ it.ItemId == detail.ItemId &&
+ it.DepotId == mesDepost.DepotId.ToString() &&
+ it.EbelnK3id == detail.EbelnK3id &&
+ it.LineK3id == detail.LineK3id)
+ .Count();
+
+ if (count == 0)
+ db.Insertable(new MesInvItemInCItems
+ {
+ ItemInId = cId,
+ Quantity = cSyQty,
+ CreateBy = user,
+ CreateDate = DateTime.Now,
+ ItemNo = detail.ItemNo,
+ DepotCode = mesDepost.DepotCode,
+ ItemSname = itemBarcodeDetails.ItemSname,
+ Unit = itemBarcodeDetails.Unit,
+ Ebeln = detail.WorkNo,
+ BillNo = cBillNo,
+ WorkNo = detail.WorkNo,
+ EbelnLineNo = detail.EbelnLine,
+ CbillNo = detail.CbillNo,
+ WorkLine = detail.WorkLine,
+ SuppId = itemBarcodeDetails.SuppId,
+ SuppNo = itemBarcodeDetails.SuppNo,
+ Remark = itemBarcodeDetails.Memo,
+ EbelnK3id = detail.EbelnK3id,
+ LineK3id = detail.LineK3id,
+ ItemId = detail.ItemId,
+ DepotId = mesDepost.DepotId.ToString()
+ }).IgnoreColumns(true).ExecuteCommand();
+ else
+ db.Updateable<MesInvItemInCItems>()
+ .SetColumns(it =>
+ it.Quantity == it.Quantity + cSyQty)
+ .Where(it =>
+ it.ItemInId == cId &&
+ it.ItemId == detail.ItemId &&
+ it.DepotId == mesDepost.DepotId.ToString() &&
+ it.EbelnK3id == detail.EbelnK3id &&
+ it.LineK3id == detail.LineK3id)
+ .IgnoreColumns(true)
+ .ExecuteCommand();
+
+ db.Insertable(new MesInvItemInCDetails
+ {
+ ItemInId = cId,
+ BillNo = cBillNo,
+ ItemBarcode = itemBarcode,
+ Quantity = cSyQty,
+ BarcodeFlag = true,
+ EpFlag = true,
+ WorkType = 1,
+ ItemNo = detail.ItemNo,
+ SuppId = itemBarcodeDetails.SuppId,
+ SuppNo = itemBarcodeDetails.SuppNo,
+ DepotCode = mesDepost.DepotCode,
+ DepotSectionCode = sectionCode,
+ ItemSname = itemBarcodeDetails.ItemSname,
+ Unit = itemBarcodeDetails.Unit,
+ CreateBy = user,
+ CreateDate = DateTime.Now,
+ LastupdateBy = user,
+ LastupdateDate = DateTime.Now,
+ Remark = itemBarcodeDetails.Memo,
+ Ebeln = detail.WorkNo,
+ EbelnLineNo = detail.EbelnLine,
+ WorkNo = detail.WorkNo,
+ WorkLine = detail.WorkLine,
+ CbillNo = itemBarcodeDetails.BillNo,
+ UrgentFlag = detail.UrgentFlag,
+ BoardStyle = detail.BoardStyle,
+ TaskNo = detail.WorkNo,
+ EbelnK3id = detail.EbelnK3id,
+ LineK3id = detail.LineK3id,
+ ItemId = detail.ItemId,
+ ReceiveOrgId = inventory.ReceiveOrgId,
+ LotNo = cgddDetails.BatchNumber
+ }).IgnoreColumns(true).ExecuteCommand();
+
+ cSyQty = 0; // Remaining quantity fulfilled
+ }
+ }
+
+ db.Insertable(new MesInvBusiness2
+ {
+ Status = 1,
+ BillTypeId = billTypeId,
+ TransactionCode = transactionNo,
+ BusinessType = 1,
+ ItemBarcode = itemBarcode,
+ ItemNo = itemBarcodeDetails.ItemNo,
+ LotNo = cgddDetails.BatchNumber,
+ EpFlag = true,
+ Quantity = itemBarcodeDetails.Quantity,
+ ToInvDepotsCode = mesDepost.DepotCode,
+ ToInvDepotSectionsCode = sectionCode,
+ Description = "閲囪喘鍏ュ簱",
+ CreateBy = user,
+ CreateDate = DateTime.Now,
+ LastupdateBy = user,
+ LastupdateDate = DateTime.Now,
+ TaskNo = itemBarcodeDetails.BillNo,
+ BillNo = cBillNo,
+ WorkNo = itemBarcodeDetails.WorkNo,
+ WorkLine = itemBarcodeDetails.WorkLine,
+ SuppId = itemBarcodeDetails.SuppId,
+ SuppNo = itemBarcodeDetails.SuppNo,
+ EbelnK3id = itemBarcodeDetails.EbelnK3id,
+ LineK3id = itemBarcodeDetails.LineK3id,
+ ItemId = itemBarcodeDetails.ItemId
+ }).IgnoreColumns(true).ExecuteCommand();
+
+ // Insert into mes_inv_item_stocks
+ }
+ else
+ {
+ var detailone = db.Queryable<MesInvItemArnDetail>()
+ .Where(d =>
+ d.Guid == itemBarcodeDetails.AboutGuid)
+ .First();
+
+ // 妫�鏌ユ槸鍚﹀瓨鍦ㄤ簬 MES_INV_ITEM_IN_C_ITEMS 琛�
+ var existingCount = db.Queryable<MesInvItemInCItems>()
+ .Where(it =>
+ it.ItemInId == cId &&
+ it.ItemId == detailone.ItemId &&
+ it.DepotId == mesDepost.DepotId.ToString() &&
+ it.itemDabid == itemBarcodeDetails.AboutGuid.ToString())
+ .Count();
+
+ if (existingCount == 0)
+ // 涓嶅瓨鍦ㄦ椂鎻掑叆鏂拌褰�
+ db.Insertable(new MesInvItemInCItems
+ {
+ ItemInId = cId,
+ Quantity = itemBarcodeDetails.Quantity,
+ CreateBy = user,
+ CreateDate = DateTime.Now,
+ ItemNo = itemBarcodeDetails.ItemNo,
+ DepotCode = mesDepost.DepotCode,
+ ItemSname = itemBarcodeDetails.ItemSname,
+ Unit = itemBarcodeDetails.Unit,
+ Ebeln = itemBarcodeDetails.WorkNo,
+ BillNo = cBillNo,
+ WorkNo = itemBarcodeDetails.WorkNo,
+ EbelnLineNo = itemBarcodeDetails.WorkLine,
+ CbillNo = itemBarcodeDetails.BillNo,
+ WorkLine = itemBarcodeDetails.WorkLine,
+ SuppId = itemBarcodeDetails.SuppId,
+ SuppNo = itemBarcodeDetails.SuppNo,
+ Remark = itemBarcodeDetails.Memo,
+ EbelnK3id = itemBarcodeDetails.EbelnK3id,
+ LineK3id = itemBarcodeDetails.LineK3id,
+ ItemId = itemBarcodeDetails.ItemId,
+ DepotId = mesDepost.DepotId.ToString(),
+ itemDabid = itemBarcodeDetails.AboutGuid.ToString()
+ }).IgnoreColumns(true).ExecuteCommand();
+ else
+ // 瀛樺湪鏃舵洿鏂版暟閲�
+ db.Updateable<MesInvItemInCItems>()
+ .SetColumns(it => new MesInvItemInCItems
+ {
+ Quantity = SqlFunc.IsNull(it.Quantity, 0) + itemBarcodeDetails.Quantity // 纭繚 Quantity 涓嶄负 null
+ })
+ .Where(it =>
+ it.ItemInId == cId &&
+ it.ItemId == detailone.ItemId &&
+ it.DepotId == mesDepost.DepotId.ToString() &&
+ it.itemDabid == itemBarcodeDetails.AboutGuid.ToString())
+ //.IgnoreColumns(true) // 淇濈暀 IgnoreColumns
+ .ExecuteCommand();
+
+ // 鎻掑叆 mes_inv_item_in_c_details 琛�
+ db.Insertable(new MesInvItemInCDetails
+ {
+ ItemInId = cId,
+ BillNo = cBillNo,
+ ItemBarcode = itemBarcode,
+ Quantity = itemBarcodeDetails.Quantity,
+ BarcodeFlag = true,
+ EpFlag = true,
+ WorkType = 1,
+ ItemNo = itemBarcodeDetails.ItemNo,
+ LotNo = cgddDetails.BatchNumber,
+ SuppId = itemBarcodeDetails.SuppId,
+ SuppNo = itemBarcodeDetails.SuppNo,
+ DepotCode = mesDepost.DepotCode,
+ DepotSectionCode = sectionCode,
+ ItemSname = itemBarcodeDetails.ItemSname,
+ Unit = itemBarcodeDetails.Unit,
+ CreateBy = user,
+ CreateDate = DateTime.Now,
+ LastupdateBy = user,
+ LastupdateDate = DateTime.Now,
+ Remark = itemBarcodeDetails.Memo,
+ Ebeln = itemBarcodeDetails.Mblnr,
+ EbelnLineNo = itemBarcodeDetails.Zeile,
+ WorkNo = itemBarcodeDetails.WorkNo,
+ WorkLine = itemBarcodeDetails.WorkLine,
+ CbillNo = itemBarcodeDetails.BillNo,
+ UrgentFlag = itemBarcodeDetails.UrgentFlag,
+ BoardStyle = itemBarcodeDetails.BoardStyle,
+ TaskNo = itemBarcodeDetails.TaskNo,
+ EbelnK3id = itemBarcodeDetails.EbelnK3id,
+ LineK3id = itemBarcodeDetails.LineK3id,
+ ItemId = itemBarcodeDetails.ItemId,
+ Ischeck = true,
+ CheckDate = inventoryDetails.CheckDate,
+ CheckRes = inventoryDetails.CheckRes,
+ CheckStates = inventoryDetails.CheckStates,
+ ReceiveOrgId = inventory.ReceiveOrgId,
+ DepotId = Convert.ToInt64(mesDepost.DepotId.ToString())
+ }).IgnoreColumns(true).ExecuteCommand();
+
+ // 鎻掑叆 mes_inv_business2 琛�
+ db.Insertable(new MesInvBusiness2
+ {
+ Status = 1,
+ BillTypeId = billTypeId,
+ TransactionCode = transactionNo,
+ BusinessType = 1,
+ ItemBarcode = itemBarcode,
+ ItemNo = itemBarcodeDetails.ItemNo,
+ LotNo = itemBarcodeDetails.LotNo,
+ EpFlag = true,
+ Quantity = itemBarcodeDetails.Quantity,
+ FromInvDepotsCode = null,
+ FromInvDepotSectionsCode = null,
+ ToInvDepotsCode = mesDepost.DepotCode,
+ ToInvDepotSectionsCode = sectionCode,
+ Description = "閲囪喘鍏ュ簱",
+ CreateBy = user,
+ CreateDate = DateTime.Now,
+ LastupdateBy = user,
+ LastupdateDate = DateTime.Now,
+ TaskNo = itemBarcodeDetails.TaskNo,
+ BillNo = cBillNo,
+ WorkNo = itemBarcodeDetails.WorkNo,
+ WorkLine = itemBarcodeDetails.WorkLine,
+ SuppId = itemBarcodeDetails.SuppId,
+ SuppNo = itemBarcodeDetails.SuppNo,
+ EbelnK3id = itemBarcodeDetails.EbelnK3id,
+ LineK3id = itemBarcodeDetails.LineK3id,
+ ItemId = itemBarcodeDetails.ItemId
+ }).IgnoreColumns(true).ExecuteCommand();
+
+ // 鎻掑叆 mes_inv_item_stocks 琛�
+ }
+
+
+
+ db.Insertable(new MesInvItemStocks
+ {
+ TaskNo = itemBarcodeDetails.TaskNo,
+ ItemBarcode = itemBarcode,
+ ItemNo = cgddDetails.BatchNumber,
+ LotNo = itemBarcodeDetails.LotNo,
+ Quantity = itemBarcodeDetails.Quantity,
+ DepotsCode = mesDepost.DepotCode,
+ DepotSectionsCode = sectionCode,
+ CheckDate = inventoryDetails.CheckDate,
+ IndepDate = DateTime.Now,
+ IqcStatus = inventoryDetails.CheckStates,
+ BoardStyle = itemBarcodeDetails.BoardStyle,
+ WorkNo = itemBarcodeDetails.WorkNo,
+ WorkLine = itemBarcodeDetails.WorkLine,
+ SuppId = itemBarcodeDetails.SuppId,
+ SuppNo = itemBarcodeDetails.SuppNo,
+ EbelnK3id = itemBarcodeDetails.EbelnK3id,
+ LineK3id = itemBarcodeDetails.LineK3id,
+ ItemId = itemBarcodeDetails.ItemId,
+ BillNo = itemBarcodeDetails.BillNo,
+ DepotId = Convert.ToInt32(mesDepost.DepotId),
+ OwnerId = cgddDetails.DemandOrg,
+ OwnerType = owner_type,
+ StockOrgId = mesDepost.FSubsidiary,
+ IndepUserCode = user
+ }).IgnoreColumns(true).ExecuteCommand();
+
+ itemBarcodeDetails.Hbdy ??= 0;
+
+ if (itemBarcodeDetails.Hbdy != 1)
+ {
+ //鏇存柊鏀舵枡鍗曟槑缁�
+ db.Updateable<MesInvItemArnDetail>()
+ .SetColumns(d => new MesInvItemArnDetail
+ {
+ OkRkqty = (int)((d.OkRkqty ?? 0) + cSyQty)
+ })
+ .Where(d => d.Guid == itemBarcodeDetails.AboutGuid)
+ .ExecuteCommand();
+
+ var first = db
+ .Queryable<MesInvItemArnDetail>()
+ .Where(b =>
+ b.Guid == itemBarcodeDetails.AboutGuid)
+ .Select(b => new
+ {
+ TotalQuantity =
+ SqlFunc.AggregateSum(b.Quantity),
+ TotalOkRkQty = SqlFunc.AggregateSum(b.OkRkqty)
+ })
+ .First();
+
+ var TotalQuantity = first.TotalQuantity ?? 0;
+ var TotalOkRkQty = first.TotalOkRkQty ?? 0;
+
+ if (TotalQuantity == TotalOkRkQty)
+ db.Updateable<MesInvItemArnDetail>()
+ .SetColumns(s => s.IsdepsIn == true)
+ .Where(s => s.Guid == itemBarcodeDetails.AboutGuid)
+ .ExecuteCommand();
+
+
+ var totalSummary = db.Queryable<MesInvItemArnDetail>()
+ .InnerJoin<MesInvItemArn>((b, a) => a.Guid == b.ParentGuid)
+ .Where((b, a) =>
+ a.BillNo == inventory.BillNo && b.ReturnFlag == 0)
+ .Select((b, a) => new
+ {
+ TotalQuantity = SqlFunc.AggregateSum(b.Quantity),
+ TotalOkRkQty = SqlFunc.AggregateSum(b.OkRkqty)
+ })
+ .First();
+
+ if ((totalSummary.TotalQuantity ?? 0) ==
+ (totalSummary.TotalOkRkQty ?? 0))
+ db.Updateable<MesInvItemArn>()
+ .SetColumns(it => it.Status == 1)
+ .Where(it => it.BillNo == itemBarcodeDetails.BillNo)
+ .ExecuteCommand();
+
+ var totalCDetailsQuantity = db.Queryable<MesInvItemInCDetails>()
+ .Where(it => it.ItemId == itemBarcodeDetails.ItemId &&
+ it.WorkNo == itemBarcodeDetails.WorkNo &&
+ it.ItemInId == cId)
+ .Sum(it => it.Quantity);
+
+ var detailSummary = db.Queryable<MesInvItemArnDetail>()
+ .Where(it => it.Guid == inventoryDetails.Guid)
+ .Select(it => new
+ {
+ TotalComeQty = SqlFunc.AggregateSum(it.Quantity),
+ TotalInvQty = SqlFunc.AggregateSum(it.OkRkqty)
+ })
+ .First();
+
+ var comeQty = detailSummary.TotalComeQty ?? 0;
+ var invQty = detailSummary.TotalInvQty ?? 0;
+ var diffQty = comeQty - invQty;
+
+ if (detailSummary == null)
+ throw new Exception("姝ゆ潯鐮佹壘涓嶅埌瀵瑰簲鏀惰揣鍗曟槑缁嗭紒");
+
+ var mesItems = db.Queryable<MesItems>()
+ .Where(s => s.Id == itemBarcodeDetails.ItemId).First();
+
+ //result.Message =
+ // $"鏉$爜鏁伴噺 {itemBarcodeDetails.Quantity},閲囪喘璁㈠崟 {itemBarcodeDetails.WorkNo} 椤规 {itemBarcodeDetails.WorkLine} 鐗╂枡 {mesItems.ItemNo} 鏈鍏ュ簱鎬绘暟锛歿totalCDetailsQuantity} 鎬诲埌 {comeQty} 宸插叆 {invQty} 娆� {diffQty}";
+ result.Message = $"鐗╂枡{mesItems.ItemNo}鍏ュ簱鎴愬姛鏁伴噺{itemBarcodeDetails.Quantity.ToString()}";
+
+ result.itemDetail = mesItems;
+
+ result.ItemInDetails = db.Queryable<MesInvItemInCItems,MesItems>(
+ (a, b) => new JoinQueryInfos(
+ JoinType.Left,
+ a.ItemId == b.ItemId)
+ )
+ .Where(a => a.ItemInId == cId && a.ItemId == itemBarcodeDetails.ItemId)
+ .Select<dynamic>((a, b) => new
+ {
+ ItemNo = b.ItemNo,
+ ItemName = b.ItemName,
+ ItemModel = b.ItemModel,
+ FQty = a.Quantity, // 鐢宠鏁伴噺
+ FMaterialId = b.ItemId,
+ Id = b.Guid.ToString()
+ })
+ .ToList();
+
+ result.ItemBarCDetails = db.Queryable<MesInvItemInCDetails, MesItems>(
+ (a, b) => new JoinQueryInfos(
+ JoinType.Left,
+ a.ItemId == b.ItemId)
+ )
+ .Where(a => a.ItemInId == cId && a.ItemId == itemBarcodeDetails.ItemId)
+ .Select<dynamic>((a, b) => new
+ {
+ ItemNo = b.ItemNo,
+ ItemName = b.ItemName,
+ ItemModel = b.ItemModel,
+ FQty = a.Quantity, // 鐢宠鏁伴噺
+ FMaterialId = b.ItemId,
+ Id = a.Guid.ToString(),
+ kw = a.DepotSectionCode,
+ barcode = a.ItemBarcode
+ })
+ .ToList();
+
+
+ //result.ItemNo = mesItems.ItemNo;
+ result.SumQuantity = Convert.ToDecimal(invQty);
+
+ return 1;
+ }
+ else
+ {
+ // Step 1: Check if bill needs to be closed (status update)
+ var totalSummary = db.Queryable<MesInvItemArnDetail>()
+ .LeftJoin<MesInvItemArn>((b, a) => a.Guid == b.ParentGuid)
+ .Where((b, a) =>
+ a.BillNo == inventory.BillNo && b.ReturnFlag == 0)
+ .Select((b, a) => new
+ {
+ TotalQuantity = SqlFunc.AggregateSum(b.Quantity),
+ TotalOkRkQty = SqlFunc.AggregateSum(b.OkRkqty)
+ })
+ .First();
+
+ if ((totalSummary.TotalQuantity ?? 0) ==
+ (totalSummary.TotalOkRkQty ?? 0))
+ db.Updateable<MesInvItemArn>()
+ .SetColumns(it => it.Status == 1)
+ .Where(it => it.BillNo == itemBarcodeDetails.BillNo)
+ .ExecuteCommand();
+
+ // Step 2: Calculate total sum from `mes_inv_item_in_c_details`
+ var totalCDetailsQuantity = db.Queryable<MesInvItemInCDetails>()
+ .Where(it => it.Guid == itemBarcodeDetails.AboutGuid)
+ .Sum(it => it.Quantity);
+
+ // Step 3: Calculate comeQty and invQty from `mes_inv_item_arn_detail`
+ var detailSummary = db.Queryable<MesInvItemArnDetail>()
+ .Where(it => it.Guid == itemBarcodeDetails.AboutGuid)
+ .Select(it => new
+ {
+ TotalComeQty = SqlFunc.AggregateSum(it.Quantity),
+ TotalInvQty = SqlFunc.AggregateSum(it.OkRkqty)
+ })
+ .First();
+
+ if (detailSummary == null)
+ throw new Exception("姝ゆ潯鐮佹壘涓嶅埌瀵瑰簲鏀惰揣鍗曟槑缁嗭紒");
+
+ var comeQty = detailSummary.TotalComeQty ?? 0;
+ var invQty = detailSummary.TotalInvQty ?? 0;
+ var diffQty = comeQty - invQty;
+
+ var mesItems = db.Queryable<MesItems>()
+ .Where(s => s.Id == itemBarcodeDetails.ItemId).First();
+
+ // Step 5: Combine final result
+ result.Message =
+ $" 鏉$爜鏁伴噺:{itemBarcodeDetails.Quantity},鐗╂枡 {mesItems.ItemNo} 鏈鍏ュ簱鎬绘暟锛歿totalCDetailsQuantity} 鎬诲埌 {comeQty} 宸插叆 {invQty} 娆� {diffQty}";
+
+
+ //result.ItemNo = mesItems.ItemNo;
+ result.SumQuantity = Convert.ToDecimal(totalCDetailsQuantity);
+ }
+
+ var mesInvItemInCDetails =
+ base.GetSingle(it => it.ItemBarcode == entity.barcode);
+
+ if (mesInvItemInCDetails == null)
+ throw new Exception("鐗╂枡鍏ュ簱鏉$爜鏄庣粏涓嶅瓨鍦�"); // 鎶涘嚭寮傚父浠ヤ緵鍓嶅彴澶勭悊
+
+ // 鍒涘缓 鎻掑叆鏃ュ織
+ var logService = new LogService();
+ var LogMsg = "銆怭DA銆戦噰璐叆搴撱�傛潯鐮併��" + entity.barcode + "銆� 鍏ュ簱鍗曞彿銆�" + cBillNo + "銆�";
+ logService.CreateLog(db, entity.userName, inventory.Guid.ToString(), "MES_INV_ITEM_ARN", LogMsg, inventory.BillNo);
+
+ return 1;
+ });
+
+ var purchaseInventory = getPurchaseInventory(entity);
+
+
+ //result.ItemInDetails = purchaseInventory.ItemInDetails;
+ //result.InvItemInCDetails = purchaseInventory.InvItemInCDetails;
+
+ return result;
+ }
+ */
public ItemInBaseModel getPurchaseInventory(WarehouseQuery query)
{
return new ItemInBaseModel
@@ -1204,4 +1278,259 @@
return encodedUrl;
}
+
+ // 楠岄��鎵爜
+ public ItemInBaseModel GetReturnBarcodeInfo(WarehouseQuery entity)
+ {
+ ItemInBaseModel res = new ItemInBaseModel();
+
+ // 鍙傛暟楠岃瘉
+ if (string.IsNullOrEmpty(entity.userName)) throw new ArgumentNullException(nameof(entity.userName), "鐢ㄦ埛鍚嶄笉鍏佽涓虹┖");
+ if (string.IsNullOrEmpty(entity.sectionCode)) throw new ArgumentNullException(nameof(entity.sectionCode), "搴撲綅缂栧彿涓嶅厑璁镐负绌�");
+ if (string.IsNullOrEmpty(entity.returnBarcode)) throw new ArgumentNullException(nameof(entity.returnBarcode), "鏉$爜涓嶅厑璁镐负绌�");
+
+ try
+ {
+ // 妫�鏌ユ潯鐮佹槸鍚﹀凡鍏ュ簱
+ var isInStock = Db.Queryable<MesInvItemInCDetails>()
+ .Where(it => it.ItemBarcode == entity.returnBarcode)
+ .Any();
+
+ if (isInStock)
+ throw new Exception($"璇ユ潯鐮佺墿鏂橻{entity.returnBarcode}]宸插叆搴擄紝涓嶈兘鍐嶆鎵弿锛�");
+
+ // 妫�鏌ユ潯鐮佹槸鍚﹀凡鎵弿楠岄��
+ var sqlParams = new List<SugarParameter> { new("@barcode", entity.returnBarcode) };
+ var isReturnScanned = Db.Ado.SqlQuery<dynamic>(
+ "SELECT 1 FROM MES_INV_ITEM_CGYT_C_DETAILS WHERE ITEM_BARCODE = @barcode",
+ sqlParams);
+
+
+ if (isReturnScanned.Count > 0)
+ throw new Exception($"璇ユ潯鐮佺墿鏂橻{entity.returnBarcode}]宸叉壂鎻忛獙閫�锛岃鏍稿锛�");
+ // 浣跨敤鍙傛暟鍖栨煡璇㈠苟蹇界暐澶у皬鍐欙紙閫傜敤浜庢敮鎸佺殑鏁版嵁搴擄級
+ var itemBarcode = Db.Queryable<MesInvItemBarcodes>()
+ .Where(it => it.ItemBarcode.Trim().ToLower() == entity.returnBarcode.Trim().ToLower())
+ .First() ?? throw new InvalidOperationException($"鏈壘鍒版潯鐮� '{entity.returnBarcode}' 鐨勫尮閰嶄俊鎭�");
+
+ // 灏嗘煡璇㈠埌鐨勬潯鐮佷俊鎭祴鍊肩粰杩斿洖妯″瀷
+ res.itemBarcodeDetails = itemBarcode;
+
+
+ res.Message = "鏌ヨ鎴愬姛";
+
+
+ return res;
+ }
+ catch (Exception ex)
+ {
+ // 璁板綍寮傚父鏃ュ織锛堝缓璁ˉ鍏呭叿浣撴棩蹇楄褰曚唬鐮侊級
+ res.Message = $"鎿嶄綔澶辫触: {ex.Message}";
+ res.SumQuantity = -1;
+ return res;
+ }
+ }
+
+ // 楠岄��
+ public ItemInBaseModel ConfirmReturn(WarehouseQuery entity)
+ {
+ ItemInBaseModel res = new ItemInBaseModel();
+
+ // 鍙傛暟楠岃瘉
+ if (string.IsNullOrEmpty(entity.userName)) throw new ArgumentNullException(nameof(entity.userName), "鐢ㄦ埛鍚嶄笉鍏佽涓虹┖");
+ if (string.IsNullOrEmpty(entity.sectionCode)) throw new ArgumentNullException(nameof(entity.sectionCode), "搴撲綅缂栧彿涓嶅厑璁镐负绌�");
+ if (string.IsNullOrEmpty(entity.returnBarcode)) throw new ArgumentNullException(nameof(entity.returnBarcode), "鏉$爜涓嶅厑璁镐负绌�");
+ if (entity.returnQuantity <= 0) throw new ArgumentException("楠岄��鏁伴噺蹇呴』澶т簬0", nameof(entity.returnQuantity));
+
+ try
+ {
+ // 妫�鏌ユ潯鐮佹槸鍚﹀凡鍏ュ簱
+ var isInStock = Db.Queryable<MesInvItemInCDetails>()
+ .Where(it => it.ItemBarcode == entity.returnBarcode)
+ .Any();
+
+ if (isInStock)
+ throw new Exception($"璇ユ潯鐮佺墿鏂橻{entity.returnBarcode}]宸插叆搴擄紝涓嶈兘鍐嶆鎵弿锛�");
+
+ // 妫�鏌ユ潯鐮佹槸鍚﹀凡鎵弿楠岄��
+ var sqlParams = new List<SugarParameter> { new("@barcode", entity.returnBarcode) };
+ var isReturnScanned = Db.Ado.SqlQuery<dynamic>(
+ "SELECT 1 FROM MES_INV_ITEM_CGYT_C_DETAILS WHERE ITEM_BARCODE = @barcode",
+ sqlParams);
+
+ // 浣跨敤鍙傛暟鍖栨煡璇㈠苟蹇界暐澶у皬鍐欙紙閫傜敤浜庢敮鎸佺殑鏁版嵁搴擄級
+ var itemBarcode = Db.Queryable<MesInvItemBarcodes>()
+ .Where(it => it.ItemBarcode.Trim().ToLower() == entity.returnBarcode.Trim().ToLower())
+ .First() ?? throw new InvalidOperationException($"鏈壘鍒版潯鐮� '{entity.returnBarcode}' 鐨勫尮閰嶄俊鎭�");
+
+ // 鍒ゆ柇楠岄��鏁伴噺鏄惁澶т簬鏉$爜鐨勬暟閲忥紙鍋囪鏉$爜鏁伴噺瀛楁涓篞uantity锛�
+ if (entity.returnQuantity > itemBarcode.Quantity)
+ {
+ throw new ArgumentException($"楠岄��鏁伴噺涓嶈兘澶т簬鏉$爜鐨勬暟閲忥紝褰撳墠鏉$爜鏁伴噺涓�: {itemBarcode.Quantity}", nameof(entity.returnQuantity));
+ }
+ // 灏嗘煡璇㈠埌鐨勬潯鐮佷俊鎭祴鍊肩粰杩斿洖妯″瀷
+ res.itemBarcodeDetails = itemBarcode;
+
+ // 璋冪敤瀛樺偍杩囩▼ prc_pda_bar_cf_before
+ string strMsg = "";
+ string intSum = "";
+ string cfBar = "";
+
+ using (var conn = new SqlConnection(DbHelperSQL.strConn))
+ {
+ using (var cmd = new SqlCommand("[prc_pda_bar_cf_before]", conn))
+ {
+ conn.Open();
+ cmd.CommandType = CommandType.StoredProcedure;
+ SqlParameter[] parameters =
+ {
+ new("@outMsg", SqlDbType.NVarChar, 300),
+ new("@outSum", SqlDbType.NVarChar, 300),
+ new("@barcode_new", SqlDbType.NVarChar, 300),
+ new("@c_user", entity.userName),
+ new("@p_old_barcode", entity.returnBarcode),
+ new("@p_qty", entity.returnQuantity),
+ };
+ parameters[0].Direction = ParameterDirection.Output;
+ parameters[1].Direction = ParameterDirection.Output;
+ parameters[2].Direction = ParameterDirection.Output;
+
+ foreach (var parameter in parameters)
+ cmd.Parameters.Add(parameter);
+ cmd.ExecuteNonQuery();
+ strMsg = parameters[0].Value.ToString();
+ intSum = parameters[1].Value.ToString();
+ cfBar = parameters[2].Value.ToString();
+
+ var result = Convert.ToInt32(intSum);
+ if (result <= 0) throw new Exception(strMsg);
+ }
+ }
+
+ // 璋冪敤楠岄��瀛樺偍杩囩▼ prc_pda_scan_CGYT锛屼娇鐢ㄦ媶鍒嗗悗鐨勬柊鏉$爜
+ string ytMsg = "";
+ string ytSum = "";
+ string ytdh = "";
+
+ using (var conn = new SqlConnection(DbHelperSQL.strConn))
+ {
+ using (var cmd = new SqlCommand("prc_pda_scan_CGYT", conn))
+ {
+ conn.Open();
+ cmd.CommandType = CommandType.StoredProcedure;
+ SqlParameter[] ytParameters =
+ {
+ new("@pi_user", SqlDbType.NVarChar, 100) { Value = entity.userName },
+ new("@pi_barcode", SqlDbType.NVarChar, 100) { Value = cfBar }, // 浣跨敤鎷嗗垎鍚庣殑鏂版潯鐮�
+ new("@po_outMsg", SqlDbType.NVarChar, 2000) { Direction = ParameterDirection.Output },
+ new("@po_outSum", SqlDbType.Int) { Direction = ParameterDirection.Output },
+ new("@po_ygdh", SqlDbType.NVarChar, 200) { Direction = ParameterDirection.Output }
+ };
+
+ cmd.Parameters.AddRange(ytParameters);
+ cmd.ExecuteNonQuery();
+
+ ytMsg = ytParameters[2].Value.ToString();
+ ytSum = ytParameters[3].Value.ToString();
+ ytdh = ytParameters[4].Value.ToString();
+
+ if (ytSum == "-1") throw new Exception(ytMsg);
+ }
+ }
+
+ // 璋冪敤鍏ュ簱瀛樺偍杩囩▼ prc_pda_inv_cgrk锛屼娇鐢ㄥ師濮嬫潯鐮�
+ string rkMsg = "";
+ string rkSum = "";
+
+ using (var conn = new SqlConnection(DbHelperSQL.strConn))
+ {
+ using (var cmd = new SqlCommand("prc_pda_inv_cgrk", conn))
+ {
+ conn.Open();
+ cmd.CommandType = CommandType.StoredProcedure;
+ SqlParameter[] rkParameters =
+ {
+ new("@pi_user", SqlDbType.NVarChar, 100) { Value = entity.userName },
+ new("@pi_barcode", SqlDbType.NVarChar, 100) { Value = entity.returnBarcode }, // 浣跨敤鍘熷鏉$爜
+ new("@pi_sectionCode", SqlDbType.NVarChar, 100) { Value = entity.sectionCode },
+ new("@pi_weight", SqlDbType.Decimal) { Value = entity.weight },
+ new("@po_outMsg", SqlDbType.NVarChar, 2000) { Direction = ParameterDirection.Output },
+ new("@po_outSum", SqlDbType.Int) { Direction = ParameterDirection.Output }
+ };
+
+ cmd.Parameters.AddRange(rkParameters);
+ cmd.ExecuteNonQuery();
+
+ rkMsg = rkParameters[3].Value.ToString();
+ rkSum = rkParameters[4].Value.ToString();
+
+ if (rkSum == "-1") throw new Exception(rkMsg);
+ }
+ }
+
+
+
+ // 浼樺寲鏌ヨ锛堝幓闄ょ┖鏍煎苟蹇界暐澶у皬鍐欙級
+ var mesInvItemInCDetails = Db.Queryable<MesInvItemInCDetails>()
+ .Where(it => it.ItemBarcode.Trim().ToLower() == entity.returnBarcode.Trim().ToLower())
+ .First() ?? throw new InvalidOperationException($"鏈壘鍒版潯鐮� '{entity.returnBarcode}' 鐨勫尮閰嶇殑鍏ュ簱淇℃伅");
+
+ // 浠庡叆搴撴潯鐮佷腑鑾峰彇鏈夋晥鐨処temInId
+ var cId = mesInvItemInCDetails.ItemInId; // 鍋囪瀛樺湪ItemInId灞炴��
+
+ // 鏌ヨ鐗╂枡姹囨�绘槑缁嗭紙浣跨敤鍙傛暟鍖栨煡璇㈤槻姝QL娉ㄥ叆锛�
+ var sql = @"
+ SELECT
+ b.Item_No AS ItemNo,
+ b.Item_Name AS ItemName,
+ b.Item_Model AS ItemModel,
+ a.Quantity AS FQty,
+ b.Item_Id AS FMaterialId,
+ CONVERT(VARCHAR(36), b.Guid) AS Id
+ FROM MES_INV_ITEM_IN_C_ITEMS a
+ LEFT JOIN Mes_Items b ON a.Item_Id = b.Item_Id
+ WHERE a.Item_In_Id = @cId AND a.Item_Id = @itemId";
+
+ res.ItemInDetails = Db.Ado.SqlQuery<dynamic>(sql, new { cId, itemId = itemBarcode.ItemId });
+
+ // 鏌ヨ鍏ュ簱鏉$爜鏄庣粏锛堜娇鐢ㄥ弬鏁板寲鏌ヨ闃叉SQL娉ㄥ叆锛�
+ var sql2 = @"
+ SELECT
+ b.Item_No AS ItemNo,
+ b.Item_Name AS ItemName,
+ b.Item_Model AS ItemModel,
+ a.Quantity AS FQty,
+ b.Item_Id AS FMaterialId,
+ CONVERT(VARCHAR(36), a.Guid) AS Id,
+ a.Depot_Section_Code AS kw,
+ a.Item_Barcode AS barcode
+ FROM Mes_Inv_Item_In_C_Details a
+ LEFT JOIN Mes_Items b ON a.Item_Id = b.Item_Id
+ WHERE a.Item_In_Id = @cId AND a.Item_Id = @itemId";
+
+ res.ItemBarCDetails = Db.Ado.SqlQuery<dynamic>(sql2, new { cId, itemId = itemBarcode.ItemId });
+
+
+ //鏌ヨ宸插叆搴撴�绘暟
+ var totalCDetailsQuantity = Db.Queryable<MesInvItemInCDetails>()
+ .Where(it => it.ItemInId == cId)
+ .Sum(it => it.Quantity);
+
+ res.SumQuantity = Convert.ToDecimal(totalCDetailsQuantity);
+
+
+ res.Message = $"楠岄��鎿嶄綔鎴愬姛锛屾媶鍒嗗悗鏉$爜锛歿cfBar}锛岄獙閫�鍗曞彿锛歿ytdh}";
+ // res.SumQuantity = res.ItemBarCDetails?.Count ?? 0;
+ res.SumQuantity = Convert.ToDecimal(totalCDetailsQuantity);
+ return res;
+ }
+ catch (Exception ex)
+ {
+ // 璁板綍寮傚父鏃ュ織锛堝缓璁ˉ鍏呭叿浣撴棩蹇楄褰曚唬鐮侊級
+ res.Message = $"鎿嶄綔澶辫触: {ex.Message}";
+ res.SumQuantity = -1;
+ return res;
+ }
+ }
+
}
\ No newline at end of file
diff --git a/service/Warehouse/MesItemBlManager.cs b/service/Warehouse/MesItemBlManager.cs
index 77535f6..a0ae6af 100644
--- a/service/Warehouse/MesItemBlManager.cs
+++ b/service/Warehouse/MesItemBlManager.cs
@@ -286,17 +286,7 @@
// Get output parameters
var outMsg = parameters.FirstOrDefault(p => p.ParameterName == "@OUT_MSG")?.Value?.ToString();
-
- int outSum;
- if (int.TryParse(parameters.FirstOrDefault(p => p.ParameterName == "@OUT_SUM")?.Value?.ToString(), out outSum))
- {
- // 鎴愬姛杞崲
- }
- else
- {
- outSum = -1;
- }
-
+ var outSum = Convert.ToInt32(parameters.FirstOrDefault(p => p.ParameterName == "@OUT_SUM")?.Value ?? -1);
var outCfBar = parameters.FirstOrDefault(p => p.ParameterName == "@OUT_CF_BAR")?.Value?.ToString();
// Handle the result
diff --git a/service/Warehouse/MesItemQtManager.cs b/service/Warehouse/MesItemQtManager.cs
index dc04c4b..e6438e5 100644
--- a/service/Warehouse/MesItemQtManager.cs
+++ b/service/Warehouse/MesItemQtManager.cs
@@ -117,33 +117,23 @@
if (existingBarcode) throw new Exception("姝ゆ潯鐮佸凡缁忔壂鐮佸嚭搴�,鍕块噸澶嶆壂鎻忥紒");
// 鑾峰彇鏉$爜淇℃伅
- MesInvItemBarcodes barcode;
- try
- {
- barcode = Db.Queryable<MesInvItemBarcodes>()
- .Where(it => it.ItemBarcode == p_item_barcode)
- .First();
- }
- catch
- {
- throw new Exception($"MES涓笉瀛樺湪姝ゆ潯鐮侊紝鏉$爜鍙凤細{p_item_barcode}锛岃鏍稿锛�");
- }
+ var barcode = Db.Queryable<MesInvItemBarcodes>()
+ .Where(it => it.ItemBarcode == p_item_barcode)
+ .First();
+
+ if (barcode == null)
+ throw new Exception($"mes涓笉瀛樺湪姝ゆ潯鐮�,璇锋牳瀵癸紒{p_item_barcode}");
// 鑾峰彇搴撳瓨淇℃伅
- MesInvItemStocks stock;
- try
- {
- stock = Db.Queryable<MesInvItemStocks>()
- .Where(it => it.ItemBarcode == p_item_barcode && it.Quantity > 0)
- .First();
- }
- catch
- {
- throw new Exception($"搴撳瓨涓棤姝ゆ潯鐮侊紝鏉$爜鍙凤細{p_item_barcode}锛岃妫�鏌ユ潯鐮佹槸鍚︽湭鍏ュ簱鎴栧凡鍑哄簱锛�");
- }
+ var stock = Db.Queryable<MesInvItemStocks>()
+ .Where(it => it.ItemBarcode == p_item_barcode && it.Quantity > 0)
+ .First();
+
+ if (stock == null)
+ throw new Exception($"搴撳瓨涓棤姝ゆ潯鐮侊紝璇锋鏌ユ潯鐮佹槸鍚︽湭鍏ュ簱鎴栧凡鍑哄簱锛亄p_item_barcode}");
if (string.IsNullOrEmpty(stock.DepotsCode))
diff --git a/service/Warehouse/MesItemQtrkManager.cs b/service/Warehouse/MesItemQtrkManager.cs
index 90e859d..9443399 100644
--- a/service/Warehouse/MesItemQtrkManager.cs
+++ b/service/Warehouse/MesItemQtrkManager.cs
@@ -93,15 +93,10 @@
MES_DEPOTS b ON a.depot_guid = b.Guid
WHERE a.depot_section_code = @sectionCode;";
- dynamic depotInfo;
- try
- {
- depotInfo = Db.Ado.SqlQuery<dynamic>(sql2, sqlParams).First();
- }
- catch
- {
+ var depotInfo = Db.Ado.SqlQuery<dynamic>(sql2, sqlParams).First();
+
+ if (depotInfo is null)
throw new Exception($"搴撲綅缂栫爜 {sectionCode} 涓嶅瓨鍦紝璇风‘璁わ紒");
- }
// 5. 杩斿洖鎴愬姛淇℃伅
return depotInfo;
@@ -123,23 +118,18 @@
throw new Exception("璇锋壂搴撲綅鏉$爜锛�");
// 2. 鏌ヨ搴撲綅瀵瑰簲鐨勪粨搴撶紪鐮佸拰浠撳簱ID
- var depotInfo2 = new { DepotCode = "", DepotId = (int?)0 }; // 鍖归厤鏁版嵁搴撹繑鍥炵殑鍙┖绫诲瀷
- try
- {
- depotInfo2 = Db.Queryable<MesDepotSections, MesDepots>(
- (a, b) =>
- new JoinQueryInfos(JoinType.Inner, a.DepotGuid == b.Guid))
- .Where((a, b) => a.DepotSectionCode == p_section_code)
- .Select((a, b) => new { b.DepotCode, b.DepotId })
- .First();
- }
- catch
- {
- throw new Exception($"搴撲綅缂栫爜 {p_section_code} 涓嶅瓨鍦紝璇风‘璁わ紒");
- }
+ var depotInfo = Db.Queryable<MesDepotSections, MesDepots>(
+ (a, b) =>
+ new JoinQueryInfos(JoinType.Inner, a.DepotGuid == b.Guid))
+ .Where((a, b) => a.DepotSectionCode == p_section_code)
+ .Select((a, b) => new { b.DepotCode, b.DepotId })
+ .First();
- var c_depot_code = depotInfo2.DepotCode;
- var c_depot_id = depotInfo2.DepotId;
+ if (depotInfo == null)
+ throw new Exception($"搴撲綅缂栫爜 {p_section_code} 涓嶅瓨鍦紝璇风‘璁わ紒");
+
+ var c_depot_code = depotInfo.DepotCode;
+ var c_depot_id = depotInfo.DepotId;
var sqlParams = new List<SugarParameter> { new("@barcode", p_item_barcode), new("@billNo", p_bill_no) };
@@ -155,16 +145,8 @@
- MesDepots mesDepost;
- try
- {
- mesDepost = Db.Queryable<MesDepots>()
+ var mesDepost = Db.Queryable<MesDepots>()
.Where(s => s.DepotId == c_depot_id).First();
- }
- catch
- {
- throw new Exception($"浠撳簱ID {c_depot_id} 瀵瑰簲鐨勪粨搴撲俊鎭笉瀛樺湪锛岃纭锛�");
- }
@@ -199,8 +181,6 @@
if (qtrk == null) throw new Exception("鍏朵粬鍏ュ簱鐢宠鍗曚笉瀛樺湪锛�");
- if(p_bill_no != barcode.BillNo)
- throw new Exception($"璇ユ潯鐮佸搴旂殑鐢宠鍗曘�恵barcode.BillNo}銆戜笌褰撳墠鐢宠鍗曞彿涓嶅尮閰嶏紒");
if (qtrk.Qt008 != c_depot_id.ToString())
throw new Exception($"璇� {p_section_code} 瀵瑰簲鐨勪粨搴� 涓� 妫�楠屽垽瀹氱殑鍏ュ簱浠撳簱涓嶄竴鑷达紝璇风‘璁わ紒");
diff --git a/service/Warehouse/MesSctkManager.cs b/service/Warehouse/MesSctkManager.cs
index 7a1d9bf..08b6af4 100644
--- a/service/Warehouse/MesSctkManager.cs
+++ b/service/Warehouse/MesSctkManager.cs
@@ -1,7 +1,6 @@
锘縰sing System.Data;
using System.Data.SqlClient;
using Masuit.Tools;
-using MES.Service.Models;
using NewPdaSqlServer.DB;
using NewPdaSqlServer.Dto.service;
using NewPdaSqlServer.entity;
diff --git a/service/Warehouse/MesStrkManager.cs b/service/Warehouse/MesStrkManager.cs
index 4152ae9..77c91de 100644
--- a/service/Warehouse/MesStrkManager.cs
+++ b/service/Warehouse/MesStrkManager.cs
@@ -1,6 +1,4 @@
锘縰sing Masuit.Tools;
-using MES.Service.Models;
-using MES.Service.Modes;
using NewPdaSqlServer.DB;
using NewPdaSqlServer.Dto.service;
using NewPdaSqlServer.entity;
diff --git a/service/Warehouse/MesSttlManager.cs b/service/Warehouse/MesSttlManager.cs
index 39515ec..3defbd6 100644
--- a/service/Warehouse/MesSttlManager.cs
+++ b/service/Warehouse/MesSttlManager.cs
@@ -1,5 +1,4 @@
锘縰sing Masuit.Tools;
-using MES.Service.Models;
using NewPdaSqlServer.DB;
using NewPdaSqlServer.Dto.service;
using NewPdaSqlServer.entity;
diff --git a/service/Warehouse/MesXkyService.cs b/service/Warehouse/MesXkyService.cs
index b68574a..d0b4a48 100644
--- a/service/Warehouse/MesXkyService.cs
+++ b/service/Warehouse/MesXkyService.cs
@@ -1,17 +1,16 @@
-锘縰sing MES.Service.Models;
-using NewPdaSqlServer.DB;
-using NewPdaSqlServer.util;
-using Newtonsoft.Json;
-using Newtonsoft.Json.Linq;
-using System.Collections;
-using System.Data;
+锘縰sing System.Collections;
using System.Net;
using System.Net.Http.Headers;
using System.Text;
+using NewPdaSqlServer.DB;
using NewPdaSqlServer.Dto.Xky;
+using NewPdaSqlServer.entity;
+using NewPdaSqlServer.util;
+using Newtonsoft.Json;
+using Newtonsoft.Json.Linq;
using static NewPdaSqlServer.Controllers.Warehouse.MesXkyController;
-namespace NewPdaSqlServer.service.QC;
+namespace NewPdaSqlServer.service.Warehouse;
public class MesXkyService : RepositoryNoEntity
{
diff --git a/service/Warehouse/MesXkyShdManager.cs b/service/Warehouse/MesXkyShdManager.cs
index cdb3113..1ca8274 100644
--- a/service/Warehouse/MesXkyShdManager.cs
+++ b/service/Warehouse/MesXkyShdManager.cs
@@ -42,10 +42,11 @@
A.delivery_qty - ISNULL(dhmx.quantity, 0) as dssl,
A.po_erp_no,
C.PURCHASE_ORDER_LINE_NUMBER,
- dhmx.GUID AS DDHID
+ dhmx.GUID AS DDHID,
+ A.erpline_id
from DELIVERY_NOTICE_DETAIL A
LEFT JOIN MES_ROH_IN_DATA C ON A.po_line_no = C.EBELN_K3ID
- LEFT JOIN MES_ITEMS D ON C.ITEM_ID = D.item_id
+ LEFT JOIN MES_ITEMS D ON A.product_code = D.item_id
LEFT JOIN dhmx ON dhmx.line_k3id = A.po_line_no AND dhmx.paper_bill_no = A.delivery_no
WHERE A.delivery_no = @shdh";
@@ -62,8 +63,8 @@
//// 浣跨敤鍙傛暟鍖栨煡璇㈤槻姝QL娉ㄥ叆
var sqlParams = new List<SugarParameter> { new("@shdh", unity.shdh) };
- var sql2 = @"SELECT A.small_barcode,
- D.item_no,
+ var sql2 = @"SELECT A.small_barcode,
+ D.item_no,
D.item_name,
D.item_model,
A.include_qty,
@@ -159,6 +160,56 @@
}
}
}
+
+ public string ConfirmSignReceipt(dynamic unity)
+ {
+ var _strMsg = "";
+ var _intSum = 0;
+ using (var conn = new SqlConnection(DbHelperSQL.strConn))
+ {
+ if (unity == null) throw new ArgumentNullException(nameof(unity), "鍙傛暟瀵硅薄涓嶈兘涓� null");
+
+ if (string.IsNullOrEmpty(unity.userName?.ToString()))
+ throw new ArgumentException("鐢ㄦ埛璐︽埛涓嶅厑璁镐负绌�", nameof(unity.userName));
+
+ if (string.IsNullOrEmpty(unity.shdh?.ToString()))
+ throw new ArgumentException("閫佽揣鍗曞彿涓嶅厑璁镐负绌�", nameof(unity.shdh));
+
+ using (var cmd = new SqlCommand("[prc_pda_inv_dhdsh_qs]", conn))
+ {
+ try
+ {
+ conn.Open();
+ cmd.CommandType = CommandType.StoredProcedure;
+ SqlParameter[] parameters =
+ {
+ new("@po_outMsg", SqlDbType.NVarChar, 2000) { Direction = ParameterDirection.Output },
+ new("@po_outSum", SqlDbType.Int) { Direction = ParameterDirection.Output },
+ new("@pi_user", SqlDbType.NVarChar) { Value = unity.userName.ToString() },
+ new("@pi_shdh", SqlDbType.NVarChar) { Value = unity.shdh.ToString() }
+ };
+
+ foreach (var parameter in parameters)
+ cmd.Parameters.Add(parameter);
+ cmd.ExecuteNonQuery();
+ _strMsg = parameters[0].Value.ToString();
+ _intSum = Convert.ToInt32(parameters[1].Value);
+
+ if (_intSum <= 0) throw new Exception(_strMsg);
+
+ return _strMsg;
+ }
+ catch (Exception ex)
+ {
+ throw new Exception(ex.Message);
+ }
+ finally
+ {
+ conn.Close();
+ }
+ }
+ }
+ }
}
diff --git a/service/Warehouse/MesXsckManager.cs b/service/Warehouse/MesXsckManager.cs
index 7c98c1b..6b9d16f 100644
--- a/service/Warehouse/MesXsckManager.cs
+++ b/service/Warehouse/MesXsckManager.cs
@@ -1,5 +1,4 @@
锘縰sing Masuit.Tools;
-using MES.Service.Modes;
using NewPdaSqlServer.DB;
using NewPdaSqlServer.Dto.service;
using NewPdaSqlServer.entity;
@@ -89,8 +88,7 @@
return new
{
items = items,
- ysitems = ysitems,
- allList = blDetails
+ ysitems = ysitems
};
}
catch (Exception ex)
@@ -120,7 +118,7 @@
using (var conn = new SqlConnection(DbHelperSQL.strConn))
{
if (query.userName.IsNullOrEmpty()) throw new Exception("鐢ㄦ埛鍚嶄笉鍏佽涓虹┖");
- if (query.billNo.IsNullOrEmpty()) throw new Exception("鍙戣揣閫氱煡鍗曞彿涓嶅厑璁镐负绌�");
+ if (query.daa001.IsNullOrEmpty()) throw new Exception("鍙戣揣閫氱煡鍗曞彿涓嶅厑璁镐负绌�");
if (query.barcode.IsNullOrEmpty()) throw new Exception("鏉$爜涓嶅厑璁镐负绌�");
using (var cmd = new SqlCommand("[prc_pda_XSCK]", conn))
@@ -136,7 +134,7 @@
new("@barcode_num", SqlDbType.NVarChar, 300),
new("@split_num", SqlDbType.NVarChar, 300),
new("@c_User", query.userName),
- new("@p_biLL_no", query.billNo),
+ new("@p_biLL_no", query.daa001),
new("@p_item_barcode", query.barcode)
};
parameters[0].Direction = ParameterDirection.Output;
@@ -192,68 +190,499 @@
/// - Num: 鍙戞枡鏁伴噺(蹇呭~,蹇呴』澶т簬0)
/// - blNo: 鍙戣揣閫氱煡鍗曞彿(蹇呭~)
/// </remarks>
- public ProductionPickDto SplitBarcode(WarehouseQuery query)
+ public (bool success, List<MesItemBlDetail> pendingList) SplitBarcode(
+ WarehouseQuery query)
{
- if (query.userName.IsNullOrEmpty()) throw new Exception("鐢ㄦ埛鍚嶄笉鍏佽涓虹┖");
- if (query.billNo.IsNullOrEmpty()) throw new Exception("鐢宠鍗曞彿涓嶅厑璁镐负绌�");
- if (query.barcode.IsNullOrEmpty()) throw new Exception("鏉$爜涓嶅厑璁镐负绌�");
+ if (string.IsNullOrEmpty(query.userName))
+ throw new Exception("鐢ㄦ埛鍚嶄笉鑳戒负绌猴紒");
- if (query.Num is null or 0) throw new Exception("鏉$爜鎷嗗垎鏁颁笉鍏佽涓虹┖鎴栬�呬负0");
+ if (string.IsNullOrEmpty(query.billNo))
+ throw new Exception("璇烽�夊彇鍗曟嵁鍙凤紒");
- var _strMsg = "";
- var _intSum = "";
- var _cfBar = "";//鎷嗗垎鍚庢潯鐮�
- using (var conn = new SqlConnection(DbHelperSQL.strConn))
+ if (string.IsNullOrEmpty(query.barcode))
+ throw new Exception("璇锋壂鎻忔潯鐮侊紒");
+
+ if ((query.Num ?? 0) <= 0)
+ throw new Exception("璇疯緭鍏ユ纭殑鍙戞枡鏁伴噺锛�");
+
+ if (string.IsNullOrEmpty(query.blNo))
+ throw new Exception("鍙戣揣閫氱煡鍗曞彿涓嶈兘涓虹┖锛�");
+
+
+ // 妫�楠屾槸鍚﹂噸澶嶆壂鎻�
+ 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 outNoType = "";
+ if (query.Type == "鐢熶骇琛ユ枡")
{
- using (var cmd = new SqlCommand("[prc_pda_XSCK_CF_new]", conn))
- {
- try
- {
- conn.Open();
- cmd.CommandType = CommandType.StoredProcedure;
- SqlParameter[] parameters =
- {
- new("@outMsg", SqlDbType.NVarChar, 2000),
- new("@outSum", SqlDbType.NVarChar, 300),
- new("@outCfBar", SqlDbType.NVarChar, 300),
- new("@c_user", query.userName),
- new("@p_biLL_no", query.billNo),
- new("@p_item_barcode", query.barcode),
- new("@NUM", query.Num)
- };
- parameters[0].Direction = ParameterDirection.Output;
- parameters[1].Direction = ParameterDirection.Output;
- parameters[2].Direction = ParameterDirection.Output;
- foreach (var parameter in parameters)
- cmd.Parameters.Add(parameter);
- cmd.ExecuteNonQuery();
- _strMsg = parameters[0].Value.ToString();
- _intSum = parameters[1].Value.ToString();
- _cfBar = parameters[2].Value.ToString();
-
-
- var result = Convert.ToInt32(_intSum);
- if (result <= 0) throw new Exception(_strMsg);
-
- var dto = new ProductionPickDto
- {
- daa001 = query.billNo,
- barcode = query.barcode,//鍘熸潯鐮�
- cfBarcode = _cfBar//鎷嗗垎鍚庢潯鐮�
- };
-
- return dto;
- }
- catch (Exception ex)
- {
- throw new Exception(ex.Message);
- }
- finally
- {
- conn.Close();
- }
- }
+ outNoType = "SCBL(鐢熶骇琛ユ枡)";
}
+ else
+ {
+ outNoType = "SCCL(鐢熶骇瓒呴)";
+ }
+
+ // 寮�鍚簨鍔″鐞�
+ 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("TM(鏉$爜)", 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 = false,
+ Oldqty = query.Num as long?,
+ // 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,
+ SuppId = stockBarcode.SuppId,
+ SuppNo = stockBarcode.SuppNo,
+ InsDate = stockBarcode.IndepDate, // Added InsDate
+ ItemId = stockBarcode.ItemId
+ // ItemUnit = stockBarcode.ItemUnit // Added ItemUnit
+ }).IgnoreColumns(true).ExecuteCommand();
+
+ // 鏇存柊鍘熸潯鐮佹暟閲�
+ executeCommand += db.Updateable<MesInvItemBarcodes>()
+ .SetColumns(it => it.Quantity == it.Quantity - query.Num)
+ .Where(it => it.ItemBarcode == query.barcode)
+ .ExecuteCommand();
+
+ // 鏇存柊鍘熸潯鐮佹暟閲�
+ executeCommand += db.Updateable<MesInvItemStocks>()
+ .SetColumns(it => it.Quantity == it.Quantity - 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 = newBarcode,
+ ItemNo = stockBarcode.ItemNo,
+ LotNo = stockBarcode.LotNo,
+ Quantity = 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 = 0,
+ ItemBarcode = newBarcode,
+ ItemNo = stockBarcode.ItemNo,
+ LotNo = stockBarcode.LotNo,
+ EpFlag = true,
+ Quantity = query.Num,
+ FromInvDepotsCode = null,
+ FromInvDepotSectionsCode = null,
+ ToInvDepotsCode = stockBarcode.DepotsCode,
+ ToInvDepotSectionsCode = stockBarcode.DepotSectionsCode,
+ Description = query.Type + "鎷嗗垎鐢熸垚",
+ 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) == true)
+ .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 depots = Db.Queryable<MesDepots>()
+ .Where(t => t.DepotId == stockBarcode.DepotId)
+ .First();
+
+ // 鑾峰彇鎴栧垱寤哄嚭搴撳崟
+ var itemOut = db.Queryable<MesInvItemOuts>()
+ .Where(a => a.TaskNo == query.blNo
+ && a.DepotId == stockBarcode.DepotId
+ && 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();
+
+ var outId = new Guid();
+ var outNo = "";
+ if (itemOut == null)
+ {
+ // 鍒涘缓鏂扮殑鍑哄簱鍗�
+ outId = Guid.NewGuid();
+ outNo = BillNo.GetBillNo(outNoType);
+
+ // 鎻掑叆鍑哄簱鍗曚富琛�
+ 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 = depots.DepotCode,
+ 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,
+ DepotId = stockBarcode.DepotId,
+ THORGID = stockBarcode.StockOrgId,
+ OutType = query.Type,
+ //BbillNo = query.blNo
+ }).IgnoreColumns(true).ExecuteCommand();
+ }
+ else
+ {
+ outId = itemOut.Guid;
+ outNo = itemOut.ItemOutNo;
+ }
+
+ // 妫�鏌ユ槸鍚﹀凡瀛樺湪鍑哄簱鍗曟槑缁�
+ var itemOutItemCount = db.Queryable<MesInvItemOutItems>()
+ .Where(it =>
+ it.ItemOutId == outId &&
+ it.ItemId == stockBarcode.ItemId &&
+ it.DepotId == stockBarcode.DepotId.ToString())
+ .Count();
+
+ if (itemOutItemCount == 0)
+ // 鎻掑叆鏂扮殑鍑哄簱鍗曟槑缁�
+ executeCommand += db.Insertable(new MesInvItemOutItems
+ {
+ Guid = Guid.NewGuid(),
+ ItemOutId = outId,
+ ItemNo = blDetail.Bld002,
+ Quantity = query.Num,
+ TlQty = query.Num,
+ CreateBy = query.userName,
+ CreateDate = DateTime.Now,
+ LastupdateBy = query.userName,
+ LastupdateDate = DateTime.Now,
+ Factory = stockBarcode.Factory,
+ Company = stockBarcode.Company,
+ DepotCode = depots.DepotCode,
+ TaskNo = query.blNo,
+ WorkNo = womdaa.Daa021,
+ WorkLine = blDetail.Bld013,
+ ErpItemNo = womdab.Dab003,
+ ErpId = womdab.Eid,
+ ErpAutoid = womdab.Erpid,
+ PbillNo = query.billNo,
+ ItemId = blDetail.Bld012,
+ DepotId = stockBarcode.DepotId.ToString(),
+ ItemDabid = womdab.Guid,
+ // Unit = blDetail.Bld009,
+ // DepotId = (int)stockBarcode.DepotsId
+ }).IgnoreColumns(true).ExecuteCommand();
+ else
+ // 鏇存柊宸叉湁鍑哄簱鍗曟槑缁嗘暟閲�
+ executeCommand += db.Updateable<MesInvItemOutItems>()
+ .SetColumns(it => it.TlQty == (it.TlQty ?? 0) + query.Num)
+ .Where(it =>
+ it.ItemOutId == outId &&
+ it.ItemId == stockBarcode.ItemId &&
+ it.DepotId == stockBarcode.DepotId.ToString())
+ .ExecuteCommand();
+
+ // 鎻掑叆鍑哄簱鏉$爜鏄庣粏
+ executeCommand += db.Insertable(new MesInvItemOutCDetails
+ {
+ Guid = Guid.NewGuid(),
+ ItemOutId = outId,
+ 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 = depots.DepotCode,
+ 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,
+ Dabid = womdab.Guid,
+ }).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 ?? query.barcode,
+ ItemNo = stockBarcode.ItemNo,
+ LotNo = stockBarcode.LotNo,
+ EpFlag = true,
+ Quantity = query.Num,
+ FromInvDepotsCode = stockBarcode.DepotsCode,
+ FromInvDepotSectionsCode = stockBarcode.DepotSectionsCode,
+ Description = query.Type,
+ 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.Guid == womdab.Guid && it.Dab003 == womdab.Dab003)
+ .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 MesItemBlDetail
+ {
+ Bld012 = b.Bld012,
+ Bld002 = b.Bld002,
+ Bld003 = b.Bld003,
+ Bld004 = b.Bld004,
+ Bld007 = b.Bld007,
+ Bld008 = b.Bld008
+ })
+ .ToList();
+
+ return (success, pendingList);
}
- #endregion
+
+ #endregion
+
}
\ No newline at end of file
diff --git a/service/Warehouse/MesXsthManager.cs b/service/Warehouse/MesXsthManager.cs
index baf36be..7750a1e 100644
--- a/service/Warehouse/MesXsthManager.cs
+++ b/service/Warehouse/MesXsthManager.cs
@@ -1,5 +1,4 @@
锘縰sing Masuit.Tools;
-using MES.Service.Modes;
using NewPdaSqlServer.DB;
using NewPdaSqlServer.Dto.service;
using NewPdaSqlServer.entity;
diff --git a/service/Warehouse/TransferOutManager.cs b/service/Warehouse/TransferOutManager.cs
index 34119aa..80a37ac 100644
--- a/service/Warehouse/TransferOutManager.cs
+++ b/service/Warehouse/TransferOutManager.cs
@@ -1,6 +1,5 @@
锘縰sing System.Data;
using System.Data.SqlClient;
-using MES.Service.Modes;
using NewPdaSqlServer.DB;
using NewPdaSqlServer.Dto.service;
using NewPdaSqlServer.entity;
diff --git a/service/Warehouse/ZzxdbManager.cs b/service/Warehouse/ZzxdbManager.cs
new file mode 100644
index 0000000..5df1a6e
--- /dev/null
+++ b/service/Warehouse/ZzxdbManager.cs
@@ -0,0 +1,675 @@
+锘縰sing NewPdaSqlServer.DB;
+using NewPdaSqlServer.Dto.service;
+using NewPdaSqlServer.entity;
+using NewPdaSqlServer.entity.Base;
+using SqlSugar;
+using System.Data;
+using System.Data.SqlClient;
+using static Microsoft.EntityFrameworkCore.DbLoggerCategory;
+
+namespace NewPdaSqlServer.service.Warehouse;
+
+/// <summary>
+/// 璋冩嫧鍑哄叆搴撶鐞嗙被
+/// 璐熻矗澶勭悊璋冩嫧鍑哄簱鐩稿叧鐨勪笟鍔¢�昏緫
+/// </summary>
+public class ZzxdbManager : Repository<MesDbck>
+{
+ /// <summary>
+ /// 鑾峰彇鏈畬鎴愮殑璋冩嫧鍑哄簱鍗曞彿鍒楄〃
+ /// </summary>
+ /// <returns>鏈畬鎴愮殑璋冩嫧鍑哄簱鍗曞彿鍒楄〃</returns>
+ public dynamic GetTransferOutNoList(WarehouseQuery query)
+ {
+ // 浣跨敤ADO.NET鐩存帴璋冪敤瀛樺偍杩囩▼
+ var ds = new DataSet();
+
+ // 鍋囪鎮ㄤ娇鐢ㄧ殑鏄疭QL Server锛屽垱寤篠qlConnection
+ using (var conn = new SqlConnection(DbHelperSQL.strConn))
+ {
+ conn.Open();
+
+ using (var cmd = new SqlCommand("prc_pda_zzxdb_wllist", conn))
+ {
+ cmd.CommandType = CommandType.StoredProcedure;
+
+ // 娣诲姞鍙傛暟
+ cmd.Parameters.Add(new SqlParameter("@itemNo", query.itemNo));
+ cmd.Parameters.Add(new SqlParameter("@pi_orgId", DBNull.Value));
+ cmd.Parameters.Add(new SqlParameter("@inP1", DBNull.Value));
+ cmd.Parameters.Add(new SqlParameter("@inP2", DBNull.Value));
+ cmd.Parameters.Add(new SqlParameter("@inP3", DBNull.Value));
+ cmd.Parameters.Add(new SqlParameter("@inP4", DBNull.Value));
+
+ using (var adapter = new System.Data.SqlClient.SqlDataAdapter(cmd))
+ {
+ adapter.Fill(ds);
+ }
+ }
+ }
+
+ // 杞崲缁撴灉
+ var XcslItem = Db.Utilities.DataTableToDynamic(ds.Tables[0]);
+ //var XcslWjsBar = Db.Utilities.DataTableToDynamic(ds.Tables[1]);
+ //var XcslYjsBar = Db.Utilities.DataTableToDynamic(ds.Tables[2]);
+ //var daaInfo = Db.Utilities.DataTableToDynamic(ds.Tables[3]);
+
+ //var dto = new
+ //{
+ // XcslItemList = XcslItem
+ // //XcslWjsBarList = XcslWjsBar,
+ // //XcslYjsBarList = XcslYjsBar,
+ // //DaaInfoList = daaInfo
+ //};
+
+ return XcslItem;
+ }
+
+ /// <summary>
+ /// 鏍规嵁鍗曟嵁鍙疯幏鍙栧緟澶勭悊鐨勮皟鎷ㄥ嚭搴撴槑缁嗗垪琛�
+ /// </summary>
+ /// <param name="query">鏌ヨ鍙傛暟,鍖呭惈鍗曟嵁鍙�</param>
+ /// <returns>寰呭鐞嗙殑璋冩嫧鍑哄簱鏄庣粏鍒楄〃</returns>
+ public dynamic GetTransferOutDetailListByBillNo(
+ WarehouseQuery query)
+ {
+ if (string.IsNullOrEmpty(query.billNo)) throw new Exception("璋冩嫧鍗曞彿涓虹┖");
+
+ // 浣跨敤ADO.NET鐩存帴璋冪敤瀛樺偍杩囩▼
+ var ds = new DataSet();
+
+ // 鍋囪鎮ㄤ娇鐢ㄧ殑鏄疭QL Server锛屽垱寤篠qlConnection
+ using (var conn = new SqlConnection(DbHelperSQL.strConn))
+ {
+ conn.Open();
+
+ using (var cmd = new SqlCommand("prc_pda_zzxdb_kw", conn))
+ {
+ cmd.CommandType = CommandType.StoredProcedure;
+
+ // 娣诲姞鍙傛暟
+ cmd.Parameters.Add(new SqlParameter("@billNo", query.billNo));
+ cmd.Parameters.Add(new SqlParameter("@pi_orgId", DBNull.Value));
+ cmd.Parameters.Add(new SqlParameter("@inP1", DBNull.Value));
+ cmd.Parameters.Add(new SqlParameter("@inP2", DBNull.Value));
+ cmd.Parameters.Add(new SqlParameter("@inP3", DBNull.Value));
+ cmd.Parameters.Add(new SqlParameter("@inP4", DBNull.Value));
+
+ using (var adapter = new System.Data.SqlClient.SqlDataAdapter(cmd))
+ {
+ adapter.Fill(ds);
+ }
+ }
+ }
+
+ // 杞崲缁撴灉
+ var XcslItem = Db.Utilities.DataTableToDynamic(ds.Tables[0]);
+ //var XcslWjsBar = Db.Utilities.DataTableToDynamic(ds.Tables[1]);
+ //var XcslYjsBar = Db.Utilities.DataTableToDynamic(ds.Tables[2]);
+ //var daaInfo = Db.Utilities.DataTableToDynamic(ds.Tables[3]);
+
+ var dto = new
+ {
+ XcslItemList = XcslItem
+ //XcslWjsBarList = XcslWjsBar,
+ //XcslYjsBarList = XcslYjsBar,
+ //DaaInfoList = daaInfo
+ };
+
+ return dto;
+ }
+
+ /// <summary>
+ /// 鏍规嵁鍗曟嵁鍙疯幏鍙栧緟澶勭悊鐨勮皟鎷ㄥ嚭搴撴槑缁嗗垪琛�
+ /// </summary>
+ /// <param name="query">鏌ヨ鍙傛暟,鍖呭惈鍗曟嵁鍙�</param>
+ /// <returns>寰呭鐞嗙殑璋冩嫧鍑哄簱鏄庣粏鍒楄〃</returns>
+ public dynamic GetMesItemByItemNo(
+ WarehouseQuery query, dynamic requestInfo)
+ {
+ if (string.IsNullOrEmpty(query.itemNo)) throw new Exception("鐗╂枡缂栧彿涓虹┖");
+
+ var orgId = requestInfo.OrgId;
+
+ if (orgId == null)
+ throw new Exception("缁勭粐涓嶅瓨鍦紒");
+
+ if (string.IsNullOrEmpty(query.dckw)) throw new Exception("璋冨嚭搴撲綅涓虹┖");
+
+ // 浣跨敤ADO.NET鐩存帴璋冪敤瀛樺偍杩囩▼
+ var ds = new DataSet();
+
+ // 鍋囪鎮ㄤ娇鐢ㄧ殑鏄疭QL Server锛屽垱寤篠qlConnection
+ using (var conn = new SqlConnection(DbHelperSQL.strConn))
+ {
+ conn.Open();
+
+ using (var cmd = new SqlCommand("prc_pda_zzxdb_wlmx", conn))
+ {
+ cmd.CommandType = CommandType.StoredProcedure;
+
+ // 娣诲姞鍙傛暟
+ cmd.Parameters.Add(new SqlParameter("@itemNo", query.itemNo));
+ cmd.Parameters.Add(new SqlParameter("@pi_orgId", orgId));
+ cmd.Parameters.Add(new SqlParameter("@inP1", query.dckw));
+ cmd.Parameters.Add(new SqlParameter("@inP2", query.userName));
+ cmd.Parameters.Add(new SqlParameter("@inP3", DBNull.Value));
+ cmd.Parameters.Add(new SqlParameter("@inP4", DBNull.Value));
+
+ using (var adapter = new System.Data.SqlClient.SqlDataAdapter(cmd))
+ {
+ adapter.Fill(ds);
+ }
+ }
+ }
+
+ // 杞崲缁撴灉
+ var XcslItem = Db.Utilities.DataTableToDynamic(ds.Tables[0]);
+ var XcslWjsBar = Db.Utilities.DataTableToDynamic(ds.Tables[1]);
+ //var XcslYjsBar = Db.Utilities.DataTableToDynamic(ds.Tables[2]);
+ //var daaInfo = Db.Utilities.DataTableToDynamic(ds.Tables[3]);
+
+ var dto = new
+ {
+ XcslItemList = XcslItem,
+ ItemDetail = XcslWjsBar,
+ //XcslYjsBarList = XcslYjsBar,
+ //DaaInfoList = daaInfo
+ };
+
+ return dto;
+ }
+
+ /// <summary>
+ /// 鎵弿鏉$爜杩涜鐢熸垚璋冩嫧鐢宠鍗�
+ /// </summary>
+ /// <param name="query">鍖呭惈鍗曟嵁鍙枫�佺敤鎴峰悕鍜屾潯鐮佷俊鎭殑鏌ヨ鍙傛暟</param>
+ /// <returns>澶勭悊鍚庣殑琛ㄥ崟鍜屽緟澶勭悊鏄庣粏鍒楄〃</returns>
+ public dynamic
+ saveDbsq(WarehouseQuery query, dynamic requestInfo)
+ {
+ var _strMsg = "";
+ var _intSum = "";
+ using (var conn = new SqlConnection(DbHelperSQL.strConn))
+ {
+ if (string.IsNullOrEmpty(query.id)) throw new Exception("鐗╂枡id涓虹┖");
+
+ var orgId = requestInfo.OrgId;
+
+ if (orgId == null)
+ throw new Exception("缁勭粐涓嶅瓨鍦紒");
+
+ if (string.IsNullOrEmpty(query.userName)) throw new Exception("鐧诲綍璐﹀彿涓虹┖");
+
+ if (string.IsNullOrEmpty(query.drkw)) throw new Exception("璋冨叆浠撳簱涓虹┖");
+
+ if (string.IsNullOrEmpty(query.dckw)) throw new Exception("璋冨嚭浠撳簱涓虹┖");
+
+ using (var cmd = new SqlCommand("[prc_pda_zzxdb_save]", conn))
+ {
+ try
+ {
+ conn.Open();
+ cmd.CommandType = CommandType.StoredProcedure;
+ SqlParameter[] parameters =
+ {
+ new("@outMsg", SqlDbType.NVarChar, 300),
+ new("@outSum", SqlDbType.NVarChar, 300),
+ new("@itemId", query.id),
+ new("@dbNum", query.dbNum),
+ new("@remark", query.remark),
+ new("@ACCOUNT", query.userName),
+ new("@drkw", query.drkw),
+ new("@dckw", query.dckw),
+ new("@inP1", orgId),
+ new("@inP2", DBNull.Value),
+ new("@inP3", DBNull.Value)
+
+ };
+ parameters[0].Direction = ParameterDirection.Output;
+ parameters[1].Direction = ParameterDirection.Output;
+ foreach (var parameter in parameters)
+ cmd.Parameters.Add(parameter);
+ cmd.ExecuteNonQuery();
+ _strMsg = parameters[0].Value.ToString();
+ _intSum = parameters[1].Value.ToString();
+
+ var result = Convert.ToInt32(_intSum);
+ if (result <= 0) throw new Exception(_strMsg);
+
+ var dto = new
+ {
+ strMsg = _strMsg,
+ result = _intSum
+ };
+
+ return dto;
+ }
+ catch (Exception ex)
+ {
+ throw new Exception(ex.Message);
+ }
+ finally
+ {
+ conn.Close();
+ }
+ }
+ }
+ }
+
+ /// <summary>
+ /// 鎵弿鏉$爜杩涜鐢熸垚璋冩嫧鐢宠鍗�
+ /// </summary>
+ /// <param name="query">鍖呭惈鍗曟嵁鍙枫�佺敤鎴峰悕鍜屾潯鐮佷俊鎭殑鏌ヨ鍙傛暟</param>
+ /// <returns>澶勭悊鍚庣殑琛ㄥ崟鍜屽緟澶勭悊鏄庣粏鍒楄〃</returns>
+ public dynamic deleteDbsqMx(WarehouseQuery query)
+ {
+ var _strMsg = "";
+ var _intSum = "";
+ using (var conn = new SqlConnection(DbHelperSQL.strConn))
+ {
+ if (string.IsNullOrEmpty(query.id)) throw new Exception("璋冩嫧鐢宠鏄庣粏璁板綍ID涓虹┖");
+
+ using (var cmd = new SqlCommand("[prc_pda_zzxdb_delete]", conn))
+ {
+ try
+ {
+ conn.Open();
+ cmd.CommandType = CommandType.StoredProcedure;
+ SqlParameter[] parameters =
+ {
+ new("@outMsg", SqlDbType.NVarChar, 300),
+ new("@outSum", SqlDbType.NVarChar, 300),
+ new("@DbmxId", query.id),
+ new("@inP1", DBNull.Value),
+ new("@inP2", DBNull.Value),
+ new("@inP3", DBNull.Value)
+
+ };
+ parameters[0].Direction = ParameterDirection.Output;
+ parameters[1].Direction = ParameterDirection.Output;
+ foreach (var parameter in parameters)
+ cmd.Parameters.Add(parameter);
+ cmd.ExecuteNonQuery();
+ _strMsg = parameters[0].Value.ToString();
+ _intSum = parameters[1].Value.ToString();
+
+ var result = Convert.ToInt32(_intSum);
+ if (result <= 0) throw new Exception(_strMsg);
+
+ var dto = new
+ {
+ strMsg = _strMsg,
+ result = _intSum
+ };
+
+ return dto;
+ }
+ catch (Exception ex)
+ {
+ throw new Exception(ex.Message);
+ }
+ finally
+ {
+ conn.Close();
+ }
+ }
+ }
+ }
+
+ /// <summary>
+ /// 鎵弿鏉$爜杩涜鐢熸垚璋冩嫧鐢宠鍗�
+ /// </summary>
+ /// <param name="query">鍖呭惈鍗曟嵁鍙枫�佺敤鎴峰悕鍜屾潯鐮佷俊鎭殑鏌ヨ鍙傛暟</param>
+ /// <returns>澶勭悊鍚庣殑琛ㄥ崟鍜屽緟澶勭悊鏄庣粏鍒楄〃</returns>
+ public dynamic submitDbBillNo(WarehouseQuery query, dynamic requestInfo)
+ {
+ var _strMsg = "";
+ var _intSum = "";
+ using (var conn = new SqlConnection(DbHelperSQL.strConn))
+ {
+ if (string.IsNullOrEmpty(query.id)) throw new Exception("璋冩嫧鐢宠璁板綍ID涓虹┖");
+
+ using (var cmd = new SqlCommand("[prc_pda_zzxdb_sure]", conn))
+ {
+ try
+ {
+ conn.Open();
+ cmd.CommandType = CommandType.StoredProcedure;
+ SqlParameter[] parameters =
+ {
+ new("@outMsg", SqlDbType.NVarChar, 300),
+ new("@outSum", SqlDbType.NVarChar, 300),
+ new("@DbdjId", query.id),
+ new("@ACCOUNT", query.userName),
+ new("@inP1", DBNull.Value),
+ new("@inP2", DBNull.Value),
+ new("@inP3", DBNull.Value)
+
+ };
+ parameters[0].Direction = ParameterDirection.Output;
+ parameters[1].Direction = ParameterDirection.Output;
+ foreach (var parameter in parameters)
+ cmd.Parameters.Add(parameter);
+ cmd.ExecuteNonQuery();
+ _strMsg = parameters[0].Value.ToString();
+ _intSum = parameters[1].Value.ToString();
+
+ var result = Convert.ToInt32(_intSum);
+ if (result <= 0) throw new Exception(_strMsg);
+
+ var dto = new
+ {
+ strMsg = _strMsg,
+ result = _intSum
+ };
+
+ return dto;
+ }
+ catch (Exception ex)
+ {
+ throw new Exception(ex.Message);
+ }
+ finally
+ {
+ conn.Close();
+ }
+ }
+ }
+ }
+
+ /// <summary>
+ /// 鏍规嵁鍗曟嵁鍙疯幏鍙栧緟澶勭悊鐨勮皟鎷ㄥ嚭搴撴槑缁嗗垪琛�
+ /// </summary>
+ /// <param name="query">鏌ヨ鍙傛暟,鍖呭惈鍗曟嵁鍙�</param>
+ /// <returns>寰呭鐞嗙殑璋冩嫧鍑哄簱鏄庣粏鍒楄〃</returns>
+ public ProductionPickDto GetTransferInDetailListByBillNo(
+ WarehouseQuery query)
+ {
+ if (string.IsNullOrEmpty(query.billNo)) throw new Exception("璋冩嫧鍗曞彿涓虹┖");
+
+ var sql1 = string.Format(@"SELECT * FROM MES_DBCK WHERE FDocumentStatus = 'C' AND FBillNo = '{0}'", query.billNo);
+
+ var dbck = Db.Ado.SqlQuery<ItemDetailModel>(sql1);
+
+ if (dbck.Count < 1) throw new Exception("璋冩嫧鍗曞彿涓嶅瓨鍦ㄦ垨鏈鏍革紒");
+
+ var sql2 = string.Format(@"SELECT c.item_no ItemNo,c.item_name ItemName,c.item_model ItemModel,b.FQty FQty,b.SQty SQty,b.RQty RQty,b.SQty - b.RQty DSQty ,
+ dbo.F_QX_GETRECODEPOTSE(B.FMATERIALID,'','','') as RecoKw
+ FROM MES_DBCK_DETAIL B
+ LEFT JOIN MES_DBCK A ON A.ID = B.pid
+ LEFT JOIN MES_ITEMS C ON B.FMATERIALID = C.item_id
+ LEFT JOIN WOMCAB D ON B.erpid = D.ERPID
+ WHERE A.FBillNo = '{0}' ORDER BY FSEQ", query.billNo);
+
+ var womdabs = Db.Ado.SqlQuery<ItemDetailModel>(sql2);
+
+
+ var DS_list = womdabs.Where(s => s.DSQty > 0).ToList();
+
+ var YS_list = womdabs.Where(s => s.RQty > 0).ToList();
+
+ //var p_bill_no = query.billNo;
+
+ //// 鏍规嵁SQL鏌ヨ鏉′欢鑾峰彇寰呭鐞嗙殑鍑哄簱鏄庣粏
+ //// 鍏宠仈鏌ヨTransferOutDetail銆乀ransferOut鍜孧esItems涓夊紶琛�
+ //// 绛涢�夋潯浠�:鏈畬鎴愭暟閲忓ぇ浜�0涓斿崟鎹凡瀹℃牳
+ //var result = Db.Queryable<MesDbckDetail, MesDbck, MesItems>(
+ // (b, a, s) => new JoinQueryInfos(
+ // JoinType.Left, b.Pid == a.Id,
+ // JoinType.Left, b.FMaterialId == s.Id.ToString()))
+ // .Where((b, a, s) =>
+ // !((b.FQty ?? 0) == (b.SQty ?? 0) && (b.FQty ?? 0) == (b.RQty ?? 0))
+ // && a.FBillNo == p_bill_no // 鍖归厤鍗曟嵁鍙�
+ // && a.FApproveStatus == 1) // 鍗曟嵁宸插鏍�
+ // .OrderBy((b, a, s) => s.ItemNo)
+ // .Select((b, a, s) => new ItemDetailModel
+ // {
+ // ItemNo = s.ItemNo,
+ // ItemName = s.ItemName,
+ // ItemModel = s.ItemModel,
+ // FQty = b.FQty, // 鐢宠鏁伴噺
+ // SQty = b.SQty, // 宸叉壂鏁伴噺
+ // RQty = b.RQty, // 宸叉壂鏁伴噺
+ // // 淇濈暀鍏朵粬蹇呰瀛楁...
+ // Pid = b.Pid.ToString(),
+ // FMaterialId = b.FMaterialId,
+ // Id = b.Id.ToString()
+ // })
+ // .ToList();
+
+ //if(result.Count < 1) throw new Exception("璇ヨ皟鎷ㄥ崟涓嶅瓨鍦ㄦ垨宸叉壂瀹岋紝璇烽噸鏂版壂鎻�");
+
+ var dto = new ProductionPickDto
+ {
+ items = DS_list,
+ Ysitems = YS_list
+ // yisao = mesInvItemOutCDetailsList
+ };
+
+ return dto;
+ }
+
+ public List<ItemDetailModel> GetDBCKDetal(
+ WarehouseQuery query)
+ {
+ var p_bill_no = query.billNo;
+
+ // 鏍规嵁SQL鏌ヨ鏉′欢鑾峰彇寰呭鐞嗙殑鍑哄簱鏄庣粏
+ // 鍏宠仈鏌ヨTransferOutDetail銆乀ransferOut鍜孧esItems涓夊紶琛�
+ // 绛涢�夋潯浠�:鏈畬鎴愭暟閲忓ぇ浜�0涓斿崟鎹凡瀹℃牳
+ var result = Db.Queryable<MesDbckDetail, MesDbck, MesItems>(
+ (b, a, s) => new JoinQueryInfos(
+ JoinType.Left, b.Pid == a.Id,
+ JoinType.Left, b.FMaterialId == s.Id.ToString()))
+ .Where((b, a, s) =>
+ !((b.FQty ?? 0) == (b.SQty ?? 0) && (b.FQty ?? 0) == (b.RQty ?? 0)) // 鏈畬鎴愭暟閲忓ぇ浜�0
+ && a.FBillNo == p_bill_no // 鍖归厤鍗曟嵁鍙�
+ && a.FApproveStatus == 1) // 鍗曟嵁宸插鏍�
+ .OrderBy((b, a, s) => s.ItemNo)
+ .Select((b, a, s) => new ItemDetailModel
+ {
+ ItemNo = s.ItemNo,
+ ItemName = s.ItemName,
+ ItemModel = s.ItemModel,
+ FQty = b.FQty, // 鐢宠鏁伴噺
+ SQty = b.SQty, // 宸叉壂鏁伴噺
+ RQty = b.RQty,
+ // 淇濈暀鍏朵粬蹇呰瀛楁...
+ Pid = b.Pid.ToString(),
+ FMaterialId = b.FMaterialId,
+ Id = b.Id.ToString()
+ })
+ .ToList();
+
+ return result;
+ }
+
+
+ /// <summary>
+ /// 鎵弿鏉$爜杩涜璋冩嫧鍏ュ簱澶勭悊
+ /// </summary>
+ /// <param name="query">鍖呭惈鍗曟嵁鍙枫�佺敤鎴峰悕鍜屾潯鐮佷俊鎭殑鏌ヨ鍙傛暟</param>
+ /// <returns>澶勭悊鍚庣殑琛ㄥ崟鍜屽緟澶勭悊鏄庣粏鍒楄〃</returns>
+ public (WarehouseQuery form, List<ItemDetailModel> items)
+ ScanReceiveBarcode(WarehouseQuery query)
+ {
+ var p_bill_no = query.billNo;
+ var p_item_barcode = query.barcode;
+
+ var barinfo = Db.Queryable<MesInvItemStocks>()
+ .Where(x => x.ItemBarcode == p_item_barcode)
+ .First();
+
+
+ //// 楠岃瘉鍗曟嵁鍙�
+ //if (string.IsNullOrEmpty(p_bill_no)) throw new Exception("璇烽�夊彇鍗曟嵁鍙凤紒");
+
+ //// 鏌ヨ鍑哄簱鍗曞苟楠岃瘉鐘舵��
+ //var transferOut = Db.Queryable<MesDbck>()
+ // .Where(x => x.FBillNo == p_bill_no && x.FApproveStatus == 1)
+ // .First();
+ //if (transferOut == null) throw new Exception("鏈壘鍒拌皟鎷ㄧ敵璇峰崟鎴栬�呰皟鎷ㄧ敵璇峰崟娌″鏍�");
+
+ // 鏌ヨ鏉$爜搴撳瓨淇℃伅骞堕獙璇�
+ var stock = Db.Queryable<MesDbckDetail>()
+ .Where(x => x.FMaterialId == barinfo.ItemId.ToString()
+ && x.FQty > 0
+ && !string.IsNullOrEmpty(x.FStockInId)
+ && !string.IsNullOrEmpty(x.FOwnerInId))
+ .First();
+ if (stock == null) throw new Exception($"璋冩嫧鏄庣粏涓� 銆愮墿鏂欍�戞垨 銆愯皟鍏ヤ粨搴撱�戞垨銆愯皟鍏ヨ揣涓汇�戜俊鎭笉瀛樺湪锛岃鏍稿锛亄p_item_barcode}");
+
+ // 鏌ヨ鐗╂枡淇℃伅
+ var item = Db.Queryable<MesItems>()
+ .Where(x => x.Id.ToString() == stock.FMaterialId)
+ .First();
+ if (item == null) throw new Exception("鏈壘鍒扮墿鏂�");
+
+ var _strMsg = "";
+ var _intSum = "";
+ using (var conn = new SqlConnection(DbHelperSQL.strConn))
+ {
+ using (var cmd = new SqlCommand("[prc_pda_DBRK]", conn))
+ {
+ try
+ {
+ conn.Open();
+ cmd.CommandType = CommandType.StoredProcedure;
+ SqlParameter[] parameters =
+ {
+ new("@outMsg", SqlDbType.NVarChar, 300),
+ new("@outSum", SqlDbType.NVarChar, 300),
+ new("@barcode_num", SqlDbType.NVarChar, 300),
+ new("@outBillNo", SqlDbType.NVarChar, 300),
+ new("@c_user", query.userName),
+ new("@p_bill_no", p_bill_no),
+ new("@p_item_barcode", p_item_barcode),
+ new("@p_depot_section_code", query.sectionCode),
+ };
+ parameters[0].Direction = ParameterDirection.Output;
+ parameters[1].Direction = ParameterDirection.Output;
+ parameters[2].Direction = ParameterDirection.Output;
+ parameters[3].Direction = ParameterDirection.Output;
+ foreach (var parameter in parameters)
+ cmd.Parameters.Add(parameter);
+ cmd.ExecuteNonQuery();
+ _strMsg = parameters[0].Value.ToString();
+ _intSum = parameters[1].Value.ToString();
+
+ var barcodeNum = parameters[2].Value.ToString();
+ var outBillNo = parameters[3].Value.ToString();
+
+ var result = Convert.ToInt32(_intSum);
+ if (result <= 0) throw new Exception(_strMsg);
+
+ query.itemNo = item.ItemNo;
+ query.Num = Convert.ToDecimal(barcodeNum);
+ //query.Fum = Convert.ToDecimal(splitNum);
+ query.billNo = outBillNo;
+
+ // 杩斿洖鏇存柊鍚庣殑琛ㄥ崟鍜屽緟澶勭悊鏄庣粏
+ return (query, GetDBCKDetal(query));
+ }
+ catch (Exception ex)
+ {
+ throw new Exception(ex.Message);
+ }
+ finally
+ {
+ conn.Close();
+ }
+ }
+ }
+ }
+
+ public ProductionPickDto ScanCodeCF(WarehouseQuery query)
+ {
+ var p_bill_no = query.daa001;
+ var p_item_barcode = query.barcode;
+
+ var barinfo = Db.Queryable<MesInvItemStocks>()
+ .Where(x => x.ItemBarcode == p_item_barcode)
+ .First();
+
+ // 楠岃瘉鍗曟嵁鍙�
+ if (string.IsNullOrEmpty(p_bill_no)) throw new Exception("璇烽�夊彇鍗曟嵁鍙凤紒");
+
+ // 鏌ヨ鍑哄簱鍗曞苟楠岃瘉鐘舵��
+ var transferOut = Db.Queryable<MesDbck>()
+ .Where(x => x.FBillNo == p_bill_no && x.FApproveStatus == 1)
+ .First();
+ if (transferOut == null) throw new Exception("鏈壘鍒拌皟鎷ㄧ敵璇峰崟鎴栬�呰皟鎷ㄧ敵璇峰崟娌″鏍�");
+
+ // 鏌ヨ鏉$爜搴撳瓨淇℃伅骞堕獙璇�
+ var stock = Db.Queryable<MesDbckDetail>()
+ .Where(x => x.FMaterialId == barinfo.ItemId.ToString()
+ && x.FQty > 0
+ && !string.IsNullOrEmpty(x.FStockInId)
+ && !string.IsNullOrEmpty(x.FOwnerInId))
+ .First();
+ if (stock == null) throw new Exception($"璋冩嫧鏄庣粏涓� 銆愮墿鏂欍�戞垨 銆愯皟鍏ヤ粨搴撱�戞垨銆愯皟鍏ヨ揣涓汇�戜俊鎭笉瀛樺湪锛岃鏍稿锛亄p_item_barcode}");
+
+ // 鏌ヨ鐗╂枡淇℃伅
+ var item = Db.Queryable<MesItems>()
+ .Where(x => x.Id.ToString() == stock.FMaterialId)
+ .First();
+ if (item == null) throw new Exception("鏈壘鍒扮墿鏂�");
+
+ var _strMsg = "";
+ var _intSum = "";
+ var _cfBar = "";
+ using (var conn = new SqlConnection(DbHelperSQL.strConn))
+ {
+ using (var cmd = new SqlCommand("[prc_pda_DBCK_CF]", conn))
+ {
+ try
+ {
+ conn.Open();
+ cmd.CommandType = CommandType.StoredProcedure;
+ SqlParameter[] parameters =
+ {
+ new("@outMsg", SqlDbType.NVarChar, 2000),
+ new("@outSum", SqlDbType.NVarChar, 300),
+ new("@outCfBar", SqlDbType.NVarChar, 300),
+ new("@c_User", query.userName),
+ new("@p_biLL_no", query.daa001),
+ new("@p_item_barcode", query.barcode),
+ new("@num", query.Num)
+ };
+ parameters[0].Direction = ParameterDirection.Output;
+ parameters[1].Direction = ParameterDirection.Output;
+ parameters[2].Direction = ParameterDirection.Output;
+ foreach (var parameter in parameters)
+ cmd.Parameters.Add(parameter);
+ cmd.ExecuteNonQuery();
+ _strMsg = parameters[0].Value.ToString();
+ _intSum = parameters[1].Value.ToString();
+ _cfBar = parameters[2].Value.ToString();
+
+
+ var result = Convert.ToInt32(_intSum);
+ if (result <= 0) throw new Exception(_strMsg);
+
+ var dto = new ProductionPickDto
+ {
+ daa001 = query.daa001,
+ barcode = query.barcode,//鍘熸潯鐮�
+ cfBarcode = _cfBar//鎷嗗垎鍚庢潯鐮�
+ };
+
+ return dto;
+ }
+ catch (Exception ex)
+ {
+ throw new Exception(ex.Message);
+ }
+ finally
+ {
+ conn.Close();
+ }
+ }
+ }
+ }
+
+}
\ No newline at end of file
diff --git a/service/Wom/MesWorkProdManager.cs b/service/Wom/MesWorkProdManager.cs
index f99252e..d5667a3 100644
--- a/service/Wom/MesWorkProdManager.cs
+++ b/service/Wom/MesWorkProdManager.cs
@@ -1,12 +1,11 @@
锘縰sing NewPdaSqlServer.DB;
using NewPdaSqlServer.Dto.service;
using NewPdaSqlServer.entity;
-using NewPdaSqlServer.entity.Base;
using NewPdaSqlServer.util;
using SqlSugar;
using System.Data;
using System.Data.SqlClient;
-using static Microsoft.EntityFrameworkCore.DbLoggerCategory;
+using DbHelperSQL = NewPdaSqlServer.DB.DbHelperSQL;
namespace NewPdaSqlServer.service.Wom;
@@ -46,212 +45,212 @@
/// </exception>
public ScanWorkResult ScanWorkAsync(ScanWorkRequest request)
{
- // // 1. 楠岃瘉鍛樺伐淇℃伅
- // var staff = Db.Queryable<MesStaff>()
- // .Where(x => x.StaffNo == request.StaffNo)
- // .First();
- // if (staff == null)
- // throw new Exception("璇峰厛閫夋嫨浜哄憳");
+ //// 1. 楠岃瘉鍛樺伐淇℃伅
+ //var staff = Db.Queryable<MesStaff>()
+ // .Where(x => x.StaffNo == request.StaffNo)
+ // .First();
+ //if (staff == null)
+ // throw new Exception("璇峰厛閫夋嫨浜哄憳");
- // // 2. 楠岃瘉鏉$爜淇℃伅
- // var barcode = Db.Queryable<MesInvItemBarcodes>()
- // .Where(x => x.ItemBarcode == request.ItemBarcode)
- // .First();
- // if (barcode == null)
- // throw new Exception($"鏃犳鏉$爜锛岃鏍稿锛亄request.ItemBarcode}");
+ //// 2. 楠岃瘉鏉$爜淇℃伅
+ //var barcode = Db.Queryable<MesInvItemBarcodes>()
+ // .Where(x => x.ItemBarcode == request.ItemBarcode)
+ // .First();
+ //if (barcode == null)
+ // throw new Exception($"鏃犳鏉$爜锛岃鏍稿锛亄request.ItemBarcode}");
- // // 3. 楠岃瘉鐗╂枡淇℃伅
- // var item = Db.Queryable<MesItems>()
- // .Where(x => x.Id == barcode.ItemId)
- // .First();
- // if (item == null)
- // throw new Exception($"鏃犳鐗╂枡锛岃鏍稿锛亄request.ItemBarcode}");
+ //// 3. 楠岃瘉鐗╂枡淇℃伅
+ //var item = Db.Queryable<MesItems>()
+ // .Where(x => x.Id == barcode.ItemId)
+ // .First();
+ //if (item == null)
+ // throw new Exception($"鏃犳鐗╂枡锛岃鏍稿锛亄request.ItemBarcode}");
- // // 4. 鏍规嵁鏉$爜澶囨敞纭畾鍗曟嵁绫诲瀷鍜屼氦鏄撳彿
- // var billTypeId = 900; // 榛樿鍗曟嵁绫诲瀷
- // var transactionNo = 902; // 榛樿浜ゆ槗鍙�
- // switch (barcode.Memo?.Trim() ?? "0")
- // {
- // case "涓濆嵃":
- // transactionNo = 901; // 涓濆嵃宸ュ簭
- // break;
- // case "鍗婃垚鍝�":
- // transactionNo = 902; // 鍗婃垚鍝佸伐搴�
- // break;
- // case "鍖呰":
- // case "鎴愬搧":
- // transactionNo = 903; // 鎴愬搧/鍖呰宸ュ簭
- // break;
- // }
+ //// 4. 鏍规嵁鏉$爜澶囨敞纭畾鍗曟嵁绫诲瀷鍜屼氦鏄撳彿
+ //var billTypeId = 900; // 榛樿鍗曟嵁绫诲瀷
+ //var transactionNo = 902; // 榛樿浜ゆ槗鍙�
+ //switch (barcode.Memo?.Trim() ?? "0")
+ //{
+ // case "涓濆嵃":
+ // transactionNo = 901; // 涓濆嵃宸ュ簭
+ // break;
+ // case "鍗婃垚鍝�":
+ // transactionNo = 902; // 鍗婃垚鍝佸伐搴�
+ // break;
+ // case "鍖呰":
+ // case "鎴愬搧":
+ // transactionNo = 903; // 鎴愬搧/鍖呰宸ュ簭
+ // break;
+ //}
- // // 5. 妫�鏌ユ潯鐮佹槸鍚﹂噸澶嶆壂鎻�
- // var exists = Db.Queryable<MesWorkProd, MesWorkProdCDetails>(
- // (a, b) =>
- // new JoinQueryInfos(JoinType.Inner,
- // a.Id == b.MesWorkProdId))
- // .Where((a, b) => b.ItemBarcode == request.ItemBarcode
- // && a.BillTypeId == billTypeId
- // && a.TransactionNo == transactionNo)
- // .Any();
+ //// 5. 妫�鏌ユ潯鐮佹槸鍚﹂噸澶嶆壂鎻�
+ //var exists = Db.Queryable<MesWorkProd, MesWorkProdCDetails>(
+ // (a, b) =>
+ // new JoinQueryInfos(JoinType.Inner,
+ // a.Id == b.MesWorkProdId))
+ // .Where((a, b) => b.ItemBarcode == request.ItemBarcode
+ // && a.BillTypeId == billTypeId
+ // && a.TransactionNo == transactionNo)
+ // .Any();
- // if (exists)
- // throw new Exception("鏉$爜閲嶅鎵弿锛岃鏍稿锛�");
+ //if (exists)
+ // throw new Exception("鏉$爜閲嶅鎵弿锛岃鏍稿锛�");
- // // 6. 鑾峰彇宸叉姤宸ユ暟閲�
- // var reportedQty = Db.Queryable<MesWorkProd, MesWorkProdCDetails>(
- // (a, b) =>
- // new JoinQueryInfos(JoinType.Inner,
- // a.BillNo == b.BillNo))
- // .Where((a, b) => a.BillTypeId == billTypeId
- // && a.TransactionNo == transactionNo
- // && a.TaskNo == barcode.BillNo)
- // .Sum((a, b) => b.Quantity);
+ //// 6. 鑾峰彇宸叉姤宸ユ暟閲�
+ //var reportedQty = Db.Queryable<MesWorkProd, MesWorkProdCDetails>(
+ // (a, b) =>
+ // new JoinQueryInfos(JoinType.Inner,
+ // a.BillNo == b.BillNo))
+ // .Where((a, b) => a.BillTypeId == billTypeId
+ // && a.TransactionNo == transactionNo
+ // && a.TaskNo == barcode.BillNo)
+ // .Sum((a, b) => b.Quantity);
- // // 7. 鑾峰彇宸ュ崟璁″垝鏁伴噺鍜屽瀷鍙�
- // var workOrder = Db.Queryable<Womdaa>()
- // .Where(x => x.Daa001 == barcode.BillNo)
- // .First();
- // if (workOrder == null)
- // throw new Exception($"鏃犲伐鍗曟槑缁嗭紝璇锋牳瀵癸紒{request.ItemBarcode}");
+ //// 7. 鑾峰彇宸ュ崟璁″垝鏁伴噺鍜屽瀷鍙�
+ //var workOrder = Db.Queryable<Womdaa>()
+ // .Where(x => x.Daa001 == barcode.BillNo)
+ // .First();
+ //if (workOrder == null)
+ // throw new Exception($"鏃犲伐鍗曟槑缁嗭紝璇锋牳瀵癸紒{request.ItemBarcode}");
- // var planQty = workOrder.Daa008;
- // var itemModel = workOrder.Daa004;
+ //var planQty = workOrder.Daa008;
+ //var itemModel = workOrder.Daa004;
- // // 8. 浣跨敤浜嬪姟澶勭悊鎶ュ伐鏁版嵁
- // UseTransaction(db =>
- // {
- // // 9. 澶勭悊鏈夋暟閲忔潯鐮佺殑鑷姩鎶ュ伐
- // if (barcode.Quantity > 0)
- // {
- // var reportQty = barcode.Quantity;
- // if (reportQty <= 0)
- // throw new Exception(
- // $"鎶ュ伐鏁伴噺涓嶈兘灏忎簬绛変簬0锛岃鏍稿锛亄request.ItemBarcode}");
+ //// 8. 浣跨敤浜嬪姟澶勭悊鎶ュ伐鏁版嵁
+ //UseTransaction(db =>
+ //{
+ // // 9. 澶勭悊鏈夋暟閲忔潯鐮佺殑鑷姩鎶ュ伐
+ // if (barcode.Quantity > 0)
+ // {
+ // var reportQty = barcode.Quantity;
+ // if (reportQty <= 0)
+ // throw new Exception(
+ // $"鎶ュ伐鏁伴噺涓嶈兘灏忎簬绛変簬0锛岃鏍稿锛亄request.ItemBarcode}");
- // var totalQty = (reportedQty ?? 0) + reportQty;
- // if (totalQty > workOrder.Daa008)
- // throw new Exception(
- // $"鏈鎶ュ伐鏁伴噺锛歿reportQty} 澶т簬鍓╀綑鎶ュ伐鏁伴噺锛歿workOrder.Daa008 - reportedQty ?? 0}锛岃鏍稿锛�");
+ // var totalQty = (reportedQty ?? 0) + reportQty;
+ // if (totalQty > workOrder.Daa008)
+ // throw new Exception(
+ // $"鏈鎶ュ伐鏁伴噺锛歿reportQty} 澶т簬鍓╀綑鎶ュ伐鏁伴噺锛歿workOrder.Daa008 - reportedQty ?? 0}锛岃鏍稿锛�");
- // // 10. 鏇存柊鏉$爜鐘舵��
- // db.Updateable<MesInvItemBarcodes>()
- // .SetColumns(x => new MesInvItemBarcodes
- // {
- // WorkFlg = true
- // //Quantity = reportQty
- // })
- // .Where(x => x.Guid == barcode.Guid)
- // .ExecuteCommand();
+ // // 10. 鏇存柊鏉$爜鐘舵��
+ // db.Updateable<MesInvItemBarcodes>()
+ // .SetColumns(x => new MesInvItemBarcodes
+ // {
+ // WorkFlg = true
+ // //Quantity = reportQty
+ // })
+ // .Where(x => x.Guid == barcode.Guid)
+ // .ExecuteCommand();
- // // 11. 鑾峰彇鎴栧垱寤烘姤宸ュ崟
- // var workProd = db.Queryable<MesWorkProd>()
- // .Where(x => x.TaskNo == barcode.BillNo
- // && x.CreateDate.Value.Date.ToString(
- // "yyyy-MM-dd") ==
- // DateTime.Now.Date.ToString("yyyy-MM-dd")
- // && x.BillTypeId == billTypeId
- // && x.TransactionNo == transactionNo
- // && x.ReportBy == request.StaffNo)
- // .First();
+ // // 11. 鑾峰彇鎴栧垱寤烘姤宸ュ崟
+ // var workProd = db.Queryable<MesWorkProd>()
+ // .Where(x => x.TaskNo == barcode.BillNo
+ // && x.CreateDate.Value.Date.ToString(
+ // "yyyy-MM-dd") ==
+ // DateTime.Now.Date.ToString("yyyy-MM-dd")
+ // && x.BillTypeId == billTypeId
+ // && x.TransactionNo == transactionNo
+ // && x.ReportBy == request.StaffNo)
+ // .First();
- // var id = Guid.Empty;
- // var billNo = "";
- // if (workProd == null)
- // {
- // id = Guid.NewGuid();
- // billNo = BillNo.GetBillNo("BG(鎶ュ伐)");
+ // var id = Guid.Empty;
+ // var billNo = "";
+ // if (workProd == null)
+ // {
+ // id = Guid.NewGuid();
+ // billNo = BillNo.GetBillNo("BG(鎶ュ伐)");
- // workProd = new MesWorkProd
- // {
- // Id = id,
- // BillNo = billNo,
- // LineNo = barcode.LineNo,
- // Company = barcode.Company,
- // Factory = barcode.Factory,
- // CreateBy = request.UserNo,
- // CreateDate = DateTime.Now,
- // LastupdateBy = request.UserNo,
- // LastupdateDate = DateTime.Now,
- // BillTypeId = billTypeId,
- // TransactionNo = transactionNo,
- // TaskNo = barcode.BillNo,
- // ReportBy = request.StaffNo,
- // ReportDate = DateTime.Now
- // };
+ // workProd = new MesWorkProd
+ // {
+ // Id = id,
+ // BillNo = billNo,
+ // LineNo = barcode.LineNo,
+ // Company = barcode.Company,
+ // Factory = barcode.Factory,
+ // CreateBy = request.UserNo,
+ // CreateDate = DateTime.Now,
+ // LastupdateBy = request.UserNo,
+ // LastupdateDate = DateTime.Now,
+ // BillTypeId = billTypeId,
+ // TransactionNo = transactionNo,
+ // TaskNo = barcode.BillNo,
+ // ReportBy = request.StaffNo,
+ // ReportDate = DateTime.Now
+ // };
- // db.Insertable(workProd).IgnoreColumns(true)
- // .ExecuteCommand();
- // }
- // else
- // {
- // id = workProd.Id;
- // billNo = workProd.BillNo;
- // }
+ // db.Insertable(workProd).IgnoreColumns(true)
+ // .ExecuteCommand();
+ // }
+ // else
+ // {
+ // id = workProd.Id;
+ // billNo = workProd.BillNo;
+ // }
- // // 12. 鎻掑叆鎶ュ伐鏄庣粏
- // var detailId = Guid.NewGuid();
- // db.Insertable(new MesWorkProdCDetails
- // {
- // Id = detailId,
- // MesWorkProdId = id,
- // BillNo = billNo,
- // ItemBarcode = request.ItemBarcode,
- // Quantity = (int)reportQty,
- // Company = barcode.Company,
- // Factory = barcode.Factory,
- // CreateBy = request.UserNo,
- // CreateDate = DateTime.Now,
- // LastupdateBy = request.UserNo,
- // LastupdateDate = DateTime.Now,
- // ItemNo = item.ItemNo,
- // WorkLast = barcode.WorkLast,
- // SilkPqty = barcode.SilkPqty,
- // SilkId = barcode.SilkId,
- // Silk = barcode.Silk,
- // BgYg = request.StaffNo
- // }).IgnoreColumns(true).ExecuteCommand();
+ // // 12. 鎻掑叆鎶ュ伐鏄庣粏
+ // var detailId = Guid.NewGuid();
+ // db.Insertable(new MesWorkProdCDetails
+ // {
+ // Id = detailId,
+ // MesWorkProdId = id,
+ // BillNo = billNo,
+ // ItemBarcode = request.ItemBarcode,
+ // Quantity = (int)reportQty,
+ // Company = barcode.Company,
+ // Factory = barcode.Factory,
+ // CreateBy = request.UserNo,
+ // CreateDate = DateTime.Now,
+ // LastupdateBy = request.UserNo,
+ // LastupdateDate = DateTime.Now,
+ // ItemNo = item.ItemNo,
+ // WorkLast = barcode.WorkLast,
+ // SilkPqty = barcode.SilkPqty,
+ // SilkId = barcode.SilkId,
+ // Silk = barcode.Silk,
+ // BgYg = request.StaffNo
+ // }).IgnoreColumns(true).ExecuteCommand();
- // // 13. 鏇存柊宸ュ崟宸叉姤宸ユ暟閲�
- // db.Updateable<Womdaa>()
- // .SetColumns(x => new Womdaa
- // {
- // Daa011 = (x.Daa011 ?? 0) + (int)barcode.Quantity
- // })
- // .Where(x => x.Daa001 == barcode.BillNo)
- // .ExecuteCommand();
+ // // 13. 鏇存柊宸ュ崟宸叉姤宸ユ暟閲�
+ // db.Updateable<Womdaa>()
+ // .SetColumns(x => new Womdaa
+ // {
+ // Daa011 = (x.Daa011 ?? 0) + (int)barcode.Quantity
+ // })
+ // .Where(x => x.Daa001 == barcode.BillNo)
+ // .ExecuteCommand();
- // // 14. 閲嶆柊鑾峰彇鏈�鏂板凡鎶ュ伐鏁伴噺
- // reportedQty = db.Queryable<MesWorkProd, MesWorkProdCDetails>(
- // (a, b) =>
- // new JoinQueryInfos(JoinType.Inner,
- // a.BillNo == b.BillNo))
- // .Where((a, b) => a.BillTypeId == billTypeId
- // && a.TransactionNo == transactionNo
- // && a.TaskNo == barcode.BillNo)
- // .Sum((a, b) => b.Quantity);
- // }
+ // // 14. 閲嶆柊鑾峰彇鏈�鏂板凡鎶ュ伐鏁伴噺
+ // reportedQty = db.Queryable<MesWorkProd, MesWorkProdCDetails>(
+ // (a, b) =>
+ // new JoinQueryInfos(JoinType.Inner,
+ // a.BillNo == b.BillNo))
+ // .Where((a, b) => a.BillTypeId == billTypeId
+ // && a.TransactionNo == transactionNo
+ // && a.TaskNo == barcode.BillNo)
+ // .Sum((a, b) => b.Quantity);
+ // }
- // return 1;
- // });
+ // return 1;
+ //});
- // // 15. 杩斿洖澶勭悊缁撴灉
- // return new ScanWorkResult
- // {
- // TaskNo = barcode.BillNo,
- // ItemNo = item.ItemNo,
- // PlanQty = planQty ?? 0,
- // ReportedQty = reportedQty ?? 0,
- // CurrentQty = barcode.Quantity.Value,
- // BarcodeQty = barcode.Quantity.Value,
- // ItemName = item.ItemName,
- // ItemModel = itemModel,
- // Message = "鎵爜鎴愬姛锛�"
- // };
+ //// 15. 杩斿洖澶勭悊缁撴灉
+ //return new ScanWorkResult
+ //{
+ // TaskNo = barcode.BillNo,
+ // ItemNo = item.ItemNo,
+ // PlanQty = planQty ?? 0,
+ // ReportedQty = reportedQty ?? 0,
+ // CurrentQty = barcode.Quantity.Value,
+ // BarcodeQty = barcode.Quantity.Value,
+ // ItemName = item.ItemName,
+ // ItemModel = itemModel,
+ // Message = "鎵爜鎴愬姛锛�"
+ //};
//1.楠岃瘉鍛樺伐淇℃伅
- var staff = Db.Queryable<MesStaff>()
- .Where(x => x.StaffNo == request.StaffNo)
- .First();
+ var staff = Db.Queryable<MesStaff>()
+ .Where(x => x.StaffNo == request.StaffNo)
+ .First();
if (staff == null)
throw new Exception("璇峰厛閫夋嫨浜哄憳");
@@ -287,57 +286,19 @@
};
string procedureName = "prc_pda_scbg";
- int res = DB.DbHelperSQL.RunProcedure_NonQuery(procedureName, parameters);
+ int res = DbHelperSQL.RunProcedure_NonQuery(procedureName, parameters);
// Retrieve output parameters with proper type conversion
var po_outMsg = parameters[2].Value?.ToString() ?? string.Empty;
var po_outSum = parameters[3].Value != DBNull.Value ? Convert.ToInt32(parameters[3].Value) : -1;
var po_womInBarSum = parameters[4].Value != DBNull.Value ? Convert.ToDecimal(parameters[4].Value) : 0m;
-
-
- // 澹版槑鍙橀噺鍦ㄥ灞傦紝纭繚鍦ㄦ墍鏈夊垎鏀腑閮藉彲璁块棶
- MesInvItemIns rksqOrder = null;
- List<MesInvItemInRksqDetails> rksqDetails = new List<MesInvItemInRksqDetails>();
-
- if (po_outSum == 1)
- {
- rksqOrder = Db.Queryable<MesInvItemIns>()
- .Where(x => x.RbillNo == barcode.BillNo && x.TransctionNo == "181" && x.CreateBy == request.StaffNo)
- .First();
-
- if (rksqOrder != null)
- {
- var sql = string.Format(@"SELECT A.item_barcode ItemBarcode,B.QUANTITY BgQuantity,c.item_no ItemNo,c.item_name ItemName,c.item_model ItemModel
-FROM MES_INV_ITEM_IN_RKSQ_DETAILS A
-LEFT JOIN MES_INV_ITEM_BARCODES B ON A.item_barcode = B.ITEM_BARCODE
-LEFT JOIN MES_ITEMS C ON B.ITEM_ID = C.item_id
-WHERE A.bill_no= '{0}' ORDER BY A.create_date DESC", rksqOrder.BillNo);
-
- rksqDetails = Db.Ado.SqlQuery<MesInvItemInRksqDetails>(sql).ToList();
- }
- }
- else if (po_outSum == 2)
- {
- rksqOrder = Db.Queryable<MesInvItemIns>()
- .Where(x => x.RbillNo == barcode.BillNo && x.TransctionNo == "181" && x.CreateBy == request.StaffNo)
- .First();
-
- if (rksqOrder != null)
- {
- rksqOrder.BillNo = "";
- }
-
- rksqDetails = new List<MesInvItemInRksqDetails>();
- }
+
// Check if the procedure failed
if (po_outSum == -1)
{
throw new Exception(po_outMsg);
}
-
- // 澶勭悊rksqOrder涓簄ull鐨勬儏鍐�
- string sjBillNo = rksqOrder?.BillNo ?? "";
// 15. Return processing result
return new ScanWorkResult
@@ -351,8 +312,8 @@
ItemName = item.ItemName,
ItemModel = workOrder.Daa004,
Message = po_outMsg,
- sjBillNo = sjBillNo,
- BarcodesDetail = rksqDetails,
+ //sjBillNo = sjBillNo,
+ //BarcodesDetail = rksqDetails,
};
}
@@ -376,220 +337,124 @@
/// </exception>
public bool ScanWorkProdAsync(ScanWorkRequest request)
{
- //// 1. 楠岃瘉鎶ュ伐鏁伴噺鏄惁澶т簬0
- //if (request.Quantity <= 0)
- // throw new Exception("鎶ュ伐鏁伴噺涓嶈兘灏忎簬绛変簬 0锛岃鏍稿锛�");
+ // 1. 楠岃瘉鎶ュ伐鏁伴噺鏄惁澶т簬0
+ if (request.Quantity <= 0)
+ throw new Exception("鎶ュ伐鏁伴噺涓嶈兘灏忎簬绛変簬 0锛岃鏍稿锛�");
- //// 2. 鏌ヨ鏉$爜淇℃伅锛岄獙璇佹潯鐮佹槸鍚﹀瓨鍦�
- //var barcode = Db.Queryable<MesInvItemBarcodes>()
- // .Where(x => x.ItemBarcode == request.ItemBarcode)
- // .First();
- //if (barcode == null)
- // throw new Exception($"搴撳瓨涓棤姝ゆ潯鐮侊紝璇锋牳瀵癸紒{request.ItemBarcode}");
+ // 2. 鏌ヨ鏉$爜淇℃伅锛岄獙璇佹潯鐮佹槸鍚﹀瓨鍦�
+ var barcode = Db.Queryable<MesInvItemBarcodes>()
+ .Where(x => x.ItemBarcode == request.ItemBarcode)
+ .First();
+ if (barcode == null)
+ throw new Exception($"搴撳瓨涓棤姝ゆ潯鐮侊紝璇锋牳瀵癸紒{request.ItemBarcode}");
- //// 3. 鏌ヨ宸ュ崟淇℃伅锛岄獙璇佸伐鍗曟槸鍚﹀瓨鍦�
- //var womdaa = Db.Queryable<Womdaa>()
- // .Where(x => x.Daa001 == barcode.BillNo)
- // .First();
- //if (womdaa == null)
- // throw new Exception($"鏉$爜涓嶆槸鎶ュ伐鏉$爜/鏃犲搴斿伐鍗曪紝璇锋牳瀵癸紒{request.ItemBarcode}");
+ // 3. 鏌ヨ宸ュ崟淇℃伅锛岄獙璇佸伐鍗曟槸鍚﹀瓨鍦�
+ var womdaa = Db.Queryable<Womdaa>()
+ .Where(x => x.Daa001 == barcode.BillNo)
+ .First();
+ if (womdaa == null)
+ throw new Exception($"鏉$爜涓嶆槸鎶ュ伐鏉$爜/鏃犲搴斿伐鍗曪紝璇锋牳瀵癸紒{request.ItemBarcode}");
- //// 4. 鏍规嵁鏉$爜澶囨敞纭畾鍗曟嵁绫诲瀷鍜屼氦鏄撳彿
- //var billTypeId = 900; // 榛樿鍗曟嵁绫诲瀷
- //var transactionNo = 902; // 榛樿浜ゆ槗鍙�(鍗婃垚鍝佸伐搴�)
- //switch (barcode.Memo?.Trim() ?? "0")
- //{
- // case "涓濆嵃":
- // transactionNo = 901; // 涓濆嵃宸ュ簭
- // break;
- // case "鍗婃垚鍝�":
- // transactionNo = 902; // 鍗婃垚鍝佸伐搴�
- // break;
- // case "鎴愬搧":
- // case "鍖呰":
- // transactionNo = 903; // 鎴愬搧/鍖呰宸ュ簭
- // break;
- //}
-
- //// 5. 姹囨�诲凡鎵潯鐮佹暟閲忥紝楠岃瘉鏄惁瓒呭嚭璁″垝鏁伴噺
- //var sumQty = Db.Queryable<MesWorkProd, MesWorkProdCDetails>((a, b) =>
- // new JoinQueryInfos(JoinType.Inner, a.BillNo == b.BillNo))
- // .Where((a, b) => a.BillTypeId == billTypeId
- // && a.TransactionNo == transactionNo
- // && b.SilkId == barcode.SilkId
- // && a.TaskNo == barcode.BillNo)
- // .Sum((a, b) => b.Quantity);
-
- //sumQty = (sumQty ?? 0) + (int)request.Quantity;
-
- //if (sumQty > womdaa.Daa008)
- // throw new Exception(
- // $"鏈鎶ュ伐鏁伴噺锛歿request.Quantity} 澶т簬鍓╀綑鎶ュ伐鏁伴噺锛歿womdaa.Daa008 - (sumQty - request.Quantity)}锛岃鏍稿锛�");
-
- //// 6. 寮�鍚簨鍔″鐞嗘姤宸ユ暟鎹�
- //return UseTransaction(db =>
- //{
- // // 6.1 鏇存柊鏉$爜淇℃伅锛岃缃凡鎶ュ伐鏍囪鍜屾暟閲�
- // db.Updateable<MesInvItemBarcodes>()
- // .SetColumns(x => x.WorkFlg == true)
- // .SetColumns(x => x.Quantity == request.Quantity)
- // .Where(x => x.Guid == barcode.Guid)
- // .ExecuteCommand();
-
- // // 6.2 鑾峰彇鎴栧垱寤烘姤宸ュ崟
- // var workProd = db.Queryable<MesWorkProd>()
- // .Where(x => x.TaskNo == barcode.BillNo
- // && x.CreateDate.Value.Date.ToString("yyyy-MM-dd") ==
- // DateTime.Now.Date.ToString("yyyy-MM-dd")
- // && x.BillTypeId == billTypeId
- // && x.TransactionNo == transactionNo
- // && x.Status == 0)
- // .First();
-
- // // 6.3 濡傛灉鎶ュ伐鍗曚笉瀛樺湪鍒欏垱寤烘柊鐨勬姤宸ュ崟
- // if (workProd == null)
- // {
- // var billNo = BillNo.GetBillNo("BG(鎶ュ伐缂栧彿)");
- // workProd = new MesWorkProd
- // {
- // Id = Guid.NewGuid(),
- // BillNo = billNo,
- // LineNo = barcode.LineNo,
- // Company = barcode.Company,
- // Factory = barcode.Factory,
- // CreateBy = request.UserNo,
- // CreateDate = DateTime.Now,
- // LastupdateBy = request.UserNo,
- // LastupdateDate = DateTime.Now,
- // PbillNo = barcode.BillNo,
- // BillTypeId = billTypeId,
- // TransactionNo = transactionNo,
- // TaskNo = barcode.BillNo
- // };
-
- // db.Insertable(workProd).IgnoreColumns(true).ExecuteCommand();
- // }
-
- // // 6.4 鎻掑叆鎶ュ伐鏄庣粏璁板綍
- // var detail = new MesWorkProdCDetails
- // {
- // Id = Guid.NewGuid(),
- // BillNo = workProd.BillNo,
- // ItemBarcode = request.ItemBarcode,
- // Quantity = (int)request.Quantity,
- // Company = barcode.Company,
- // Factory = barcode.Factory,
- // CreateBy = request.UserNo,
- // CreateDate = DateTime.Now,
- // LastupdateBy = request.UserNo,
- // LastupdateDate = DateTime.Now,
- // ItemNo = barcode.ItemNo,
- // PbillNo = barcode.BillNo,
- // WorkLast = barcode.WorkLast,
- // SilkPqty = barcode.SilkPqty,
- // SilkId = barcode.SilkId,
- // Silk = barcode.Silk
- // };
-
- // db.Insertable(detail).IgnoreColumns(true).ExecuteCommand();
-
- // return 1;
- //}) > 0;
-
- // 璋冪敤瀛樺偍杩囩▼澶勭悊鐢熶骇鎶ュ伐瀹℃牳
- var parameters = new SqlParameter[]
+ // 4. 鏍规嵁鏉$爜澶囨敞纭畾鍗曟嵁绫诲瀷鍜屼氦鏄撳彿
+ var billTypeId = 900; // 榛樿鍗曟嵁绫诲瀷
+ var transactionNo = 902; // 榛樿浜ゆ槗鍙�(鍗婃垚鍝佸伐搴�)
+ switch (barcode.Memo?.Trim() ?? "0")
{
- // 杈撳嚭鍙傛暟锛氳繑鍥炴秷鎭紙鏈�澶ч暱搴�2500瀛楃锛�
- new SqlParameter("@outMsg", SqlDbType.NVarChar, 2500) { Direction = ParameterDirection.Output },
- // 杈撳嚭鍙傛暟锛氳繑鍥炲奖鍝嶈鏁�
- new SqlParameter("@outSum", SqlDbType.Int) { Direction = ParameterDirection.Output },
- // 杈撳叆鍙傛暟锛氭搷浣滀汉宸ュ彿
- new SqlParameter("@userno", request.UserNo),
- // 杈撳叆鍙傛暟锛氬崟鎹紪鍙凤紙杩欓噷浼犲叆浜嗘潯鐮佸�硷級
- new SqlParameter("@inorder", request.sjBillNo),
- // 杈撳叆鍙傛暟锛氭搷浣滅被鍨嬶紙1涓哄鏍革紝0涓哄弽瀹℃牳锛�
- new SqlParameter("@inFieldValue", 1)
- // 娉細浠ヤ笅鍙傛暟鍦ㄥ瓨鍌ㄨ繃绋嬩腑鏈夐粯璁ゅ�硷紝鍙牴鎹渶瑕佹坊鍔�
- // @inFieldName nvarchar(20)=null, // 鎵╁睍瀛楁鍚�
- // @in1 nvarchar(20)=null, // 鎵╁睍瀛楁1
- // @in2 nvarchar(20)=null // 鎵╁睍瀛楁2
- };
-
- // 瀛樺偍杩囩▼鍚嶇О
- string procedureName = "prc_pda_scbg_submit";
- // 鎵ц瀛樺偍杩囩▼
- int res = DB.DbHelperSQL.RunProcedure_NonQuery(procedureName, parameters);
-
- // 鑾峰彇杈撳嚭鍙傛暟鍊硷紙甯︾被鍨嬭浆鎹級
- var outMsg = parameters[0].Value?.ToString() ?? string.Empty; // 杩斿洖娑堟伅
- var outSum = parameters[1].Value != DBNull.Value ? Convert.ToInt32(parameters[1].Value) : -1; // 褰卞搷琛屾暟
-
- if (outSum == -1)
- {
- throw new Exception(outMsg);
+ case "涓濆嵃":
+ transactionNo = 901; // 涓濆嵃宸ュ簭
+ break;
+ case "鍗婃垚鍝�":
+ transactionNo = 902; // 鍗婃垚鍝佸伐搴�
+ break;
+ case "鎴愬搧":
+ case "鍖呰":
+ transactionNo = 903; // 鎴愬搧/鍖呰宸ュ簭
+ break;
}
- else
+
+ // 5. 姹囨�诲凡鎵潯鐮佹暟閲忥紝楠岃瘉鏄惁瓒呭嚭璁″垝鏁伴噺
+ var sumQty = Db.Queryable<MesWorkProd, MesWorkProdCDetails>((a, b) =>
+ new JoinQueryInfos(JoinType.Inner, a.BillNo == b.BillNo))
+ .Where((a, b) => a.BillTypeId == billTypeId
+ && a.TransactionNo == transactionNo
+ && b.SilkId == barcode.SilkId
+ && a.TaskNo == barcode.BillNo)
+ .Sum((a, b) => b.Quantity);
+
+ sumQty = (sumQty ?? 0) + (int)request.Quantity;
+
+ if (sumQty > womdaa.Daa008)
+ throw new Exception(
+ $"鏈鎶ュ伐鏁伴噺锛歿request.Quantity} 澶т簬鍓╀綑鎶ュ伐鏁伴噺锛歿womdaa.Daa008 - (sumQty - request.Quantity)}锛岃鏍稿锛�");
+
+ // 6. 寮�鍚簨鍔″鐞嗘姤宸ユ暟鎹�
+ return UseTransaction(db =>
{
- return true;
- }
+ // 6.1 鏇存柊鏉$爜淇℃伅锛岃缃凡鎶ュ伐鏍囪鍜屾暟閲�
+ db.Updateable<MesInvItemBarcodes>()
+ .SetColumns(x => x.WorkFlg == true)
+ .SetColumns(x => x.Quantity == request.Quantity)
+ .Where(x => x.Guid == barcode.Guid)
+ .ExecuteCommand();
+
+ // 6.2 鑾峰彇鎴栧垱寤烘姤宸ュ崟
+ var workProd = db.Queryable<MesWorkProd>()
+ .Where(x => x.TaskNo == barcode.BillNo
+ && x.CreateDate.Value.Date.ToString("yyyy-MM-dd") ==
+ DateTime.Now.Date.ToString("yyyy-MM-dd")
+ && x.BillTypeId == billTypeId
+ && x.TransactionNo == transactionNo
+ && x.Status == 0)
+ .First();
+
+ // 6.3 濡傛灉鎶ュ伐鍗曚笉瀛樺湪鍒欏垱寤烘柊鐨勬姤宸ュ崟
+ if (workProd == null)
+ {
+ var billNo = BillNo.GetBillNo("BG(鎶ュ伐缂栧彿)");
+ workProd = new MesWorkProd
+ {
+ Id = Guid.NewGuid(),
+ BillNo = billNo,
+ LineNo = barcode.LineNo,
+ Company = barcode.Company,
+ Factory = barcode.Factory,
+ CreateBy = request.UserNo,
+ CreateDate = DateTime.Now,
+ LastupdateBy = request.UserNo,
+ LastupdateDate = DateTime.Now,
+ PbillNo = barcode.BillNo,
+ BillTypeId = billTypeId,
+ TransactionNo = transactionNo,
+ TaskNo = barcode.BillNo
+ };
+
+ db.Insertable(workProd).IgnoreColumns(true).ExecuteCommand();
+ }
+
+ // 6.4 鎻掑叆鎶ュ伐鏄庣粏璁板綍
+ var detail = new MesWorkProdCDetails
+ {
+ Id = Guid.NewGuid(),
+ BillNo = workProd.BillNo,
+ ItemBarcode = request.ItemBarcode,
+ Quantity = (int)request.Quantity,
+ Company = barcode.Company,
+ Factory = barcode.Factory,
+ CreateBy = request.UserNo,
+ CreateDate = DateTime.Now,
+ LastupdateBy = request.UserNo,
+ LastupdateDate = DateTime.Now,
+ ItemNo = barcode.ItemNo,
+ PbillNo = barcode.BillNo,
+ WorkLast = barcode.WorkLast,
+ SilkPqty = barcode.SilkPqty,
+ SilkId = barcode.SilkId,
+ Silk = barcode.Silk
+ };
+
+ db.Insertable(detail).IgnoreColumns(true).ExecuteCommand();
+
+ return 1;
+ }) > 0;
}
-
- public ScanWorkResult GetRksqList(ScanWorkRequest request)
- {
-
- //1.楠岃瘉鍛樺伐淇℃伅
- var staff = Db.Queryable<MesStaff>()
- .Where(x => x.StaffNo == request.StaffNo)
- .First();
- if (staff == null)
- throw new Exception("璇峰厛閫夋嫨浜哄憳");
-
- var rksqOrder = Db.Queryable<MesInvItemIns>()
- .Where(x => x.BillNo == request.sjBillNo && x.Status == 0)
- .First();
- if (rksqOrder == null)
- throw new Exception("璇ユ楠屽崟宸叉彁浜ら�佹");
-
- var sql = string.Format(@"SELECT A.item_barcode ItemBarcode,B.QUANTITY BgQuantity,c.item_no ItemNo,c.item_name ItemName,c.item_model ItemModel
- FROM MES_INV_ITEM_IN_RKSQ_DETAILS A
- LEFT JOIN MES_INV_ITEM_BARCODES B ON A.item_barcode = B.ITEM_BARCODE
- LEFT JOIN MES_ITEMS C ON B.ITEM_ID = C.item_id
- WHERE A.bill_no= '{0}'ORDER BY A.create_date DESC", rksqOrder.BillNo);
-
- var RKSQ = Db.Ado.SqlQuery<MesInvItemInRksqDetails>(sql);
-
-
- var rksqDetails = RKSQ.ToList();
-
-
- //var rksqDetails = Db.Queryable<MesInvItemInRksqDetails>()
- // .Where(x => x.BillNo == )
- // .ToList();
-
- // 15. Return processing result
- return new ScanWorkResult
- {
- BarcodesDetail = rksqDetails,
- };
- }
-
- public ScanWorkResult GetRksqSelect(ScanWorkRequest request)
- {
- //1.楠岃瘉鍛樺伐淇℃伅
- var staff = Db.Queryable<MesStaff>()
- .Where(x => x.StaffNo == request.StaffNo)
- .First();
- if (staff == null)
- throw new Exception("璇峰厛閫夋嫨浜哄憳");
-
- var rksqOrder = Db.Queryable<MesInvItemIns>()
- .Where(x => x.TransctionNo=="181"&& x.Status == 0 && x.CreateBy== request.StaffNo)
- .ToList();
-
- return new ScanWorkResult
- {
- rksqOrderList = rksqOrder,
- };
- }
-
}
\ No newline at end of file
diff --git a/service/Wom/WomdaaManager.cs b/service/Wom/WomdaaManager.cs
index a5cedcf..3861ba6 100644
--- a/service/Wom/WomdaaManager.cs
+++ b/service/Wom/WomdaaManager.cs
@@ -62,11 +62,7 @@
// 淇锛氳ˉ鍏呰幏鍙� womdaa 瀵硅薄
var daa001Value = query.daa001?.ToString();
- var daaInfoParameters = new[]
- {
- new SugarParameter("@daa001", query.daa001)
- };
- var womdaa = Db.Ado.SqlQuery<dynamic>("EXEC prc_pda_getDaaInfo @daa001", daaInfoParameters).FirstOrDefault();
+ var womdaa = Db.Ado.SqlQuery<dynamic>("EXEC prc_pda_getDaaInfo @daa001", parameters).First();
if (womdaa == null)
{
@@ -401,37 +397,6 @@
}
- /// <summary>
- /// 鑾峰彇鐗╂枡鐩稿叧鏉$爜淇℃伅
- /// </summary>
- /// <param name="unity"></param>
- /// <returns></returns>
- /// <exception cref="Exception"></exception>
- public dynamic GetBarKwByItemCK(dynamic unity)
- {
- if (unity == null)
- throw new ArgumentNullException(nameof(unity), "鍙傛暟瀵硅薄涓嶈兘涓簄ull");
-
- if (string.IsNullOrEmpty(unity.itemId?.ToString()))
- throw new ArgumentException("鐗╂枡ID涓嶈兘涓虹┖", nameof(unity.itemId));
-
- try
- {
- var parameters = new List<SugarParameter>
- {
- new SugarParameter("@itemId", unity.itemId),
- new SugarParameter("@inP1", unity.type),
- new SugarParameter("@inP2", unity.billNo)
- };
-
- return Db.Ado.SqlQuery<dynamic>("EXEC prc_pda_scll_selBarMx @itemId,@inP1,@inP2", parameters);
- }
- catch (Exception ex)
- {
- throw new Exception($"鑾峰彇鏉$爜淇℃伅澶辫触锛歿ex.Message}");
- }
-
- }
public dynamic ProductBinding(dynamic query)
{
@@ -509,11 +474,10 @@
if (string.IsNullOrEmpty(query.Kbbarcode?.ToString()))
throw new ArgumentException("鍗℃澘鏉$爜涓嶅厑璁镐负绌�", nameof(query.userName));
- var sql = string.Format(@"SELECT QUANTITY,agvPostion,
+ var sql = string.Format(@"SELECT QUANTITY,
ISNULL((SELECT COUNT(1) FROM MES_INV_ITEM_BARCODES_TBMX WHERE ABOUT_TB_BARCODE = '{0}'), 0) AS YSum,
DAA001
FROM MES_INV_ITEM_BARCODES A LEFT JOIN WOMDAA B ON A.ABOUT_GUID = B.guid
-left join MES_WORKSHOP_LINE C ON DAA015 = C.id AND iSAgV = 1
WHERE ITEM_BARCODE = '{0}' ", query.Kbbarcode);
var ZsBarInfo = Db.Ado.SqlQuery<dynamic>(sql);
@@ -764,13 +728,10 @@
cmd.Parameters.Add(parameter);
cmd.ExecuteNonQuery();
-
+
_strMsg = parameters[2].Value?.ToString() ?? "";
- if (int.TryParse(parameters[3].Value?.ToString(), out int status))
- _status = status;
- else
- _status = -1;
-
+ _status = Convert.ToInt32(parameters[3].Value ?? -1);
+
if (_status <= 0) throw new Exception(_strMsg);
return new {
@@ -912,10 +873,7 @@
cmd.ExecuteNonQuery();
_strMsg = parameters[3].Value?.ToString() ?? "";
- if (int.TryParse(parameters[4].Value?.ToString(), out int status))
- _status = status;
- else
- _status = -1;
+ _status = Convert.ToInt32(parameters[4].Value ?? -1);
if (_status <= 0) throw new Exception(_strMsg);
@@ -977,10 +935,7 @@
cmd.ExecuteNonQuery();
_strMsg = parameters[2].Value?.ToString() ?? "";
- if (int.TryParse(parameters[3].Value?.ToString(), out int status))
- _status = status;
- else
- _status = -1;
+ _status = Convert.ToInt32(parameters[3].Value ?? -1);
_weight = parameters[4].Value?.ToString() ?? "0";
if (_status <= 0) throw new Exception(_strMsg);
@@ -1187,10 +1142,7 @@
cmd.ExecuteNonQuery();
_strMsg = parameters[3].Value?.ToString() ?? "";
- if (int.TryParse(parameters[4].Value?.ToString(), out int status))
- _status = status;
- else
- _status = -1;
+ _status = Convert.ToInt32(parameters[4].Value ?? -1);
if (_status <= 0) throw new Exception(_strMsg);
@@ -1469,7 +1421,6 @@
{
new("@pi_user", SqlDbType.NVarChar, 100) { Value = query.userAccount },
new("@pi_kb_barcode", SqlDbType.NVarChar, 100) { Value = query.KbBar },
- new("@in1", SqlDbType.NVarChar, 100) { Value = query.AgvDw },
new("@outMsg", SqlDbType.NVarChar, 2500) { Direction = ParameterDirection.Output },
new("@outSum", SqlDbType.Int) { Direction = ParameterDirection.Output }
};
@@ -1480,8 +1431,8 @@
var result = new
{
- message = parameters[3].Value?.ToString(),
- status = Convert.ToInt32(parameters[4].Value)
+ message = parameters[2].Value?.ToString(),
+ status = Convert.ToInt32(parameters[3].Value)
};
if (result.status <= 0)
diff --git a/service/Wom/WwGdManager.cs b/service/Wom/WwGdManager.cs
index b96e906..5e90485 100644
--- a/service/Wom/WwGdManager.cs
+++ b/service/Wom/WwGdManager.cs
@@ -1,13 +1,12 @@
-锘縰sing Masuit.Tools;
+锘縰sing System.Data;
+using System.Data.SqlClient;
+using System.Threading.Tasks.Dataflow;
+using Masuit.Tools;
using NewPdaSqlServer.DB;
using NewPdaSqlServer.Dto.service;
using NewPdaSqlServer.entity;
-using NewPdaSqlServer.entity.Base;
using NewPdaSqlServer.util;
using SqlSugar;
-using System.Data;
-using System.Data.SqlClient;
-using System.Threading.Tasks.Dataflow;
using DbHelperSQL = NewPdaSqlServer.DB.DbHelperSQL;
namespace NewPdaSqlServer.service.Wom;
@@ -140,110 +139,86 @@
}
}
-
- /// <summary>
- /// 鑾峰彇搴撲綅淇℃伅
- /// </summary>
- /// <param name="unity"></param>
- /// <returns></returns>
- /// <exception cref="Exception"></exception>
- public dynamic GetBarKwByItem(dynamic unity)
+ public ProductionPickDto GetItemsByDaa001(WarehouseQuery query)
{
- if (unity == null)
- throw new ArgumentNullException(nameof(unity), "鍙傛暟瀵硅薄涓嶈兘涓簄ull");
+ return getDaa001(query);
+ }
- if (string.IsNullOrEmpty(unity.itemId?.ToString()))
- throw new ArgumentException("鐗╂枡ID涓嶈兘涓虹┖", nameof(unity.itemId));
+ private ProductionPickDto getDaa001(WarehouseQuery query)
+ {
+ if (string.IsNullOrEmpty(query.daa001)) throw new Exception("宸ュ崟鍙蜂负绌�");
- try
- {
- var parameters = new List<SugarParameter>
+ var wwgd = Db.Queryable<WwGd, MesItems>((a, i) =>
+ new JoinQueryInfos(JoinType.Left,
+ a.Daa003 == i.ItemId))
+ .Where((a, i) => a.Daa001 == query.daa001 && (a.PcSh ?? 0) == 1)
+ .Select((a, i) => new
{
- new SugarParameter("@itemId",unity.itemId)
- };
+ a.Daa001, a.RwdGuid
+ }).First();
- return Db.Ado.SqlQuery<dynamic>("EXEC prc_pda_scll_selBarMx @itemId", parameters);
- }
- catch (Exception ex)
- {
- throw new Exception($"鑾峰彇鏉$爜淇℃伅澶辫触锛歿ex.Message}");
- }
+ if (wwgd?.Daa001 == null) throw new Exception("宸ュ崟鍙蜂笉瀛樺湪");
- }
-
- /// <summary>
- /// 閫夊彇鍒楄〃
- /// </summary>
- /// <param name="unity"></param>
- /// <param name="RequestInfo"></param>
- /// <returns></returns>
- public dynamic GetXcslDaa(dynamic unity, dynamic RequestInfo)
- {
- var orgId = RequestInfo.OrgId;
- var parameters = new List<SugarParameter>
- {
- new SugarParameter("@selectKey", unity.selectKey),
- new SugarParameter("@inP1", orgId), // 鍙�夊弬鏁�
- new SugarParameter("@inP2", unity.selDaaType), // 鍙�夊弬鏁�
- new SugarParameter("@inP3", null), // 鍙�夊弬鏁�
- new SugarParameter("@inP4", null), // 鍙�夊弬鏁�
- // ...鍏朵粬鍙�夊弬鏁�
- };
- var result = Db.Ado.SqlQuery<dynamic>("EXEC prc_pda_wwll_list @selectKey, @inP1, @inP2, @inP3, @inP4", parameters);
- return result;
- }
-
- /// <summary>
- /// 鍒楄〃鏄庣粏
- /// </summary>
- /// <param name="query"></param>
- /// <param name="RequestInfo"></param>
- /// <returns></returns>
- public dynamic GetItemsByDaa001(WarehouseQuery query, dynamic RequestInfo)
- {
- return getDaa001(query, RequestInfo);
- }
-
- private dynamic getDaa001(WarehouseQuery query, dynamic RequestInfo)
- {
- if (string.IsNullOrEmpty(query.daa001)) throw new Exception("璇烽�夊伐鍗曞彿锛�");
- if (query == null)
- throw new ArgumentNullException(nameof(query), "鍙傛暟瀵硅薄涓嶈兘涓簄ull");
- if (string.IsNullOrEmpty(query.daa001?.ToString()))
- throw new ArgumentException("宸ュ崟鍙蜂笉瀛樺湪", nameof(query.daa001));
-
- var orgId = RequestInfo.OrgId;
- if (orgId == null)
- throw new Exception("缁勭粐涓嶅瓨鍦紒");
-
- var parameters = new[]
- {
- new SugarParameter("@daa001", query.daa001),
- new SugarParameter("@pi_orgId", orgId),
- new SugarParameter("@inP1", null),
- new SugarParameter("@inP2", null),
- new SugarParameter("@inP3", null),
- new SugarParameter("@inP4", null)
- };
- try
- {
- List<dynamic>? blDetails = Db.Ado.SqlQuery<dynamic>(
- "EXEC prc_pda_wwll_detailList @daa001,@pi_orgId,@inP1,@inP2,@inP3,@inP4", parameters);
- var items = blDetails.Where(x => x.DSQty > 0).ToList(); // 寰呮壂鐗╂枡
- var ysitems = blDetails.Where(x => x.SQty > 0).ToList(); // 宸叉壂鐗╂枡
- var planNo = blDetails.FirstOrDefault()?.ErpProductionOrderNo?.ToString();// 鑾峰彇宸ュ崟璁″垝鍙�
- return new
+ var womdabs = Db
+ .Queryable<WwGd, WwGdDetail, MesItems, ProductionOrderSub>(
+ (a, b, c, d) =>
+ new JoinQueryInfos(
+ JoinType.Left,
+ a.Id == b.Pid,
+ JoinType.Inner,
+ c.Id == b.Dab003,
+ JoinType.Inner, b.Erpid.ToString() == d.ErpId
+ ))
+ .Where((a, b, c, d) =>
+ a.Daa001 == query.daa001 )
+ .Select((a, b, c, d) => new WwGdDetail
{
- daa001 = query.daa001,
- PlanNo = planNo,
- items = items,
- ysitems = ysitems
- };
- }
- catch (Exception ex)
+ Pid = b.Pid,
+ Dab003 = b.Dab003,
+ Dab006 = b.Dab006,
+ Dab007 = b.Dab007,
+ wNum = b.Dab006 - b.Dab007, // 璁$畻瀛楁 W_NUM
+ ItemName = c.ItemName, // 鍔ㄦ�佸瓧娈� ITEM_NAME
+ ItemNo = c.ItemNo // 鍔ㄦ�佸瓧娈� ITEM_NO
+ })
+ .ToList();
+
+ var list = womdabs.Where(s => s.wNum > 0).ToList();
+
+ var mesInvItemOutCDetailsList = Db
+ .Queryable<MesInvItemOutCDetails, MesItems, MesDepots>
+ ((a, b, c) =>
+ new JoinQueryInfos(
+ JoinType.Inner, a.ItemId == b.Id,
+ JoinType.Inner, c.DepotId == a.DepotId
+ ))
+ .Where((a, b, c) => a.WorkNo == query.daa001)
+ .Select((a, b, c) => new MesInvItemOutCDetails
+ {
+ ItemName = b.ItemName,
+ ItemNo = b.ItemNo,
+ ItemId = a.ItemId,
+ DepotId = a.DepotId,
+ WorkNo = a.WorkNo,
+ DepotName = c.DepotName,
+ Quantity = a.Quantity
+ })
+ .ToList();
+
+ var womcaa = Db.Queryable<ProductionOrder>()
+ .Where(s => s.Guid == wwgd.RwdGuid)
+ .First();
+
+ var dto = new ProductionPickDto
{
- throw new Exception($"{ex.Message}");
- }
+ daa001 = wwgd.Daa001,
+ PlanNo = womcaa.ErpProductionOrderNo,
+ totals1 = womdabs,
+ daisao1 = list,
+ yisao = mesInvItemOutCDetailsList
+ };
+
+ return dto;
}
#region 濮斿閫�鏂�
@@ -267,40 +242,27 @@
if (p_section_code.IsNullOrEmpty()) throw new Exception("璇锋壂搴撲綅鏉$爜锛�");
// 鑾峰彇搴撲綅淇℃伅
- int? c_depot_code;
- try
- {
- c_depot_code = Db.Queryable<MesDepotSections, MesDepots>((a, b) =>
- new JoinQueryInfos(JoinType.Inner, a.DepotGuid == b.Guid))
- .Where((a, b) => a.DepotSectionCode == p_section_code)
- .Select((a, b) => b.DepotId).First();
- }
- catch
- {
- throw new Exception($"搴撲綅缂栫爜 {p_section_code} 涓嶅瓨鍦紝璇风‘璁わ紒");
- }
+ var c_depot_code = Db.Queryable<MesDepotSections, MesDepots>((a, b) =>
+ new JoinQueryInfos(JoinType.Inner, a.DepotGuid == b.Guid))
+ .Where((a, b) => a.DepotSectionCode == p_section_code)
+ .Select((a, b) => b.DepotId).First();
- MesDepotSections mesDepotSections;
- try
- {
- mesDepotSections = Db.Queryable<MesDepotSections>()
- .Where(a => a.DepotSectionCode == p_section_code).First();
- }
- catch
- {
- throw new Exception($"搴撲綅缂栫爜 {p_section_code} 涓嶅瓨鍦紝璇风‘璁わ紒");
- }
+ if (!c_depot_code.HasValue)
+ throw new Exception("搴撲綅缂栫爜" + p_section_code + " 涓嶅瓨鍦紝璇风‘璁わ紒");
- MesDepots c_mes_depots;
- try
- {
- c_mes_depots = Db.Queryable<MesDepots>()
- .Where(b => b.Guid == mesDepotSections.DepotGuid).First();
- }
- catch
- {
- 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) =>
@@ -318,16 +280,11 @@
if (c_num > 0) throw new Exception("姝ゆ潯鐮佸凡鎵叆搴擄紝鍕块噸澶嶆壂鎻忥紒");
// 鑾峰彇鏉$爜淇℃伅
- MesInvItemBarcodes c_mes_inv_item_barcodes;
- try
- {
- c_mes_inv_item_barcodes = Db.Queryable<MesInvItemBarcodes>()
- .Where(t => t.ItemBarcode == p_item_barcode).First();
- }
- catch
- {
- throw new Exception($"鏉$爜 {p_item_barcode} 涓嶅睘浜庤閫�鏂欏崟锛岃鏍稿锛�");
- }
+ 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("姝ゆ潯鐮佷笉灞炰簬璇ラ��鏂欏崟锛岃鏍稿锛�");
@@ -335,90 +292,41 @@
// throw new Exception("姝ゆ潯鐮佷笉鏄敓浜ч��鏂欐潯鐮侊紝涓嶅彲浣跨敤鐢熶骇閫�鏂欐ā鍧楋紒");
// 鑾峰彇閫�鏂欏崟淇℃伅
- MesItemTbl C_MES_ITEM_TBL;
- try
- {
- C_MES_ITEM_TBL = Db.Queryable<MesItemTbl>()
- .Where(a => a.BillNo == c_mes_inv_item_barcodes.BillNo
- && (a.Tbl013 ?? 0) == 1).First();
- }
- catch
- {
- throw new Exception($"鐢宠鍗� {c_mes_inv_item_barcodes.BillNo} 宸叉挙鍥炴垨涓嶅瓨鍦紝鏃犳硶鎵爜锛�");
- }
+ 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.Tbl020 == 1) throw new Exception("鎵爜瀹屾垚,鐢宠鍗曞凡瀹岀粨!");
// 妫�鏌ュ伐鍗曚俊鎭�
- WwGd wwgd;
- try
- {
- wwgd = Db.Queryable<WwGd>()
- .Where(a => a.Id.ToString() == C_MES_ITEM_TBL.Tbl002)
- .First();
- }
- catch
- {
- throw new Exception($"鐢宠鍗曞搴旂殑宸ュ崟涓嶅瓨鍦ㄦ垨宸插垹闄わ紝鍗曟嵁鍙凤細{C_MES_ITEM_TBL.Tbl002}锛屾棤娉曟壂鐮侊紒");
- }
+ var wwgd = Db.Queryable<WwGd>()
+ .Where(a => a.Id.ToString() == C_MES_ITEM_TBL.Tbl002)
+ .First();
- // 妫�鏌ョ敓浜ц鍗曚俊鎭�
- ProductionOrder WWRWD;
- try
- {
- WWRWD = Db.Queryable<ProductionOrder>()
- .Where(a => a.OrderNo == wwgd.Daa014)
- .First();
- }
- catch
- {
- throw new Exception($"宸ュ崟 {wwgd.Daa014} 瀵瑰簲鐨勭敓浜ц鍗曚笉瀛樺湪锛岃纭锛�");
- }
+ if (wwgd == null) throw new Exception("鐢宠鍗曞搴旂殑宸ュ崟涓嶅瓨鍦ㄦ垨宸插垹闄�,鏃犳硶鎵爜!");
+
+ // 妫�鏌ュ伐鍗曚俊鎭�
+ var WWRWD = Db.Queryable<ProductionOrder>()
+ .Where(a => a.OrderNo == wwgd.Daa014)
+ .First();
// 鑾峰彇閫�鏂欏崟鏄庣粏
- MesItemTblDetail C_MES_ITEM_TBL_DETAIL;
- try
- {
- C_MES_ITEM_TBL_DETAIL = Db.Queryable<MesItemTblDetail>()
- .Where(a => a.Tlid == c_mes_inv_item_barcodes.AboutGuid)
- .First();
- }
- catch
- {
- throw new Exception($"鏉$爜 {p_item_barcode} 涓嶅睘浜庤鐢宠鍗曟槑缁嗭紝鏃犳硶鎵爜锛�");
- }
+ var C_MES_ITEM_TBL_DETAIL = Db.Queryable<MesItemTblDetail>()
+ .Where(a => a.Tlid == c_mes_inv_item_barcodes.AboutGuid)
+ .First();
+
+ if (C_MES_ITEM_TBL_DETAIL == null)
+ throw new Exception("鏉$爜涓嶅睘浜庤鐢宠鍗曟槑缁�,鏃犳硶鎵爜!");
//鍒ゆ柇璐т富淇℃伅
- int? CABerpid;
- try
- {
- CABerpid = Db.Queryable<WwGdDetail>()
- .Where(womdab => womdab.Id.ToString() == C_MES_ITEM_TBL_DETAIL.Tld013)
- .Select(womdab => womdab.Erpid)
- .First();
- }
- catch
- {
- throw new Exception($"鐢ㄦ枡娓呭崟鏄庣粏涓嶅瓨鍦紝鏄庣粏ID锛歿C_MES_ITEM_TBL_DETAIL.Tld013}锛岃鑱旂郴绠$悊鍛橈紒");
- }
+ var CABerpid = Db.Queryable<WwGdDetail>().Where(womdab => womdab.Id.ToString() == C_MES_ITEM_TBL_DETAIL.Tld013).Select(womdab => womdab.Erpid).First();
- if (!CABerpid.HasValue)
- throw new Exception("鐢ㄦ枡娓呭崟ERP ID涓虹┖锛岃鑱旂郴绠$悊鍛橈紒");
+ var WWCAB = Db.Queryable<ProductionOrderSub>().Where(womcab => womcab.ErpId == CABerpid.Value.ToString()).First();
- ProductionOrderSub WWCAB;
- try
- {
- WWCAB = Db.Queryable<ProductionOrderSub>()
- .Where(womcab => womcab.ErpId == CABerpid.Value.ToString())
- .First();
- }
- catch
- {
- throw new Exception($"鐢熶骇璁㈠崟瀛愰」涓嶅瓨鍦紝ERP ID锛歿CABerpid.Value}锛岃鑱旂郴绠$悊鍛橈紒");
- }
- if (string.IsNullOrEmpty(WWCAB.Owner))
- throw new Exception($"鐢ㄦ枡娓呭崟璐т富淇℃伅涓嶅瓨鍦紝鐢熶骇璁㈠崟瀛愰」 ERP ID锛歿CABerpid.Value}锛屾棤娉曟壂鐮侊紝璇疯仈绯荤鐞嗗憳锛�");
+ if ( String.IsNullOrEmpty(WWCAB.Owner)) throw new Exception("鐢ㄦ枡娓呭崟璐т富淇℃伅涓嶅瓨鍦�,鏃犳硶鎵爜锛岃鑱旂郴绠$悊鍛�!");
//var owner_type = "";
//if (Db.Queryable<SysOrganization>().Any(x => x.Fid == ownerId))
diff --git a/service/base/LoginService.cs b/service/base/LoginService.cs
index 8a902ff..983db58 100644
--- a/service/base/LoginService.cs
+++ b/service/base/LoginService.cs
@@ -34,7 +34,6 @@
var sysUser = Db.Ado.SqlQuery<dynamic>("EXEC prc_pda_login_selUserOrgInfo @pi_account,@pi_password,@inP1,@inP2,@inP3", parameters).First();
if (sysUser == null) throw new Exception("鐢ㄦ埛涓嶅瓨鍦�");
-
var db_password = sysUser.Password;
if (!strPass.Equals(db_password)) throw new Exception("鐢ㄦ埛鍚嶆垨鑰呭瘑鐮侀敊璇�");
return sysUser;
@@ -96,8 +95,7 @@
var icoimg = "";
if (mesFile != null)
- icoimg = "http://192.168.0.51:81/upload/" +
- mesFile.UrlPath;
+ icoimg = "http://192.168.8.8:81/upload/" + mesFile.UrlPath;
groupObj.child.Add(new MesSysPageview
{
diff --git a/service/base/MesImageManager.cs b/service/base/MesImageManager.cs
index dd1d13d..3d2d785 100644
--- a/service/base/MesImageManager.cs
+++ b/service/base/MesImageManager.cs
@@ -1,4 +1,5 @@
锘縰sing NewPdaSqlServer.DB;
+using NewPdaSqlServer.Dto.@base;
using NewPdaSqlServer.Dto.service;
using NewPdaSqlServer.entity;
diff --git a/service/base/MesPrintMangeer.cs b/service/base/MesPrintMangeer.cs
index b73c912..5ee9f12 100644
--- a/service/base/MesPrintMangeer.cs
+++ b/service/base/MesPrintMangeer.cs
@@ -56,32 +56,6 @@
return mergedData;
}
- /// <summary>
- /// PDA閲嶆墦鏉$爜
- /// </summary>
- /// <param name="query"></param>
- /// <returns></returns>
- /// <exception cref="ArgumentException"></exception>
- public dynamic getPrintBarInfo(dynamic query) // 浣跨敤鍏蜂綋绫诲瀷鏇夸唬dynamic
- {
- // 鍙傛暟鏍¢獙
- if (string.IsNullOrEmpty(query?.barcode))
- throw new ArgumentException("鍘熷鏉$爜涓嶈兘涓虹┖");
-
- // 浣跨敤寮虹被鍨嬪弬鏁�
- var sqlParams = new List<SugarParameter> {
- new("@pi_Bar", query.barcode.Trim())
- };
-
- var sql = @"EXEC prc_pda_basePrint_selBarInfo @pi_Bar ";
-
- var mergedData = Db.Ado.SqlQuery<dynamic>(sql, sqlParams);
-
- //if (mergedData.Count < 2) throw new Exception("鏉$爜淇℃伅瀛樺湪寮傚父锛岃鑱旂郴绠$悊鍛橈紒");
-
- return mergedData;
- }
-
// // 鐜板満鏀舵枡灞曠ず鍒楄〃
// public class PrintBarInfo
// {
diff --git a/service/base/WmsBaseMangeer.cs b/service/base/WmsBaseMangeer.cs
index cb1ba5b..e3eadf8 100644
--- a/service/base/WmsBaseMangeer.cs
+++ b/service/base/WmsBaseMangeer.cs
@@ -31,20 +31,6 @@
string barcode, string sectionCode, string stockId, string stockOrgId,
string billNo, string transactionNo)
{
- // 鍙傛暟楠岃瘉
- if (string.IsNullOrEmpty(edtUserNo))
- throw new ArgumentException("鎿嶄綔浜哄伐鍙蜂笉鑳戒负绌�", nameof(edtUserNo));
- if (string.IsNullOrEmpty(barcode))
- throw new ArgumentException("鐗╂枡鏉$爜涓嶈兘涓虹┖", nameof(barcode));
- if (string.IsNullOrEmpty(sectionCode))
- throw new ArgumentException("搴撲綅缂栫爜涓嶈兘涓虹┖", nameof(sectionCode));
- if (string.IsNullOrEmpty(stockId))
- throw new ArgumentException("浠撳簱ID涓嶈兘涓虹┖", nameof(stockId));
- if (string.IsNullOrEmpty(stockOrgId))
- throw new ArgumentException("搴撳瓨缁勭粐ID涓嶈兘涓虹┖", nameof(stockOrgId));
- if (string.IsNullOrEmpty(transactionNo))
- throw new ArgumentException("浜嬪姟绫诲瀷涓嶈兘涓虹┖", nameof(transactionNo));
-
var outputMsg = "";
var outputStatus = -1;
@@ -60,7 +46,7 @@
new("@pi_sectionCode", SqlDbType.NVarChar, 100) { Value = sectionCode },
new("@pi_stockId", SqlDbType.NVarChar, 100) { Value = stockId },
new("@pi_stockOrgId", SqlDbType.NVarChar, 100) { Value = stockOrgId },
- new("@pi_billno", SqlDbType.NVarChar, 100) { Value = string.IsNullOrEmpty(billNo) ? DBNull.Value : billNo },
+ new("@pi_billno", SqlDbType.NVarChar, 100) { Value = billNo },
new("@pi_transaction_no", SqlDbType.NVarChar, 10) { Value = transactionNo },
new("@pi_val1", SqlDbType.NVarChar, 100) { Value = DBNull.Value }, // 棰勭暀鎵╁睍瀛楁
new("@pi_val2", SqlDbType.NVarChar, 100) { Value = DBNull.Value }, // 棰勭暀鎵╁睍瀛楁
@@ -136,32 +122,27 @@
/// <returns>璐т富绫诲瀷(BD_OwnerOrg/BD_Customer/BD_Supplier)</returns>
public string GetOwnerType(string ownerId)
{
- // 濡傛灉 ownerId 涓虹┖锛岃繑鍥為粯璁ょ殑璐т富绫诲瀷
if (string.IsNullOrEmpty(ownerId))
- return "BD_OwnerOrg"; // 榛樿涓虹粍缁囩被鍨�
+ throw new ArgumentNullException(nameof(ownerId));
- // 浼樺厛妫�鏌ョ郴缁熺粍缁�
if (Db.Queryable<SysOrganization>().Any(x => x.Fid == ownerId))
{
return "BD_OwnerOrg";
}
-
- // 妫�鏌ユ槸鍚︿负瀹㈡埛鎴栦緵搴斿晢锛堝畨鍏ㄧ殑鏁板瓧杞崲锛�
- if (int.TryParse(ownerId, out int ownerIdInt))
+ else if (Db.Queryable<MesCustomer>().Any(x => x.Id == Convert.ToInt32(ownerId)))
{
- if (Db.Queryable<MesCustomer>().Any(x => x.Id == ownerIdInt))
- {
- return "BD_Customer";
- }
-
- if (Db.Queryable<MesSupplier>().Any(x => x.Id == ownerIdInt))
- {
- return "BD_Supplier";
- }
+ return "BD_Customer";
}
-
- // 濡傛灉閮芥棤娉曞尮閰嶏紝杩斿洖榛樿缁勭粐绫诲瀷鑰屼笉鏄姏鍑哄紓甯�
- return "BD_OwnerOrg";
+ else if (Db.Queryable<MesSupplier>().Any(x => x.Id == Convert.ToInt32(ownerId)))
+ {
+ return "BD_Supplier";
+ }
+ else if (Db.Queryable<SysOrganization>().Any(x => x.Fid == ownerId))
+ {
+ return "BD_OwnerOrg";
+ }
+
+ throw new Exception("鏃犳硶纭畾璐т富绫诲瀷锛岃妫�鏌ヨ揣涓籌D鏄惁姝g‘锛�");
}
--
Gitblit v1.9.3