From 5707781039b9d902ce1d2d6727fba65bbab14574 Mon Sep 17 00:00:00 2001
From: 啊鑫 <t2856754968@163.com>
Date: 星期六, 13 九月 2025 17:02:06 +0800
Subject: [PATCH] 异常单回滚

---
 WebApi/Gs.Wom/WorkService/MesBackFlashController.cs |  409 ++++++++++++++++++++++++++-------------------------------
 1 files changed, 187 insertions(+), 222 deletions(-)

diff --git a/WebApi/Gs.Wom/WorkService/MesBackFlashController.cs b/WebApi/Gs.Wom/WorkService/MesBackFlashController.cs
index ab97204..287814d 100644
--- a/WebApi/Gs.Wom/WorkService/MesBackFlashController.cs
+++ b/WebApi/Gs.Wom/WorkService/MesBackFlashController.cs
@@ -11,239 +11,204 @@
 using Newtonsoft.Json.Linq;
 using static Gs.Toolbox.UtilityHelper;
 
-namespace Gs.Wom.WorkService;
-
-[ApiGroup(ApiGroupNames.WOM)]
-public class MesBackFlashController : IRomteService
+namespace Gs.Wom.WorkService
 {
-    private readonly IHttpContextAccessor _http;
-    private readonly string _userCode, _userGuid, _orgFids;
 
-    public MesBackFlashController(IHttpContextAccessor httpContextAccessor)
+    [ApiGroup(ApiGroupNames.WOM)]
+    public class MesBackFlashController : IRomteService
     {
-        _http = httpContextAccessor;
-        (_userCode, _userGuid, _orgFids) = GetUserGuidAndOrgGuid(_http);
-    }
-
-    #region
-
-    /// <summary>
-    ///     璇诲彇鍒楄〃锛屾敮鎸佸垎椤�
-    /// </summary>
-    /// <param name="model"></param>
-    /// <returns></returns>
-    [RequestMethod(RequestMethods.POST)]
-    public ReturnDto<PageList<dynamic>> GetListPage([FromBody] PageQuery model)
-    {
-        var currentPage = model.currentPage;
-        var everyPageSize = model.everyPageSize;
-        var sortName = string.IsNullOrEmpty(model.sortName)
-            ? "org.FNumber"
-            : model.sortName;
-        var keyWhere = model.keyWhere;
-        var _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);
-        var 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);
-        var dset = new DataSet();
-        try
+        private readonly IHttpContextAccessor _http;
+        private readonly string _userCode, _userGuid, _orgFids;
+        public MesBackFlashController(IHttpContextAccessor httpContextAccessor)
         {
-            dset = DbHelperSQL.Query(sbSql.ToString());
-        }
-        catch (Exception ex)
-        {
-            LogHelper.Debug(ToString(), "GetListPage error锛�" + ex.Message);
-            return ReturnDto<PageList<dynamic>>.QuickReturn(
-                default(PageList<dynamic>), ReturnCode.Exception, "璇诲彇澶辫触");
+            _http = httpContextAccessor;
+            (_userCode, _userGuid, _orgFids) = GetUserGuidAndOrgGuid(_http);
         }
 
-        var _pglist = new PageList<dynamic>
+        #region
+        /// <summary>
+        /// 璇诲彇鍒楄〃锛屾敮鎸佸垎椤�
+        /// </summary>
+        /// <param name="model"></param>
+        /// <returns></returns>
+        [RequestMethod(RequestMethods.POST)]
+        public ReturnDto<PageList<dynamic>> GetListPage([FromBody] PageQuery model)
         {
-            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>
-    ///     鍒犻櫎瀹炰綋
-    /// </summary>
-    /// <param name="model"></param>
-    /// <returns></returns>
-    [RequestMethod(RequestMethods.POST)]
-    public ReturnDto<int?> DeleteModel([FromBody] JArray guidList)
-    {
-        var intArray = guidList.ToObject<string[]>();
-        var guid = intArray[0];
-        var rtnInt = (int)ReturnCode.Default;
-        var cont = 0;
-        try
-        {
-            cont = isChkOrUnChk(guid, 1);
-            if (cont > 0)
-                return ReturnDto<int>.QuickReturn(default(int?),
-                    ReturnCode.Exception, "鍒犻櫎澶辫触锛岃淇℃伅宸茶瀹℃牳锛�");
-            var strSql = new StringBuilder();
-            strSql.Append(" delete from MES_BACK_FLASH ");
-            strSql.Append(" where guid='" + guid + "'");
-            var rows = DbHelperSQL.ExecuteSql(strSql.ToString());
-            rtnInt = rows;
-        }
-        catch (Exception ex)
-        {
-            LogHelper.Debug(ToString(), "DeleteModel error锛�" + ex.Message);
-            rtnInt = (int)ReturnCode.Exception;
-            return ReturnDto<int>.QuickReturn(default(int?),
-                ReturnCode.Exception, "鍒犻櫎澶辫触锛�" + ex.Message);
-        }
-
-        if (rtnInt > 0)
-            return ReturnDto<int>.QuickReturn(default(int?), ReturnCode.Success,
-                "鎿嶄綔鎴愬姛锛屽叡鍒犻櫎" + rtnInt + "鏉℃暟鎹紒");
-        return ReturnDto<int>.QuickReturn(default(int?), ReturnCode.Exception,
-            "鍒犻櫎澶辫触锛岃閲嶈瘯锛�");
-    }
-
-    /// <summary>
-    ///     澧炲姞瀹炰綋
-    /// </summary>
-    /// <param name="model"></param>
-    /// <returns></returns>
-    [RequestMethod(RequestMethods.POST)]
-    public ReturnDto<ExpandoObject> EditModel([FromBody] dynamic model)
-    {
-        string itemId = model.itemId;
-        string departmentId = model.departmentId;
-        string depotId = model.depotId;
-        int? rtnInt = (int)ReturnCode.Default;
-        dynamic mObj = new ExpandoObject();
-        mObj.outMsg = "";
-        mObj.outSum = -1;
-        mObj.outGuid = "";
-        mObj.outNo = "";
-        var strSql = new StringBuilder();
-        var 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
-        {
-            rtnInt = DbHelperSQL.ExecuteSql(strSql.ToString());
-            mObj.outMsg = "鎿嶄綔鎴愬姛锛�";
-            mObj.outSum = rtnInt;
-            mObj.outGuid = guid;
-            mObj.outNo = itemId;
-        }
-        catch (Exception ex)
-        {
-            LogHelper.Debug(ToString(), "EditModel error锛�" + ex.Message);
-            rtnInt = (int)ReturnCode.Exception;
-            mObj.outMsg = ex.Message;
-            mObj.outSum = -1;
-        }
-
-        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="guid"></param>
-    /// <returns></returns>
-    [RequestMethod(RequestMethods.POST)]
-    [AllowAnonymous]
-    public ReturnDto<ExpandoObject> GetModel([FromBody] dynamic model)
-    {
-        dynamic m = new ExpandoObject();
-        var 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
-        {
-            var dset = new DataSet();
-            dset = DbHelperSQL.Query(sbSql.ToString());
-            if (dset != null && dset.Tables.Count > 0 &&
-                dset.Tables[0].Rows.Count > 0)
+            int currentPage = model.currentPage;
+            int everyPageSize = model.everyPageSize;
+            string sortName = string.IsNullOrEmpty(model.sortName) ? "org.FNumber" : 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
             {
-                var dr = dset.Tables[0].Rows[0];
-                m = dr.RowToDynamic();
-                return ReturnDto<dynamic>.QuickReturn(m, ReturnCode.Success,
-                    "璇诲彇鎴愬姛锛�");
+                dset = Gs.Toolbox.DbHelperSQL.Query(sbSql.ToString());
             }
-
-            return ReturnDto<dynamic>.QuickReturn(m, ReturnCode.Default,
-                "璇诲彇澶辫触锛�");
+            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>
+            {
+                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, "璇诲彇鎴愬姛");
         }
-        catch (Exception ex)
+
+
+        /// <summary>
+        /// 鍒犻櫎瀹炰綋
+        /// </summary>
+        /// <param name="model"></param>
+        /// <returns></returns>
+        [RequestMethod(RequestMethods.POST)]
+        public ReturnDto<int?> DeleteModel([FromBody] JArray guidList)
         {
-            LogHelper.Debug(ToString(), "GetModel error:" + ex.Message);
-            return ReturnDto<dynamic>.QuickReturn(m, ReturnCode.Default,
-                "璇诲彇澶辫触锛�");
+            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;
+            }
+            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);
+            }
+            if (rtnInt > 0)
+                return ReturnDto<int>.QuickReturn(default(int?), ReturnCode.Success, "鎿嶄綔鎴愬姛锛屽叡鍒犻櫎" + rtnInt.ToString() + "鏉℃暟鎹紒");
+            else
+                return ReturnDto<int>.QuickReturn(default(int?), ReturnCode.Exception, "鍒犻櫎澶辫触锛岃閲嶈瘯锛�");
         }
-    }
 
-    /// <summary>
-    ///     鍒ゆ柇鏄惁瀹℃牳
-    /// </summary>
-    /// <param name="guidList"></param>
-    /// <param name="status"></param>
-    /// <returns></returns>
-    private int isChkOrUnChk(string guidList, int status)
-    {
-        var 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;
-    }
+        /// <summary>
+        /// 澧炲姞瀹炰綋
+        /// </summary>
+        /// <param name="model"></param>
+        /// <returns></returns>
+        [RequestMethod(RequestMethods.POST)]
+        public ReturnDto<ExpandoObject> EditModel([FromBody] dynamic model)
+        {
+            string itemId = model.itemId;
+            string departmentId = model.departmentId;
+            string depotId = model.depotId;
+            int? rtnInt = (int)ReturnCode.Default;
+            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
+            {
+                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;
+            }
+            if (mObj.outSum <= 0)
+                return ReturnDto<dynamic>.QuickReturn(mObj, ReturnCode.Exception, mObj.outMsg);
+            return ReturnDto<dynamic>.QuickReturn(mObj, ReturnCode.Success, mObj.outMsg);
+        }
 
-    #endregion
-}
\ No newline at end of file
+        /// <summary>
+        /// 璇诲彇瀹炰綋
+        /// </summary>
+        /// <param name="guid"></param>
+        /// <returns></returns>
+        [RequestMethod(RequestMethods.POST)]
+        [AllowAnonymous]
+        public ReturnDto<System.Dynamic.ExpandoObject> GetModel([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
+            {
+                DataSet dset = new DataSet();
+                dset = DbHelperSQL.Query(sbSql.ToString());
+                if (dset != null && dset.Tables.Count > 0 && dset.Tables[0].Rows.Count > 0)
+                {
+                    System.Data.DataRow dr = dset.Tables[0].Rows[0];
+                    m = dr.RowToDynamic();
+                    return ReturnDto<dynamic>.QuickReturn(m, ReturnCode.Success, "璇诲彇鎴愬姛锛�");
+                }
+                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, "璇诲彇澶辫触锛�");
+            }
+        }
+
+        /// <summary>
+        /// 鍒ゆ柇鏄惁瀹℃牳
+        /// </summary>
+        /// <param name="guidList"></param>
+        /// <param name="status"></param>
+        /// <returns></returns>
+        private int isChkOrUnChk(string guidList, int status)
+        {
+            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;
+        }
+        #endregion
+    }
+}

--
Gitblit v1.9.3