예제 #1
0
        /// <summary>
        /// 复检确认
        /// </summary>
        /// <param name="dr">需要确认的数据</param>
        /// <param name="TickNo">钩号</param>
        /// <returns></returns>
        public string Recheck_QR(DataTable dt_main, int[] rownumber, string[] str_tick_no, string strQRZT, int Type)
        {
            string result = "1";

            try
            {
                TransactionHelper.BeginTransaction();

                string   userID = RV.UI.UserInfo.UserID;
                DateTime dTime  = RV.UI.ServerTime.timeNow();

                Dal_TQC_RECHECK             dalRecheck           = new Dal_TQC_RECHECK();
                Dal_TQC_PHYSICS_RESULT_MAIN dalPhysicsResultMain = new Dal_TQC_PHYSICS_RESULT_MAIN();
                Dal_TQB_PHYSICS_GROUP       dalTqbPhysicsGroup   = new Dal_TQB_PHYSICS_GROUP();
                Dal_TQC_RESULT_MAIN_ZJB     dalResultMainZJB     = new Dal_TQC_RESULT_MAIN_ZJB();
                for (int i = 0; i < rownumber.Length; i++)
                {
                    Mod_TQC_RECHECK mod = dalRecheck.GetModel(str_tick_no[i]);
                    mod.N_IS_QR      = Type;
                    mod.C_ZZ_USER_ID = userID;
                    mod.D_ZZ_MOD     = dTime;
                    mod.C_ZZJG       = strQRZT;
                    if (!dalRecheck.Update_Trans(mod))
                    {
                        TransactionHelper.RollBack();
                        return("0");
                    }
                }
                TransactionHelper.Commit();
            }
            catch (Exception ex)
            {
                TransactionHelper.RollBack();
                return("0");
            }

            return(result);
        }
예제 #2
0
        /// <summary>
        /// 修改性能值
        /// </summary>
        /// <returns></returns>
        public string Edit_Result(DataRow dr, DataTable dt_result, string str_PHYSICS_GROUP_ID, string strSB, string strWD, string strSD, string strBC, string strBZ, string strSHR)
        {
            try
            {
                string result = "1";

                TransactionHelper.BeginTransaction();

                string   strUserID = RV.UI.UserInfo.userID;
                DateTime time      = RV.UI.ServerTime.timeNow();

                Dal_TQC_PHYSICS_RESULT_MAIN dalTqcPhyResultMain = new Dal_TQC_PHYSICS_RESULT_MAIN();
                Dal_TQC_PHYSICS_RESULT_LOG  dalResultLog        = new Dal_TQC_PHYSICS_RESULT_LOG();
                Dal_TQC_COMPRE_ROLL         dalTqcCompreRoll    = new Dal_TQC_COMPRE_ROLL();
                Dal_TQB_PHYSICS_GROUP       dalGroup            = new Dal_TQB_PHYSICS_GROUP();

                if (dr != null)
                {
                    string C_PRESENT_SAMPLES_ID = dr["取样主表主键"].ToString();

                    string strCheckState = dr["检验状态"].ToString();
                    if (strCheckState == "初检")
                    {
                        strCheckState = "0";
                    }
                    else if (strCheckState == "复检")
                    {
                        strCheckState = "1";
                    }

                    string strCode = dalGroup.Get_Code(str_PHYSICS_GROUP_ID);

                    Mod_TQC_PHYSICS_RESULT_MAIN mod = dalTqcPhyResultMain.GetModel(C_PRESENT_SAMPLES_ID);

                    DataTable dt_DB = new DataTable();

                    if (strCode == "R01")
                    {
                        dt_DB = dalTqcPhyResultMain.Get_DB_List(dr["批号"].ToString(), str_PHYSICS_GROUP_ID, strCheckState, mod.C_IS_PD).Tables[0];
                    }
                    else
                    {
                        dt_DB = dalTqcPhyResultMain.Get_DB_List(C_PRESENT_SAMPLES_ID).Tables[0];
                    }

                    for (int mm = 0; mm < dt_DB.Rows.Count; mm++)
                    {
                        Mod_TQC_PHYSICS_RESULT_MAIN mod_Main = dalTqcPhyResultMain.GetModel(dt_DB.Rows[mm]["C_ID"].ToString());
                        if (mod_Main != null)
                        {
                            mod_Main.C_EQ_NAME    = strSB;
                            mod_Main.C_TEMP       = strWD;
                            mod_Main.C_HUMIDITY   = strSD;
                            mod_Main.N_IS_LR      = 1;
                            mod_Main.C_BC         = strBC;
                            mod_Main.C_BZ         = strBZ;
                            mod_Main.C_CHECK_USER = strSHR;

                            if (!dalTqcPhyResultMain.Update_Trans(mod_Main))
                            {
                                TransactionHelper.RollBack();
                                return("保存设备信息失败!");
                            }
                        }

                        int num_Edit = dalResultLog.Get_Max_EditNum(str_PHYSICS_GROUP_ID, dt_DB.Rows[mm]["C_ID"].ToString());//修改次数

                        num_Edit++;

                        DataTable dt_Old = dal.Get_XNList(strCode, dt_DB.Rows[mm]["C_ID"].ToString()).Tables[0];

                        for (int i = 0; i < dt_Old.Rows.Count; i++)
                        {
                            int strType = 0;

                            if (dt_Old.Rows[i]["C_CODE"].ToString().Contains("000GCL"))
                            {
                                strType = 0;
                            }
                            else
                            {
                                strType = 1;
                            }

                            if (!string.IsNullOrEmpty(dt_Old.Rows[i]["C_VALUE"].ToString()))
                            {
                                Mod_TQC_PHYSICS_RESULT_LOG modResult_Log = new Mod_TQC_PHYSICS_RESULT_LOG();
                                modResult_Log.C_PHYSICS_GROUP_ID   = str_PHYSICS_GROUP_ID;
                                modResult_Log.C_PRESENT_SAMPLES_ID = dt_DB.Rows[mm]["C_ID"].ToString();
                                modResult_Log.C_CHARACTER_ID       = dt_Old.Rows[i]["C_CHARACTER_ID"].ToString();
                                modResult_Log.C_CHARACTER_CODE     = dt_Old.Rows[i]["C_CODE"].ToString();
                                modResult_Log.C_CHARACTER_NAME     = dt_Old.Rows[i]["C_NAME"].ToString();
                                modResult_Log.C_VALUE       = dt_Old.Rows[i]["C_VALUE"].ToString();
                                modResult_Log.C_EMP_ID      = strUserID;
                                modResult_Log.N_TYPE        = strType;
                                modResult_Log.C_TICK_NO     = dr["钩号"].ToString();
                                modResult_Log.C_CHECK_STATE = strCheckState;
                                modResult_Log.C_EDIT_NUM    = num_Edit.ToString();

                                if (!dalResultLog.Add_Trans(modResult_Log))
                                {
                                    TransactionHelper.RollBack();
                                    return("保存修改记录出错!");
                                }
                            }
                        }

                        dal.Delete_Trans(str_PHYSICS_GROUP_ID, dt_DB.Rows[mm]["C_ID"].ToString());

                        for (int k = 0; k < dt_result.Rows.Count; k++)
                        {
                            int strType = 0;

                            if (dt_result.Rows[k]["C_CODE"].ToString().Contains("000GCL"))
                            {
                                strType = 0;
                            }
                            else
                            {
                                strType = 1;
                            }

                            if (dt_result.Rows[k]["C_VALUE"].ToString() != "")
                            {
                                Mod_TQC_PHYSICS_RESULT modResult = new Mod_TQC_PHYSICS_RESULT();
                                modResult.C_PHYSICS_GROUP_ID   = str_PHYSICS_GROUP_ID;
                                modResult.C_PRESENT_SAMPLES_ID = dt_DB.Rows[mm]["C_ID"].ToString();
                                modResult.C_CHARACTER_ID       = dt_result.Rows[k]["C_CHARACTER_ID"].ToString();
                                modResult.C_CHARACTER_CODE     = dt_result.Rows[k]["C_CODE"].ToString();
                                modResult.C_CHARACTER_NAME     = dt_result.Rows[k]["C_NAME"].ToString();
                                modResult.C_VALUE       = dt_result.Rows[k]["C_VALUE"].ToString();
                                modResult.C_EMP_ID      = strUserID;
                                modResult.N_TYPE        = strType;
                                modResult.C_TICK_NO     = dr["钩号"].ToString();
                                modResult.C_CHECK_STATE = strCheckState;

                                if (!dal.Add_Trans(modResult))
                                {
                                    TransactionHelper.RollBack();
                                    return("修改数据出错!");
                                }
                            }
                        }
                    }
                }



                TransactionHelper.Commit();

                dalTqcCompreRoll.JUDGE_ROLL_BATCH(dr["批号"].ToString());

                return(result);
            }
            catch (Exception ex)
            {
                TransactionHelper.RollBack();
                return(ex.Message);
            }
        }
예제 #3
0
        /// <summary>
        /// 保存性能值
        /// </summary>
        /// <returns></returns>
        public string Save_Result(DataTable dt_result, string strPhyCode)
        {
            try
            {
                string result = "1";

                TransactionHelper.BeginTransaction();

                string   strUserID = RV.UI.UserInfo.userID;
                DateTime time      = RV.UI.ServerTime.timeNow();

                Dal_TQB_PHYSICS_GROUP       daltqbPhysicsGroup = new Dal_TQB_PHYSICS_GROUP();
                Dal_TQC_PHYSICS_RESULT_MAIN dalResultMain      = new Dal_TQC_PHYSICS_RESULT_MAIN();

                Mod_TQC_PHYSICS_RESULT model;

                DataTable dt_Character = dal.Get_Character_List(strPhyCode).Tables[0];

                if (dt_Character.Rows.Count == 0)
                {
                    TransactionHelper.RollBack();
                    return("性能基础数据有误,保存失败!");
                }

                string str_PHYSICS_GROUP_ID = dt_Character.Rows[0]["C_PHYSICS_GROUP_ID"].ToString();

                for (int irow = 0; irow < dt_result.Rows.Count; irow++)
                {
                    string val = dt_result.Rows[irow]["chk"].ToString();
                    if (val == "False")
                    {
                        continue;
                    }

                    string C_PRESENT_SAMPLES_ID = dt_result.Rows[irow]["取样主表主键"].ToString();

                    dal.Delete_Trans(str_PHYSICS_GROUP_ID, C_PRESENT_SAMPLES_ID);

                    Mod_TQC_PHYSICS_RESULT_MAIN modelMain = dalResultMain.GetModel(C_PRESENT_SAMPLES_ID);
                    if (modelMain != null)
                    {
                        modelMain.N_IS_LR   = 1;
                        modelMain.C_EQ_NAME = dt_result.Rows[irow]["设备信息"].ToString();

                        if (!dalResultMain.Update_Trans(modelMain))
                        {
                            TransactionHelper.RollBack();
                            return("保存失败!");
                        }
                    }

                    for (int icol = 13; icol < dt_result.Columns.Count; icol++)
                    {
                        int iType = 2;

                        if (dt_Character.Rows[icol - 13]["C_CODE"].ToString().Contains("000GCL"))
                        {
                            iType = 0;
                        }
                        else
                        {
                            iType = 1;
                        }

                        if (!string.IsNullOrEmpty(dt_result.Rows[irow][icol].ToString()))
                        {
                            model = new Mod_TQC_PHYSICS_RESULT();

                            model.C_PHYSICS_GROUP_ID   = str_PHYSICS_GROUP_ID;                                      //物理分组表主键
                            model.C_PRESENT_SAMPLES_ID = C_PRESENT_SAMPLES_ID;                                      //tqc_physics_result_main主键
                            model.C_CHARACTER_ID       = dt_Character.Rows[icol - 13]["C_CHARACTER_ID"].ToString(); //检验基础数据表主键
                            model.C_CHARACTER_CODE     = dt_Character.Rows[icol - 13]["C_CODE"].ToString();         //性能代码
                            model.C_CHARACTER_NAME     = dt_Character.Rows[icol - 13]["C_NAME"].ToString();         //性能名称
                            model.C_VALUE       = dt_result.Rows[irow][icol].ToString();                            //性能值
                            model.C_EMP_ID      = strUserID;                                                        //录入人
                            model.N_TYPE        = iType;                                                            //0过程量;1检验量
                            model.C_CHECK_STATE = dt_result.Rows[irow]["检验状态"].ToString() == "初检" ? "0" : "1";      // 状态;0-初检;1-复检;2-评审
                            model.C_TICK_NO     = dt_result.Rows[irow]["钩号"].ToString();                            //钩号

                            if (!dal.Add_Trans(model))
                            {
                                TransactionHelper.RollBack();
                                return("保存失败!");
                            }
                        }
                    }
                }

                TransactionHelper.Commit();
                return(result);
            }
            catch (Exception ex)
            {
                TransactionHelper.RollBack();
                return(ex.Message);
            }
        }
예제 #4
0
        /// <summary>
        /// 保存性能值
        /// </summary>
        /// <returns></returns>
        public string Save_Result_Old(DataRow dr, DataTable dt_result, string strPhyCode, string strSB, string strWD, string strSD, string strBC, string strBZ, string strSHR)
        {
            try
            {
                string result = "1";

                TransactionHelper.BeginTransaction();

                Dal_TQC_PHYSICS_RESULT_MAIN dalTqcPhyResultMain = new Dal_TQC_PHYSICS_RESULT_MAIN();
                Dal_TQB_PHYSICS_GROUP       dalTqbPhysicsGroup  = new Dal_TQB_PHYSICS_GROUP();

                string   strUserID = RV.UI.UserInfo.userID;
                DateTime time      = RV.UI.ServerTime.timeNow();

                string C_PRESENT_SAMPLES_ID     = dr["取样主表主键"].ToString();
                Mod_TQC_PHYSICS_RESULT_MAIN mod = dalTqcPhyResultMain.GetModel(C_PRESENT_SAMPLES_ID);

                string strCheckState = dr["检验状态"].ToString();
                if (strCheckState == "初检")
                {
                    strCheckState = "0";
                }
                else if (strCheckState == "复检")
                {
                    strCheckState = "1";
                }

                string str_PHYSICS_GROUP_ID = dalTqbPhysicsGroup.Get_ID(strPhyCode);

                DataTable dt_DB = new DataTable();

                if (strPhyCode == "R01")
                {
                    dt_DB = dalTqcPhyResultMain.Get_DB_List(dr["批号"].ToString(), str_PHYSICS_GROUP_ID, strCheckState, mod.C_IS_PD).Tables[0];
                }
                else
                {
                    dt_DB = dalTqcPhyResultMain.Get_DB_List(C_PRESENT_SAMPLES_ID).Tables[0];
                }

                for (int i = 0; i < dt_DB.Rows.Count; i++)
                {
                    Mod_TQC_PHYSICS_RESULT_MAIN mod_Main = dalTqcPhyResultMain.GetModel(dt_DB.Rows[i]["C_ID"].ToString());
                    if (mod_Main != null)
                    {
                        mod_Main.C_EQ_NAME    = strSB;
                        mod_Main.C_TEMP       = strWD;
                        mod_Main.C_HUMIDITY   = strSD;
                        mod_Main.N_IS_LR      = 1;
                        mod_Main.C_BC         = strBC;
                        mod_Main.C_BZ         = strBZ;
                        mod_Main.C_CHECK_USER = strSHR;

                        if (!dalTqcPhyResultMain.Update_Trans(mod_Main))
                        {
                            TransactionHelper.RollBack();
                            return("保存设备信息失败!");
                        }
                    }

                    dal.Delete_Trans(str_PHYSICS_GROUP_ID, dt_DB.Rows[i]["C_ID"].ToString());

                    for (int mm = 0; mm < dt_result.Rows.Count; mm++)
                    {
                        if (!string.IsNullOrEmpty(dt_result.Rows[mm]["C_VALUE"].ToString()))
                        {
                            int i_Type = 0;

                            if (dt_result.Rows[mm]["C_CODE"].ToString().Contains("000GCL"))
                            {
                                i_Type = 0;
                            }
                            else
                            {
                                i_Type = 1;
                            }

                            Mod_TQC_PHYSICS_RESULT modResult = new Mod_TQC_PHYSICS_RESULT();
                            modResult.C_PHYSICS_GROUP_ID   = str_PHYSICS_GROUP_ID;
                            modResult.C_PRESENT_SAMPLES_ID = dt_DB.Rows[i]["C_ID"].ToString();
                            modResult.C_CHARACTER_ID       = dt_result.Rows[mm]["C_CHARACTER_ID"].ToString();
                            modResult.C_CHARACTER_CODE     = dt_result.Rows[mm]["C_CODE"].ToString();
                            modResult.C_CHARACTER_NAME     = dt_result.Rows[mm]["C_NAME"].ToString();
                            modResult.C_VALUE       = dt_result.Rows[mm]["C_VALUE"].ToString();
                            modResult.C_EMP_ID      = strUserID;
                            modResult.D_MOD_DT      = time;
                            modResult.N_SPLIT       = 0;
                            modResult.N_TYPE        = i_Type;
                            modResult.C_CHECK_STATE = strCheckState;
                            modResult.C_TICK_NO     = dt_DB.Rows[i]["C_TICK_NO"].ToString();

                            if (!dal.Add_Trans(modResult))
                            {
                                TransactionHelper.RollBack();
                                return("保存结果失败!");
                            }
                        }
                    }
                }


                TransactionHelper.Commit();
                return(result);
            }
            catch (Exception ex)
            {
                TransactionHelper.RollBack();
                return(ex.Message);
            }
        }
예제 #5
0
        /// <summary>
        /// 复检确认
        /// </summary>
        /// <param name="dr">需要确认的数据</param>
        /// <param name="TickNo">钩号</param>
        /// <returns></returns>
        public string Recheck_SL(DataTable dt_main, int[] rownumber, string[] str_tick_no, string strQRZT, int Type)
        {
            string result = "1";

            try
            {
                TransactionHelper.BeginTransaction();

                string   userID = RV.UI.UserInfo.UserID;
                DateTime dTime  = RV.UI.ServerTime.timeNow();

                Dal_TQC_RECHECK             dalRecheck           = new Dal_TQC_RECHECK();
                Dal_TQC_PHYSICS_RESULT_MAIN dalPhysicsResultMain = new Dal_TQC_PHYSICS_RESULT_MAIN();
                Dal_TQB_PHYSICS_GROUP       dalTqbPhysicsGroup   = new Dal_TQB_PHYSICS_GROUP();
                Dal_TQC_RESULT_MAIN_ZJB     dalResultMainZJB     = new Dal_TQC_RESULT_MAIN_ZJB();
                for (int i = 0; i < rownumber.Length; i++)
                {
                    Mod_TQC_RECHECK mod = dalRecheck.GetModel(dt_main.Rows[rownumber[i]]["C_ID"].ToString());
                    mod.N_IS_QR      = Type;
                    mod.C_TICK_NO    = str_tick_no[i];
                    mod.C_QR_USER_ID = userID;
                    mod.D_QR_MOD     = dTime;
                    if (!dalRecheck.Update_Trans(mod))
                    {
                        TransactionHelper.RollBack();
                        return("0");
                    }
                    else
                    {
                        string str_PHYSICS_GROUP_ID = dalTqbPhysicsGroup.Get_ID(dt_main.Rows[rownumber[i]]["C_PHYSICS_CODE"].ToString());

                        if (str_PHYSICS_GROUP_ID == "0")
                        {
                            TransactionHelper.RollBack();
                            return("0");
                        }

                        Mod_TQC_RESULT_MAIN_ZJB mod_zjb = new Mod_TQC_RESULT_MAIN_ZJB();
                        mod_zjb.C_BATCH_NO         = dt_main.Rows[rownumber[i]]["C_BATCH_NO"].ToString();
                        mod_zjb.C_TICK_NO          = str_tick_no[i];
                        mod_zjb.C_STL_GRD          = dt_main.Rows[rownumber[i]]["C_STL_GRD"].ToString();
                        mod_zjb.C_SPEC             = dt_main.Rows[rownumber[i]]["C_SPEC"].ToString();
                        mod_zjb.C_EMP_ID           = dt_main.Rows[rownumber[i]]["C_EMP_ID"].ToString();
                        mod_zjb.D_MOD_DT           = Convert.ToDateTime(dt_main.Rows[rownumber[i]]["D_MOD_DT"].ToString());
                        mod_zjb.C_EMP_ID_ZY        = userID;
                        mod_zjb.D_MOD_DT_ZY        = Convert.ToDateTime(dTime);
                        mod_zjb.C_EMP_ID_JS        = userID;
                        mod_zjb.D_MOD_DT_JS        = Convert.ToDateTime(dTime);
                        mod_zjb.C_PHYSICS_GROUP_ID = str_PHYSICS_GROUP_ID;
                        mod_zjb.C_CHECK_STATE      = "1";
                        mod_zjb.N_RECHECK          = mod.N_RECHECK;
                        mod_zjb.C_ITEM_NAME        = mod.C_ITEM_NAME;
                        mod_zjb.C_QRZT             = strQRZT;
                        mod_zjb.C_DISPOSAL         = mod.C_DISPOSAL;
                        if (!dalResultMainZJB.Add_Trans(mod_zjb))
                        {
                            TransactionHelper.RollBack();
                            return("0");
                        }
                    }
                }
                TransactionHelper.Commit();
            }
            catch (Exception ex)
            {
                TransactionHelper.RollBack();
                return("0");
            }

            return(result);
        }
예제 #6
0
        /// <summary>
        /// 线材综合判定确认
        /// </summary>
        /// <param name="strBatchNo">批号</param>
        /// <param name="strUrl">xml地址</param>
        /// <returns></returns>
        public string Roll_Compre_OK(string strBatchNo, string strUrl)
        {
            string result = "1";

            try
            {
                Dal_TRC_ROLL_PRODCUT                 dalTrcRollProduct       = new Dal_TRC_ROLL_PRODCUT();
                Dal_TRC_ROLL_WGD                     dalTrcRollWgd           = new Dal_TRC_ROLL_WGD();
                Dal_TQC_ROLL_COMMUTE                 DalTqcRollCommute       = new Dal_TQC_ROLL_COMMUTE();
                Dal_Interface_NC_Roll_KC4N_ZP        dal_interface           = new Dal_Interface_NC_Roll_KC4N_ZP();
                Dal_Interface_NC_Roll_KC4N_ZP_No_WGD dal_interface_No_Wgd    = new Dal_Interface_NC_Roll_KC4N_ZP_No_WGD();
                Dal_TQR_ZBS_ITEM                     dalTqrZbsItem           = new Dal_TQR_ZBS_ITEM();
                Dal_TQC_COMPRE_ITEM_RESULT           dalTqcCompreItemResult  = new Dal_TQC_COMPRE_ITEM_RESULT();
                Dal_TQC_PHYSICS_RESULT_MAIN          dalTqcPhysicsResultMain = new Dal_TQC_PHYSICS_RESULT_MAIN();

                TransactionHelper.BeginTransaction();
                TransactionHelper_SQL.BeginTransaction();

                string   strUserID = RV.UI.UserInfo.userID;
                DateTime time      = RV.UI.ServerTime.timeNow();

                string C_MASTER_ID    = "";
                string C_GP_BEFORE_ID = "";
                string C_GP_AFTER_ID  = "";

                DataTable dt_CompreRoll = dal.Get_List(strBatchNo).Tables[0];

                if (dt_CompreRoll.Rows.Count > 0)
                {
                    int num = 0;
                    for (int i = 0; i < dt_CompreRoll.Rows.Count; i++)
                    {
                        num++;

                        Mod_TQC_COMPRE_ROLL modTqcCompreRoll = dal.GetModel(dt_CompreRoll.Rows[i]["C_ID"].ToString());

                        if (!string.IsNullOrEmpty(modTqcCompreRoll.C_RESULT_PEOPLE) || !string.IsNullOrEmpty(modTqcCompreRoll.C_RESULT_ALL))
                        {
                            //判定结果回写实绩表
                            string strResult = "";
                            if (!string.IsNullOrEmpty(modTqcCompreRoll.C_RESULT_PEOPLE))
                            {
                                strResult = modTqcCompreRoll.C_RESULT_PEOPLE;
                            }
                            else
                            {
                                strResult = modTqcCompreRoll.C_RESULT_ALL;
                            }

                            if (strResult == "N")
                            {
                                TransactionHelper.RollBack();
                                TransactionHelper_SQL.RollBack();
                                return("综判等级为N,请选择人工判定等级!");
                            }

                            modTqcCompreRoll.C_QR_STATE = "Y";
                            modTqcCompreRoll.C_EMP_ID   = strUserID;
                            modTqcCompreRoll.D_MOD_DT   = time;

                            if (!dal.Update_Trans(modTqcCompreRoll))
                            {
                                TransactionHelper.RollBack();
                                TransactionHelper_SQL.RollBack();
                                return("操作失败!");
                            }

                            DataTable dt = DalTqcRollCommute.GetList_max_Trans().Tables[0];

                            if (string.IsNullOrEmpty(dt.Rows[0]["C_GP_AFTER_ID"].ToString()))
                            {
                                C_GP_AFTER_ID = "ph" + time.ToString("yyMMdd00001");
                            }
                            else
                            {
                                C_GP_AFTER_ID = "ph" + (Convert.ToInt64(dt.Rows[0]["C_GP_AFTER_ID"].ToString()) + 1).ToString();
                            }

                            if (!dalTrcRollProduct.Update_Trans(strResult, modTqcCompreRoll.C_EMP_ID, modTqcCompreRoll, C_GP_AFTER_ID))
                            {
                                TransactionHelper.RollBack();
                                TransactionHelper_SQL.RollBack();
                                return("操作失败!");
                            }
                        }
                        else
                        {
                            TransactionHelper.RollBack();
                            TransactionHelper_SQL.RollBack();
                            return("请先选择人工判定等级!");
                        }
                    }

                    int num_main = dalTqcPhysicsResultMain.Get_Count(strBatchNo);

                    if (num_main > 0)
                    {
                        if (!dalTqcPhysicsResultMain.Update_PD_Trans(strBatchNo))
                        {
                            TransactionHelper.RollBack();
                            TransactionHelper_SQL.RollBack();
                            return("更新判定状态失败!");
                        }
                    }

                    if (num == dt_CompreRoll.Rows.Count)
                    {
                        #region  步重量

                        DataTable dtTM = dal.Get_TM_List(strBatchNo).Tables[0];
                        if (dtTM.Rows.Count > 0)
                        {
                            for (int i = 0; i < dtTM.Rows.Count; i++)
                            {
                                if (!dalTrcRollProduct.Update_Wgt_Trans(strBatchNo, dtTM.Rows[i]["GH"].ToString(), dtTM.Rows[i]["ZL"].ToString()))
                                {
                                    TransactionHelper.RollBack();
                                    TransactionHelper_SQL.RollBack();
                                    return("更新重量失败!");
                                }
                            }
                        }
                        else
                        {
                            TransactionHelper.RollBack();
                            TransactionHelper_SQL.RollBack();
                            return("没有找到条码库存信息,判定失败!");
                        }

                        #endregion

                        Mod_TRC_ROLL_WGD mod_wgd = dalTrcRollWgd.Get_WGD_Modle(strBatchNo);//获取完工单信息
                        if (mod_wgd != null)
                        {
                            DataTable dt_Group = dalTrcRollProduct.Get_List_ByGroup(strBatchNo).Tables[0];

                            for (int i = 0; i < dt_Group.Rows.Count; i++)
                            {
                                #region 更新线材实绩表

                                DataTable dt = DalTqcRollCommute.GetList_max_MasterID_Trans().Tables[0];

                                if (string.IsNullOrEmpty(dt.Rows[0]["C_MASTER_ID"].ToString()))
                                {
                                    C_MASTER_ID = "sj" + time.ToString("yyMMdd00001");
                                }
                                else
                                {
                                    C_MASTER_ID = "sj" + (Convert.ToInt64(dt.Rows[0]["C_MASTER_ID"].ToString()) + 1).ToString();
                                }

                                if (string.IsNullOrEmpty(dt.Rows[0]["C_GP_BEFORE_ID"].ToString()))
                                {
                                    C_GP_BEFORE_ID = "pq" + time.ToString("yyMMdd00001");
                                }
                                else
                                {
                                    C_GP_BEFORE_ID = "pq" + (Convert.ToInt64(dt.Rows[0]["C_GP_BEFORE_ID"].ToString()) + 1).ToString();
                                }

                                if (!dalTrcRollProduct.Update_Trans(C_MASTER_ID, C_GP_BEFORE_ID, dt_Group.Rows[i]["C_STD_CODE"].ToString(), dt_Group.Rows[i]["C_MAT_CODE"].ToString(), dt_Group.Rows[i]["C_ZYX1"].ToString(), dt_Group.Rows[i]["C_ZYX2"].ToString(), strBatchNo))
                                {
                                    TransactionHelper.RollBack();
                                    TransactionHelper_SQL.RollBack();
                                    return("操作失败!");
                                }

                                #endregion

                                #region   条码

                                DataTable dt_Details = dalTrcRollProduct.Get_Details(strBatchNo, dt_Group.Rows[i]["C_STD_CODE"].ToString(), dt_Group.Rows[i]["C_MAT_CODE"].ToString(), dt_Group.Rows[i]["C_ZYX1"].ToString(), dt_Group.Rows[i]["C_ZYX2"].ToString()).Tables[0];


                                if (dt_Details.Rows.Count > 0)
                                {
                                    string sql = "";

                                    for (int kk = 0; kk < dt_Details.Rows.Count; kk++)
                                    {
                                        if (mod_wgd.C_MRSX.ToString() == "DP")
                                        {
                                            sql = "insert into ReZJB_GPD(Barcode,WGDH,CK,HW,PCH,WLH,WLMC,SX,PH,GG,BB,GH,ZL,BZ,RQ,RKType,RKRY,WeightRQ,ProduceData,PCInfo,vfree0,vfree3,GPTYPE,ZJBstatus,CAPPK,insertts,vfree1,vfree2) values('" + dt_Details.Rows[kk]["C_BARCODE"] + "','" + dt_Details.Rows[kk]["C_TRC_ROLL_MAIN_ID"] + "','" + dt_Details.Rows[kk]["C_LINEWH_CODE"] + "','" + dt_Details.Rows[kk]["C_LINEWH_LOC_CODE"] + "','" + dt_Details.Rows[kk]["C_BATCH_NO"] + "','" + dt_Details.Rows[kk]["C_MAT_CODE"] + "','" + dt_Details.Rows[kk]["C_MAT_DESC"] + "','" + dt_Details.Rows[kk]["C_JUDGE_LEV_ZH"] + "','" + dt_Details.Rows[kk]["C_STL_GRD"] + "','" + dt_Details.Rows[kk]["C_SPEC"] + "mm','" + dt_Details.Rows[kk]["C_GROUP"] + "','" + dt_Details.Rows[kk]["C_TICK_NO"] + "','" + dt_Details.Rows[kk]["N_WGT"] + "','" + dt_Details.Rows[kk]["C_STD_CODE"] + "','" + dt_Details.Rows[kk]["D_RKRQ"] + "','" + dt_Details.Rows[kk]["C_MOVE_DESC"] + "','" + dt_Details.Rows[kk]["C_RKRY"] + "','" + dt_Details.Rows[kk]["D_WEIGHT_DT"] + "','" + dt_Details.Rows[kk]["D_PRODUCE_DATE"] + "','" + dt_Details.Rows[kk]["C_PCINFO"] + "','" + dt_Details.Rows[kk]["C_STOVE"] + "','" + dt_Details.Rows[kk]["C_BZYQ"] + "','','0','" + dt_Details.Rows[kk]["C_ID"] + "','" + time + "','" + dt_Details.Rows[kk]["C_ZYX1"].ToString() + "','" + dt_Details.Rows[kk]["C_ZYX2"].ToString() + "')";

                                            if (TransactionHelper_SQL.ExecuteSql(sql) == 0)
                                            {
                                                TransactionHelper.RollBack();
                                                TransactionHelper_SQL.RollBack();
                                                return("信息传到条码时出错!");
                                            }
                                        }
                                        else
                                        {
                                            if (dt_Details.Rows[kk]["C_JUDGE_LEV_BP"].ToString() != dt_Details.Rows[kk]["C_JUDGE_LEV_ZH"].ToString())
                                            {
                                                sql = "insert into ReZJB_GPD(Barcode,WGDH,CK,HW,PCH,WLH,WLMC,SX,PH,GG,BB,GH,ZL,BZ,RQ,RKType,RKRY,WeightRQ,ProduceData,PCInfo,vfree0,vfree3,GPTYPE,ZJBstatus,CAPPK,insertts,vfree1,vfree2) values('" + dt_Details.Rows[kk]["C_BARCODE"] + "','" + dt_Details.Rows[kk]["C_TRC_ROLL_MAIN_ID"] + "','" + dt_Details.Rows[kk]["C_LINEWH_CODE"] + "','" + dt_Details.Rows[kk]["C_LINEWH_LOC_CODE"] + "','" + dt_Details.Rows[kk]["C_BATCH_NO"] + "','" + dt_Details.Rows[kk]["C_MAT_CODE"] + "','" + dt_Details.Rows[kk]["C_MAT_DESC"] + "','" + dt_Details.Rows[kk]["C_JUDGE_LEV_ZH"] + "','" + dt_Details.Rows[kk]["C_STL_GRD"] + "','" + dt_Details.Rows[kk]["C_SPEC"] + "mm','" + dt_Details.Rows[kk]["C_GROUP"] + "','" + dt_Details.Rows[kk]["C_TICK_NO"] + "','" + dt_Details.Rows[kk]["N_WGT"] + "','" + dt_Details.Rows[kk]["C_STD_CODE"] + "','" + dt_Details.Rows[kk]["D_RKRQ"] + "','" + dt_Details.Rows[kk]["C_MOVE_DESC"] + "','" + dt_Details.Rows[kk]["C_RKRY"] + "','" + dt_Details.Rows[kk]["D_WEIGHT_DT"] + "','" + dt_Details.Rows[kk]["D_PRODUCE_DATE"] + "','" + dt_Details.Rows[kk]["C_PCINFO"] + "','" + dt_Details.Rows[kk]["C_STOVE"] + "','" + dt_Details.Rows[kk]["C_BZYQ"] + "','','0','" + dt_Details.Rows[kk]["C_ID"] + "','" + time + "','" + dt_Details.Rows[kk]["C_ZYX1"].ToString() + "','" + dt_Details.Rows[kk]["C_ZYX2"].ToString() + "')";

                                                if (TransactionHelper_SQL.ExecuteSql(sql) == 0)
                                                {
                                                    TransactionHelper.RollBack();
                                                    TransactionHelper_SQL.RollBack();
                                                    return("信息传到条码时出错!");
                                                }
                                            }
                                        }
                                    }
                                }
                                else
                                {
                                    TransactionHelper.RollBack();
                                    TransactionHelper_SQL.RollBack();
                                    return("信息传到条码时出错!");
                                }

                                #endregion

                                #region   NC

                                string sql_NC  = "select count(distinct t.STORCODE) from XGERP50.V_ONHAND_XC t where t.批次号='" + strBatchNo + "' AND T.INVTYPE='" + dt_Group.Rows[i]["C_STL_GRD"].ToString() + "' AND T.INVCODE='" + dt_Group.Rows[i]["C_MAT_CODE"].ToString() + "' ";
                                int    countNC = dal.Get_NC_Batch_Count(sql_NC);
                                if (countNC > 1)
                                {
                                    TransactionHelper.RollBack();
                                    TransactionHelper_SQL.RollBack();
                                    return("该批次信息不在同一个仓库,不能判定!");
                                }
                                else if (countNC == 0)
                                {
                                    TransactionHelper.RollBack();
                                    TransactionHelper_SQL.RollBack();
                                    return("该批次信息还没有入库!");
                                }

                                string interface_nc = dal_interface.SendXml_GP(strUrl, strBatchNo, C_MASTER_ID, dt_Group.Rows[i]["C_MAT_CODE"].ToString(), dt_Group.Rows[i]["N_WGT"].ToString(), dt_Group.Rows[i]["QUA"].ToString(), dt_Group.Rows[i]["C_ZYX1"].ToString(), dt_Group.Rows[i]["C_ZYX2"].ToString(), mod_wgd, C_GP_BEFORE_ID);

                                if (interface_nc != "1")
                                {
                                    TransactionHelper.RollBack();
                                    TransactionHelper_SQL.RollBack();
                                    return(interface_nc);
                                }

                                #endregion
                            }
                        }
                        else
                        {
                            DataTable dt_Group = dalTrcRollProduct.Get_List_ByGroup(strBatchNo).Tables[0];

                            for (int i = 0; i < dt_Group.Rows.Count; i++)
                            {
                                #region 更新线材实绩表

                                DataTable dt = DalTqcRollCommute.GetList_max_MasterID_Trans().Tables[0];

                                if (string.IsNullOrEmpty(dt.Rows[0]["C_MASTER_ID"].ToString()))
                                {
                                    C_MASTER_ID = "sj" + time.ToString("yyMMdd00001");
                                }
                                else
                                {
                                    C_MASTER_ID = "sj" + (Convert.ToInt64(dt.Rows[0]["C_MASTER_ID"].ToString()) + 1).ToString();
                                }

                                if (string.IsNullOrEmpty(dt.Rows[0]["C_GP_BEFORE_ID"].ToString()))
                                {
                                    C_GP_BEFORE_ID = "pq" + time.ToString("yyMMdd00001");
                                }
                                else
                                {
                                    C_GP_BEFORE_ID = "pq" + (Convert.ToInt64(dt.Rows[0]["C_GP_BEFORE_ID"].ToString()) + 1).ToString();
                                }

                                if (!dalTrcRollProduct.Update_Trans(C_MASTER_ID, C_GP_BEFORE_ID, dt_Group.Rows[i]["C_STD_CODE"].ToString(), dt_Group.Rows[i]["C_MAT_CODE"].ToString(), dt_Group.Rows[i]["C_ZYX1"].ToString(), dt_Group.Rows[i]["C_ZYX2"].ToString(), strBatchNo))
                                {
                                    TransactionHelper.RollBack();
                                    TransactionHelper_SQL.RollBack();
                                    return("操作失败!");
                                }

                                #endregion

                                #region   条码

                                DataTable dt_Details = dalTrcRollProduct.Get_Details(strBatchNo, dt_Group.Rows[i]["C_STD_CODE"].ToString(), dt_Group.Rows[i]["C_MAT_CODE"].ToString(), dt_Group.Rows[i]["C_ZYX1"].ToString(), dt_Group.Rows[i]["C_ZYX2"].ToString()).Tables[0];


                                if (dt_Details.Rows.Count > 0)
                                {
                                    string sql = "";

                                    for (int kk = 0; kk < dt_Details.Rows.Count; kk++)
                                    {
                                        sql = "insert into ReZJB_GPD(Barcode,WGDH,CK,HW,PCH,WLH,WLMC,SX,PH,GG,BB,GH,ZL,BZ,RQ,RKType,RKRY,WeightRQ,ProduceData,PCInfo,vfree0,vfree3,GPTYPE,ZJBstatus,CAPPK,insertts,vfree1,vfree2) values('" + dt_Details.Rows[kk]["C_BARCODE"] + "','" + dt_Details.Rows[kk]["C_TRC_ROLL_MAIN_ID"] + "','" + dt_Details.Rows[kk]["C_LINEWH_CODE"] + "','" + dt_Details.Rows[kk]["C_LINEWH_LOC_CODE"] + "','" + dt_Details.Rows[kk]["C_BATCH_NO"] + "','" + dt_Details.Rows[kk]["C_MAT_CODE"] + "','" + dt_Details.Rows[kk]["C_MAT_DESC"] + "','" + dt_Details.Rows[kk]["C_JUDGE_LEV_ZH"] + "','" + dt_Details.Rows[kk]["C_STL_GRD"] + "','" + dt_Details.Rows[kk]["C_SPEC"] + "mm','" + dt_Details.Rows[kk]["C_GROUP"] + "','" + dt_Details.Rows[kk]["C_TICK_NO"] + "','" + dt_Details.Rows[kk]["N_WGT"] + "','" + dt_Details.Rows[kk]["C_STD_CODE"] + "','" + dt_Details.Rows[kk]["D_RKRQ"] + "','" + dt_Details.Rows[kk]["C_MOVE_DESC"] + "','" + dt_Details.Rows[kk]["C_RKRY"] + "','" + dt_Details.Rows[kk]["D_WEIGHT_DT"] + "','" + dt_Details.Rows[kk]["D_PRODUCE_DATE"] + "','" + dt_Details.Rows[kk]["C_PCINFO"] + "','" + dt_Details.Rows[kk]["C_STOVE"] + "','" + dt_Details.Rows[kk]["C_BZYQ"] + "','','0','" + dt_Details.Rows[kk]["C_ID"] + "','" + time + "','" + dt_Details.Rows[kk]["C_ZYX1"].ToString() + "','" + dt_Details.Rows[kk]["C_ZYX2"].ToString() + "')";

                                        if (TransactionHelper_SQL.ExecuteSql(sql) == 0)
                                        {
                                            TransactionHelper.RollBack();
                                            TransactionHelper_SQL.RollBack();
                                            return("信息传到条码时出错!");
                                        }
                                    }
                                }
                                else
                                {
                                    TransactionHelper.RollBack();
                                    TransactionHelper_SQL.RollBack();
                                    return("信息传到条码时出错!");
                                }

                                #endregion

                                #region   NC

                                string sql_NC = "select count(distinct t.STORCODE) from XGERP50.V_ONHAND_XC t where t.批次号='" + strBatchNo + "' AND T.INVTYPE='" + dt_Group.Rows[i]["C_STL_GRD"].ToString() + "' AND T.INVCODE='" + dt_Group.Rows[i]["C_MAT_CODE"].ToString() + "'  ";

                                int countNC = dal.Get_NC_Batch_Count(sql_NC);
                                if (countNC > 1)
                                {
                                    TransactionHelper.RollBack();
                                    TransactionHelper_SQL.RollBack();
                                    return("该批次信息不在同一个仓库,不能判定!");
                                }
                                else if (countNC == 0)
                                {
                                    TransactionHelper.RollBack();
                                    TransactionHelper_SQL.RollBack();
                                    return("该批次信息还没有入库!");
                                }

                                string interface_nc = dal_interface_No_Wgd.SendXml_GP(strUrl, strBatchNo, C_MASTER_ID, dt_Group.Rows[i]["C_MAT_CODE"].ToString(), dt_Group.Rows[i]["N_WGT"].ToString(), dt_Group.Rows[i]["QUA"].ToString(), dt_Group.Rows[i]["C_ZYX1"].ToString(), dt_Group.Rows[i]["C_ZYX2"].ToString(), C_GP_BEFORE_ID);

                                if (interface_nc != "1")
                                {
                                    TransactionHelper.RollBack();
                                    TransactionHelper_SQL.RollBack();
                                    return(interface_nc);
                                }

                                #endregion
                            }
                        }
                    }
                    else
                    {
                        TransactionHelper.RollBack();
                        TransactionHelper_SQL.RollBack();
                        return("信息有误!");
                    }
                }

                TransactionHelper.Commit();
                TransactionHelper_SQL.Commit();
            }
            catch (Exception ex)
            {
                TransactionHelper.RollBack();
                TransactionHelper_SQL.RollBack();
                return(ex.Message);
            }

            return(result);
        }
        /// <summary>
        /// 保存性能值
        /// </summary>
        /// <returns></returns>
        public string Cancle_Sample(int[] rownumber, DataTable dt)
        {
            try
            {
                string result = "1";

                TransactionHelper.BeginTransaction();

                string   strUserID = RV.UI.UserInfo.userID;
                DateTime time      = RV.UI.ServerTime.timeNow();

                Dal_TQC_PRESENT_SAMPLES_JSZX dalJSZX   = new Dal_TQC_PRESENT_SAMPLES_JSZX();
                Dal_TQC_PHYSICS_RESULT_MAIN  dalMain   = new Dal_TQC_PHYSICS_RESULT_MAIN();
                Dal_TQC_PHYSICS_RESULT       dalResult = new Dal_TQC_PHYSICS_RESULT();

                for (int i = 0; i < rownumber.Length; i++)
                {
                    int selectedHandle = rownumber[i];

                    string strID = dt.Rows[selectedHandle]["取样主表主键"].ToString();

                    Mod_TQC_PRESENT_SAMPLES_JSZX modJSZX = dalJSZX.GetModel_Trans(strID);
                    if (modJSZX != null)
                    {
                        modJSZX.N_ENTRUST_TYPE = 2;
                        modJSZX.C_EMP_ID_ZY    = "";
                        modJSZX.D_MOD_DT_ZY    = null;

                        if (!dalJSZX.Update_Trans(modJSZX))
                        {
                            TransactionHelper.RollBack();
                            return("取消接样失败!");
                        }

                        Mod_TQC_PHYSICS_RESULT_MAIN modMain = dalMain.GetModel_Main(modJSZX.C_ID);

                        if (modMain != null)
                        {
                            int count = dalResult.Get_Count(modMain.C_ID);

                            if (count > 0)
                            {
                                TransactionHelper.RollBack();
                                return(modMain.C_BATCH_NO + "已录入性能值,不能取消接样!");
                            }
                            else
                            {
                                if (!dalMain.Delete_Trans(modMain.C_ID))
                                {
                                    TransactionHelper.RollBack();
                                    return("取消接样失败!");
                                }
                            }
                        }
                    }
                }

                TransactionHelper.Commit();
                return(result);
            }
            catch (Exception ex)
            {
                TransactionHelper.RollBack();
                return(ex.Message);
            }
        }