啊鑫
10 天以前 aedc81d40157133df8b5c44d3fbabc803a0e6e75
WebApi/GS.QC/Service/FqcManager.cs
@@ -12,36 +12,37 @@
using static Gs.Toolbox.UtilityHelper;
namespace GS.QC.Service;
[ApiGroup(ApiGroupNames.QC)]
public class FqcManager : IRomteService
namespace GS.QC.Service
{
    private readonly IHttpContextAccessor _http;
    private readonly string _userCode, _userGuid, _orgFids;
    public FqcManager(IHttpContextAccessor httpContextAccessor)
    [ApiGroup(ApiGroupNames.QC)]
    public class FqcManager : IRomteService
    {
        _http = httpContextAccessor;
        (_userCode, _userGuid, _orgFids) =
            GetUserGuidAndOrgGuid(_http);
    }
        private readonly IHttpContextAccessor _http;
        private readonly string _userCode, _userGuid, _orgFids;
    /// <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 =
        public FqcManager(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),
@@ -53,17 +54,363 @@
            new("@inP3", ""),
            new("@inP4", "")
        };
        var dset = new DataSet();
        var _pglist = new PageList<dynamic>
            var dset = new DataSet();
            var _pglist = new PageList<dynamic>
            {
                total = 0,
                everyPageSize = 0,
                pages = 0,
                list = new List<dynamic>()
            };
            try
            {
                dset = DbHelperSQL.RunProcedure("[fqc_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)
        {
            total = 0,
            everyPageSize = 0,
            pages = 0,
            list = new List<dynamic>()
            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", "")
        };
        try
            var dset = new DataSet();
            try
            {
                dset = DbHelperSQL.RunProcedure("[fqc_get]", 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.list5 = _tb;
                }
            }
            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="guid"></param>
        /// <returns></returns>
        [RequestMethod(RequestMethods.POST)]
        public ReturnDto<ExpandoObject> GetModel12([FromBody] dynamic model)
        {
            dset = DbHelperSQL.RunProcedure("[fqc_lst]", parameters, "0");
            Guid guid = model.guid;
            string parentGuid = model.parentGuid;
            dynamic m = new ExpandoObject();
            m.list = new List<dynamic>();
            m.list2 = new List<dynamic>();
            System.Text.StringBuilder sb = new StringBuilder();
            sb.Append("select * from  MES_QA_ITEMS_DETECT_DETAIL12 where parent_guid='" + guid + "' order by fstand asc");
            sb.Append("   select d13.*,d5.fcheck_item as  fcheckItemd5,d5.ybsl from  MES_QA_ITEMS_DETECT_DETAIL13 d13 left join[dbo].[MES_QA_ITEMS_DETECT_DETAIL5] d5 on d13.parent_guid = d5.guid");
            sb.Append("  where d13.parent_guid = '" + guid + "'");
            sb.Append(" order by d13.fcheck_item asc");
            try
            {
                DataSet dset = new DataSet();
                dset = DbHelperSQL.Query(sb.ToString());
                var _tb = dset.Tables[0].TableToDynamicList();
                m.list = _tb;
                var _tb2 = dset.Tables[1].TableToDynamicList();
                m.list2 = _tb2;
            }
            catch (Exception ex)
            {
                LogHelper.Debug(ToString(),
                            "GetModel12 error:" + 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 djType = model.djType;
            string fbatchQty = model.fbatchQty;
            string lifnr = model.lifnr;
            string suppId = model.suppId;
            string lineId = model.lineId;
            string itemId = model.itemId;
            string remarks = model.remarks;
            string epTag = model.epTag;
            string fzrId = model.fzrId;
            string msg = model.msg;
            string fmanageNo = model.fmanageNo;
            string lotNo1 = model.lotNo1;
            string lotNo = model.lotNo;
            string freceQty = model.freceQty;//判定结果
            string fngHandle = model.fngHandle;//处置结果
            string fmrmode = model.fmrmode;//工序
            string workNo = model.workNo;//反工单号
            string zrType = model.zrType;//责任判定
            string kbList = model.kbList;
            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("[fqc_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("@txt_djType", djType),
                         new("@txt_fbatchQty", fbatchQty),
                         new("@txt_lifnr",lifnr),
                         new("@txt_suppId", suppId),
                         new("@txt_lineId",lineId),
                         new("@txt_itemId",itemId),
                         new("@txt_remarks", remarks),
                         new("@txt_workNo",workNo),
                         new("@txt_epTag",epTag),
                         new("@txt_fzrId",fzrId),
                         new("@txt_msg",msg),
                         new("@txt_fmanageNo",fmanageNo),
                         new("@freceQty",freceQty),
                        new("@txt_lotNo1",lotNo1),
                         new("@txt_fngHandle",fngHandle),
                        new("@txt_lotNo",lotNo),
                        new("@txt_fmrmode",fmrmode),
                        new("@txt_zrType",zrType),
                        new("@kbList",kbList),
                        new("@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(),
                            "fqc_edt error:" + ex.Message);
                        mObj.outMsg = ex.Message;
                        mObj.outSum = -1;
                    }
                    finally
                    {
                        conn.Close();
                    }
                }
            }
            //保存完主表后,保存明细
            if (mObj.outSum > 0)
            {
                Hashtable SQLStringList = new Hashtable();
                foreach (var m in model.list)
                {
                    string _guid = m.guid5.ToString();
                    string _defectLevel = m.defectLevel.ToString();
                    string _defectDetails = m.defectDetails.ToString();
                    SQLStringList.Add("update  MES_QA_ITEMS_DETECT_DETAIL5 set defect_level='" + _defectLevel + "',defect_details=@defect_details where guid='" + _guid + "' ", new SqlParameter[] { new SqlParameter("@defect_details", _defectDetails) });
                }
                if (SQLStringList.Count > 0)
                {
                    try
                    {
                        Gs.Toolbox.DbHelperSQL.ExecuteSqlTranRtn(SQLStringList);
                    }
                    catch (Exception ex)
                    {
                        Gs.Toolbox.LogHelper.Debug(this.ToString(), ex.Message);
                        mObj.outMsg = (mObj.outMsg + ex.Message);
                    }
                }
            }
            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;
            var _outMsg = "";
            var _outSum = -1;
            using (var conn = new SqlConnection(DbHelperSQL.strConn))
            {
                using (var cmd = new SqlCommand("[fqc_del]", conn))
                {
                    try
                    {
                        conn.Open();
                        cmd.CommandType = CommandType.StoredProcedure;
                        SqlParameter[] parameters =
                        {
                        new("@outMsg", SqlDbType.NVarChar, 300),
                        new("@outSum", SqlDbType.Int),
                        new("@inOrderGuid",
                            UtilityHelper.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_QT_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>
        ///  fqc时选择daa
        /// </summary>
        /// <param name="model"></param>
        /// <returns></returns>
        [RequestMethod(RequestMethods.POST)]
        public ReturnDto<PageList<dynamic>> SelectFqcDaa([FromBody] dynamic model)
        {
            int currentPage = model.currentPage;
            int everyPageSize = model.everyPageSize;
            string sortName = model.sortName;
            string keyWhere = model.keyWhere;
            var dset = new DataSet();
            try
            {
                using (var conn = new SqlConnection(DbHelperSQL.strConn))
                {
                    using (var cmd = new SqlCommand("[fqc_select_daa]", conn))
                    {
                        conn.Open();
                        cmd.CommandType = CommandType.StoredProcedure;
                        SqlParameter[] parameters =
                        {
                        new("@inCurrentPage", currentPage),
                        new("@inEveryPageSize", everyPageSize),
                        new("@inSortName", sortName),
                        new("@inSortOrder", ""),
                        new("@inQueryWhere", keyWhere),
                        new("@inP1", ""),
                        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(), "GetListPage 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) //有数据
            {
@@ -78,400 +425,35 @@
                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);
                ReturnCode.Success, "读取成功");
        }
        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 =
        /// <summary>
        ///  fqc时选择Box
        /// </summary>
        /// <param name="model"></param>
        /// <returns></returns>
        [RequestMethod(RequestMethods.POST)]
        public ReturnDto<PageList<dynamic>> SelectFqcBox([FromBody] dynamic model)
        {
            new("@inMainGuid", guid),
            new("@inP1", ""),
            new("@inP2", ""),
            new("@inP3", ""),
            new("@inP4", "")
        };
        var dset = new DataSet();
        try
        {
            dset = DbHelperSQL.RunProcedure("[fqc_get]", 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.list5 = _tb;
            }
        }
        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="guid"></param>
    /// <returns></returns>
    [RequestMethod(RequestMethods.POST)]
    public ReturnDto<ExpandoObject> GetModel12([FromBody] dynamic model)
    {
        Guid guid = model.guid;
        string parentGuid = model.parentGuid;
        dynamic m = new ExpandoObject();
        m.list = new List<dynamic>();
        m.list2 = new List<dynamic>();
        var sb = new StringBuilder();
        sb.Append(
            "select * from  MES_QA_ITEMS_DETECT_DETAIL12 where parent_guid='" +
            guid + "' order by fstand asc");
        sb.Append(
            "   select d13.*,d5.fcheck_item as  fcheckItemd5,d5.ybsl from  MES_QA_ITEMS_DETECT_DETAIL13 d13 left join[dbo].[MES_QA_ITEMS_DETECT_DETAIL5] d5 on d13.parent_guid = d5.guid");
        sb.Append("  where d13.parent_guid = '" + guid + "'");
        sb.Append(" order by d13.fcheck_item asc");
        try
        {
            int currentPage = model.currentPage;
            int everyPageSize = model.everyPageSize;
            string sortName = model.sortName;
            string keyWhere = model.keyWhere;
            string daaNo = model.daaNo;
            var dset = new DataSet();
            dset = DbHelperSQL.Query(sb.ToString());
            var _tb = dset.Tables[0].TableToDynamicList();
            m.list = _tb;
            var _tb2 = dset.Tables[1].TableToDynamicList();
            m.list2 = _tb2;
        }
        catch (Exception ex)
        {
            LogHelper.Debug(ToString(),
                "GetModel12 error:" + 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 djType = model.djType;
        string fbatchQty = model.fbatchQty;
        string lifnr = model.lifnr;
        string suppId = model.suppId;
        string lineId = model.lineId;
        string itemId = model.itemId;
        string remarks = model.remarks;
        string epTag = model.epTag;
        string fzrId = model.fzrId;
        string msg = model.msg;
        string fmanageNo = model.fmanageNo;
        string lotNo1 = model.lotNo1;
        string lotNo = model.lotNo;
        string freceQty = model.freceQty; //判定结果
        string fngHandle = model.fngHandle; //处置结果
        string fmrmode = model.fmrmode; //工序
        string workNo = model.workNo; //反工单号
        string zrType = model.zrType; //责任判定
        string kbList = model.kbList;
        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("[fqc_edt]", conn))
            try
            {
                try
                using (var conn = new SqlConnection(DbHelperSQL.strConn))
                {
                    conn.Open();
                    cmd.CommandType = CommandType.StoredProcedure;
                    SqlParameter[] parameters =
                    using (var cmd = new SqlCommand("[fqc_select_box]", conn))
                    {
                        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("@txt_djType", djType),
                        new("@txt_fbatchQty", fbatchQty),
                        new("@txt_lifnr", lifnr),
                        new("@txt_suppId", suppId),
                        new("@txt_lineId", lineId),
                        new("@txt_itemId", itemId),
                        new("@txt_remarks", remarks),
                        new("@txt_workNo", workNo),
                        new("@txt_epTag", epTag),
                        new("@txt_fzrId", fzrId),
                        new("@txt_msg", msg),
                        new("@txt_fmanageNo", fmanageNo),
                        new("@freceQty", freceQty),
                        new("@txt_lotNo1", lotNo1),
                        new("@txt_fngHandle", fngHandle),
                        new("@txt_lotNo", lotNo),
                        new("@txt_fmrmode", fmrmode),
                        new("@txt_zrType", zrType),
                        new("@kbList", kbList),
                        new("@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(),
                        "fqc_edt error:" + ex.Message);
                    mObj.outMsg = ex.Message;
                    mObj.outSum = -1;
                }
                finally
                {
                    conn.Close();
                }
            }
        }
        //保存完主表后,保存明细
        if (mObj.outSum > 0)
        {
            var SQLStringList = new Hashtable();
            foreach (var m in model.list)
            {
                string _guid = m.guid5.ToString();
                string _defectLevel = m.defectLevel.ToString();
                string _defectDetails = m.defectDetails.ToString();
                SQLStringList.Add(
                    "update  MES_QA_ITEMS_DETECT_DETAIL5 set defect_level='" +
                    _defectLevel +
                    "',defect_details=@defect_details where guid='" + _guid +
                    "' ",
                    new[]
                    {
                        new SqlParameter("@defect_details", _defectDetails)
                    });
            }
            if (SQLStringList.Count > 0)
                try
                {
                    DbHelperSQL.ExecuteSqlTranRtn(SQLStringList);
                }
                catch (Exception ex)
                {
                    LogHelper.Debug(ToString(), ex.Message);
                    mObj.outMsg = mObj.outMsg + ex.Message;
                }
        }
        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;
        var _outMsg = "";
        var _outSum = -1;
        using (var conn = new SqlConnection(DbHelperSQL.strConn))
        {
            using (var cmd = new SqlCommand("[fqc_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)
                    };
                    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_QT_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>
    ///     fqc时选择daa
    /// </summary>
    /// <param name="model"></param>
    /// <returns></returns>
    [RequestMethod(RequestMethods.POST)]
    public ReturnDto<PageList<dynamic>> SelectFqcDaa([FromBody] dynamic model)
    {
        int currentPage = model.currentPage;
        int everyPageSize = model.everyPageSize;
        string sortName = model.sortName;
        string keyWhere = model.keyWhere;
        var dset = new DataSet();
        try
        {
            using (var conn = new SqlConnection(DbHelperSQL.strConn))
            {
                using (var cmd = new SqlCommand("[fqc_select_daa]", conn))
                {
                    conn.Open();
                    cmd.CommandType = CommandType.StoredProcedure;
                    SqlParameter[] parameters =
                    {
                        new("@inCurrentPage", currentPage),
                        new("@inEveryPageSize", everyPageSize),
                        new("@inSortName", sortName),
                        new("@inSortOrder", ""),
                        new("@inQueryWhere", keyWhere),
                        new("@inP1", ""),
                        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(), "GetListPage 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>
    ///     fqc时选择Box
    /// </summary>
    /// <param name="model"></param>
    /// <returns></returns>
    [RequestMethod(RequestMethods.POST)]
    public ReturnDto<PageList<dynamic>> SelectFqcBox([FromBody] dynamic model)
    {
        int currentPage = model.currentPage;
        int everyPageSize = model.everyPageSize;
        string sortName = model.sortName;
        string keyWhere = model.keyWhere;
        string daaNo = model.daaNo;
        var dset = new DataSet();
        try
        {
            using (var conn = new SqlConnection(DbHelperSQL.strConn))
            {
                using (var cmd = new SqlCommand("[fqc_select_box]", conn))
                {
                    conn.Open();
                    cmd.CommandType = CommandType.StoredProcedure;
                    SqlParameter[] parameters =
                    {
                        conn.Open();
                        cmd.CommandType = CommandType.StoredProcedure;
                        SqlParameter[] parameters =
                        {
                        new("@inCurrentPage", currentPage),
                        new("@inEveryPageSize", everyPageSize),
                        new("@inSortName", sortName),
@@ -481,272 +463,265 @@
                        new("@inP1", ""),
                        new("@inP2", "")
                    };
                    foreach (var parameter in parameters)
                        cmd.Parameters.Add(parameter);
                    using (var dt = new SqlDataAdapter(cmd))
                    {
                        dt.Fill(dset, "0");
                        foreach (var parameter in parameters)
                            cmd.Parameters.Add(parameter);
                        using (var dt = new SqlDataAdapter(cmd))
                        {
                            dt.Fill(dset, "0");
                        }
                    }
                    conn.Close();
                }
                conn.Close();
            }
        }
        catch (Exception ex)
        {
            LogHelper.Debug(ToString(), "GetListPage 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>
    ///     读取
    /// </summary>
    /// <param name="guid"></param>
    /// <returns></returns>
    [RequestMethod(RequestMethods.POST)]
    public ReturnDto<ExpandoObject> GetModel14([FromBody] dynamic model)
    {
        string parentGuid = model.parentGuid;
        dynamic m = new ExpandoObject();
        m.list = new List<dynamic>();
        var sb = new StringBuilder();
        sb.Append("  select qc14.tbBarcode,ITEM_BARCODE,QUANTITY,DAA_001");
        sb.Append(
            " ,cast( isnull( tb.IS_CHECK,0) as bit) as isCheck,tb.CHECK_DATE,tb.CHECK_BY");
        sb.Append(", line.name as lineName,dw.fname as dwName");
        sb.Append(", qc.fcheck_resu,qc.frece_qty,qc.CHECK_STATES");
        sb.Append(", daa003 as itemName,daa029 as itemNo");
        sb.Append(", 0 as rkQty,0 as wrkQty");
        sb.Append(
            " from [dbo].[MES_QA_ITEMS_DETECT_DETAIL14] qc14 left join[MES_INV_ITEM_BARCODES_TBMX] tb on qc14.tbBarcode = tb.ABOUT_TB_BARCODE");
        sb.Append(
            " left join[dbo].[MES_QA_ITEMS_DETECT_01] qc on qc14.[qcGuid] = qc.guid");
        sb.Append(" left join WOMDAA daa on daa.guid = qc.about_Guid");
        sb.Append(" left join MES_WORKSHOP_LINE line on line.id = daa.daa015");
        sb.Append(" left join MES_UNIT dw on dw.id = daa.daa005");
        sb.Append(" where qc14.qcGuid ='" + parentGuid + "' and qc.guid = '" +
                  parentGuid + "'");
        try
        {
            var dset = new DataSet();
            dset = DbHelperSQL.Query(sb.ToString());
            var _tb = dset.Tables[0].TableToDynamicList();
            m.list = _tb;
        }
        catch (Exception ex)
        {
            LogHelper.Debug(ToString(), "GetModel14 error:" + 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> EdtModel14([FromBody] dynamic model)
    {
        string pGuid = model.pGuid; //这是检验单guid
        string itemBarCode = model.itemBarCode;
        var _outMsg = "";
        int? _outSum = -1;
        dynamic m = new ExpandoObject();
        using (var conn = new SqlConnection(DbHelperSQL.strConn))
        {
            using (var cmd = new SqlCommand("[fqc_14edit]", conn))
            catch (Exception ex)
            {
                try
                LogHelper.Debug(ToString(), "GetListPage 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>
        ///     读取
        /// </summary>
        /// <param name="guid"></param>
        /// <returns></returns>
        [RequestMethod(RequestMethods.POST)]
        public ReturnDto<ExpandoObject> GetModel14([FromBody] dynamic model)
        {
            string parentGuid = model.parentGuid;
            dynamic m = new ExpandoObject();
            m.list = new List<dynamic>();
            System.Text.StringBuilder sb = new StringBuilder();
            sb.Append("  select qc14.tbBarcode,ITEM_BARCODE,QUANTITY,DAA_001");
            sb.Append(" ,cast( isnull( tb.IS_CHECK,0) as bit) as isCheck,tb.CHECK_DATE,tb.CHECK_BY");
            sb.Append(", line.name as lineName,dw.fname as dwName");
            sb.Append(", qc.fcheck_resu,qc.frece_qty,qc.CHECK_STATES");
            sb.Append(", daa003 as itemName,daa029 as itemNo");
            sb.Append(", 0 as rkQty,0 as wrkQty");
            sb.Append(" from [dbo].[MES_QA_ITEMS_DETECT_DETAIL14] qc14 left join[MES_INV_ITEM_BARCODES_TBMX] tb on qc14.tbBarcode = tb.ABOUT_TB_BARCODE");
            sb.Append(" left join[dbo].[MES_QA_ITEMS_DETECT_01] qc on qc14.[qcGuid] = qc.guid");
            sb.Append(" left join WOMDAA daa on daa.guid = qc.about_Guid");
            sb.Append(" left join MES_WORKSHOP_LINE line on line.id = daa.daa015");
            sb.Append(" left join MES_UNIT dw on dw.id = daa.daa005");
            sb.Append(" where qc14.qcGuid ='" + parentGuid + "' and qc.guid = '" + parentGuid + "'");
            try
            {
                DataSet dset = new DataSet();
                dset = DbHelperSQL.Query(sb.ToString());
                var _tb = dset.Tables[0].TableToDynamicList();
                m.list = _tb;
            }
            catch (Exception ex)
            {
                LogHelper.Debug(ToString(), "GetModel14 error:" + 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> EdtModel14([FromBody] dynamic model)
        {
            string pGuid = model.pGuid; //这是检验单guid
            string itemBarCode = model.itemBarCode;
            var _outMsg = "";
            int? _outSum = -1;
            dynamic m = new ExpandoObject();
            using (var conn = new SqlConnection(DbHelperSQL.strConn))
            {
                using (var cmd = new SqlCommand("[fqc_14edit]", conn))
                {
                    conn.Open();
                    cmd.CommandType = CommandType.StoredProcedure;
                    SqlParameter[] parameters =
                    try
                    {
                        conn.Open();
                        cmd.CommandType = CommandType.StoredProcedure;
                        SqlParameter[] parameters =
                        {
                        new("@outMsg", SqlDbType.NVarChar, 300),
                        new("@outSum", SqlDbType.Int),
                        new("@inEdtUserGuid", _userGuid),
                        new("@inOrderGuid1", pGuid),
                        new("@inP1", itemBarCode)
                        new("@inP1", itemBarCode),
                    };
                    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(),
                        "fqc_14edit error:" + ex.Message);
                    _outMsg = ex.Message;
                    _outSum = -1;
                }
                finally
                {
                    conn.Close();
                        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(),
                            "fqc_14edit error:" + ex.Message);
                        _outMsg = ex.Message;
                        _outSum = -1;
                    }
                    finally
                    {
                        conn.Close();
                    }
                }
            }
            if (_outSum <= 0)
            {
                return ReturnDto<dynamic>.QuickReturn(m, ReturnCode.Default, "操作失败:"+ _outMsg);
            }
            dynamic dy = new { parentGuid = pGuid };
            return GetModel14(dy);
        }
        if (_outSum <= 0)
            return ReturnDto<dynamic>.QuickReturn(m, ReturnCode.Default,
                "操作失败:" + _outMsg);
        dynamic dy = new { parentGuid = pGuid };
        return GetModel14(dy);
    }
    /// <summary>
    ///     生成报告
    /// </summary>
    /// <param name="model"></param>
    /// <returns></returns>
    [RequestMethod(RequestMethods.POST)]
    public ReturnDto<int?> GetBaoGao([FromBody] dynamic model)
    {
        int? rtnInt = (int)ReturnCode.Default;
        Guid? guid = model.guid;
        var _outMsg = "";
        var _outSum = -1;
        using (var conn = new SqlConnection(DbHelperSQL.strConn))
        /// <summary>
        ///     生成报告
        /// </summary>
        /// <param name="model"></param>
        /// <returns></returns>
        [RequestMethod(RequestMethods.POST)]
        public ReturnDto<int?> GetBaoGao([FromBody] dynamic model)
        {
            using (var cmd = new SqlCommand("[prc_fqc_items_add]", conn))
            int? rtnInt = (int)ReturnCode.Default;
            Guid? guid = model.guid;
            var _outMsg = "";
            var _outSum = -1;
            using (var conn = new SqlConnection(DbHelperSQL.strConn))
            {
                try
                using (var cmd = new SqlCommand("[prc_fqc_items_add]", conn))
                {
                    conn.Open();
                    cmd.CommandType = CommandType.StoredProcedure;
                    SqlParameter[] parameters =
                    try
                    {
                        conn.Open();
                        cmd.CommandType = CommandType.StoredProcedure;
                        SqlParameter[] parameters =
                        {
                        new("@outMsg", SqlDbType.NVarChar, 300),
                        new("@outSum", SqlDbType.Int),
                        new("@inOrderGuid",
                            CheckGuid(guid)
                            UtilityHelper.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_QT_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);
    }
    #region 提交检验
    /// <summary>
    ///     提交检验
    /// </summary>
    /// <param name="mode"></param>
    /// <returns></returns>
    [RequestMethod(RequestMethods.POST)]
    public ReturnDto<ExpandoObject> EditModelSubmit([FromBody] dynamic mode)
    {
        string _guid = mode.guid;
        string _inFieldValue = mode.inFieldValue;
        dynamic m = new ExpandoObject();
        m.outSum = -1;
        m.outMsg = "";
        using (var conn = new SqlConnection(DbHelperSQL.strConn))
        {
            using (var cmd = new SqlCommand("fqc_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", _inFieldValue),
                        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)
                {
                    m.outMsg = ex.Message;
                    LogHelper.Debug(ToString(),
                        "fqc_submit error:" + ex.Message);
                    return ReturnDto<dynamic>.QuickReturn(m, ReturnCode.Default,
                        ex.Message);
                }
                finally
                {
                    conn.Close();
                        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_QT_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);
        }
        return ReturnDto<dynamic>.QuickReturn(m, ReturnCode.Success, "操作成功!");
    }
        #region 提交检验
        /// <summary>
        /// 提交检验
        /// </summary>
        /// <param name="mode"></param>
        /// <returns></returns>
        [RequestMethod(RequestMethods.POST)]
        public ReturnDto<ExpandoObject> EditModelSubmit([FromBody] dynamic mode)
        {
            string _guid = mode.guid;
            string _inFieldValue = mode.inFieldValue;
            dynamic m = new ExpandoObject();
            m.outSum = -1;
            m.outMsg = "";
            using (var conn = new SqlConnection(DbHelperSQL.strConn))
            {
                using (var cmd = new SqlCommand("fqc_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", _inFieldValue),
                                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)
                    {
                        m.outMsg = ex.Message;
                        LogHelper.Debug(this.ToString(), "fqc_submit error:" + ex.Message);
                        return ReturnDto<dynamic>.QuickReturn(m, ReturnCode.Default, ex.Message);
                    }
                    finally
                    {
                        conn.Close();
                    }
                }
            }
            return ReturnDto<dynamic>.QuickReturn(m, ReturnCode.Success, "操作成功!");
        }
    #endregion
}
        #endregion
    }
}