From bdf5a76a8eab8304176a1379a175e2248fa90ca7 Mon Sep 17 00:00:00 2001
From: 啊鑫 <t2856754968@163.com>
Date: 星期一, 02 十二月 2024 08:56:56 +0800
Subject: [PATCH] 采购退料扫码
---
Dto/service/Material.cs | 10 +++
service/Warehouse/MesInvItemOutsManager.cs | 112 ++++++++++++++++++++++++++++++-------
2 files changed, 100 insertions(+), 22 deletions(-)
diff --git a/Dto/service/Material.cs b/Dto/service/Material.cs
index eca3b72..fbdf223 100644
--- a/Dto/service/Material.cs
+++ b/Dto/service/Material.cs
@@ -3,10 +3,18 @@
public class Material
{
public string? FMaterialId { get; set; }
+ public string? FUintId { get; set; }
+ public decimal? FActReceiveQty { get; set; }
public string? FStockId { get; set; }
- public string? FsrcEntryId { get; set; }
+ public DateTime? FPreDeliveryDate { get; set; }
+ public Guid? F_MES_ENTRYID { get; set; }
+ public Guid? FSRCENTRYGuid { get; set; }
public string? FLot { get; set; }
+ public string? FRMREALQTY { get; set; }
+ public string? FUINT { get; set; }
+
+ public string? FsrcEntryId { get; set; }
public string? FRealQty { get; set; }
diff --git a/service/Warehouse/MesInvItemOutsManager.cs b/service/Warehouse/MesInvItemOutsManager.cs
index 14a12de..59c5394 100644
--- a/service/Warehouse/MesInvItemOutsManager.cs
+++ b/service/Warehouse/MesInvItemOutsManager.cs
@@ -2,6 +2,7 @@
using NewPdaSqlServer.Dto.service;
using NewPdaSqlServer.entity;
using NewPdaSqlServer.util;
+using Newtonsoft.Json;
using SqlSugar;
namespace NewPdaSqlServer.service.Warehouse;
@@ -376,14 +377,15 @@
{
var message = MesToErpParam(query);
- // var executeReturnIdentity =
- // Db.Insertable(message).ExecuteReturnIdentity();
- // if (executeReturnIdentity > 0)
- // {
- // message.Id = executeReturnIdentity;
- // message.Pid = executeReturnIdentity;
- // return message;
- // }
+ var newGuid = Guid.NewGuid();
+ message.Guid = newGuid;
+ message.Pid = newGuid;
+ var executeReturnIdentity =
+ Db.Insertable(message).IgnoreColumns(true).ExecuteCommand();
+ if (executeReturnIdentity > 0)
+ {
+ return message;
+ }
throw new Exception("鑾峰彇鏁版嵁澶辫触");
}
@@ -415,7 +417,10 @@
if (mesInvItemStocks == null) return dto;
- dto.ItemNo = mesInvItemStocks.ItemNo;
+ var mesItems = Db.Queryable<MesItems>()
+ .Where(s => s.Id == mesInvItemStocks.ItemId).Single();
+
+ dto.ItemNo = mesItems.ItemNo;
dto.Quantity = mesInvItemStocks.Quantity;
return dto;
@@ -443,6 +448,7 @@
.Where((b, bar, c, d) => b.ItemOutId == parsedGuid)
.Select((b, bar, c, d) => new MesInvItemOutCDetails
{
+ Guid = b.Guid,
Quantity = b.Quantity,
DepotSectionCode = b.DepotSectionCode,
DepotCode = b.DepotCode,
@@ -464,12 +470,12 @@
var tableName = "MES_INV_ITEM_OUTS_" + query.Type;
if ("A".Equals(query.Type))
{
- //erpParameters = GetErpParameters(query.billNo);
+ erpParameters = GetErpParameters(query.id);
title = "閲囪喘閫�璐у崟" + query.billNo + "瀹℃牳";
}
else if ("B".Equals(query.Type))
{
- //erpParameters = GetDeApprovePam(query.id);
+ erpParameters = GetDeApprovePam(query.id);
title = "閲囪喘閫�璐у崟" + query.billNo + "鍙嶅鏍�";
}
@@ -492,6 +498,72 @@
ContentType = "application/x-www-form-urlencoded"
};
return message;
+ }
+
+ private string GetErpParameters(string? id)
+ {
+ var guid = Guid.Empty;
+ if (string.IsNullOrEmpty(id)) return "";
+
+ var isValid = Guid.TryParse(id, out guid);
+ if (!isValid)
+ throw new ApplicationException("GUID杞崲閿欒");
+
+ var materials = Db
+ .Queryable<MesInvItemOuts, MesInvItemOutItems,
+ MesItems, MesUnit, MesInvItemArnDetail, MesDepots>(
+ (a, b, c, d, e, f) => new JoinQueryInfos(
+ JoinType.Left, a.Guid == b.ItemOutId,
+ JoinType.Left, b.ItemId == c.Id,
+ JoinType.Left, d.Id.ToString() == c.ItemUnit,
+ JoinType.Left,
+ e.CbillNo == b.WorkNo && e.ItemId == b.ItemId,
+ JoinType.Left, f.DepotId == a.DepotId
+ )).Where((a, b, c, d, e, f) => b.Guid == guid)
+ .Select<Material>((a, b, c, d, e, f) => new Material
+ {
+ FMaterialId = c.ItemNo,
+ FRMREALQTY = b.Quantity.ToString(),
+ FStockId = f.DepotCode,
+ FUnitID = d.Fnumber,
+ FLot = b.WorkNo,
+ F_MES_ENTRYID = b.Guid,
+ FsrcEntryId = e.Guid.ToString(),
+ }).ToList();
+
+
+ var mm = Db.Queryable<MesInvItemOuts>()
+ .Where(a => a.Guid == guid).First();
+
+ var jsonEntries = materials.Select(d => new
+ {
+ FMaterialId = d.FMaterialId,
+ FRMREALQTY = d.FRMREALQTY,
+ FStockId = d.FStockId,
+ FUnitID = d.FUnitID,
+ FLot = d.FLot,
+ F_MES_ENTRYID = d.F_MES_ENTRYID.ToString(),
+ FsrcEntryId = d.FsrcEntryId,
+ }).ToList();
+ var fdate = DateTime.Now.ToString("yyyy-MM-dd");
+ var jsonString = JsonConvert.SerializeObject(jsonEntries);
+ var encodedUrl = "taskname=CGTL&mesid=" + guid +
+ "&optype=create&datajson={\"F_MES_ID\":\"" + guid
+ + "\",\"FDate\":\"" + fdate
+ + "\",\"FSRCBillTypeId\":\"" + "閲囪喘鍏ュ簱鍗�"
+ + "\",\"FDESCRIPTION\":\"" + mm.Remark
+ + "\",\"FMRMODE\":\"" + mm.Fmrmode
+ + "\",\"cgtlentry\":" + jsonString
+ + "}";
+ return encodedUrl;
+ }
+
+ private string GetDeApprovePam(string? id)
+ {
+ var encodedUrl = "taskname=CGTL&mesid=" + id +
+ "&optype=delete&datajson={}";
+
+ return encodedUrl;
}
public bool ScanCode(WarehouseQuery query)
@@ -582,17 +654,15 @@
sql = string.Format(@"
SELECT SUM(C.QUANTITY) AS SQ_QTY, SUM(D.QUANTITY_OK) AS OK_QTY
- FROM MES_INV_ITEM_OUT_ITEMS C
- LEFT JOIN (
- SELECT ITEM_OUT_ID, ITEM_NO, PBILL_NO, RK_NO, SUM(QUANTITY) AS QUANTITY_OK
+ FROM MES_INV_ITEM_OUT_ITEMS C
+ LEFT JOIN (SELECT ITEM_OUT_ID, ITEM_ID, PBILL_NO, RK_NO, SUM(QUANTITY) AS QUANTITY_OK
FROM MES_INV_ITEM_OUT_C_DETAILS
- GROUP BY ITEM_OUT_ID, ITEM_NO, PBILL_NO, RK_NO
- ) D
- ON D.ITEM_OUT_ID = C.ITEM_OUT_ID
- AND D.ITEM_NO = C.ITEM_NO
- AND D.RK_NO = C.RK_NO
- AND isnull(C.PBILL_NO, '0') = isnull(D.PBILL_NO, '0')
- WHERE C.ITEM_OUT_ID = '{0}'", mesInvItemOuts.Guid);
+ GROUP BY ITEM_OUT_ID, ITEM_ID, PBILL_NO, RK_NO) D
+ ON D.ITEM_OUT_ID = C.ITEM_OUT_ID
+ AND D.ITEM_ID = C.ITEM_ID
+ AND isnull(C.PBILL_NO, '0') = isnull(D.PBILL_NO, '0')
+ WHERE C.ITEM_OUT_ID = '{0}'",
+ mesInvItemOuts.Guid);
var queryResult = Db.Ado.SqlQuerySingle<dynamic>(sql);
--
Gitblit v1.9.3