From e137345986a3cb78a9b968ce663ef090d8a6b422 Mon Sep 17 00:00:00 2001
From: cnf <3200815559@qq.com>
Date: 星期四, 14 八月 2025 17:34:08 +0800
Subject: [PATCH] 领料模块

---
 WebApi/Gs.Sys/Services/FmController.cs   |    1 
 WebApi/Gs.Wom/Service/WomdaaManager.cs   |  138 +++++++++++++
 WebApi/Gs.Wom/Service/WomdaahbManager.cs |  404 ++++++++++++++++++++++++++++++++++++++++
 3 files changed, 543 insertions(+), 0 deletions(-)

diff --git a/WebApi/Gs.Sys/Services/FmController.cs b/WebApi/Gs.Sys/Services/FmController.cs
index 25965da..c6b5389 100644
--- a/WebApi/Gs.Sys/Services/FmController.cs
+++ b/WebApi/Gs.Sys/Services/FmController.cs
@@ -305,6 +305,7 @@
                 dynamic _ob= new ExpandoObject();
                 _ob.ENTRY = dset.Tables[0].TableToDynamicList();
                 _datajson22.Add(_ob);
+
                 var _obj22 = new
                 {
                     taskname = keyTaskName,
diff --git a/WebApi/Gs.Wom/Service/WomdaaManager.cs b/WebApi/Gs.Wom/Service/WomdaaManager.cs
index e463a4b..6606a62 100644
--- a/WebApi/Gs.Wom/Service/WomdaaManager.cs
+++ b/WebApi/Gs.Wom/Service/WomdaaManager.cs
@@ -1,12 +1,14 @@
 锘縰sing System.Data;
 using System.Data.SqlClient;
 using System.Dynamic;
+using System.Text;
 using Gs.Toolbox;
 using Gs.Toolbox.ApiCore.Abstract.Mvc;
 using Gs.Toolbox.ApiCore.Common.Mvc;
 using Gs.Toolbox.ApiCore.Group;
 using Microsoft.AspNetCore.Http;
 using Microsoft.AspNetCore.Mvc;
+using Newtonsoft.Json.Linq;
 using static Gs.Toolbox.UtilityHelper;
 
 
@@ -582,4 +584,140 @@
         return ReturnDto<int>.QuickReturn(rtnInt, ReturnCode.Success, _outMsg);
     }
 
+    /// <summary>
+    ///     鏍规嵁绾夸綋鎴栬溅闂磇d锛岃鍙栧伐鍗�
+    /// </summary>
+    /// <param name="model"></param>
+    /// <returns></returns>
+    [RequestMethod(RequestMethods.POST)]
+    public ReturnDto<PageList<dynamic>> SelectDaa([FromBody] dynamic model)
+    {
+        int currentPage = model.currentPage;
+        int everyPageSize = model.everyPageSize;
+        string sortName = model.sortName;
+        string keyWhere = model.keyWhere;
+        string workId = model.workId;
+        string lineId = model.lineId;
+        var dset = new DataSet();
+        try
+        {
+            using (var conn = new SqlConnection(DbHelperSQL.strConn))
+            {
+                using (var cmd = new SqlCommand("[prc_wom_daa_select]", conn))
+                {
+                    conn.Open();
+                    cmd.CommandType = CommandType.StoredProcedure;
+                    SqlParameter[] parameters =
+                    {
+                        new("@inCurrentPage", currentPage),
+                        new("@inEveryPageSize", everyPageSize),
+                        new("@inSortName", sortName),
+                        new("@inSortOrder", ""),
+                        new("@inQueryWhere", keyWhere),
+                        new("@workId", workId),
+                        new("@inP1", lineId),
+                        new("@inP2", "")
+                    };
+                    foreach (var parameter in parameters)
+                        cmd.Parameters.Add(parameter);
+                    using (var dt = new SqlDataAdapter(cmd))
+                    {
+                        dt.Fill(dset, "0");
+                    }
+                }
+
+                conn.Close();
+            }
+        }
+        catch (Exception ex)
+        {
+            LogHelper.Debug(ToString(), "prc_wom_pba_select error锛�" + ex.Message);
+            return ReturnDto<PageList<dynamic>>.QuickReturn(default(PageList<dynamic>), ReturnCode.Exception, "璇诲彇澶辫触");
+        }
+
+        var _pglist = new PageList<dynamic>
+        {
+            total = 0,
+            everyPageSize = 0,
+            pages = 0,
+            list = new List<dynamic>()
+        };
+        if (dset != null && dset.Tables.Count > 0 &&
+            dset.Tables[0].Rows.Count > 0) //鏈夋暟鎹�
+        {
+            var intTotal =
+                int.Parse(dset.Tables[1].Rows[0]["intTotal"].ToString());
+            var pages = intTotal % everyPageSize != 0
+                ? intTotal / everyPageSize + 1
+                : intTotal / everyPageSize;
+            _pglist.total = intTotal;
+            _pglist.everyPageSize = everyPageSize;
+            _pglist.pages = pages;
+            var _dy = dset.Tables[0].TableToDynamicList();
+            _pglist.list = _dy;
+        }
+
+        return ReturnDto<PageList<dynamic>>.QuickReturn(_pglist,
+            ReturnCode.Success, "璇诲彇鎴愬姛");
+    }
+
+    /// <summary>
+    ///     鏍规嵁鐢ㄦ埛閫夋嫨鐨勯噰璐槑缁唃uid锛岃鍙栭渶瑕佷綔鍏ュ簱鍒拌揣鍗曠殑鏄庣粏
+    /// </summary>
+    /// <param name="query"></param>
+    /// <returns></returns>
+    [RequestMethod(RequestMethods.POST)]
+    public ReturnDto<List<dynamic>> SelectDaaToView(
+        JArray guidList)
+    {
+        var intArray = guidList.ToObject<string[]>();
+        var sbLine = new StringBuilder();
+        foreach (var str in intArray)
+        {
+            if (sbLine.Length > 0)
+                sbLine.Append(",");
+            sbLine.Append(str);
+        }
+
+        var lst = new List<dynamic>();
+        var dset = new DataSet();
+        using (var conn = new SqlConnection(DbHelperSQL.strConn))
+        {
+            using (var cmd =
+                   new SqlCommand("[prc_wom_daa_select_to_grid]", conn))
+            {
+                try
+                {
+                    conn.Open();
+                    cmd.CommandType = CommandType.StoredProcedure;
+                    SqlParameter[] parameters =
+                    {
+                        new("@inP1", sbLine.ToString())
+                    };
+                    foreach (var parameter in parameters)
+                        cmd.Parameters.Add(parameter);
+                    using (var dt = new SqlDataAdapter(cmd))
+                    {
+                        dt.Fill(dset, "0");
+                    }
+                }
+                catch (Exception ex)
+                {
+                    LogHelper.Debug(ToString(),
+                        "prc_wom_daa_select_to_grid error锛�" + ex.Message);
+                }
+                finally
+                {
+                    conn.Close();
+                }
+            }
+        }
+
+        if (dset != null && dset.Tables.Count > 0 &&
+            dset.Tables[0].Rows.Count > 0) //鏈夋暟鎹�
+            lst = dset.Tables[0].TableToDynamicList();
+        return ReturnDto<List<dynamic>>.QuickReturn(lst, ReturnCode.Success,
+            "璇诲彇鎴愬姛锛�");
+    }
+
 }
\ No newline at end of file
diff --git a/WebApi/Gs.Wom/Service/WomdaahbManager.cs b/WebApi/Gs.Wom/Service/WomdaahbManager.cs
new file mode 100644
index 0000000..9830191
--- /dev/null
+++ b/WebApi/Gs.Wom/Service/WomdaahbManager.cs
@@ -0,0 +1,404 @@
+锘縰sing System.Data;
+using System.Data.SqlClient;
+using System.Dynamic;
+using System.Text;
+using Gs.Toolbox;
+using Gs.Toolbox.ApiCore.Abstract.Mvc;
+using Gs.Toolbox.ApiCore.Common.Mvc;
+using Gs.Toolbox.ApiCore.Group;
+using Microsoft.AspNetCore.Http;
+using Microsoft.AspNetCore.Mvc;
+using Newtonsoft.Json.Linq;
+using static Gs.Toolbox.UtilityHelper;
+
+namespace Gs.Wom.Service;
+
+[ApiGroup(ApiGroupNames.WOM)]
+public class WomdaahbManager : IRomteService
+{
+    private readonly IHttpContextAccessor _http;
+
+    private readonly string _userCode, _userGuid, _orgFids;
+    public WomdaahbManager(IHttpContextAccessor httpContextAccessor)
+    {
+        _http = httpContextAccessor;
+        (_userCode, _userGuid, _orgFids) =
+            GetUserGuidAndOrgGuid(_http);
+    }
+
+    /// <summary>
+    ///     璇诲彇鍒楄〃锛屾敮鎸佸垎椤�
+    /// </summary>
+    /// <param name="model"></param>
+    /// <returns></returns>
+    [RequestMethod(RequestMethods.POST)]
+    public ReturnDto<PageList<dynamic>> GetListPage([FromBody] dynamic model)
+    {
+        int currentPage = model.currentPage;
+        int everyPageSize = model.everyPageSize;
+        string sortName = model.sortName;
+        string keyWhere = model.keyWhere;
+        SqlParameter[] parameters =
+        {
+            new("@inCurrentPage", currentPage),
+            new("@inEveryPageSize", everyPageSize),
+            new("@inSortName", sortName),
+            new("@inSortOrder", ""),
+            new("@inQueryWhere", keyWhere),
+            new("@inFid", ""),
+            new("@inP1", ""),
+            new("@inP2", ""),
+            new("@inP3", ""),
+            new("@inP4", "")
+        };
+        var dset = new DataSet();
+        var _pglist = new PageList<dynamic>
+        {
+            total = 0,
+            everyPageSize = 0,
+            pages = 0,
+            list = new List<dynamic>()
+        };
+        try
+        {
+            dset = DbHelperSQL.RunProcedure("prc_wom_daahb_lst", parameters, "0");
+            if (dset != null && dset.Tables.Count > 0 &&
+                dset.Tables[0].Rows.Count > 0) //鏈夋暟鎹�
+            {
+                var intTotal =
+                    int.Parse(dset.Tables[1].Rows[0]["intTotal"].ToString());
+                var pages = intTotal % everyPageSize != 0
+                    ? intTotal / everyPageSize + 1
+                    : intTotal / everyPageSize;
+                _pglist.total = intTotal;
+                _pglist.everyPageSize = everyPageSize;
+                _pglist.pages = pages;
+                var _dy = dset.Tables[0].TableToDynamicList();
+                _pglist.list = _dy;
+            }
+        }
+        catch (Exception ex)
+        {
+            LogHelper.Debug(ToString(), ex.Message);
+            return ReturnDto<PageList<dynamic>>.QuickReturn(_pglist,
+          ReturnCode.Exception, ex.Message);
+        }
+
+        return ReturnDto<PageList<dynamic>>.QuickReturn(_pglist,
+            ReturnCode.Success, "璇诲彇鎴愬姛");
+    }
+
+    /// <summary>
+    ///     璇诲彇
+    /// </summary>
+    /// <param name="guid"></param>
+    /// <returns></returns>
+    [RequestMethod(RequestMethods.POST)]
+    public ReturnDto<ExpandoObject> GetModel([FromBody] dynamic model)
+    {
+        string guid = model.guid.ToString();
+        dynamic m = new ExpandoObject();
+        m.list = new List<dynamic>();
+        m.list2 = new List<dynamic>();
+        SqlParameter[] parameters =
+        {
+            new("@inMainGuid", guid),
+            new("@inP1", ""),
+            new("@inP2", ""),
+            new("@inP3", ""),
+            new("@inP4", "")
+        };
+        var dset = new DataSet();
+        try
+        {
+            dset = DbHelperSQL.RunProcedure("[prc_wom_daahb_mx]", parameters, "0");
+            if (dset != null && dset.Tables.Count > 0 &&
+                dset.Tables[0].Rows.Count > 0)
+            {
+                var dr = dset.Tables[0].Rows[0];
+                m = dr.RowToDynamic();
+                var _tb = dset.Tables[1].TableToDynamicList();
+                m.list = _tb;
+                var _tb2 = dset.Tables[2].TableToDynamicList();
+                m.list2 = _tb2;
+            }
+        }
+        catch (Exception ex)
+        {
+            LogHelper.Debug(ToString(), ex.Message);
+        }
+
+        if (m != null)
+            return ReturnDto<dynamic>.QuickReturn(m, ReturnCode.Success,
+                "璇诲彇鎴愬姛锛�");
+        return ReturnDto<dynamic>.QuickReturn(m, ReturnCode.Default, "璇诲彇澶辫触锛�");
+    }
+
+    /// <summary>
+    ///     澧炲姞鎴栫紪杈戝疄浣�
+    /// </summary>
+    /// <param name="model"></param>
+    /// <returns></returns>
+    [RequestMethod(RequestMethods.POST)]
+    public ReturnDto<ExpandoObject> EditModel([FromBody] dynamic model)
+    {
+        Guid? guid = model.guid; //涓婚敭
+        string bz = model.bz; //澶囨敞
+        string cjId = model.cjId; //杞﹂棿
+        string xtId = model.xtId;
+        string cxId = ""; //浜х嚎,鐢ㄤ笉鍒颁簡
+        string jhrs = ""; //璁″垝浜烘暟,鐢ㄤ笉鍒颁簡
+        var _sb = new StringBuilder();
+        var _split = "|";
+        foreach (var m in model.list)
+        {
+            string _guid = m.Guid.ToString();
+            var _line = m.AboutGuid + _split
+                                    + m.Rwdh + _split
+                                    + m.Xsdh + _split
+                                    + m.Cpbm + _split
+                                    + m.Cpmc + _split
+                                    + m.Cpgg + _split
+                                    + m.Gdsl + _split
+                                    + m.LineId + _split
+                                    + m.Yjkgsj + _split
+                                    + m.Bz + _split
+                                    + m.Yjwgsj + _split
+                                    + (CheckGuid(_guid)
+                                        ? _guid
+                                        : Guid.Empty.ToString());
+            if (_sb.Length > 0)
+                _sb.Append("~");
+            _sb.Append(_line);
+        }
+        dynamic mObj = new ExpandoObject();
+        mObj.outMsg = "";
+        mObj.outSum = -1;
+        mObj.outGuid = "";
+        mObj.outNo = "";
+        using (var conn = new SqlConnection(DbHelperSQL.strConn))
+        {
+            using (var cmd = new SqlCommand("[prc_wom_daahb_edt]", conn))
+            {
+                try
+                {
+                    conn.Open();
+                    cmd.CommandType = CommandType.StoredProcedure;
+                    SqlParameter[] parameters =
+                    {
+                        new("@outMsg", SqlDbType.NVarChar, 300),
+                        new("@outSum", SqlDbType.Int),
+                        new("@outGuid", SqlDbType.UniqueIdentifier),
+                        new("@outNo", SqlDbType.NVarChar, 300),
+                        new("@inOrderGuid", CheckGuid(guid) ? guid : DBNull.Value),
+                        new("@inBz", bz),
+                        new("@inCjId", cjId),
+                        new("@inLineId", xtId),
+                        new("@inJhrs", jhrs),
+                        new("@inEdtUserGuid", _userGuid),
+                        new("@inLineList", _sb.ToString())
+                    };
+                    parameters[0].Direction = ParameterDirection.Output;
+                    parameters[1].Direction = ParameterDirection.Output;
+                    parameters[2].Direction = ParameterDirection.Output;
+                    parameters[3].Direction = ParameterDirection.Output;
+                    foreach (var parameter in parameters)
+                        cmd.Parameters.Add(parameter);
+                    cmd.ExecuteNonQuery();
+                    mObj.outMsg = parameters[0].Value.ToString();
+                    mObj.outSum = int.Parse(parameters[1].Value.ToString());
+                    mObj.outGuid = parameters[2].Value.ToString();
+                    mObj.outNo = parameters[3].Value.ToString();
+                }
+                catch (Exception ex)
+                {
+                    LogHelper.Debug(ToString(),
+                        "prc_wom_daahb_edt error锛�" + ex.Message);
+                    mObj.outMsg = ex.Message;
+                    mObj.outSum = -1;
+                }
+                finally
+                {
+                    conn.Close();
+                }
+            }
+        }
+        if (mObj.outSum <= 0)
+            return ReturnDto<dynamic>.QuickReturn(mObj, ReturnCode.Exception, mObj.outMsg);
+        return ReturnDto<dynamic>.QuickReturn(mObj, ReturnCode.Success, mObj.outMsg);
+    }
+
+    /// <summary>
+    ///     鍒犻櫎涓昏〃鎴栨槑缁�
+    /// </summary>
+    /// <param name="model"></param>
+    /// <returns></returns>
+    [RequestMethod(RequestMethods.POST)]
+    public ReturnDto<int?> DeleteModelOrMx([FromBody] dynamic model)
+    {
+        int? rtnInt = (int)ReturnCode.Default;
+        Guid? guid = model.guid; //鍒拌揣鍗曚富閿�
+        string mxGuid = model.mxGuid;
+        var _outMsg = "";
+        var _outSum = -1;
+        using (var conn = new SqlConnection(DbHelperSQL.strConn))
+        {
+            using (var cmd = new SqlCommand("[prc_wom_daahb_del]", conn))
+            {
+                try
+                {
+                    conn.Open();
+                    cmd.CommandType = CommandType.StoredProcedure;
+                    SqlParameter[] parameters =
+                    {
+                        new("@outMsg", SqlDbType.NVarChar, 300),
+                        new("@outSum", SqlDbType.Int),
+                        new("@inOrderGuid",
+                            CheckGuid(guid)
+                                ? guid
+                                : DBNull.Value),
+                        new("@inEdtUserGuid", _userGuid),
+                        new("@inMxGuid", mxGuid)
+                    };
+                    parameters[0].Direction = ParameterDirection.Output;
+                    parameters[1].Direction = ParameterDirection.Output;
+                    foreach (var parameter in parameters)
+                        cmd.Parameters.Add(parameter);
+
+                    cmd.ExecuteNonQuery();
+                    _outMsg = parameters[0].Value.ToString();
+                    _outSum = int.Parse(parameters[1].Value.ToString());
+                }
+                catch (Exception ex)
+                {
+                    LogHelper.Debug(ToString(),
+                        "prc_wom_daahb_del error锛�" + ex.Message);
+                    _outMsg = ex.Message;
+                    _outSum = -1;
+                }
+                finally
+                {
+                    conn.Close();
+                }
+            }
+        }
+
+        if (_outSum <= 0)
+            return ReturnDto<int>.QuickReturn(rtnInt, ReturnCode.Exception,
+                _outMsg);
+        return ReturnDto<int>.QuickReturn(rtnInt, ReturnCode.Success, _outMsg);
+    }
+
+
+    /// <summary>
+    ///   瀹℃牳
+    /// </summary>
+    /// <param name="mode"></param>
+    /// <returns></returns>
+    [RequestMethod(RequestMethods.POST)]
+    public ReturnDto<ExpandoObject> EditModelSubmit([FromBody] dynamic mode)
+    {
+        string _guid = mode.guid;
+        dynamic m = new ExpandoObject();
+        m.outSum = -1;
+        m.outMsg = "";
+        using (var conn = new SqlConnection(DbHelperSQL.strConn))
+        {
+            using (var cmd = new SqlCommand("prc_wom_daahb_submit", conn))
+            {
+                try
+                {
+                    conn.Open();
+                    cmd.CommandType = CommandType.StoredProcedure;
+                    SqlParameter[] parameters =
+                    {
+                        new("@outMsg", SqlDbType.NVarChar, 300),
+                        new("@outSum", SqlDbType.Int),
+                        new("@inEdtUserGuid", _userGuid),
+                        new("@inOrderGuid", _guid),
+                        new("@inFieldValue", 1),
+                        new("@in1", ""),
+                        new("@in2", "")
+                    };
+                    parameters[0].Direction = ParameterDirection.Output;
+                    parameters[1].Direction = ParameterDirection.Output;
+                    foreach (var parameter in parameters)
+                        cmd.Parameters.Add(parameter);
+                    cmd.ExecuteNonQuery();
+                    m.outMsg = parameters[0].Value.ToString();
+                    m.outSum = int.Parse(parameters[1].Value.ToString());
+                }
+                catch (Exception ex)
+                {
+                    LogHelper.Debug(ToString(),
+                        "prc_wom_pba_submit error锛�" + ex.Message);
+                    m.outMsg = ex.Message;
+                    return ReturnDto<dynamic>.QuickReturn(m, ReturnCode.Default,
+                        ex.Message);
+                }
+                finally
+                {
+                    conn.Close();
+                }
+            }
+        }
+
+        return ReturnDto<dynamic>.QuickReturn(m, ReturnCode.Success, "鎿嶄綔鎴愬姛锛�");
+    }
+
+    /// <summary>
+    ///   鍙嶅鏍�
+    /// </summary>
+    /// <param name="mode"></param>
+    /// <returns></returns>
+    [RequestMethod(RequestMethods.POST)]
+    public ReturnDto<ExpandoObject> EditModelSubmitFSH([FromBody] dynamic mode)
+    {
+        string _guid = mode.guid;
+        dynamic m = new ExpandoObject();
+        m.outSum = -1;
+        m.outMsg = "";
+        using (var conn = new SqlConnection(DbHelperSQL.strConn))
+        {
+            using (var cmd = new SqlCommand("prc_wom_daahb_submit", conn))
+            {
+                try
+                {
+                    conn.Open();
+                    cmd.CommandType = CommandType.StoredProcedure;
+                    SqlParameter[] parameters =
+                    {
+                        new("@outMsg", SqlDbType.NVarChar, 300),
+                        new("@outSum", SqlDbType.Int),
+                        new("@inEdtUserGuid", _userGuid),
+                        new("@inOrderGuid", _guid),
+                        new("@inFieldValue", 0),
+                        new("@in1", ""),
+                        new("@in2", "")
+                    };
+                    parameters[0].Direction = ParameterDirection.Output;
+                    parameters[1].Direction = ParameterDirection.Output;
+                    foreach (var parameter in parameters)
+                        cmd.Parameters.Add(parameter);
+                    cmd.ExecuteNonQuery();
+                    m.outMsg = parameters[0].Value.ToString();
+                    m.outSum = int.Parse(parameters[1].Value.ToString());
+                }
+                catch (Exception ex)
+                {
+                    LogHelper.Debug(ToString(),
+                        "prc_wom_daahb_submit error锛�" + ex.Message);
+                    m.outMsg = ex.Message;
+                    return ReturnDto<dynamic>.QuickReturn(m, ReturnCode.Default,
+                        ex.Message);
+                }
+                finally
+                {
+                    conn.Close();
+                }
+            }
+        }
+
+        return ReturnDto<dynamic>.QuickReturn(m, ReturnCode.Success, "鎿嶄綔鎴愬姛锛�");
+    }
+}
\ No newline at end of file

--
Gitblit v1.9.3