From 3a8747c5de05ebe7751fcb0a6f0f58301392e271 Mon Sep 17 00:00:00 2001
From: cnf <3200815559@qq.com>
Date: 星期三, 27 八月 2025 14:02:31 +0800
Subject: [PATCH] 到冲改成调存储过程,ck添加补料筛掉可补数量为0 的数据

---
 WebApi/Gs.Wom/WorkService/MesBackFlashController.cs |  349 ++++++++++++++++++++++++++++++++++++++--------------------
 1 files changed, 228 insertions(+), 121 deletions(-)

diff --git a/WebApi/Gs.Wom/WorkService/MesBackFlashController.cs b/WebApi/Gs.Wom/WorkService/MesBackFlashController.cs
index 287814d..81d079c 100644
--- a/WebApi/Gs.Wom/WorkService/MesBackFlashController.cs
+++ b/WebApi/Gs.Wom/WorkService/MesBackFlashController.cs
@@ -1,4 +1,5 @@
 锘縰sing System.Data;
+using System.Data.SqlClient;
 using System.Dynamic;
 using System.Text;
 using Gs.Toolbox;
@@ -27,138 +28,171 @@
 
         #region
         /// <summary>
-        /// 璇诲彇鍒楄〃锛屾敮鎸佸垎椤�
+        ///     璇诲彇鍒楄〃锛屾敮鎸佸垎椤�
         /// </summary>
         /// <param name="model"></param>
         /// <returns></returns>
         [RequestMethod(RequestMethods.POST)]
-        public ReturnDto<PageList<dynamic>> GetListPage([FromBody] PageQuery model)
+        public ReturnDto<PageList<dynamic>> GetListPage([FromBody] dynamic model)
         {
             int currentPage = model.currentPage;
             int everyPageSize = model.everyPageSize;
-            string sortName = string.IsNullOrEmpty(model.sortName) ? "org.FNumber" : model.sortName;
+            string sortName = model.sortName;
             string keyWhere = model.keyWhere;
-            System.Text.StringBuilder _w = new StringBuilder();
-            _w.Append(" from [dbo].[MES_BACK_FLASH] a");
-            _w.Append(" left join MES_ITEMS i on a.ItemID=i.item_id  ");
-            _w.Append(" left join MES_DEPOTS d on a.depotId=d.depot_id ");
-            _w.Append(" left join SYS_DEPARTMENT m on a.departmentId=m.departmentid ");
-            _w.Append(" left join SYS_ORGANIZATION org on i.FSubsidiary=org.FID");
-            _w.Append(" where 1=1 " + keyWhere);
-            System.Text.StringBuilder sbSql = new StringBuilder();
-            sbSql.Append("select * from ");
-            sbSql.Append("( ");
-            sbSql.Append("select top 100000 ROW_NUMBER() over(order by " + sortName + " " + model.sortOrder + ") as rowIndex,a.*,'('+org.FNumber+')'+org.NAME as orgName  ");
-            sbSql.Append(",i.item_no as itemNo,i.item_name as itemName,i.item_model as itemModel,d.depot_name as depotName,m.departmentname as bmName");
-            sbSql.Append(_w);
-            sbSql.Append(") as T ");
-            sbSql.Append(" where T.rowindex>(" + currentPage + "-1)*" + everyPageSize + " and  T.rowindex<=" + currentPage + "*" + everyPageSize);
-            sbSql.Append(" order by rowindex asc ");
-            sbSql.Append(" select count(1) as intTotal ");
-            sbSql.Append(_w);
-            DataSet dset = new DataSet();
-            try
+            SqlParameter[] parameters =
             {
-                dset = Gs.Toolbox.DbHelperSQL.Query(sbSql.ToString());
-            }
-            catch (Exception ex)
-            {
-                Gs.Toolbox.LogHelper.Debug(this.ToString(), "GetListPage error锛�" + ex.Message);
-                return ReturnDto<PageList<dynamic>>.QuickReturn(default(PageList<dynamic>), ReturnCode.Exception, "璇诲彇澶辫触");
-            }
-            PageList<dynamic> _pglist = new PageList<dynamic>
+            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>()
             };
-            if (dset != null && dset.Tables.Count > 0 && dset.Tables[0].Rows.Count > 0)//鏈夋暟鎹�
-            {
-                int intTotal = int.Parse(dset.Tables[1].Rows[0]["intTotal"].ToString());
-                int pages = (intTotal % everyPageSize != 0) ? (intTotal / everyPageSize + 1) : (intTotal / everyPageSize);
-                _pglist.total = intTotal;
-                _pglist.everyPageSize = everyPageSize;
-                _pglist.pages = pages;
-                List<dynamic> _dy = dset.Tables[0].TableToDynamicList();
-                _pglist.list = _dy;
-            }
-            return ReturnDto<PageList<dynamic>>.QuickReturn(_pglist, ReturnCode.Success, "璇诲彇鎴愬姛");
-        }
-
-
-        /// <summary>
-        /// 鍒犻櫎瀹炰綋
-        /// </summary>
-        /// <param name="model"></param>
-        /// <returns></returns>
-        [RequestMethod(RequestMethods.POST)]
-        public ReturnDto<int?> DeleteModel([FromBody] JArray guidList)
-        {
-            var intArray = guidList.ToObject<string[]>();
-            string guid = intArray[0];
-            int rtnInt = (int)ReturnCode.Default;
-            int cont = 0;
             try
             {
-                cont = isChkOrUnChk(guid, 1);
-                if (cont > 0)
-                    return ReturnDto<int>.QuickReturn(default(int?), ReturnCode.Exception, "鍒犻櫎澶辫触锛岃淇℃伅宸茶瀹℃牳锛�");
-                StringBuilder strSql = new StringBuilder();
-                strSql.Append(" delete from MES_BACK_FLASH ");
-                strSql.Append(" where guid='" + guid + "'");
-                int rows = DbHelperSQL.ExecuteSql(strSql.ToString());
-                rtnInt = rows;
+                dset = DbHelperSQL.RunProcedure("prc_back_flash_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(this.ToString(), "DeleteModel error锛�" + ex.Message);
-                rtnInt = (int)ReturnCode.Exception;
-                return ReturnDto<int>.QuickReturn(default(int?), ReturnCode.Exception, "鍒犻櫎澶辫触锛�" + ex.Message);
+                LogHelper.Debug(ToString(), ex.Message);
+                return ReturnDto<PageList<dynamic>>.QuickReturn(_pglist,
+              ReturnCode.Exception, ex.Message);
             }
-            if (rtnInt > 0)
-                return ReturnDto<int>.QuickReturn(default(int?), ReturnCode.Success, "鎿嶄綔鎴愬姛锛屽叡鍒犻櫎" + rtnInt.ToString() + "鏉℃暟鎹紒");
-            else
-                return ReturnDto<int>.QuickReturn(default(int?), ReturnCode.Exception, "鍒犻櫎澶辫触锛岃閲嶈瘯锛�");
+            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_back_flash_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();
+                }
+            }
+            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 itemId = model.itemId;
             string departmentId = model.departmentId;
             string depotId = model.depotId;
-            int? rtnInt = (int)ReturnCode.Default;
+            string depotlocid = model.depotlocid;
             dynamic mObj = new ExpandoObject();
             mObj.outMsg = "";
             mObj.outSum = -1;
             mObj.outGuid = "";
             mObj.outNo = "";
-            StringBuilder strSql = new StringBuilder();
-            string guid = Guid.NewGuid().ToString();
-            strSql.Append(" insert into MES_BACK_FLASH");
-            strSql.Append(" ([guid] ,[ItemId] ,[departmentId] ,[depotId],createBy,createDate,checkStatus)");
-            strSql.Append(" values(");
-            strSql.Append(" '" + guid + "','" + itemId + "','" + departmentId + "'," + depotId + ",'" + _userCode + "',getdate(),0)");
-            try
+            using (var conn = new SqlConnection(DbHelperSQL.strConn))
             {
-                rtnInt = DbHelperSQL.ExecuteSql(strSql.ToString());
-                mObj.outMsg = "鎿嶄綔鎴愬姛锛�";
-                mObj.outSum = rtnInt;
-                mObj.outGuid = guid;
-                mObj.outNo = itemId;
-            }
-            catch (Exception ex)
-            {
-                LogHelper.Debug(this.ToString(), "EditModel error锛�" + ex.Message);
-                rtnInt = (int)ReturnCode.Exception;
-                mObj.outMsg = ex.Message;
-                mObj.outSum = -1;
+                using (var cmd = new SqlCommand("[prc_back_flash_edt]", conn))
+                {
+                    try
+                    {
+                        conn.Open();
+                        cmd.CommandType = CommandType.StoredProcedure;
+                        SqlParameter[] parameters =
+                        {
+                        new SqlParameter("@outMsg", SqlDbType.NVarChar, 300),
+                        new SqlParameter("@outSum", SqlDbType.Int),
+                        new SqlParameter("@outGuid", SqlDbType.UniqueIdentifier),
+                        new SqlParameter("@outNo", SqlDbType.NVarChar, 300),
+                        new SqlParameter("@inOrderGuid", CheckGuid(guid) ? guid : DBNull.Value),
+                        new SqlParameter("@ItemId", string.IsNullOrEmpty(itemId) ? DBNull.Value : (object)long.Parse(itemId)),
+                        new SqlParameter("@departmentId", string.IsNullOrEmpty(departmentId) ? DBNull.Value : (object)long.Parse(departmentId)),
+                        new SqlParameter("@depotId", string.IsNullOrEmpty(depotId) ? DBNull.Value : (object)long.Parse(depotId)),
+                        new SqlParameter("@remark", ""),
+                        new SqlParameter("@inEdtUserGuid", _userGuid)
+                    };
+                        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_back_flash_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);
@@ -166,48 +200,121 @@
         }
 
         /// <summary>
-        /// 璇诲彇瀹炰綋
+        ///     鍒犻櫎涓昏〃鎴栨槑缁�
         /// </summary>
-        /// <param name="guid"></param>
+        /// <param name="model"></param>
         /// <returns></returns>
         [RequestMethod(RequestMethods.POST)]
-        [AllowAnonymous]
-        public ReturnDto<System.Dynamic.ExpandoObject> GetModel([FromBody] dynamic model)
+        public ReturnDto<int?> DeleteModel([FromBody] dynamic model)
         {
-            dynamic m = new System.Dynamic.ExpandoObject();
-            System.Text.StringBuilder sbSql = new StringBuilder();
-            sbSql.Append("select top 1 a.*,org.FID as orgId ,i.item_no as itemNo,i.item_name as itemName,i.item_model as itemModel from MES_BACK_FLASH a left join MES_ITEMS i on a.ItemID=i.item_id left join SYS_ORGANIZATION org on i.FSubsidiary=org.FID where 1=1 and a.guid='" + model.guid.ToString() + "' ");
-            try
+            int? rtnInt = (int)ReturnCode.Default;
+            Guid? guid = model.guid; //鍒拌揣鍗曚富閿�
+            var _outMsg = "";
+            var _outSum = -1;
+            using (var conn = new SqlConnection(DbHelperSQL.strConn))
             {
-                DataSet dset = new DataSet();
-                dset = DbHelperSQL.Query(sbSql.ToString());
-                if (dset != null && dset.Tables.Count > 0 && dset.Tables[0].Rows.Count > 0)
+                using (var cmd = new SqlCommand("[prc_back_flash_del]", conn))
                 {
-                    System.Data.DataRow dr = dset.Tables[0].Rows[0];
-                    m = dr.RowToDynamic();
-                    return ReturnDto<dynamic>.QuickReturn(m, ReturnCode.Success, "璇诲彇鎴愬姛锛�");
+                    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)
+                    };
+                        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_auto_rk_del error锛�" + ex.Message);
+                        _outMsg = ex.Message;
+                        _outSum = -1;
+                    }
+                    finally
+                    {
+                        conn.Close();
+                    }
                 }
-                else
-                    return ReturnDto<dynamic>.QuickReturn(m, ReturnCode.Default, "璇诲彇澶辫触锛�");
             }
-            catch (Exception ex)
-            {
-                LogHelper.Debug(this.ToString(), "GetModel error:" + ex.Message);
-                return ReturnDto<dynamic>.QuickReturn(m, ReturnCode.Default, "璇诲彇澶辫触锛�");
-            }
+
+            if (_outSum <= 0)
+                return ReturnDto<int>.QuickReturn(rtnInt, ReturnCode.Exception,
+                    _outMsg);
+            return ReturnDto<int>.QuickReturn(rtnInt, ReturnCode.Success, _outMsg);
         }
 
+
         /// <summary>
-        /// 鍒ゆ柇鏄惁瀹℃牳
+        ///     鎻愪氦妫�楠�
         /// </summary>
-        /// <param name="guidList"></param>
-        /// <param name="status"></param>
+        /// <param name="mode"></param>
         /// <returns></returns>
-        private int isChkOrUnChk(string guidList, int status)
+        [RequestMethod(RequestMethods.POST)]
+        public ReturnDto<ExpandoObject> EditModelSubmit([FromBody] dynamic mode)
         {
-            int cont = 0;
-            cont = int.Parse(DbHelperSQL.GetSingle("select count(1) from MES_BACK_FLASH where guid='" + guidList + "' and isnull(checkstatus,0)=" + status + "").ToString());
-            return cont;
+            string _guid = mode.guid;
+            string _inFieldValue = mode.inFieldValue;
+            string _chkOut = mode.chkOut;
+            string _proName = "prc_back_flash_submit";
+            dynamic m = new ExpandoObject();
+            m.outSum = -1;
+            m.outMsg = "";
+            using (var conn = new SqlConnection(DbHelperSQL.strConn))
+            {
+                using (var cmd = new SqlCommand(_proName, conn))
+                {
+                    try
+                    {
+                        conn.Open();
+                        cmd.CommandType = CommandType.StoredProcedure;
+                        SqlParameter[] parameters =
+                        {
+                         new("@outMsg", SqlDbType.NVarChar, 2500),
+                        new("@outSum", SqlDbType.Int),
+                        new("@inEdtUserGuid", _userGuid),
+                        new("@inOrderGuid", _guid),
+                        new("@inFieldValue", _inFieldValue),
+                        new("@in1", _chkOut),
+                        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_auto_rk_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, "鎿嶄綔鎴愬姛锛�");
         }
         #endregion
     }

--
Gitblit v1.9.3