From 058e5ab99d57995d834b16fc4937a4bc559fe117 Mon Sep 17 00:00:00 2001
From: cnf <3283105747@qq.com>
Date: 星期三, 05 十一月 2025 14:29:30 +0800
Subject: [PATCH] 委外功能修改测通
---
service/Wom/MesWorkProdManager.cs | 739 +++++++++++++++++++++++---------------------------------
1 files changed, 302 insertions(+), 437 deletions(-)
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
--
Gitblit v1.9.3