From fa53abd5d374862c640da5310d0bd1bb641a0d5b Mon Sep 17 00:00:00 2001
From: zyf <1071160500@qq.com>
Date: 星期二, 26 八月 2025 19:15:29 +0800
Subject: [PATCH] 检验查询功能新增、检验根据车间显示单据
---
MES.Service/service/Warehouse/OpeningReceiptServer.cs | 95 +++++++++++++++++++++++++++++------------------
1 files changed, 59 insertions(+), 36 deletions(-)
diff --git a/MES.Service/service/Warehouse/OpeningReceiptServer.cs b/MES.Service/service/Warehouse/OpeningReceiptServer.cs
index 7e8c60e..d525417 100644
--- a/MES.Service/service/Warehouse/OpeningReceiptServer.cs
+++ b/MES.Service/service/Warehouse/OpeningReceiptServer.cs
@@ -1,55 +1,43 @@
锘縰sing MES.Service.DB;
using MES.Service.Dto.service;
using MES.Service.Modes;
-using MES.Service.util;
using SqlSugar;
namespace MES.Service.service.Warehouse;
-public class OpeningReceiptServer :RepositoryNoEntity
+public class OpeningReceiptServer : RepositoryNoEntity
{
-
private const string Factory = "1000";
private const string Company = "1000";
+ private const int billTypeId = 100;
+
+ private const int transactionNo = 601;
+
public MesInvItemBarcodes ScanInBarcodeQC(WarehouseQuery query)
{
if (string.IsNullOrWhiteSpace(query.sectionCode))
- {
throw new Exception("璇锋壂搴撲綅鏉$爜锛�");
- }
var depotCode = GetDepotCode(query.sectionCode);
if (depotCode == null)
- {
throw new Exception($"002[搴撲綅缂栫爜 {query.sectionCode} 涓嶅瓨鍦紝璇风‘璁わ紒");
- }
-
- int billTypeId = 100;
- int transactionNo = 601;
var checkBarcodeAlreadyReceived =
CheckBarcodeAlreadyReceived(query.barcode);
- if (checkBarcodeAlreadyReceived > 0)
- {
- throw new Exception("鏉$爜閲嶅鎵弿锛岃鏍稿锛�");
- }
+ if (checkBarcodeAlreadyReceived > 0) throw new Exception("鏉$爜閲嶅鎵弿锛岃鏍稿锛�");
if (CheckBarcodeInStock(query.barcode) > 0)
- {
throw new Exception("鏉$爜宸插湪搴撳瓨涓紝璇锋牳瀵癸紒");
- }
var barcodeInfo = GetBarcodeInfo(query.barcode);
if (barcodeInfo == null || barcodeInfo.ComeFlg != 0)
- {
throw new Exception("鏉$爜涓嶆槸鏈熷垵鏉$爜锛屾棤娉曠敤鏈熷垵鍏ュ簱锛�");
- }
var inventoryItemInId = GetOrCreateInventoryItemInId(barcodeInfo,
- depotCode, query.userName, transactionNo, out string billNo);
+ depotCode, query.userName, out var billNo);
UseTransaction(db =>
{
@@ -64,8 +52,53 @@
return 1;
});
-
return barcodeInfo;
+ }
+
+ public PurchaseInventory GetForm(WarehouseQuery query)
+ {
+ var mesInvItemBarcodes = Db.Queryable<MesInvItemBarcodes>()
+ .Where(s => s.ItemBarcode == query.barcode).Count();
+
+ if (mesInvItemBarcodes <= 0) throw new Exception("鏉$爜涓嶅瓨鍦�");
+
+ var mesInvItemInCDetails = Db.Queryable<MesInvItemInCDetails>()
+ .Where(s => s.ItemBarcode == query.barcode).Single();
+
+ var entity = new PurchaseInventory
+ {
+ ItemIns = GetMesInvItemIns(mesInvItemInCDetails.ItemInId),
+ InvItemInCDetails =
+ GetMesInvItemInCDetailsList(mesInvItemInCDetails.ItemInId),
+ ItemStocks = Db.Queryable<MesInvItemStocks>()
+ .Where(s => s.ItemBarcode == query.barcode).ToList()
+ };
+
+ return entity;
+ }
+
+ public MesInvItemIns GetMesInvItemIns(decimal id)
+ {
+ return Db.Queryable<MesInvItemIns>()
+ .Where(s => s.Id == id).Single();
+ }
+
+ public List<MesInvItemInCDetails> GetMesInvItemInCDetailsList(decimal id)
+ {
+ return Db.Queryable<MesInvItemInCDetails, MesUnit>((a, b) =>
+ new JoinQueryInfos(JoinType.Inner, a.Unit == b.Id.ToString()))
+ .Where((a, b) => a.ItemInId == id)
+ .Select((a, b) => new MesInvItemInCDetails
+ {
+ ItemBarcode = a.ItemBarcode,
+ ItemNo = a.ItemNo,
+ ItemSname = a.ItemSname,
+ DepotSectionCode = a.DepotSectionCode,
+ Quantity = a.Quantity,
+ Unit = b.Fname,
+ Remark = a.Remark
+ })
+ .ToList();
}
private void InsertInventoryDetails(decimal itemInId, string billNo,
@@ -106,14 +139,11 @@
TaskNo = barcodeInfo.TaskNo
}).ExecuteCommand();
- if (executeCommand <= 0)
- {
- throw new Exception("鍐欏叆澶辫触");
- }
+ if (executeCommand <= 0) throw new Exception("鍐欏叆澶辫触");
}
private decimal GetOrCreateInventoryItemInId(MesInvItemBarcodes barcodeInfo,
- string depotCode, string userName, int transactionNo, out string billNo)
+ string depotCode, string userName, out string billNo)
{
var inventory = Db.Queryable<MesInvItemIns>()
.Where(d => d.InsDate >= DateTime.Today &&
@@ -125,7 +155,6 @@
d.SuppNo == barcodeInfo.SuppNo &&
d.DepotsCode == depotCode)
.First();
-
if (inventory != null)
{
billNo = inventory.BillNo;
@@ -139,7 +168,7 @@
var executeReturnIdentity = Db.Insertable(new MesInvItemIns
{
BillNo = billNo,
- BillTypeId = 100,
+ BillTypeId = billTypeId,
InsDate = DateTime.Now,
DepotsCode = depotCode,
TransctionNo = transactionNo.ToString(),
@@ -218,10 +247,7 @@
SuppNo = barcodeInfo.SuppNo
}).ExecuteCommand();
- if (executeCommand <= 0)
- {
- throw new Exception("鍐欏叆澶辫触");
- }
+ if (executeCommand <= 0) throw new Exception("鍐欏叆澶辫触");
}
private void InsertBusinessRecord(MesInvItemBarcodes barcodeInfo,
@@ -231,7 +257,7 @@
var executeCommand = Db.Insertable(new MesInvBusiness2
{
Status = 1,
- BillTypeId = 100,
+ BillTypeId = billTypeId,
TransactionCode = "601",
BusinessType = 1,
ItemBarcode = barcodeInfo.ItemBarcode,
@@ -254,9 +280,6 @@
SuppNo = barcodeInfo.SuppNo
}).ExecuteCommand();
- if (executeCommand <= 0)
- {
- throw new Exception("鍐欏叆澶辫触");
- }
+ if (executeCommand <= 0) throw new Exception("鍐欏叆澶辫触");
}
}
\ No newline at end of file
--
Gitblit v1.9.3