From ad98086ca42359208740fc18b53e6ccfb8f56e38 Mon Sep 17 00:00:00 2001
From: cnf <3200815559@qq.com>
Date: 星期五, 01 八月 2025 16:46:40 +0800
Subject: [PATCH] 生产领料,报工
---
Dto/service/ScanWorkRequest.cs | 7
Controllers/Wom/MesWorkProdController.cs | 54 ++
Dto/service/ScanWorkResult.cs | 7
Controllers/Wom/WomdaaController.cs | 2
entity/MesInvItemInRksqDetails.cs | 400 ++++++++++++++++++++
service/Wom/MesWorkProdManager.cs | 729 ++++++++++++++++++++++-------------
6 files changed, 925 insertions(+), 274 deletions(-)
diff --git a/Controllers/Wom/MesWorkProdController.cs b/Controllers/Wom/MesWorkProdController.cs
index 92b1a8e..15bc4ae 100644
--- a/Controllers/Wom/MesWorkProdController.cs
+++ b/Controllers/Wom/MesWorkProdController.cs
@@ -214,5 +214,59 @@
}
}
+ /// <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 c761e97..779ca5a 100644
--- a/Controllers/Wom/WomdaaController.cs
+++ b/Controllers/Wom/WomdaaController.cs
@@ -105,7 +105,7 @@
{
dynamic resultInfos = new ExpandoObject();
resultInfos.tbBillList = new ExpandoObject();
- resultInfos.tbBillList.printInfo = _mCf.getPrintInfo(query);
+ //resultInfos.tbBillList.printInfo = _mCf.getPrintInfo(query);
var scanResult = m.ScanCodeCF(query);
resultInfos.tbBillList.cfBarInfo = _mCf.getCfInfo(scanResult);
return new ResponseResult
diff --git a/Dto/service/ScanWorkRequest.cs b/Dto/service/ScanWorkRequest.cs
index ff70aef..aea0007 100644
--- a/Dto/service/ScanWorkRequest.cs
+++ b/Dto/service/ScanWorkRequest.cs
@@ -1,10 +1,13 @@
-锘縩amespace NewPdaSqlServer.Dto.service;
+锘縰sing NewPdaSqlServer.entity;
+
+namespace 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 ff8bb47..b50ff5b 100644
--- a/Dto/service/ScanWorkResult.cs
+++ b/Dto/service/ScanWorkResult.cs
@@ -1,4 +1,6 @@
-锘縩amespace NewPdaSqlServer.Dto.service;
+锘縰sing NewPdaSqlServer.entity;
+
+namespace NewPdaSqlServer.Dto.service;
/// <summary>
/// 鐢熶骇鎶ュ伐鎵弿缁撴灉
@@ -14,4 +16,7 @@
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/entity/MesInvItemInRksqDetails.cs b/entity/MesInvItemInRksqDetails.cs
new file mode 100644
index 0000000..350af80
--- /dev/null
+++ b/entity/MesInvItemInRksqDetails.cs
@@ -0,0 +1,400 @@
+锘縰sing SqlSugar;
+
+namespace NewPdaSqlServer.entity
+{
+
+ /// <summary>
+ /// 鐗╂枡鍏ュ簱鏉$爜鏄庣粏
+ /// </summary>
+ [SugarTable("MES_INV_ITEM_IN_RKSQ_DETAILS")]
+ public class MesInvItemInRksqDetails
+ {
+ /// <summary>
+ /// 榛樿鍊�: (newid())
+ /// </summary>
+ [SugarColumn(ColumnName = "guid", IsPrimaryKey = true)]
+ public Guid Guid { get; set; }
+
+ /// <summary>
+ /// 鍏ュ簱鍗昳d
+ /// </summary>
+ [SugarColumn(ColumnName = "ITEM_IN_ID")]
+ public Guid? ItemInId { get; set; }
+
+ /// <summary>
+ /// 鐗╂枡鏉$爜PSN
+ /// </summary>
+ [SugarColumn(ColumnName = "ITEM_BARCODE")]
+ public string? ItemBarcode { get; set; }
+
+ /// <summary>
+ /// 瀹㈡埛鐗╂枡缂栫爜锛堟棤鏉$爜鎵嬪伐褰曞叆锛屾湁鏉$爜涓哄啑浣欏瓧娈碉級
+ /// </summary>
+ [SugarColumn(ColumnName = "C_ITEM_CODE")]
+ public string? CItemCode { get; set; }
+
+ /// <summary>
+ /// 瀹㈡埛鐗╂枡鏉$爜
+ /// </summary>
+ [SugarColumn(ColumnName = "C_ITEM_BARCODE")]
+ public string? CItemBarcode { get; set; }
+
+ /// <summary>
+ /// 楠屾敹鏁伴噺
+ /// </summary>
+ [SugarColumn(ColumnName = "QUANTITY")]
+ public decimal? Quantity { get; set; }
+
+ /// <summary>
+ /// 鍏ュ簱鏂瑰紡(1:鏈夋潯鐮�,0:鏃犳潯鐮�)
+ /// 榛樿鍊�: ((1))
+ /// </summary>
+ [SugarColumn(ColumnName = "BARCODE_FLAG")]
+ public bool? BarcodeFlag { get; set; }
+
+ /// <summary>
+ /// 鐜繚鏍囧織锛�0-闈炵幆淇�,1-鐜繚.鏃犳潯鐮佹墜宸ュ綍鍏ワ紝鏈夋潯鐮佷负鍐椾綑瀛楁锛�
+ /// 榛樿鍊�: ((1))
+ /// </summary>
+ [SugarColumn(ColumnName = "EP_FLAG")]
+ public bool? EpFlag { get; set; }
+
+ /// <summary>
+ /// 鍒涘缓浜�
+ /// </summary>
+ [SugarColumn(ColumnName = "CREATE_BY")]
+ public string? CreateBy { get; set; }
+
+ /// <summary>
+ /// 鍒涘缓鏃堕棿
+ /// </summary>
+ [SugarColumn(ColumnName = "CREATE_DATE")]
+ public DateTime? CreateDate { get; set; }
+
+ /// <summary>
+ /// 鏈�鍚庢洿鏂颁汉
+ /// </summary>
+ [SugarColumn(ColumnName = "LASTUPDATE_BY")]
+ public string? LastupdateBy { get; set; }
+
+ /// <summary>
+ /// 鏈�鍚庢洿鏂版椂闂�
+ /// </summary>
+ [SugarColumn(ColumnName = "LASTUPDATE_DATE")]
+ public DateTime? LastupdateDate { get; set; }
+
+ /// <summary>
+ /// 浣滀笟鏂瑰紡0-鏈夌嚎鏉$爜鏋�1-鏃犵嚎鏉$爜鏋�
+ /// </summary>
+ [SugarColumn(ColumnName = "WORK_TYPE")]
+ public long? WorkType { get; set; }
+
+ /// <summary>
+ /// 鏈徃鐗╂枡缂栫爜锛堟棤鏉$爜鎵嬪伐褰曞叆锛屾湁鏉$爜涓哄啑浣欏瓧娈碉級
+ /// </summary>
+ [SugarColumn(ColumnName = "ITEM_NO")]
+ public string? ItemNo { get; set; }
+
+ /// <summary>
+ /// 鍘傚鎵规
+ /// </summary>
+ [SugarColumn(ColumnName = "LOT_NO")]
+ public string? LotNo { get; set; }
+
+ /// <summary>
+ /// 鏄惁鍏辩鐗╂枡(0:鍚︼紝1:鏄�)
+ /// 榛樿鍊�: ((0))
+ /// </summary>
+ [SugarColumn(ColumnName = "COMANAGEMENT_FLAG")]
+ public bool? ComanagementFlag { get; set; }
+
+ /// <summary>
+ /// 瀹㈡埛缂栫爜
+ /// </summary>
+ [SugarColumn(ColumnName = "CUST_NO")]
+ public string? CustNo { get; set; }
+
+ /// <summary>
+ /// 妫�楠岀粨鏋�
+ /// </summary>
+ [SugarColumn(ColumnName = "CHECK_RES")]
+ public string? CheckRes { get; set; }
+
+ /// <summary>
+ /// 杩涜揣鏁伴噺
+ /// </summary>
+ [SugarColumn(ColumnName = "CHECK_QTY")]
+ public decimal? CheckQty { get; set; }
+
+ /// <summary>
+ /// 妫�楠岀姸鎬�
+ /// </summary>
+ [SugarColumn(ColumnName = "CHECK_STATES")]
+ public string? CheckStates { get; set; }
+
+ /// <summary>
+ /// 寮哄埗鍏ュ簱鏍囪0鏃狅紝1-寮哄埗鍏ュ簱 閫�鏂欏崟浣跨敤
+ /// 榛樿鍊�: ((0))
+ /// </summary>
+ [SugarColumn(ColumnName = "FORCE_IN_FLAG")]
+ public bool? ForceInFlag { get; set; }
+
+ /// <summary>
+ /// 浠撳簱缂栫爜
+ /// </summary>
+ [SugarColumn(ColumnName = "DEPOT_CODE")]
+ public string? DepotCode { get; set; }
+
+ /// <summary>
+ /// 璐т綅缂栫爜
+ /// </summary>
+ [SugarColumn(ColumnName = "DEPOT_SECTION_CODE")]
+ public string? DepotSectionCode { get; set; }
+
+ /// <summary>
+ /// 鐗硅浜嬮」
+ /// </summary>
+ [SugarColumn(ColumnName = "REMARK")]
+ public string? Remark { get; set; }
+
+ /// <summary>
+ /// 鐗╂枡鏉$爜
+ /// </summary>
+ [SugarColumn(ColumnName = "ITEM_BARCODE2")]
+ public string? ItemBarcode2 { get; set; }
+
+ /// <summary>
+ /// 鏂版潯鐮�
+ /// </summary>
+ [SugarColumn(ColumnName = "ITEM_BARCODE3")]
+ public string? ItemBarcode3 { get; set; }
+
+ /// <summary>
+ /// 宸蹭娇鐢ㄦ暟閲�
+ /// </summary>
+ [SugarColumn(ColumnName = "USE_QTY")]
+ public decimal? UseQty { get; set; }
+
+ /// <summary>
+ /// 鍑哄簱鏁伴噺
+ /// </summary>
+ [SugarColumn(ColumnName = "OUT_QTY")]
+ public decimal? OutQty { get; set; }
+
+ /// <summary>
+ /// 鐗╂枡鍚嶇О
+ /// </summary>
+ [SugarColumn(ColumnName = "ITEM_SNAME")]
+ public string? ItemSname { get; set; }
+
+ /// <summary>
+ /// 璧峰浣嶇疆
+ /// </summary>
+ [SugarColumn(ColumnName = "SPOSTION")]
+ public int? Spostion { get; set; }
+
+ /// <summary>
+ /// 缁撴潫浣嶇疆
+ /// </summary>
+ [SugarColumn(ColumnName = "EPOSTION")]
+ public int? Epostion { get; set; }
+
+ /// <summary>
+ /// 妫�楠屾棩鏈�
+ /// </summary>
+ [SugarColumn(ColumnName = "CHECK_DATE")]
+ public DateTime? CheckDate { get; set; }
+
+ /// <summary>
+ /// 鍗曚綅
+ /// </summary>
+ [SugarColumn(ColumnName = "UNIT")]
+ public string? Unit { get; set; }
+
+ /// <summary>
+ /// 鏄惁妫�楠�
+ /// 榛樿鍊�: ((0))
+ /// </summary>
+ [SugarColumn(ColumnName = "ISCHECK")]
+ public bool? Ischeck { get; set; }
+
+ /// <summary>
+ /// 閲囪喘鍗曞彿
+ /// </summary>
+ [SugarColumn(ColumnName = "EBELN")]
+ public string? Ebeln { get; set; }
+
+ /// <summary>
+ /// 鎵规鏃ユ湡
+ /// </summary>
+ [SugarColumn(ColumnName = "LOT_DATE")]
+ public string? LotDate { get; set; }
+
+ /// <summary>
+ /// 鍙戠エ鍙�
+ /// </summary>
+ [SugarColumn(ColumnName = "BILL_NO")]
+ public string? BillNo { get; set; }
+
+ /// <summary>
+ /// 鏄惁鍏ュ簱鎴愬姛
+ /// 榛樿鍊�: ((0))
+ /// </summary>
+ [SugarColumn(ColumnName = "STOCK_OK")]
+ public bool? StockOk { get; set; }
+
+ /// <summary>
+ /// 宸ュ巶
+ /// </summary>
+ [SugarColumn(ColumnName = "FACTORY")]
+ public string? Factory { get; set; }
+
+ /// <summary>
+ /// 鍏徃
+ /// </summary>
+ [SugarColumn(ColumnName = "COMPANY")]
+ public string? Company { get; set; }
+
+ /// <summary>
+ /// CB鍗曞彿
+ /// </summary>
+ [SugarColumn(ColumnName = "CB_NO")]
+ public string? CbNo { get; set; }
+
+ /// <summary>
+ /// 绠卞彿
+ /// </summary>
+ [SugarColumn(ColumnName = "BOX_NO")]
+ public string? BoxNo { get; set; }
+
+ /// <summary>
+ /// 浠撳簱ID
+ /// </summary>
+ [SugarColumn(ColumnName = "DEPOT_ID")]
+ public long? DepotId { get; set; }
+
+ /// <summary>
+ /// 璐т綅ID
+ /// </summary>
+ [SugarColumn(ColumnName = "DEPOT_SECTION_ID")]
+ public long? DepotSectionId { get; set; }
+
+ /// <summary>
+ /// 琛屽彿
+ /// </summary>
+ [SugarColumn(ColumnName = "LINE_NUM")]
+ public string? LineNum { get; set; }
+
+ /// <summary>
+ /// 鎵弿鏁伴噺
+ /// </summary>
+ [SugarColumn(ColumnName = "SM_QTY")]
+ public decimal? SmQty { get; set; }
+
+ /// <summary>
+ /// 鍙戣揣鍗曞彿
+ /// </summary>
+ [SugarColumn(ColumnName = "VGBEL")]
+ public string? Vgbel { get; set; }
+
+ /// <summary>
+ /// 琛屽彿
+ /// </summary>
+ [SugarColumn(ColumnName = "KDPOS")]
+ public long? Kdpos { get; set; }
+
+ /// <summary>
+ /// 浣滀笟鍗曞彿
+ /// </summary>
+ [SugarColumn(ColumnName = "WORK_NO")]
+ public string? WorkNo { get; set; }
+
+ /// <summary>
+ /// 琛屽彿
+ /// </summary>
+ [SugarColumn(ColumnName = "EBELN_LINE_NO")]
+ public long? EbelnLineNo { get; set; }
+
+ /// <summary>
+ /// CB鍗曞彿
+ /// </summary>
+ [SugarColumn(ColumnName = "CBILL_NO")]
+ public string? CbillNo { get; set; }
+
+ /// <summary>
+ /// 绱ф�ユ爣璁�
+ /// </summary>
+ [SugarColumn(ColumnName = "URGENT_FLAG")]
+ public bool? UrgentFlag { get; set; }
+
+ /// <summary>
+ /// 鏉垮瀷
+ /// </summary>
+ [SugarColumn(ColumnName = "BOARD_STYLE")]
+ public string? BoardStyle { get; set; }
+
+ /// <summary>
+ /// 宸ヤ綔琛屽彿
+ /// </summary>
+ [SugarColumn(ColumnName = "WORK_LINE")]
+ public int? WorkLine { get; set; }
+
+ /// <summary>
+ /// 浠诲姟鍙�
+ /// </summary>
+ [SugarColumn(ColumnName = "TASK_NO")]
+ public string? TaskNo { get; set; }
+
+ /// <summary>
+ /// 渚涘簲鍟嗙紪鐮�
+ /// </summary>
+ [SugarColumn(ColumnName = "SUPP_NO")]
+ public string? SuppNo { get; set; }
+
+ /// <summary>
+ /// 鏀惰揣鍗曞彿
+ /// </summary>
+ [SugarColumn(ColumnName = "RBILL_NO")]
+ public string? RbillNo { get; set; }
+
+ /// <summary>
+ /// K3 閲囪喘鍗曞彿
+ /// </summary>
+ [SugarColumn(ColumnName = "EBELN_K3ID")]
+ public long? EbelnK3id { get; set; }
+
+ /// <summary>
+ /// K3 琛屽彿
+ /// </summary>
+ [SugarColumn(ColumnName = "LINE_K3ID")]
+ public long? LineK3id { get; set; }
+
+ /// <summary>
+ /// 鐗╂枡ID
+ /// </summary>
+ [SugarColumn(ColumnName = "ITEM_ID")]
+ public long? ItemId { get; set; }
+
+ /// <summary>
+ /// </summary>
+ [SugarColumn(ColumnName = "SUPP_ID")]
+ public string? SuppId { get; set; }
+
+ /// <summary>
+ /// 鏀舵枡缁勭粐
+ /// </summary>
+ [SugarColumn(ColumnName = "ReceiveOrgId")]
+ public string? ReceiveOrgId { get; set; }
+
+
+ // 娣诲姞鐨勫瓧娈碉紝骞朵笖瀹冧滑涓嶅睘浜庢暟鎹簱琛�
+ [SugarColumn(IsIgnore = true)] public string? ItemName { get; set; }
+
+ [SugarColumn(IsIgnore = true)] public string? ItemModel { get; set; }
+
+ [SugarColumn(IsIgnore = true)] public string? ItemUnit { get; set; }
+
+ [SugarColumn(IsIgnore = true)] public decimal? BgQuantity { get; set; }
+
+}
+}
diff --git a/service/Wom/MesWorkProdManager.cs b/service/Wom/MesWorkProdManager.cs
index 07d18e1..1f39ae2 100644
--- a/service/Wom/MesWorkProdManager.cs
+++ b/service/Wom/MesWorkProdManager.cs
@@ -1,8 +1,12 @@
锘縰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;
namespace NewPdaSqlServer.service.Wom;
@@ -42,10 +46,212 @@
/// </exception>
public ScanWorkResult ScanWorkAsync(ScanWorkRequest request)
{
- // 1. 楠岃瘉鍛樺伐淇℃伅
- var staff = Db.Queryable<MesStaff>()
- .Where(x => x.StaffNo == request.StaffNo)
- .First();
+ // // 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}");
+
+ // // 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;
+ // }
+
+ // // 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("鏉$爜閲嶅鎵弿锛岃鏍稿锛�");
+
+ // // 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}");
+
+ // 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}");
+
+ // 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();
+
+ // // 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(鎶ュ伐)");
+
+ // 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;
+ // }
+
+ // // 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();
+
+ // // 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;
+ // });
+
+ // // 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();
if (staff == null)
throw new Exception("璇峰厛閫夋嫨浜哄憳");
@@ -63,46 +269,6 @@
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;
- }
-
- // 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("鏉$爜閲嶅鎵弿锛岃鏍稿锛�");
-
- // 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)
@@ -110,139 +276,66 @@
if (workOrder == null)
throw new Exception($"鏃犲伐鍗曟槑缁嗭紝璇锋牳瀵癸紒{request.ItemBarcode}");
- var planQty = workOrder.Daa008;
- var itemModel = workOrder.Daa004;
-
- // 8. 浣跨敤浜嬪姟澶勭悊鎶ュ伐鏁版嵁
- UseTransaction(db =>
+ // 浣跨敤瀛樺偍杩囩▼澶勭悊鐢熶骇鎶ュ伐
+ var parameters = new SqlParameter[]
{
- // 9. 澶勭悊鏈夋暟閲忔潯鐮佺殑鑷姩鎶ュ伐
- if (barcode.Quantity > 0)
- {
- var reportQty = barcode.Quantity;
- if (reportQty <= 0)
- throw new Exception(
- $"鎶ュ伐鏁伴噺涓嶈兘灏忎簬绛変簬0锛岃鏍稿锛亄request.ItemBarcode}");
+ new SqlParameter("@pi_user", request.StaffNo),
+ new SqlParameter("@pi_barcode", request.ItemBarcode),
+ new SqlParameter("@po_outMsg", SqlDbType.NVarChar, 200) { Direction = ParameterDirection.Output },
+ new SqlParameter("@po_outSum", SqlDbType.Int) { Direction = ParameterDirection.Output },
+ new SqlParameter("@po_womInBarSum", SqlDbType.Decimal) { Direction = ParameterDirection.Output }
+ };
- var totalQty = (reportedQty ?? 0) + reportQty;
- if (totalQty > workOrder.Daa008)
- throw new Exception(
- $"鏈鎶ュ伐鏁伴噺锛歿reportQty} 澶т簬鍓╀綑鎶ュ伐鏁伴噺锛歿workOrder.Daa008 - reportedQty ?? 0}锛岃鏍稿锛�");
+ string procedureName = "prc_pda_scbg";
+ int res = DbHelperSQL.RunProcedure_NonQuery(procedureName, parameters);
- // 10. 鏇存柊鏉$爜鐘舵��
- db.Updateable<MesInvItemBarcodes>()
- .SetColumns(x => new MesInvItemBarcodes
- {
- WorkFlg = true
- //Quantity = reportQty
- })
- .Where(x => x.Guid == barcode.Guid)
- .ExecuteCommand();
+ // 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;
- // 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 rksqOrder = Db.Queryable<MesInvItemIns>()
+ .Where(x => x.RbillNo == barcode.BillNo && x.TransctionNo=="181" && x.CreateBy==request.StaffNo)
+ .First();
- var id = Guid.Empty;
- var billNo = "";
- if (workProd == null)
- {
- id = Guid.NewGuid();
- billNo = BillNo.GetBillNo("BG(鎶ュ伐)");
+ 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);
- 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
- };
+ var RKSQ = Db.Ado.SqlQuery<MesInvItemInRksqDetails>(sql);
- 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();
+ var rksqDetails = RKSQ.ToList();
- // 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);
- }
+ //var rksqDetails = Db.Queryable<MesInvItemInRksqDetails>()
+ // .Where(x => x.BillNo == )
+ // .ToList();
- return 1;
- });
+ // Check if the procedure failed
+ if (po_outSum == -1)
+ {
+ throw new Exception(po_outMsg);
+ }
- // 15. 杩斿洖澶勭悊缁撴灉
+ // 15. Return processing result
return new ScanWorkResult
{
TaskNo = barcode.BillNo,
ItemNo = item.ItemNo,
- PlanQty = planQty ?? 0,
- ReportedQty = reportedQty ?? 0,
+ PlanQty = workOrder.Daa008 ?? 0,
+ ReportedQty = po_womInBarSum,
CurrentQty = barcode.Quantity.Value,
BarcodeQty = barcode.Quantity.Value,
ItemName = item.ItemName,
- ItemModel = itemModel,
- Message = "鎵爜鎴愬姛锛�"
+ ItemModel = workOrder.Daa004,
+ Message = po_outMsg,
+ sjBillNo = rksqOrder.BillNo,
+ BarcodesDetail = rksqDetails,
};
+
}
@@ -264,124 +357,220 @@
/// </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")
+ //// 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[]
{
- case "涓濆嵃":
- transactionNo = 901; // 涓濆嵃宸ュ簭
- break;
- case "鍗婃垚鍝�":
- transactionNo = 902; // 鍗婃垚鍝佸伐搴�
- break;
- case "鎴愬搧":
- case "鍖呰":
- transactionNo = 903; // 鎴愬搧/鍖呰宸ュ簭
- break;
+ // 杈撳嚭鍙傛暟锛氳繑鍥炴秷鎭紙鏈�澶ч暱搴�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 = 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);
}
-
- // 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 =>
+ else
{
- // 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;
+ return true;
+ }
}
+
+ 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
--
Gitblit v1.9.3