diff --git a/插件库/Lskj.PubProductSysMge/FrmMain.cs b/插件库/Lskj.PubProductSysMge/FrmMain.cs index 0a2f3fd..9a1aee4 100644 --- a/插件库/Lskj.PubProductSysMge/FrmMain.cs +++ b/插件库/Lskj.PubProductSysMge/FrmMain.cs @@ -565,8 +565,8 @@ namespace Lskj.PubProductSysMge { DataTable dataTable = new DataTable(); string dataSourceSql = string.Format(@"select a.*, b.xtTableName,b.hyTableName,b.IsYsZD from p_productsyssettab a - left join P_ProductsysFieldsSetTab b on a.modid = b.modid and a.SysName = b.DataFields - where a.groupid = '{0}' and a.ban = 0 + left join P_ProductsysFieldsSetTab b on a.dbname = b.DataFields + where a.groupid = '{0}' and b.modid ='201004_04' and a.ban = 0 order by orderid", projectId); dataTable = MainImpl.GetDataTableResult(dataSourceSql); int x = 10; @@ -1354,64 +1354,34 @@ namespace Lskj.PubProductSysMge StringBuilder valueBuilder = new StringBuilder(); List keyList = new List() { "speciesno", "operatorname", "operatedate", "smartbmfa" }; - foreach (string modeCode in TableNameList.Keys) + + List modelControls = this.pl_Top.Controls.Cast().Where(n => !string.IsNullOrEmpty((n.Tag as SysSetModel).DbName)).OrderBy(n => (n.Tag as SysSetModel).OrderId).ToList(); + foreach (BaseUserControl item in modelControls) { - StringBuilder keyBuilderFb = new StringBuilder(); - StringBuilder valueBuilderFb = new StringBuilder(); - List modelControls = this.pl_Top.Controls.Cast().Where(n => !string.IsNullOrEmpty((n.Tag as SysSetModel).DbName) && modeCode.Equals((n.Tag as SysSetModel).SaveModeCode)).OrderBy(n => (n.Tag as SysSetModel).OrderId).ToList(); - foreach (BaseUserControl item in modelControls) + SysSetModel sysSetModel = item.Tag as SysSetModel; + string fxValue = ""; + try { - SysSetModel sysSetModel = item.Tag as SysSetModel; - string fxValue = ""; - try - { - string controlName = !string.IsNullOrWhiteSpace(sysSetModel.DbName) ? sysSetModel.DbName : sysSetModel.SysName; - fxValue = this.GetControlValue(controlName); - } - catch (Exception) - { - } - if (!keyList.Contains(sysSetModel.DbName.ToLower())) + string controlName = !string.IsNullOrWhiteSpace(sysSetModel.DbName) ? sysSetModel.DbName : sysSetModel.SysName; + fxValue = this.GetControlValue(controlName); + } + catch (Exception) + { + } + if (!keyList.Contains(sysSetModel.DbName.ToLower())) + { + if (sysSetModel.IsYsZD) { keyList.Add(sysSetModel.DbName.ToLower()); - if (sysSetModel.SaveModeCode.Equals(MainModuleObj.ModeCode)) - { - //保存到主表里 - keyBuilder.Append(string.Format("{0},", sysSetModel.DbName)); - valueBuilder.Append(string.Format("N'{0}',", fxValue.Replace("'", "''"))); - } - else - { - keyBuilderFb.Append(string.Format("{0},", sysSetModel.DbName)); - valueBuilderFb.Append(string.Format("N'{0}',", fxValue.Replace("'", "''"))); - } + keyBuilder.Append(string.Format("{0},", sysSetModel.DbName)); + valueBuilder.Append(string.Format("N'{0}',", fxValue.Replace("'", "''"))); } + } - - if (!string.IsNullOrWhiteSpace(keyBuilderFb + "")) - { - ModuleModel saveTableModel = TableNameList[modeCode]; - string tablename = TableNameList[modeCode].MenuTable; - string insertSqlFb = string.Format("insert into {0}({1}) values({2});", saveTableModel.MenuTable, keyBuilderFb.ToString().TrimEnd(','), valueBuilderFb.ToString().TrimEnd(',')); - BaseSaveModel saveModelFb = new BaseSaveModel - { - BaseSaveType = SaveType.Add, - BaseSql = insertSqlFb, - KeyField = primaryKey, - FieldValue = primaryValue, - MenuCode = modeCode, - TableName = tablename, - ComfirmFlag = 0, - NewVer = saveTableModel.NewVer - }; - int resultFb = BaseModuleImpl.SaveBasePanelData(saveModelFb); - } - } - foreach (ControlModel item in MainControlObj.ControlModels) { if (!item.IsSave || @@ -1454,6 +1424,61 @@ namespace Lskj.PubProductSysMge int result = BaseModuleImpl.SaveBasePanelData(saveModel); if (result == 1) { + //保存附加表信息 + foreach (string modeCode in TableNameList.Keys) + { + StringBuilder keyBuilderFb = new StringBuilder(); + StringBuilder valueBuilderFb = new StringBuilder(); + List modelControlsNew = this.pl_Top.Controls.Cast().Where(n => !string.IsNullOrEmpty((n.Tag as SysSetModel).DbName) && modeCode.Equals((n.Tag as SysSetModel).SaveModeCode)).OrderBy(n => (n.Tag as SysSetModel).OrderId).ToList(); + foreach (BaseUserControl item in modelControlsNew) + { + SysSetModel sysSetModel = item.Tag as SysSetModel; + string fxValue = ""; + try + { + string controlName = !string.IsNullOrWhiteSpace(sysSetModel.DbName) ? sysSetModel.DbName : sysSetModel.SysName; + fxValue = this.GetControlValue(controlName); + } + catch (Exception) + { + } + if (!keyList.Contains(sysSetModel.DbName.ToLower())) + { + if (!sysSetModel.IsYsZD) + { + keyList.Add(sysSetModel.DbName.ToLower()); + keyBuilderFb.Append(string.Format("{0},", sysSetModel.DbName)); + valueBuilderFb.Append(string.Format("N'{0}',", fxValue.Replace("'", "''"))); + } + } + } + + if (!string.IsNullOrWhiteSpace(keyBuilderFb + "")) + { + ModuleModel saveTableModel = TableNameList[modeCode]; + string tablename = TableNameList[modeCode].MenuTable; + + keyBuilderFb.Append(string.Format("{0},", primaryKey)); + valueBuilderFb.Append(string.Format("N'{0}',", saveModel.FaultMsg)); + + string insertSqlFb = string.Format("insert into {0}({1}) values({2});", saveTableModel.MenuTable, keyBuilderFb.ToString().TrimEnd(','), valueBuilderFb.ToString().TrimEnd(',')); + BaseSaveModel saveModelFb = new BaseSaveModel + { + BaseSaveType = SaveType.Add, + BaseSql = insertSqlFb, + KeyField = primaryKey, + FieldValue = primaryValue, + MenuCode = modeCode, + TableName = tablename, + ComfirmFlag = 0, + NewVer = saveTableModel.NewVer + }; + int resultFb = BaseModuleImpl.SaveBasePanelData(saveModelFb); + } + + } + + if (saveModel.NewVer == 1 && saveModel.BaseSaveType == SaveType.Add) saveModel.FieldValue = primaryValue = saveModel.FaultMsg; if (ApiHelper.IsExecEventApi(Interface.Api.OperateEvent.AfterModuleDataChange, saveModel.MenuCode, 0)) @@ -1529,63 +1554,31 @@ namespace Lskj.PubProductSysMge List keyList = new List() { "speciesno", "operatorname", "operatedate", "smartbmfa" }; StringBuilder sqlBuilder = new StringBuilder(); - foreach (string modeCode in TableNameList.Keys) + List modelControls = this.pl_Top.Controls.Cast().Where(n => !string.IsNullOrEmpty((n.Tag as SysSetModel).DbName)).OrderBy(n => (n.Tag as SysSetModel).OrderId).ToList(); + foreach (BaseUserControl item in modelControls) { - StringBuilder sqlBuilderFb = new StringBuilder(); - - List modelControls = this.pl_Top.Controls.Cast().Where(n => !string.IsNullOrEmpty((n.Tag as SysSetModel).DbName) && modeCode.Equals((n.Tag as SysSetModel).SaveModeCode)).OrderBy(n => (n.Tag as SysSetModel).OrderId).ToList(); - foreach (BaseUserControl item in modelControls) + SysSetModel sysSetModel = item.Tag as SysSetModel; + string fxValue = ""; + try { - SysSetModel sysSetModel = item.Tag as SysSetModel; - string fxValue = ""; - try - { - string controlName = !string.IsNullOrWhiteSpace(sysSetModel.DbName) ? sysSetModel.DbName : sysSetModel.SysName; - fxValue = this.GetControlValue(controlName); - } - catch (Exception) - { - } - if (!sysSetModel.DbName.Equals(primaryKey, StringComparison.OrdinalIgnoreCase) && !sysSetModel.DbName.Equals("productid", StringComparison.OrdinalIgnoreCase)) + string controlName = !string.IsNullOrWhiteSpace(sysSetModel.DbName) ? sysSetModel.DbName : sysSetModel.SysName; + fxValue = this.GetControlValue(controlName); + } + catch (Exception) + { + } + if (!sysSetModel.DbName.Equals(primaryKey, StringComparison.OrdinalIgnoreCase) && !sysSetModel.DbName.Equals("productid", StringComparison.OrdinalIgnoreCase)) + { + if (sysSetModel.IsYsZD) { keyList.Add(sysSetModel.DbName.ToLower()); - if (sysSetModel.SaveModeCode.Equals(MainModuleObj.ModeCode)) - { - //保存到主表里 - sqlBuilder.Append(string.Format("{0} = N'{1}',", sysSetModel.DbName, fxValue.Replace("'", "''"))); - } - else - { - sqlBuilderFb.Append(string.Format("{0} = N'{1}',", sysSetModel.DbName, fxValue.Replace("'", "''"))); - } + sqlBuilder.Append(string.Format("{0} = N'{1}',", sysSetModel.DbName, fxValue.Replace("'", "''"))); } } - - if (!string.IsNullOrWhiteSpace(sqlBuilder + "")) - { - ModuleModel saveTableModel = TableNameList[modeCode]; - string tablename = TableNameList[modeCode].MenuTable; - string updateSql = string.Format("update {0} set {1} where {2}='{3}';", tablename, sqlBuilderFb.ToString().TrimEnd(','), primaryKey, newBillNo); - BaseSaveModel saveModelFb = new BaseSaveModel - { - BaseSaveType = SaveType.Update, - BaseSql = updateSql, - KeyField = primaryKey, - FieldValue = newBillNo, - MenuCode = modeCode, - TableName = tablename, - ComfirmFlag = 0, - NewVer = saveTableModel.NewVer - }; - int resultFb = BaseModuleImpl.SaveBasePanelData(saveModelFb); - } - } - - foreach (ControlModel item in this.MainControlObj.ControlModels) { if (!item.IsSave || @@ -1635,6 +1628,58 @@ namespace Lskj.PubProductSysMge int result = BaseModuleImpl.SaveBasePanelData(saveModel); if (result == 1) { + + foreach (string modeCode in TableNameList.Keys) + { + StringBuilder sqlBuilderFb = new StringBuilder(); + + List modelControlsNew = this.pl_Top.Controls.Cast().Where(n => !string.IsNullOrEmpty((n.Tag as SysSetModel).DbName) && modeCode.Equals((n.Tag as SysSetModel).SaveModeCode)).OrderBy(n => (n.Tag as SysSetModel).OrderId).ToList(); + foreach (BaseUserControl item in modelControlsNew) + { + SysSetModel sysSetModel = item.Tag as SysSetModel; + string fxValue = ""; + try + { + string controlName = !string.IsNullOrWhiteSpace(sysSetModel.DbName) ? sysSetModel.DbName : sysSetModel.SysName; + fxValue = this.GetControlValue(controlName); + } + catch (Exception) + { + } + if (!sysSetModel.DbName.Equals(primaryKey, StringComparison.OrdinalIgnoreCase) && !sysSetModel.DbName.Equals("productid", StringComparison.OrdinalIgnoreCase)) + { + + if (!sysSetModel.IsYsZD) + { + keyList.Add(sysSetModel.DbName.ToLower()); + sqlBuilderFb.Append(string.Format("{0} = N'{1}',", sysSetModel.DbName, fxValue.Replace("'", "''"))); + } + } + } + + if (!string.IsNullOrWhiteSpace(sqlBuilder + "")) + { + ModuleModel saveTableModel = TableNameList[modeCode]; + string tablename = TableNameList[modeCode].MenuTable; + string updateSql = string.Format("update {0} set {1} where {2}='{3}';", tablename, sqlBuilderFb.ToString().TrimEnd(','), primaryKey, newBillNo); + BaseSaveModel saveModelFb = new BaseSaveModel + { + BaseSaveType = SaveType.Update, + BaseSql = updateSql, + KeyField = primaryKey, + FieldValue = newBillNo, + MenuCode = modeCode, + TableName = tablename, + ComfirmFlag = 0, + NewVer = saveTableModel.NewVer + }; + int resultFb = BaseModuleImpl.SaveBasePanelData(saveModelFb); + } + + } + + + if (ApiHelper.IsExecEventApi(Interface.Api.OperateEvent.AfterModuleDataChange, saveModel.MenuCode, 0)) { ApiHelper apiHelper = new ApiHelper(saveModel.MenuCode, saveModel.FieldValue, saveModel.KeyField, saveModel.TableName, 0);