From 135599eb59bccb5f8f8a567ad174cc2af4357887 Mon Sep 17 00:00:00 2001
From: 南骏 池 <chiffly@163.com>
Date: 星期五, 13 六月 2025 14:39:25 +0800
Subject: [PATCH] 1.采购退货单优化 2.采购退料单拆分 3.采购入库优化
---
service/base/GetErpParametersServer.cs | 149 ++++++++++++++++++++++++++++++++++++++++++++++++-
1 files changed, 146 insertions(+), 3 deletions(-)
diff --git a/service/base/GetErpParametersServer.cs b/service/base/GetErpParametersServer.cs
index 1960d02..dedcba0 100644
--- a/service/base/GetErpParametersServer.cs
+++ b/service/base/GetErpParametersServer.cs
@@ -1,20 +1,163 @@
锘縰sing System.Text;
+using System.Web;
+using NewPdaSqlServer.Dto.service;
using NewPdaSqlServer.entity;
+using NewPdaSqlServer.service.Warehouse;
using Newtonsoft.Json;
+using Newtonsoft.Json.Linq;
namespace NewPdaSqlServer.service.@base;
public class GetErpParametersServer
{
- // private readonly MesInvItemInCDetailsManager _invItemInCDetailsServer =
- // new();
- //
+ private readonly MesInvItemInCDetailsManager _invItemInCDetailsServer =
+ new();
+
// private readonly MesInvItemOutsManager _invItemOutsServer =
// new();
private readonly MessageCenterManager _messageCenterServer = new();
+ public string Resend(MessageCenter data)
+ {
+ //鑾峰彇鎵�鏈夌殑鍥炶皟
+ var messageCenters =
+ _messageCenterServer.GetList(it => it.Pid == data.Guid);
+ messageCenters.Add(data);
+ var erpParameters = GetErpParameters(messageCenters);
+
+ return sendHttp(erpParameters).Result;
+ }
+
+ private List<MessageCenter> GetErpParameters(List<MessageCenter> data)
+ {
+ var centers = new List<MessageCenter>();
+
+ //鑾峰彇涓昏姹�
+ var center = data.Find(p => p.Seq == 1);
+
+ //瑙f瀽URL
+ var queryString =
+ center.PageName.Substring(center.PageName.IndexOf('?') + 1);
+ //鎻愬彇鍙傛暟
+ var queryParameters = HttpUtility.ParseQueryString(queryString);
+
+ var strings = center.TableName.Split("_");
+
+ var centerUpdateBy = center.UpdateBy;
+ var centerUpdateDate = DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss");
+
+ MessageCenter mesToErp = null;
+ var query = new WarehouseQuery();
+ switch (center.TableName)
+ {
+ //閲囪喘鍏ュ簱鍗曞鏍�
+ case "MES_INV_ITEM_INS_A":
+ //閲囪喘鍏ュ簱鍗曞弽瀹℃牳
+ case "MES_INV_ITEM_INS_B":
+
+ //鑾峰彇鍒扮被鍨嬶紙瀹℃牳杩樻槸鍙嶅鏍革級
+ query.Type = strings[^1];
+ //鑾峰彇url涓檮甯︾殑鍙傛暟
+ query.id = queryParameters["id"];
+ query.billNo = queryParameters["billNo"];
+ query.userName = centerUpdateBy;
+ //閲嶆柊鑾峰彇璇锋眰鐨勬暟鎹�
+ mesToErp = _invItemInCDetailsServer.MesToErpParam(query);
+ //璧嬪�间富id
+ mesToErp.Guid = center.Guid;
+ mesToErp.UpdateBy = centerUpdateBy;
+ mesToErp.UpdateDate = centerUpdateDate;
+ centers.Add(mesToErp);
+
+ //鏇存柊鍓╀笅鐨勮姹傜殑鍙傛暟
+ var messageCenter = data[0];
+ var json = new JObject
+ {
+ new JProperty("id", query.id),
+ new JProperty("billNo", query.billNo),
+ new JProperty("userName", query.userName)
+ };
+ messageCenter.Data = json.ToString();
+ messageCenter.UpdateBy = centerUpdateBy;
+ messageCenter.UpdateDate = centerUpdateDate;
+ centers.Add(messageCenter);
+
+ break;
+
+ //閲囪喘閫�鏂欏崟瀹℃牳
+ case "MES_INV_ITEM_OUTS_A":
+ //閲囪喘閫�鏂欏崟鍙嶅鏍�
+ case "MES_INV_ITEM_OUTS_B":
+
+ //鑾峰彇鍒扮被鍨嬶紙瀹℃牳杩樻槸鍙嶅鏍革級
+ query.Type = strings[^1];
+ query.id = queryParameters["id"];
+ query.billNo = queryParameters["itemOutNo"];
+ query.userName = centerUpdateBy;
+
+ //閲嶆柊鑾峰彇璇锋眰鐨勬暟鎹�
+ // mesToErp = _invItemOutsServer.MesToErpParam(query);
+ //鏇存涓轰富id
+ mesToErp.Guid = center.Guid;
+ mesToErp.UpdateBy = centerUpdateBy;
+ mesToErp.UpdateDate = centerUpdateDate;
+ //娣诲姞鍒拌姹傞泦鍚堜腑
+ centers.Add(mesToErp);
+
+ //鑾峰彇鍓╀綑鐨勮姹�
+ PostRequest(data, query, centers, centerUpdateDate);
+ break;
+ //鐢熶骇棰嗘枡鍗�
+ case "INV_ITEM_OUTS_A":
+ //鑾峰彇鍒扮被鍨嬶紙瀹℃牳杩樻槸鍙嶅鏍革級
+ query.Type = strings[^1];
+ query.id = queryParameters["id"];
+ query.billNo = queryParameters["itemOutNo"];
+ query.userName = centerUpdateBy;
+
+ //閲嶆柊鑾峰彇璇锋眰鐨勬暟鎹�
+ //mesToErp = _invItemOutsServer.ProductionMesToErpParam(query);
+ //鏇存涓轰富id
+ mesToErp.Guid = center.Guid;
+ mesToErp.UpdateBy = centerUpdateBy;
+ mesToErp.UpdateDate = centerUpdateDate;
+ //娣诲姞鍒拌姹傞泦鍚堜腑
+ centers.Add(mesToErp);
+
+ //鑾峰彇鍓╀綑鐨勮姹�
+ PostRequest(data, query, centers, centerUpdateDate);
+ break;
+ default:
+ throw new Exception("鏃犳硶璇嗗埆TableName绫诲瀷");
+ }
+
+ //鏍规嵁椤哄簭杩斿洖
+ return centers.OrderBy(p => p.Seq).ToList();
+ }
+
+
+ private void PostRequest(List<MessageCenter> data, WarehouseQuery query,
+ List<MessageCenter> centers, string centerUpdateDate)
+ {
+ var find = data.FindAll(s => s.Seq != 1);
+
+ var result = new JObject
+ {
+ new JProperty("id", query.id),
+ new JProperty("billNo", query.billNo),
+ new JProperty("userName", query.userName)
+ };
+ find.ForEach(s =>
+ {
+ s.Data = result.ToString();
+ s.UpdateBy = query.userName;
+ s.UpdateDate = centerUpdateDate;
+ centers.Add(s);
+ });
+ }
+
private async Task<string> sendHttp(List<MessageCenter> requestList)
{
var sortedRequests = requestList.OrderBy(r => r.Seq).ToList();
--
Gitblit v1.9.3