qq
啊鑫
2024-08-29 26a078cb60a8f9d23209a0422998128b7df9450e
MES.Service/service/GetErpParametersServer.cs
@@ -18,7 +18,7 @@
    private readonly MessageCenterManager _messageCenterServer = new();
    public List<MessageCenter> GetErpParameters(List<MessageCenter> data)
    private List<MessageCenter> GetErpParameters(List<MessageCenter> data)
    {
        var centers = new List<MessageCenter>();
@@ -32,6 +32,9 @@
        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();
@@ -47,10 +50,13 @@
                //获取url中附带的参数
                query.id = Convert.ToDecimal(queryParameters["id"]);
                query.billNo = queryParameters["billNo"];
                query.userName = centerUpdateBy;
                //重新获取请求的数据
                mesToErp = _invItemInCDetailsServer.MesToErpParam(query);
                //赋值主id
                mesToErp.Id = center.Id;
                mesToErp.UpdateBy = centerUpdateBy;
                mesToErp.UpdateDate = centerUpdateDate;
                centers.Add(mesToErp);
                //更新剩下的请求的参数
@@ -58,9 +64,12 @@
                var json = new JObject
                {
                    new JProperty("id", query.id),
                    new JProperty("billNo", query.billNo)
                    new JProperty("billNo", query.billNo),
                    new JProperty("userName", query.userName)
                };
                messageCenter.Data = json.ToString();
                messageCenter.UpdateBy = centerUpdateBy;
                messageCenter.UpdateDate = centerUpdateDate;
                centers.Add(messageCenter);
                break;
@@ -74,26 +83,39 @@
                query.Type = strings[^1];
                query.id = Convert.ToDecimal(queryParameters["id"]);
                query.billNo = queryParameters["itemOutNo"];
                query.userName = centerUpdateBy;
                //重新获取请求的数据
                mesToErp = _invItemOutsServer.MesToErpParam(query);
                //更正为主id
                mesToErp.Id = center.Id;
                mesToErp.UpdateBy = centerUpdateBy;
                mesToErp.UpdateDate = centerUpdateDate;
                //添加到请求集合中
                centers.Add(mesToErp);
                //获取剩余的请求
                var find = data.FindAll(s => s.Seq != 1);
                var result = new JObject
                {
                    new JProperty("id", query.id),
                    new JProperty("billNo", query.billNo)
                };
                find.ForEach(s =>
                {
                    s.Data = result.ToString();
                    centers.Add(s);
                });
                PostRequest(data, query, centers,centerUpdateDate);
                break;
            //生产领料单
            case "INV_ITEM_OUTS_A":
                //获取到类型(审核还是反审核)
                query.Type = strings[^1];
                query.id = Convert.ToDecimal(queryParameters["id"]);
                query.billNo = queryParameters["itemOutNo"];
                query.userName = centerUpdateBy;
                //重新获取请求的数据
                mesToErp = _invItemOutsServer.ProductionMesToErpParam(query);
                //更正为主id
                mesToErp.Id = center.Id;
                mesToErp.UpdateBy = centerUpdateBy;
                mesToErp.UpdateDate = centerUpdateDate;
                //添加到请求集合中
                centers.Add(mesToErp);
                //获取剩余的请求
                PostRequest(data, query, centers,centerUpdateDate);
                break;
            default:
                throw new Exception("无法识别TableName类型");
@@ -103,6 +125,25 @@
        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);
        });
    }
    public string Resend(MessageCenter data)
    {