示例#1
0
        /// <summary>
        ///
        /// </summary>
        /// <param name="jcjgName">检测机构代号</param>
        /// <param name="connectType">连接的类型“jcjt。检测集团”;jcjg 检测监管</param>
        /// <param name="dataBaseType"></param>
        /// <param name="operType">“1”删除字段 ,非1删除数据 </param>
        /// <param name="tableName">表名</param>
        /// <param name="fieldName">字段名</param>
        /// <returns></returns>
        public DeleteFieldInfos AddDeleteFields(string jcjgName, string connectType, string dataBaseType, string operType, string tableName, string fieldName, string xmbh = "")
        {
            DeleteFieldInfos deleteField = new DeleteFieldInfos();

            deleteField.jcjgName     = jcjgName;
            deleteField.connectType  = connectType;
            deleteField.dataBaseType = dataBaseType;
            //删除字段
            if (operType == "1")
            {
                deleteField.deleteSql = $"alter table  {tableName} drop column {fieldName} ;\r\n";
                return(deleteField);
            }

            //删除数据
            if (dataBaseType == DataBaseType.SqlClient)
            {
                deleteField.deleteSql = $"delete ZDZD_{xmbh} where ZDMC ='{fieldName}' and SJBMC ='{tableName}' ;\r\n";
            }
            else
            {
                deleteField.deleteSql = $"DELETE FROM ZDZD_{xmbh} WHERE ZDMC ='{fieldName}' and SJBMC ='{tableName}' ;\r\n ";
            }

            return(deleteField);
        }
示例#2
0
        public void AddFieldToDB(string jcjgName, string jcjgCode, string xmbh, string insertTabType, string tableName, string fieldName, string fieldType,
                                 string fieldMS, string chksfxs, string ssjcx, string fielsLx)
        {
            try
            {
                DataHelper jcjtService       = new DataHelper($"ConnectionStringJCJT_{jcjgCode}");
                DataHelper jcjgService       = new DataHelper($"ConnectionStringJCJG_{jcjgCode}");
                DataHelper debugToolsService = new DataHelper($"ConnectionStringDebugTool");

                string sqlstr    = string.Format($" select count(1) FROM  M_{xmbh}");
                string customize = txt_customize.Text.ToUpper();
                string msg       = "";

                DeleteFieldInfos deleteField = new DeleteFieldInfos();
                #region 插入字段
                if (chk_jcjg_only.Checked == true) //是否只监管
                {
                    if (jcjgService.ExecuteReader(sqlstr) == null)
                    {
                        MessageBox.Show($"项目{xmbh}不存在!");
                        Log.Warn("AddField", $"{jcjgName}:项目{xmbh}不存在!");
                        _outMsg += $"{jcjgName}:项目{xmbh}不存在!" + "\r\n";
                        return;
                    }
                }
                else
                {
                    if (jcjtService.ExecuteReader(sqlstr) == null)
                    {
                        MessageBox.Show($"{jcjgName}检测集团:自定义表{customize}不存在!");
                        Log.Warn("AddField", $"{jcjgName}:项目{xmbh}不存在!");
                        _outMsg += $"{jcjgName}:项目{xmbh}不存在!" + "\r\n";
                        return;
                    }
                    if (chk_syncJcJG.Checked && jcjgService.ExecuteReader(sqlstr) == null) //同步监管
                    {
                        MessageBox.Show($"{jcjgName}监管:自定义表{customize}不存在!");
                        Log.Warn("AddField", $"{jcjgName}:项目{xmbh}不存在!");
                        _outMsg += $"{jcjgName}:项目{xmbh}不存在!" + "\r\n";
                        return;
                    }
                }

                //自定义表
                if (insertTabType == "C")
                {
                    sqlstr = string.Format($" select count(1) FROM  {customize}");

                    if (chk_jcjg_only.Checked) //是否只监管
                    {
                        if (jcjgService.ExecuteReader(sqlstr) == null)
                        {
                            MessageBox.Show($"{jcjgName}监管:自定义表{customize}不存在!");
                            Log.Warn("AddField", $"{jcjgName}监管数据库:自定义表{customize}不存在!");
                            _outMsg += $"{jcjgName}监管数据库:自定义表{txt_customize.Text}不存在!" + "\r\n";
                            return;
                        }
                    }
                    else
                    {
                        if (jcjtService.ExecuteReader(sqlstr) == null)
                        {
                            MessageBox.Show($"{jcjgName}检测集团:自定义表{customize}不存在!");
                            Log.Warn("AddField", $"{jcjgName}检测集团数据库:自定义表{customize}不存在!");
                            _outMsg += $"{jcjgName}检测集团数据库:自定义表{txt_customize.Text}不存在!" + "\r\n";
                            return;
                        }
                        if (chk_syncJcJG.Checked && jcjgService.ExecuteReader(sqlstr) == null) //同步监管
                        {
                            MessageBox.Show($"{jcjgName}监管:自定义表{customize}不存在!");
                            Log.Warn("AddField", $"{jcjgName}监管数据库:自定义表{customize}不存在!");
                            _outMsg += $"{jcjgName}监管数据库:自定义表{txt_customize.Text}不存在!" + "\r\n";
                            return;
                        }
                    }
                }

                try
                {
                    #region 添加主/从表字段
                    var       startIndex      = 0;
                    string    cmdStr          = "";
                    ArrayList baseCmdList     = new ArrayList();
                    ArrayList zdzdCmdList     = new ArrayList();
                    ArrayList zdzdCmdList_Cal = new ArrayList();
                    ArrayList cmdList         = new ArrayList();
                    string    sqlStrCheck     = "";
                    int       reFieldCount    = 0;
                    if (txt_STabCount.Text == "1" && txt_SFieldeStartIndex.Text == "1")
                    {
                        sqlStrCheck = $"select * from information_schema.columns where table_name = '{tableName}' and column_name = '{fieldName}';";
                        //判断检测集团数据库是否已经添加字段

                        if (chk_jcjg_only.Checked == true) //仅添加监管
                        {
                            reFieldCount = CheckFieldIsExist(jcjgService, sqlStrCheck);
                            if (reFieldCount == 0)
                            {
                                cmdStr = $"alter table {tableName} add {fieldName} {fieldType};";
                                if (!baseCmdList.Contains(cmdStr))
                                {
                                    baseCmdList.Add(cmdStr);
                                }
                                _deleteSqlStr += $"alter table  {tableName} drop column {fieldName} ;\r\n";
                                _deleteFieldInfosList.Add(AddDeleteFields(jcjgCode, "jcjg", jcjgService.dbType, "1", tableName, fieldName));
                            }
                            else
                            {
                                Log.Warn("AddField", $"{jcjgName}_监管数据库:添加字段异常,{tableName}表已存在字段{fieldName}!count:{reFieldCount}");
                                _outMsg += $"{jcjgName}_监管数据库:添加字段异常,{tableName}表已存在字段{fieldName}!count:{reFieldCount}" + "\r\n";
                            }
                        }
                        else if (chk_syncJcJG.Checked == true) //两个数据库都添加
                        {
                            #region 检测集团
                            reFieldCount = CheckFieldIsExist(jcjtService, sqlStrCheck);
                            if (reFieldCount == 0)
                            {
                                cmdStr = $"alter table {tableName} add {fieldName} {fieldType};";
                                if (!baseCmdList.Contains(cmdStr))
                                {
                                    baseCmdList.Add(cmdStr);
                                }
                                _deleteSqlStr += $"alter table  {tableName} drop column {fieldName} ;\r\n";
                                _deleteFieldInfosList.Add(AddDeleteFields(jcjgCode, "jcjt", jcjtService.dbType, "1", tableName, fieldName));
                            }
                            else
                            {
                                Log.Warn("AddField", $"{jcjgName}_检测集团数据库:添加字段异常,{tableName}表已存在字段{fieldName}!count:{reFieldCount}");
                                _outMsg += $"{jcjgName}_检测集团数据库:添加字段异常,{tableName}表已存在字段{fieldName}!count:{reFieldCount}" + "\r\n";
                            }
                            #endregion

                            #region 监管
                            reFieldCount = CheckFieldIsExist(jcjgService, sqlStrCheck);
                            if (reFieldCount == 0)
                            {
                                cmdStr = $"alter table {tableName} add {fieldName} {fieldType};";
                                if (!baseCmdList.Contains(cmdStr))
                                {
                                    baseCmdList.Add(cmdStr);
                                }
                                _deleteSqlStr += $"alter table  {tableName} drop column {fieldName} ;\r\n";
                                _deleteFieldInfosList.Add(AddDeleteFields(jcjgCode, "jcjg", jcjgService.dbType, "1", tableName, fieldName));
                            }
                            else
                            {
                                Log.Warn("AddField", $"{jcjgName}_监管数据库:添加字段异常,{tableName}表已存在字段{fieldName}!count:{reFieldCount}");
                                _outMsg += $"{jcjgName}_监管数据库:添加字段异常,{tableName}表已存在字段{fieldName}!count:{reFieldCount}" + "\r\n";
                            }
                            #endregion
                        }
                        else  // 检测集团
                        {
                            reFieldCount = CheckFieldIsExist(jcjtService, sqlStrCheck);
                            if (reFieldCount == 0)
                            {
                                cmdStr = $"alter table {tableName} add {fieldName} {fieldType};";
                                if (!baseCmdList.Contains(cmdStr))
                                {
                                    baseCmdList.Add(cmdStr);
                                }
                                _deleteSqlStr += $"alter table  {tableName} drop column {fieldName} ;\r\n";
                                _deleteFieldInfosList.Add(AddDeleteFields(jcjgCode, "jcjt", jcjtService.dbType, "1", tableName, fieldName));
                            }
                            else
                            {
                                Log.Warn("AddField", $"{jcjgName}_检测集团数据库:添加字段异常,{tableName}表已存在字段{fieldName}!count:{reFieldCount}");
                                _outMsg += $"{jcjgName}_检测集团数据库:添加字段异常,{tableName}表已存在字段{fieldName}!count:{reFieldCount}" + "\r\n";
                            }
                        }
                    }
                    else
                    {
                        if (Convert.ToInt16(txt_SFieldeStartIndex.Text) <= 1)
                        {
                            startIndex = 1;
                        }
                        else
                        {
                            startIndex = Convert.ToInt16(txt_SFieldeStartIndex.Text);
                        }

                        for (int i = 0; i < Convert.ToInt16(txt_STabCount.Text); i++)
                        {
                            sqlStrCheck = $"select * from information_schema.columns where table_name = '{tableName}' and column_name = '{fieldName}{startIndex + i}';";
                            //判断检测集团数据库是否已经添加字段

                            if (chk_jcjg_only.Checked == true) //仅添加监管
                            {
                                reFieldCount = CheckFieldIsExist(jcjgService, sqlStrCheck);
                                if (reFieldCount == 0)
                                {
                                    cmdStr = $"alter table {tableName} add {fieldName}{startIndex + i} {fieldType};";
                                    if (!baseCmdList.Contains(cmdStr))
                                    {
                                        baseCmdList.Add(cmdStr);
                                    }

                                    _deleteSqlStr += $"alter table {tableName} drop column {fieldName}{startIndex + i} ;\r\n";
                                    _deleteFieldInfosList.Add(AddDeleteFields(jcjgCode, "jcjg", jcjgService.dbType, "1", tableName, fieldName + (startIndex + i)));
                                }
                                else
                                {
                                    Log.Warn("AddField", $"{jcjgName}_监管数据库:添加字段异常,{tableName}表中已存在字段{fieldName}{startIndex + i}!count:{reFieldCount}");
                                    _outMsg += $"{jcjgName}_监管数据库:添加字段异常,{tableName}表中已存在字段{fieldName}{startIndex + i}!" + "\r\n";
                                }
                            }
                            else if (chk_syncJcJG.Checked == true) //两个数据库都添加
                            {
                                //集团数据库
                                #region 检测集团
                                reFieldCount = CheckFieldIsExist(jcjtService, sqlStrCheck);
                                if (reFieldCount == 0)
                                {
                                    cmdStr = $"alter table {tableName} add {fieldName}{startIndex + i} {fieldType};";
                                    if (!baseCmdList.Contains(cmdStr))
                                    {
                                        baseCmdList.Add(cmdStr);
                                    }

                                    _deleteSqlStr += $"alter table {tableName} drop column {fieldName}{startIndex + i} ;\r\n";
                                    _deleteFieldInfosList.Add(AddDeleteFields(jcjgCode, "jcjt", jcjtService.dbType, "1", tableName, fieldName + (startIndex + i)));
                                }
                                else
                                {
                                    Log.Warn("AddField", $"{jcjgName}_检测集团数据库:添加字段异常,{tableName}表中已存在字段{fieldName}{startIndex + i}!count:{reFieldCount}");
                                    _outMsg += $"{jcjgName}_检测集团数据库:添加字段异常,{tableName}表中已存在字段{fieldName}{startIndex + i}!" + "\r\n";
                                }
                                #endregion

                                #region 监管数据库
                                reFieldCount = CheckFieldIsExist(jcjgService, sqlStrCheck);
                                if (reFieldCount == 0)
                                {
                                    cmdStr = $"alter table {tableName} add {fieldName}{startIndex + i} {fieldType};";
                                    if (!baseCmdList.Contains(cmdStr))
                                    {
                                        baseCmdList.Add(cmdStr);
                                    }
                                    _deleteSqlStr += $"alter table {tableName} drop column {fieldName}{startIndex + i} ;\r\n";
                                    _deleteFieldInfosList.Add(AddDeleteFields(jcjgCode, "jcjg", jcjgService.dbType, "1", tableName, fieldName + (startIndex + i)));
                                }
                                else
                                {
                                    Log.Warn("AddField", $"{jcjgName}_监管数据库:添加字段异常,{tableName}表中已存在字段{fieldName}{startIndex + i}!count:{reFieldCount}");
                                    _outMsg += $"{jcjgName}_监管数据库:添加字段异常,{tableName}表中已存在字段{fieldName}{startIndex + i}!" + "\r\n";
                                }
                                #endregion
                            }
                            else //检测集团
                            {
                                reFieldCount = CheckFieldIsExist(jcjtService, sqlStrCheck);
                                if (reFieldCount == 0)
                                {
                                    cmdStr = $"alter table {tableName} add {fieldName}{startIndex + i} {fieldType};";
                                    if (!baseCmdList.Contains(cmdStr))
                                    {
                                        baseCmdList.Add(cmdStr);
                                    }
                                    _deleteSqlStr += $"alter table {tableName} drop column {fieldName}{startIndex + i} ;\r\n";
                                    _deleteFieldInfosList.Add(AddDeleteFields(jcjgCode, "jcjt", jcjtService.dbType, "1", tableName, fieldName + (startIndex + i)));
                                }
                                else
                                {
                                    Log.Warn("AddField", $"{jcjgName}_检测集团数据库:添加字段异常,{tableName}表中已存在字段{fieldName}{startIndex + i}!count:{reFieldCount}");
                                    _outMsg += $"{jcjgName}_检测集团数据库:添加字段异常,{tableName}表中已存在字段{fieldName}{startIndex + i}!" + "\r\n";
                                }
                            }
                        }
                    }

                    if (baseCmdList.Count == 0)
                    {
                        return;
                    }
                    #endregion

                    #region 添加zdzd表数据
                    string sqlStr = "";

                    bool          addFiled = true;
                    List <string> lst      = new List <string>();

                    if (txt_STabCount.Text == "1" && txt_SFieldeStartIndex.Text == "1")
                    {
                        #region  添加一个字段
                        sqlStr = $"insert into ZDZD_{xmbh} ( SJBMC, ZDMC, SY, ZDLX, ZDCD1, ZDCD2, INPUTZDLX, KJLX, SFBHZD, BHMS,ZDSX, SFXS, XSCD, XSSX, SFGD, MUSTIN, DEFAVAL, HELPLNK, CTRLSTRING, ZDXZ,WXSSX, WSFXS, MSGINFO, EQLFUNC, HELPWHERE, GETBYBH, SSJCX, SFBGZD,VALIDPROC, LX, ZDSXSQL, ENCRYPT, FZYC, FZCS, NOSAVE)" +
                                 $"VALUES('{tableName}', '{fieldName}', '{fieldMS}', 'nvarchar', '200', '0', 'nvarchar', '', '0', '', '0', '{chksfxs}', '0', '367.0000', '0', '0', '', '', '', 'S', '367.0000', '1', '', '', '', '1', '{ssjcx}', '1', '', '{fielsLx}', NULL, NULL, NULL, NULL, NULL)  ";

                        sqlStrCheck = $" select * from ZDZD_{xmbh} where ZDMC = '{fieldName}' and SJBMC = '{tableName}'";

                        //判断检测集团数据库是否已经添加字段
                        if (chk_jcjg_only.Checked == true) //仅添加监管
                        {
                            reFieldCount = CheckFieldIsExist(jcjgService, sqlStrCheck);
                            if (reFieldCount == -2 || reFieldCount > 0)
                            {
                                addFiled = false;
                                Log.Warn("AddField", $"{jcjgName}_监管数据库:添加字段异常,ZDZD_{xmbh}表已存在字段{fieldName}!count:{reFieldCount}");
                                _outMsg += $"{jcjgName}_监管数据库:添加字段异常,ZDZD_{xmbh}表已存在字段{fieldName}!" + "\r\n";
                            }
                            else
                            {
                                _deleteFieldInfosList.Add(AddDeleteFields(jcjgCode, "jcjg", jcjgService.dbType, "2", tableName, fieldName, xmbh));
                            }
                        }
                        else if (chk_syncJcJG.Checked == true) //两个数据库都添加
                        {
                            #region 集团版本
                            reFieldCount = CheckFieldIsExist(jcjtService, sqlStrCheck);
                            if (reFieldCount == -2 || reFieldCount > 0)
                            {
                                addFiled = false;
                                Log.Warn("AddField", $"{jcjgName}_检测集团数据库:添加字段异常,ZDZD_{xmbh}表已存在字段{fieldName}!count:{reFieldCount}");
                                _outMsg += $"{jcjgName}_检测集团数据库:添加字段异常,ZDZD_{xmbh}表已存在字段{fieldName}!" + "\r\n";
                            }
                            else
                            {
                                _deleteFieldInfosList.Add(AddDeleteFields(jcjgCode, "jcjt", jcjtService.dbType, "2", tableName, fieldName, xmbh));
                                _deleteFieldInfosList.Add(AddDeleteFields(jcjgCode, "calDebugTool", debugToolsService.dbType, "2", tableName, fieldName, xmbh));
                            }
                            #endregion

                            if (chk_syncJcJG.Checked) //监管
                            {
                                reFieldCount = CheckFieldIsExist(jcjgService, sqlStrCheck);
                                if (reFieldCount == -2 || reFieldCount > 0)
                                {
                                    addFiled = false;
                                    Log.Warn("AddField", $"{jcjgName}_监管数据库:添加字段异常,ZDZD_{xmbh}表已存在字段{fieldName}!count:{reFieldCount}");
                                    _outMsg += $"{jcjgName}_监管数据库:添加字段异常,ZDZD_{xmbh}表已存在字段{fieldName}!" + "\r\n";
                                }
                            }
                            else
                            {
                                _deleteFieldInfosList.Add(AddDeleteFields(jcjgCode, "jcjg", jcjgService.dbType, "2", tableName, fieldName, xmbh));
                            }
                        }
                        else //集团版本
                        {
                            var df = jcjtService.ExecuteReader(sqlStrCheck);

                            reFieldCount = CheckFieldIsExist(jcjtService, sqlStrCheck);

                            if (reFieldCount == -2 || reFieldCount > 0)
                            {
                                addFiled = false;
                                Log.Warn("AddField", $"{jcjgName}_检测集团数据库:添加字段异常,ZDZD_{xmbh}表已存在字段{fieldName}!count:{reFieldCount}");
                                _outMsg += $"{jcjgName}_检测集团数据库:添加字段异常,ZDZD_{xmbh}表已存在字段{fieldName}!" + "\r\n";
                            }
                            else
                            {
                                _deleteFieldInfosList.Add(AddDeleteFields(jcjgCode, "jcjt", jcjtService.dbType, "2", tableName, fieldName, xmbh));
                                _deleteFieldInfosList.Add(AddDeleteFields(jcjgCode, "calDebugTool", debugToolsService.dbType, "2", tableName, fieldName, xmbh));
                            }
                        }

                        if (addFiled)
                        {
                            _deleteSqlStr += $"delete ZDZD_{xmbh} where ZDMC = '{fieldName}' and SJBMC = '{tableName}';\r\n";
                            zdzdCmdList.Add(sqlStr);

                            //添加集团版本字段是,需要在caldebug数据库添加记录
                            if (!chk_jcjg_only.Checked)
                            {
                                reFieldCount = CheckFieldIsExist(debugToolsService, sqlStrCheck);
                                if (reFieldCount == 0)
                                {
                                    zdzdCmdList_Cal.AddRange(zdzdCmdList);
                                }
                            }
                        }
                        #endregion
                    }
                    else
                    {
                        #region  添加多个字段
                        startIndex = Convert.ToInt16(txt_SFieldeStartIndex.Text);
                        for (int i = 0; i < Convert.ToInt16(txt_STabCount.Text); i++)
                        {
                            addFiled = true;
                            sqlStr   = $"insert into ZDZD_{xmbh} ( SJBMC, ZDMC, SY, ZDLX, ZDCD1, ZDCD2, INPUTZDLX, KJLX, SFBHZD, BHMS,ZDSX, SFXS, XSCD, XSSX, SFGD, MUSTIN, DEFAVAL, HELPLNK, CTRLSTRING, ZDXZ,WXSSX, WSFXS, MSGINFO, EQLFUNC, HELPWHERE, GETBYBH, SSJCX, SFBGZD,VALIDPROC, LX, ZDSXSQL, ENCRYPT, FZYC, FZCS, NOSAVE)" +
                                       $"VALUES('{tableName}', '{fieldName}{startIndex + i}', '{fieldMS}{startIndex + i}', 'nvarchar', '200', '0', 'nvarchar', '', '0', '', '0', '{chksfxs}', '0', '367.0000', '0', '0', '', '', '', 'S', '367.0000', '1', '', '', '', '1', '{ssjcx}', '1', '', '{fielsLx}', NULL, NULL, NULL, NULL, NULL)  ";

                            sqlStrCheck = $" select * from ZDZD_{xmbh} where ZDMC = '{fieldName}{startIndex + i}' and SJBMC = '{tableName}'";
                            if (chk_jcjg_only.Checked == true) //仅添加监管
                            {
                                reFieldCount = CheckFieldIsExist(jcjgService, sqlStrCheck);
                                if (reFieldCount == -2 || reFieldCount > 0)
                                {
                                    addFiled = false;
                                    Log.Warn("AddField", $"{jcjgName}_监管数据库:添加字段异常,ZDZD_{xmbh}表已存在字段{fieldName}{startIndex + i}!count:{reFieldCount}");
                                    _outMsg += $"{jcjgName}_监管数据库:添加字段异常,ZDZD_{xmbh}表已存在字段{fieldName}{startIndex + i}!" + "\r\n";
                                }
                                else
                                {
                                    _deleteFieldInfosList.Add(AddDeleteFields(jcjgCode, "jcjg", jcjgService.dbType, "2", tableName, fieldName + (startIndex + i), xmbh));
                                }
                            }
                            else if (chk_syncJcJG.Checked == true) //两个数据库都添加
                            {
                                #region 检测集团
                                reFieldCount = CheckFieldIsExist(jcjtService, sqlStrCheck);
                                if (reFieldCount == -2 || reFieldCount > 0)
                                {
                                    addFiled = false;
                                    Log.Warn("AddField", $"{jcjgName}_检测集团数据库:添加字段异常,ZDZD_{xmbh}表已存在字段{fieldName}{startIndex + i}!count:{reFieldCount}");
                                    _outMsg += $"{jcjgName}_检测集团数据库:添加字段异常,ZDZD_{xmbh}表已存在字段{fieldName}{startIndex + i}!" + "\r\n";
                                }
                                else
                                {
                                    _deleteFieldInfosList.Add(AddDeleteFields(jcjgCode, "jcjt", jcjtService.dbType, "2", tableName, fieldName + (startIndex + i), xmbh));
                                    _deleteFieldInfosList.Add(AddDeleteFields(jcjgCode, "calDebugTool", debugToolsService.dbType, "2", tableName, fieldName + (startIndex + i), xmbh));
                                }
                                #endregion

                                if (chk_syncJcJG.Checked) //监管
                                {
                                    reFieldCount = CheckFieldIsExist(jcjgService, sqlStrCheck);
                                    if (reFieldCount == -2 || reFieldCount > 0)
                                    {
                                        addFiled = false;
                                        Log.Warn("AddField", $"{jcjgName}_监管数据库:添加字段异常,ZDZD_{xmbh}表已存在字段{fieldName}{startIndex + i}!count:{reFieldCount}");
                                        _outMsg += $"{jcjgName}_监管数据库:添加字段异常,ZDZD_{xmbh}表已存在字段{fieldName}{startIndex + i}!" + "\r\n";
                                    }
                                    else
                                    {
                                        _deleteFieldInfosList.Add(AddDeleteFields(jcjgCode, "jcjg", jcjgService.dbType, "2", tableName, fieldName + (startIndex + i), xmbh));
                                    }
                                }
                            }
                            else //检测集团
                            {
                                reFieldCount = CheckFieldIsExist(jcjtService, sqlStrCheck);
                                if (reFieldCount == -2 || reFieldCount > 0)
                                {
                                    addFiled = false;
                                    Log.Warn("AddField", $"{jcjgName}_检测集团数据库:添加字段异常,ZDZD_{xmbh}表已存在字段{fieldName}{startIndex + i}!count:{reFieldCount}");
                                    _outMsg += $"{jcjgName}_检测集团数据库:添加字段异常,ZDZD_{xmbh}表已存在字段{fieldName}{startIndex + i}!" + "\r\n";
                                }
                                else
                                {
                                    _deleteFieldInfosList.Add(AddDeleteFields(jcjgCode, "jcjt", jcjtService.dbType, "2", tableName, fieldName + (startIndex + i), xmbh));
                                    _deleteFieldInfosList.Add(AddDeleteFields(jcjgCode, "calDebugTool", debugToolsService.dbType, "2", tableName, fieldName + (startIndex + i), xmbh));
                                }
                            }

                            if (addFiled)
                            {
                                zdzdCmdList.Add(sqlStr);
                                _deleteSqlStr += $"delete ZDZD_{xmbh} where ZDMC = '{fieldName}{startIndex + i}' and SJBMC = '{tableName}';\r\n";

                                if (!chk_jcjg_only.Checked)
                                {
                                    reFieldCount = CheckFieldIsExist(debugToolsService, sqlStrCheck);
                                    if (reFieldCount == 0 && !zdzdCmdList_Cal.Contains(sqlStr))
                                    {
                                        zdzdCmdList_Cal.Add(sqlStr);
                                    }
                                }
                            }
                        }
                        #endregion
                    }

                    #endregion

                    cmdList.AddRange(zdzdCmdList);
                    cmdList.AddRange(baseCmdList);

                    //仅添加监管
                    if (chk_jcjg_only.Checked == true)
                    {
                        jcjgService.ExecuteSqlTran(cmdList, out msg);
                        if (!string.IsNullOrEmpty(msg))
                        {
                            Log.Warn("AddField", $"{jcjgName}_检测监管数据库:添加字段失败,数据已回滚。" + msg);
                            _outMsg += $"{jcjgName}_检测监管数据库:添加字段异常,数据已回滚." + msg + "\r\n";
                        }
                    }
                    else
                    {
                        //检测集团
                        if (cmdList.Count > 0)
                        {
                            jcjtService.ExecuteSqlTran(cmdList, out msg);
                            if (!string.IsNullOrEmpty(msg))
                            {
                                Log.Warn("AddField", $"{jcjgName}_检测集团数据库:添加字段失败,数据已回滚。" + msg);
                                _outMsg += $"{jcjgName}_检测集团数据库:添加字段异常,数据已回滚." + msg + "\r\n";
                            }
                        }
                        //caldebugTool
                        if (zdzdCmdList_Cal.Count > 0)
                        {
                            debugToolsService.ExecuteSqlTran(zdzdCmdList_Cal, out msg);
                            if (!string.IsNullOrEmpty(msg))
                            {
                                Log.Warn("AddField", $"CalDebugTools数据库_:添加字段失败:" + msg);
                                //_outMsg += $"CalDebugTools数据库:添加字段失败:" + msg + "\r\n";
                            }
                        }

                        //同步到监管
                        if (chk_syncJcJG.Checked)
                        {
                            jcjgService.ExecuteSqlTran(cmdList, out msg);
                            if (!string.IsNullOrEmpty(msg))
                            {
                                Log.Warn("AddField", $"{jcjgName}_检测监管数据库:添加字段失败,数据已回滚。" + msg);
                                _outMsg += $"{jcjgName}_检测监管数据库:添加字段异常,数据已回滚." + msg + "\r\n";
                            }
                        }
                    }
                }
                catch (Exception ex)
                {
                    MessageBox.Show(ex.Message);
                    Log.Error("AddField", $"{jcjgName}异常:{ex.Message}。" + "\r\n  StackTrace:" + ex.StackTrace);
                }
                #endregion
            }
            catch (Exception ex)
            {
                MessageBox.Show(ex.Message);
                Log.Error("AddField", $"{jcjgName}异常:{ex.Message}。" + "\r\n  StackTrace:" + ex.StackTrace);
            }
        }