|
|
|
|
using System;
|
|
|
|
|
using System.Collections.Generic;
|
|
|
|
|
using System.Data;
|
|
|
|
|
using System.IO;
|
|
|
|
|
using System.Linq;
|
|
|
|
|
using System.Runtime.InteropServices;
|
|
|
|
|
using System.Text.RegularExpressions;
|
|
|
|
|
using System.Windows;
|
|
|
|
|
using System.Windows.Controls;
|
|
|
|
|
using ESRI.ArcGIS.Geodatabase;
|
|
|
|
|
using KGIS.Framework.DBOperator;
|
|
|
|
|
using KGIS.Framework.Maps;
|
|
|
|
|
using KGIS.Framework.OpenData.Control;
|
|
|
|
|
using KGIS.Framework.OpenData.Filter;
|
|
|
|
|
using KGIS.Framework.Platform;
|
|
|
|
|
using KGIS.Framework.Platform.Helper;
|
|
|
|
|
using KGIS.Framework.Utils;
|
|
|
|
|
using KGIS.Framework.Utils.Helper;
|
|
|
|
|
using KGIS.Framework.Views;
|
|
|
|
|
using Kingo.Plugin.DataDictionary.Helper;
|
|
|
|
|
using Kingo.PluginServiceInterface;
|
|
|
|
|
using UIShell.OSGi;
|
|
|
|
|
using KUI.Windows;
|
|
|
|
|
|
|
|
|
|
namespace Kingo.Plugin.DataDictionary.Views
|
|
|
|
|
{
|
|
|
|
|
/// <summary>
|
|
|
|
|
/// NewDataManage.xaml 的交互逻辑
|
|
|
|
|
/// </summary>
|
|
|
|
|
public partial class KBGNewDataManage : BaseWindow
|
|
|
|
|
{
|
|
|
|
|
/// <summary>
|
|
|
|
|
/// 记录选择图层数据的字段集合
|
|
|
|
|
/// </summary>
|
|
|
|
|
private List<FeatureName> lstName = new List<FeatureName>();
|
|
|
|
|
/// <summary>
|
|
|
|
|
/// 记录所有的数据(权属单位代码,权属单位名称和坐落单位名称)
|
|
|
|
|
/// </summary>
|
|
|
|
|
private List<QSDWinformation> ListQsdwEntity = null;
|
|
|
|
|
/// <summary>
|
|
|
|
|
/// 保存权属单位数据
|
|
|
|
|
/// </summary>
|
|
|
|
|
private string XJFid = null;
|
|
|
|
|
private string FJFid = null;
|
|
|
|
|
private string QsdmID = null;
|
|
|
|
|
private List<QSDWinformation> ListQsdm = null;
|
|
|
|
|
private IFeatureClass pFC = null;
|
|
|
|
|
public Action Refresh;
|
|
|
|
|
|
|
|
|
|
public KBGNewDataManage()
|
|
|
|
|
{
|
|
|
|
|
InitializeComponent();
|
|
|
|
|
}
|
|
|
|
|
#region
|
|
|
|
|
|
|
|
|
|
public bool InserDataLsitSon()
|
|
|
|
|
{
|
|
|
|
|
string dbPath = System.IO.Path.GetDirectoryName((MapsManager.Instance.MapService.GetProjectInfo() as ProjectInfo).GetProjFilePath()) + @"\BGTJ.sqlite";
|
|
|
|
|
if (string.IsNullOrWhiteSpace(dbPath))
|
|
|
|
|
return false;
|
|
|
|
|
IRDBHelper rdbHelper = null;
|
|
|
|
|
try
|
|
|
|
|
{
|
|
|
|
|
rdbHelper = RDBFactory.CreateDbHelper("Data Source=" + dbPath, DatabaseType.SQLite);
|
|
|
|
|
if (ListQsdm != null && ListQsdm.Count > 0)
|
|
|
|
|
{
|
|
|
|
|
rdbHelper.BeginTransaction();
|
|
|
|
|
foreach (var item in ListQsdm)
|
|
|
|
|
{
|
|
|
|
|
//修改人:李忠盼 修改时间:20190220 向表中插入行政区名称
|
|
|
|
|
string strSql = string.Format("insert into Sys_DicDetail(PID,NAME,CODE,OWNERDIC,REMARK,PAIXU) VALUES ('{0}','{1}','{2}','{3}','{4}',{5})", XJFid, item.Zldwmc, item.ZLDWDM, FJFid, "", 0);
|
|
|
|
|
if (rdbHelper.ExecuteSQL(strSql) > 0)
|
|
|
|
|
{
|
|
|
|
|
DataTable dts = rdbHelper.ExecuteDatatable("XjTable", string.Format("select id from Sys_DicDetail where PID='{0}' and NAME='{1}' and CODE='{2}' and OWNERDIC='{3}'", XJFid, item.Zldwmc, item.ZLDWDM, FJFid), true);
|
|
|
|
|
if (item.ListQsdwInfor == null) continue;//特殊状况(镇级权属代码与县级权属相同,且当前镇级无子级)
|
|
|
|
|
foreach (var CJitem in item.ListQsdwInfor)
|
|
|
|
|
{
|
|
|
|
|
if (dts == null || dts.Rows.Count <= 0)
|
|
|
|
|
{
|
|
|
|
|
continue;
|
|
|
|
|
}
|
|
|
|
|
string strSqlCJ = string.Format("insert into Sys_DicDetail(PID,NAME,CODE,OWNERDIC,REMARK,PAIXU) VALUES ('{0}','{1}','{2}','{3}','{4}',{5})", dts.Rows[0]["ID"].ToString(), CJitem.Zldwmc, CJitem.ZLDWDM, FJFid, "", 0);
|
|
|
|
|
if (rdbHelper.ExecuteSQL(strSqlCJ) <= 0)
|
|
|
|
|
{
|
|
|
|
|
continue;
|
|
|
|
|
}
|
|
|
|
|
DataTable dtCJDM = rdbHelper.ExecuteDatatable("CJDMTables", string.Format("select id from Sys_DicDetail where PID='{0}' and NAME='{1}' and CODE='{2}' and OWNERDIC='{3}'", dts.Rows[0]["ID"].ToString(), CJitem.Zldwmc, CJitem.ZLDWDM, FJFid), true);
|
|
|
|
|
if (CJitem.ListQsdwInfor == null || CJitem.ListQsdwInfor.Count == 0)
|
|
|
|
|
{
|
|
|
|
|
continue;
|
|
|
|
|
}
|
|
|
|
|
if (CJitem.ListQsdwInfor == null) continue;//特殊状况(镇级权属代码与县级权属相同,且当前镇级无子级)
|
|
|
|
|
foreach (var CJDMitem in CJitem.ListQsdwInfor)
|
|
|
|
|
{
|
|
|
|
|
string CJDMstrSql = string.Format("insert into Sys_DicDetail(PID,NAME,CODE,OWNERDIC,REMARK,PAIXU) VALUES ('{0}','{1}','{2}','{3}','{4}',{5})", dtCJDM.Rows[0]["ID"].ToString(), CJDMitem.Qsdwmc, CJDMitem.Qsdwdm, FJFid, "", 0);
|
|
|
|
|
if (rdbHelper.ExecuteSQL(CJDMstrSql) < 1)
|
|
|
|
|
return false;
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
rdbHelper.Commit();
|
|
|
|
|
return true;
|
|
|
|
|
}
|
|
|
|
|
return true;
|
|
|
|
|
}
|
|
|
|
|
catch (Exception e)
|
|
|
|
|
{
|
|
|
|
|
rdbHelper.Rollback();
|
|
|
|
|
return false;
|
|
|
|
|
throw e;
|
|
|
|
|
}
|
|
|
|
|
finally
|
|
|
|
|
{
|
|
|
|
|
if (rdbHelper != null)
|
|
|
|
|
{
|
|
|
|
|
rdbHelper.DisConnect();
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
#endregion
|
|
|
|
|
public void OrderBy(string XJCode, string XJName)
|
|
|
|
|
{
|
|
|
|
|
try
|
|
|
|
|
{
|
|
|
|
|
if (ListQsdwEntity != null && ListQsdwEntity.Count > 0)
|
|
|
|
|
{
|
|
|
|
|
ListQsdm = new List<QSDWinformation>();
|
|
|
|
|
var GroupEntity = ListQsdwEntity.Where(x => x.ZLDWDM.Length == 19).GroupBy(x => x.ZLDWDM.Substring(0, 9)).Select(x => x.Key).ToList();//获取村级坐落获取镇级权属代码前九位
|
|
|
|
|
var Temp = ListQsdwEntity.FirstOrDefault(x => x.Qsdwdm == XJCode.PadRight(19, '0'));
|
|
|
|
|
if (Temp != null && Temp.Qsdwmc != XJName)
|
|
|
|
|
GroupEntity.Add(Temp.Qsdwdm.Substring(0, 9));
|
|
|
|
|
foreach (var item in GroupEntity)//截取乡镇权属代码
|
|
|
|
|
{
|
|
|
|
|
QSDWinformation Qsdm = new QSDWinformation();
|
|
|
|
|
Qsdm.ZLDWDM = item;
|
|
|
|
|
Qsdm.Qsdwdm = item;
|
|
|
|
|
BasicDataModel[] xzqDic = DicHelper.GetXZQDic(2);
|
|
|
|
|
if (xzqDic == null)
|
|
|
|
|
return;
|
|
|
|
|
var xzqInfo = xzqDic.Where(x => x.Code == item).ToList();
|
|
|
|
|
if (xzqInfo.Count == 0)
|
|
|
|
|
xzqInfo = xzqDic.Where(x => x.Code == item.Replace(item.Substring(0, 6), xzqDic[0].Code.Substring(0, 6))).ToList();
|
|
|
|
|
foreach (var xzq in xzqInfo)
|
|
|
|
|
{
|
|
|
|
|
Qsdm.Qsdwmc = xzq.Name;
|
|
|
|
|
Qsdm.Zldwmc = xzq.Name;
|
|
|
|
|
}
|
|
|
|
|
List<QSDWinformation> ListCjQsdm = new List<QSDWinformation>();
|
|
|
|
|
if (item == XJCode.PadRight(9, '0'))//特殊案例-与县级同权属代码的镇一级(并且为非飞入地)
|
|
|
|
|
{
|
|
|
|
|
Qsdm.ZLDWDM = XJCode.PadRight(9, '0');
|
|
|
|
|
Qsdm.Qsdwdm = XJCode.PadRight(9, '0');
|
|
|
|
|
Qsdm.Qsdwmc = Temp.Qsdwmc;
|
|
|
|
|
Qsdm.Zldwmc = Temp.Qsdwmc;
|
|
|
|
|
QSDWinformation CjQsdm = new QSDWinformation();
|
|
|
|
|
CjQsdm.Qsdwdm = XJCode.PadRight(12, '0');
|
|
|
|
|
CjQsdm.ZLDWDM = XJCode.PadRight(12, '0');
|
|
|
|
|
CjQsdm.Qsdwmc = Temp.Qsdwmc;
|
|
|
|
|
CjQsdm.Zldwmc = Temp.Qsdwmc;
|
|
|
|
|
List<QSDWinformation> ListCjDMQsdm = new List<QSDWinformation>();
|
|
|
|
|
QSDWinformation CjDMQsdm = new QSDWinformation();
|
|
|
|
|
CjDMQsdm.Qsdwdm = "";
|
|
|
|
|
CjDMQsdm.Qsdwmc = "";
|
|
|
|
|
ListCjDMQsdm.Add(CjDMQsdm);
|
|
|
|
|
CjQsdm.ListQsdwInfor = null;//权属村级子级
|
|
|
|
|
ListCjQsdm.Add(CjQsdm);
|
|
|
|
|
Qsdm.ListQsdwInfor = null;//权属镇级子级
|
|
|
|
|
ListQsdm.Add(Qsdm);
|
|
|
|
|
continue;
|
|
|
|
|
}
|
|
|
|
|
#region
|
|
|
|
|
var CJGroupEntity = ListQsdwEntity.Where(x => x.HasCheck).GroupBy(x => x.ZLDWDM).OrderBy(x => x.Key).Select(x => x.Key).Distinct().ToList();
|
|
|
|
|
var tmpcjglist = CJGroupEntity.Where(x => x.Substring(0, 9) == item).ToList();
|
|
|
|
|
foreach (var CJitem in tmpcjglist)//截取村级权属代码
|
|
|
|
|
{
|
|
|
|
|
QSDWinformation CjQsdm = new QSDWinformation();
|
|
|
|
|
CjQsdm.Qsdwdm = CJitem;
|
|
|
|
|
CjQsdm.ZLDWDM = CJitem;
|
|
|
|
|
#region
|
|
|
|
|
|
|
|
|
|
var cjlist = ListQsdwEntity.Where(x => x.ZLDWDM.StartsWith(CJitem)).ToList();
|
|
|
|
|
var keylist = cjlist.Select(x => x.ZLDWDM).Distinct().ToList();
|
|
|
|
|
foreach (var citem in keylist)
|
|
|
|
|
{
|
|
|
|
|
CjQsdm.Zldwmc = ListQsdwEntity.FirstOrDefault(x => x.ZLDWDM == citem).Zldwmc;
|
|
|
|
|
List<QSDWinformation> ListCjDMQsdm = new List<QSDWinformation>();
|
|
|
|
|
var CJDMGroupEntity = ListQsdwEntity.Where(x => x.HasCheck).GroupBy(x => x.ZLDWDM).Select(x => x.Key).Distinct().ToList();//.Select(n => n);
|
|
|
|
|
var tmpglist = CJDMGroupEntity.Where(x => x.Substring(0, 12) == CJitem.Substring(0, 12)).ToList();
|
|
|
|
|
foreach (var CJDMitem in tmpglist)//获取村级代码
|
|
|
|
|
{
|
|
|
|
|
#region
|
|
|
|
|
var cjkeylist = ListQsdwEntity.Where(x => x.HasCheck && x.ZLDWDM == CJDMitem).Distinct().ToList();
|
|
|
|
|
foreach (var itemsD in cjkeylist)//获取村级小组权属代码名称
|
|
|
|
|
{
|
|
|
|
|
var cu = ListCjDMQsdm.Count(x => x.Qsdwdm == itemsD.Qsdwdm && x.Qsdwmc == itemsD.Qsdwmc);
|
|
|
|
|
if (cu == 0)
|
|
|
|
|
{
|
|
|
|
|
QSDWinformation CjDMQsdm = new QSDWinformation();
|
|
|
|
|
CjDMQsdm.Qsdwdm = itemsD.Qsdwdm;
|
|
|
|
|
CjDMQsdm.Qsdwmc = itemsD.Qsdwmc;
|
|
|
|
|
ListCjDMQsdm.Add(CjDMQsdm);
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
#endregion
|
|
|
|
|
}
|
|
|
|
|
CjQsdm.ListQsdwInfor = ListCjDMQsdm;
|
|
|
|
|
}
|
|
|
|
|
ListCjQsdm.Add(CjQsdm);
|
|
|
|
|
#endregion
|
|
|
|
|
}
|
|
|
|
|
Qsdm.ListQsdwInfor = ListCjQsdm;
|
|
|
|
|
ListQsdm.Add(Qsdm);
|
|
|
|
|
#endregion
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
catch (Exception ex)
|
|
|
|
|
{
|
|
|
|
|
throw ex;
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
/// <summary>
|
|
|
|
|
/// 省级代码文本框值发生变化事件
|
|
|
|
|
/// </summary>
|
|
|
|
|
/// <param name="sender"></param>
|
|
|
|
|
/// <param name="e"></param>
|
|
|
|
|
private void txt_XJDM_TextChanged(object sender, TextChangedEventArgs e)
|
|
|
|
|
{
|
|
|
|
|
try
|
|
|
|
|
{
|
|
|
|
|
Regex re = new Regex("^[0-9]*$");
|
|
|
|
|
if (!re.IsMatch(this.txt_XJDM.Text.ToString()))
|
|
|
|
|
{
|
|
|
|
|
MessageHelper.Show("输入错误,请重新输入!");
|
|
|
|
|
this.txt_XJDM.Text = "";
|
|
|
|
|
return;
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
catch (Exception ex)
|
|
|
|
|
{
|
|
|
|
|
LogAPI.Debug(ex);
|
|
|
|
|
MessageHelper.Show("抱歉,新增字典异常!");
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
/// <summary>
|
|
|
|
|
/// 市级代码文本框值发生变化事件
|
|
|
|
|
/// </summary>
|
|
|
|
|
/// <param name="sender"></param>
|
|
|
|
|
/// <param name="e"></param>
|
|
|
|
|
private void txt_XianJDMCD_TextChanged(object sender, TextChangedEventArgs e)
|
|
|
|
|
{
|
|
|
|
|
try
|
|
|
|
|
{
|
|
|
|
|
Regex re = new Regex("^[0-9]*$");
|
|
|
|
|
if (!re.IsMatch(this.txt_XianJDMCD.Text.ToString()))
|
|
|
|
|
{
|
|
|
|
|
MessageHelper.Show("输入错误,请重新输入!");
|
|
|
|
|
this.txt_XianJDMCD.Text = "";
|
|
|
|
|
return;
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
catch (Exception ex)
|
|
|
|
|
{
|
|
|
|
|
LogAPI.Debug(ex);
|
|
|
|
|
MessageHelper.Show("抱歉,新增字典异常!");
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
/// <summary>
|
|
|
|
|
/// 县级代码文本框值发生变化事件
|
|
|
|
|
/// </summary>
|
|
|
|
|
/// <param name="sender"></param>
|
|
|
|
|
/// <param name="e"></param>
|
|
|
|
|
private void txt_CJDMCD_TextChanged(object sender, TextChangedEventArgs e)
|
|
|
|
|
{
|
|
|
|
|
try
|
|
|
|
|
{
|
|
|
|
|
Regex re = new Regex("^[0-9]*$");
|
|
|
|
|
if (!re.IsMatch(this.txt_CJDMCD.Text.ToString()))
|
|
|
|
|
{
|
|
|
|
|
MessageHelper.Show("输入错误,请重新输入!");
|
|
|
|
|
this.txt_CJDMCD.Text = "";
|
|
|
|
|
return;
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
catch (Exception ex)
|
|
|
|
|
{
|
|
|
|
|
LogAPI.Debug(ex);
|
|
|
|
|
MessageHelper.ShowError("抱歉,新增字典异常!");
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
/// <summary>
|
|
|
|
|
/// 选择地类图斑按钮事件
|
|
|
|
|
/// </summary>
|
|
|
|
|
/// <param name="sender"></param>
|
|
|
|
|
/// <param name="e"></param>
|
|
|
|
|
private void btn_DLTB_Click(object sender, RoutedEventArgs e)
|
|
|
|
|
{
|
|
|
|
|
try
|
|
|
|
|
{
|
|
|
|
|
OpenDataDialog pDialog = new OpenDataDialog();
|
|
|
|
|
KGIS.Framework.OpenData.InterFace.ISpatialDataObjectFilter pOFilter;
|
|
|
|
|
pOFilter = new FilterDatasetsAndLayers();
|
|
|
|
|
pDialog.AddFilter(pOFilter, true);
|
|
|
|
|
pDialog.Title = "选择导入的数据";
|
|
|
|
|
pDialog.AllowMultiSelect = false;
|
|
|
|
|
pDialog.RestoreLocation = true;
|
|
|
|
|
pDialog.StartLocation = pDialog.FinalLocation;
|
|
|
|
|
if (pDialog.ShowDialog() == System.Windows.Forms.DialogResult.Cancel || pDialog.Selection.Count <= 0)
|
|
|
|
|
{
|
|
|
|
|
return;
|
|
|
|
|
}
|
|
|
|
|
ListQsdwEntity = new List<QSDWinformation>();
|
|
|
|
|
this.ShowLoading("正在解析文件...", 0, 0);
|
|
|
|
|
KGIS.Framework.OpenData.InterFace.ISpatialDataObject distObj = pDialog.Selection[0];
|
|
|
|
|
if (distObj.DatasetType == esriDatasetType.esriDTFeatureClass)
|
|
|
|
|
{
|
|
|
|
|
btn_DLTB.Text = distObj.FullName;
|
|
|
|
|
pFC = (distObj.DatasetName as ESRI.ArcGIS.esriSystem.IName).Open() as IFeatureClass;
|
|
|
|
|
if (pFC != null)
|
|
|
|
|
{
|
|
|
|
|
BindComboxField(pFC);
|
|
|
|
|
FullData(pFC);
|
|
|
|
|
AnalysisCode();
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
catch (Exception ex)
|
|
|
|
|
{
|
|
|
|
|
this.CloseLoading();
|
|
|
|
|
MessageHelper.ShowError("解析文件异常:" + ex.Message);
|
|
|
|
|
}
|
|
|
|
|
finally
|
|
|
|
|
{
|
|
|
|
|
this.CloseLoading();
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
/// <summary>
|
|
|
|
|
/// 绑定权属单位代码,名称和坐落单位名称下拉框,并获取所有的数据
|
|
|
|
|
/// </summary>
|
|
|
|
|
/// <param name="pFeatureClass"></param>
|
|
|
|
|
private void BindComboxField(IFeatureClass pFeatureClass)
|
|
|
|
|
{
|
|
|
|
|
try
|
|
|
|
|
{
|
|
|
|
|
cmb_Qsdwdmzd.ItemsSource = null;
|
|
|
|
|
cmb_Qsdwmczd.ItemsSource = null;
|
|
|
|
|
cmb_Zldwmczd.ItemsSource = null;
|
|
|
|
|
cmb_Zldwdmzd.ItemsSource = null;
|
|
|
|
|
txt_XJDM.Text = string.Empty;
|
|
|
|
|
txt_XianJDMCD.Text = string.Empty;
|
|
|
|
|
txt_CJDMCD.Text = string.Empty;
|
|
|
|
|
txt_ShengJMC.Text = string.Empty;//省级名称
|
|
|
|
|
txt_ShiJMC.Text = string.Empty;//市级名称
|
|
|
|
|
txt_XJMC.Text = string.Empty;//县级名称
|
|
|
|
|
lstName.Clear();
|
|
|
|
|
int qsdwdmIndex = -1;
|
|
|
|
|
int qsdwmcIndex = -1;
|
|
|
|
|
int zldwmcIndex = -1;
|
|
|
|
|
int zldwdmIndex = -1;
|
|
|
|
|
for (int i = 0; i < pFeatureClass.Fields.FieldCount; i++)
|
|
|
|
|
{
|
|
|
|
|
FeatureName FeatuName = new FeatureName();
|
|
|
|
|
FeatuName.Id = i;
|
|
|
|
|
FeatuName.Name = pFeatureClass.Fields.get_Field(i).Name;
|
|
|
|
|
lstName.Add(FeatuName);
|
|
|
|
|
if (FeatuName.Name.ToUpper() == "QSDWDM")
|
|
|
|
|
{
|
|
|
|
|
qsdwdmIndex = i;
|
|
|
|
|
}
|
|
|
|
|
if (FeatuName.Name.ToUpper() == "QSDWMC")
|
|
|
|
|
{
|
|
|
|
|
qsdwmcIndex = i;
|
|
|
|
|
}
|
|
|
|
|
if (FeatuName.Name.ToUpper() == "ZLDWMC")
|
|
|
|
|
{
|
|
|
|
|
zldwmcIndex = i;
|
|
|
|
|
}
|
|
|
|
|
if (FeatuName.Name.ToUpper() == "ZLDWDM")
|
|
|
|
|
{
|
|
|
|
|
zldwdmIndex = i;
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
cmb_Qsdwdmzd.ItemsSource = lstName;
|
|
|
|
|
cmb_Qsdwmczd.ItemsSource = lstName;
|
|
|
|
|
cmb_Zldwmczd.ItemsSource = lstName;
|
|
|
|
|
cmb_Zldwdmzd.ItemsSource = lstName;
|
|
|
|
|
cmb_Qsdwdmzd.SelectedIndex = qsdwdmIndex;
|
|
|
|
|
cmb_Qsdwmczd.SelectedIndex = qsdwmcIndex;
|
|
|
|
|
cmb_Zldwmczd.SelectedIndex = zldwmcIndex;
|
|
|
|
|
cmb_Zldwdmzd.SelectedIndex = zldwdmIndex;
|
|
|
|
|
}
|
|
|
|
|
catch (Exception ex)
|
|
|
|
|
{
|
|
|
|
|
throw ex;
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
/// <summary>
|
|
|
|
|
///
|
|
|
|
|
/// </summary>
|
|
|
|
|
/// <param name="qsdwdmIndex"></param>
|
|
|
|
|
/// <param name="qsdwmcIndex"></param>
|
|
|
|
|
/// <param name="zldwmcIndex"></param>
|
|
|
|
|
/// <param name="zldwdmIndex"></param>
|
|
|
|
|
/// <param name="pFeatureClass"></param>
|
|
|
|
|
/// <returns></returns>
|
|
|
|
|
private void FullData(IFeatureClass pFeatureClass)
|
|
|
|
|
{
|
|
|
|
|
int qsdwdmIndex = cmb_Qsdwdmzd.SelectedIndex;
|
|
|
|
|
int qsdwmcIndex = cmb_Qsdwmczd.SelectedIndex;
|
|
|
|
|
int zldwmcIndex = cmb_Zldwmczd.SelectedIndex;
|
|
|
|
|
int zldwdmIndex = cmb_Zldwdmzd.SelectedIndex;
|
|
|
|
|
List<QSDWinformation> restlist = new List<QSDWinformation>();
|
|
|
|
|
IFeatureCursor featureCursor = null;
|
|
|
|
|
try
|
|
|
|
|
{
|
|
|
|
|
IFeature feature = null;
|
|
|
|
|
featureCursor = pFeatureClass.Search(null, true);
|
|
|
|
|
ListQsdwEntity.Clear();
|
|
|
|
|
while ((feature = featureCursor.NextFeature()) != null)
|
|
|
|
|
{
|
|
|
|
|
QSDWinformation QsdwEntity = new QSDWinformation();
|
|
|
|
|
if (qsdwdmIndex > -1)
|
|
|
|
|
{
|
|
|
|
|
var tempQsdwdm = feature.get_Value(qsdwdmIndex).ToString();
|
|
|
|
|
QsdwEntity.Qsdwdm = tempQsdwdm;
|
|
|
|
|
}
|
|
|
|
|
if (qsdwmcIndex > -1)
|
|
|
|
|
{
|
|
|
|
|
QsdwEntity.Qsdwmc = feature.get_Value(qsdwmcIndex).ToString();
|
|
|
|
|
if (QsdwEntity.Qsdwmc == "部队") { }
|
|
|
|
|
}
|
|
|
|
|
if (zldwmcIndex > -1)
|
|
|
|
|
{
|
|
|
|
|
QsdwEntity.Zldwmc = feature.get_Value(zldwmcIndex).ToString();
|
|
|
|
|
}
|
|
|
|
|
if (zldwdmIndex > -1)
|
|
|
|
|
{
|
|
|
|
|
var tempZLDWDM = feature.get_Value(zldwdmIndex).ToString();
|
|
|
|
|
QsdwEntity.ZLDWDM = tempZLDWDM;
|
|
|
|
|
}
|
|
|
|
|
QsdwEntity.HasCheck = true;
|
|
|
|
|
if (ListQsdwEntity != null && ListQsdwEntity.Where(x => x.ZLDWDM == QsdwEntity.ZLDWDM).Count() == 0)
|
|
|
|
|
{
|
|
|
|
|
ListQsdwEntity.Add(QsdwEntity);
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
catch (Exception ex)
|
|
|
|
|
{
|
|
|
|
|
LogAPI.Debug(ex.Message);
|
|
|
|
|
throw ex;
|
|
|
|
|
}
|
|
|
|
|
finally
|
|
|
|
|
{
|
|
|
|
|
if (featureCursor != null)
|
|
|
|
|
{
|
|
|
|
|
Marshal.ReleaseComObject(featureCursor);
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
private void AnalysisCode()
|
|
|
|
|
{
|
|
|
|
|
KGIS.Framework.DBOperator.IRDBHelper rdbHelper = null;
|
|
|
|
|
try
|
|
|
|
|
{
|
|
|
|
|
//去除坐落单位代码
|
|
|
|
|
if (ListQsdwEntity != null && ListQsdwEntity.Count > 0)
|
|
|
|
|
{
|
|
|
|
|
var first = ListQsdwEntity.FirstOrDefault(x => !string.IsNullOrWhiteSpace(x.ZLDWDM) && (new[] { 12, 19 }).Contains(x.ZLDWDM.Length));
|
|
|
|
|
if (first != null)
|
|
|
|
|
{
|
|
|
|
|
txt_XJDM.Text = first.ZLDWDM.Substring(0, 2).ToString();
|
|
|
|
|
txt_XianJDMCD.Text = first.ZLDWDM.Substring(0, 4).ToString();
|
|
|
|
|
txt_CJDMCD.Text = first.ZLDWDM.Substring(0, 6).ToString();
|
|
|
|
|
|
|
|
|
|
string systemPath = SysAppPath.GetDataBasePath() + "System.mdb";
|
|
|
|
|
if (System.IO.File.Exists(systemPath))
|
|
|
|
|
{
|
|
|
|
|
string connStr = SysConfigsOprator.GetDBConnectionByName("MDBOledbConnection");
|
|
|
|
|
connStr = string.Format(connStr, systemPath);
|
|
|
|
|
rdbHelper = RDBFactory.CreateDbHelper(connStr, DatabaseType.MSAccess);
|
|
|
|
|
string strSQL = String.Format("select XZQMC, XZQ,SDM,SMC,SHDM,SHMC from XZQ Where XZQ ='{0}' ", txt_CJDMCD.Text);
|
|
|
|
|
DataTable dt = rdbHelper.ExecuteDatatable("Dic", strSQL, true);
|
|
|
|
|
if (dt != null && dt.Rows.Count != 0)
|
|
|
|
|
{
|
|
|
|
|
DataRow row = dt.Rows[0];
|
|
|
|
|
txt_ShengJMC.Text = row["SHMC"].ToString();//省级名称
|
|
|
|
|
txt_ShiJMC.Text = row["SMC"].ToString();//市级名称
|
|
|
|
|
txt_XJMC.Text = row["XZQMC"].ToString();//县级名称
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
}
|
|
|
|
|
else
|
|
|
|
|
{
|
|
|
|
|
txt_XJDM.Text = "";
|
|
|
|
|
txt_XianJDMCD.Text = "";
|
|
|
|
|
txt_CJDMCD.Text = "";
|
|
|
|
|
txt_ShengJMC.Text = "";//省级名称
|
|
|
|
|
txt_ShiJMC.Text = "";//市级名称
|
|
|
|
|
txt_XJMC.Text = "";//县级名称
|
|
|
|
|
this.CloseLoading();
|
|
|
|
|
MessageHelper.ShowError("解析坐落代码数据失败,请选择正确的坐落代码字段!");
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
catch (Exception ex)
|
|
|
|
|
{
|
|
|
|
|
LogAPI.Debug(ex);
|
|
|
|
|
}
|
|
|
|
|
finally
|
|
|
|
|
{
|
|
|
|
|
if (rdbHelper != null)
|
|
|
|
|
{
|
|
|
|
|
rdbHelper.DisConnect();
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
/// <summary>
|
|
|
|
|
/// 检查数据库是否已经存在权属单位代码字典
|
|
|
|
|
/// </summary>
|
|
|
|
|
private void CheckExist()
|
|
|
|
|
{
|
|
|
|
|
IRDBHelper rdbHelper = null;
|
|
|
|
|
try
|
|
|
|
|
{
|
|
|
|
|
|
|
|
|
|
string Path = System.IO.Path.GetDirectoryName((MapsManager.Instance.MapService.GetProjectInfo() as ProjectInfo).GetProjFilePath()) + @"\BGTJ.sqlite";
|
|
|
|
|
rdbHelper = RDBFactory.CreateDbHelper("Data Source=" + Path, DatabaseType.SQLite);
|
|
|
|
|
if (rdbHelper == null)
|
|
|
|
|
{
|
|
|
|
|
throw new Exception("打开数据库连接失败!");
|
|
|
|
|
}
|
|
|
|
|
DataTable dtDict = rdbHelper.ExecuteDatatable("Sys_DicType", "select * from Sys_DicManage where NAME='权属代码'", true);
|
|
|
|
|
//数据库已存在
|
|
|
|
|
if (dtDict != null && dtDict.Rows.Count > 0)
|
|
|
|
|
{
|
|
|
|
|
QsdmID = dtDict.Rows[0]["ID"].ToString();
|
|
|
|
|
DataTable dtDetail = rdbHelper.ExecuteDatatable("Sys_DicDetail", "select * from Sys_DicDetail where OWNERDIC='" + QsdmID + "'", true);
|
|
|
|
|
if (dtDetail != null && dtDetail.Rows.Count > 0)
|
|
|
|
|
{
|
|
|
|
|
var dr = MessageHelper.ShowYesNoAndTips("权属代码字典已存在,是否替换?");
|
|
|
|
|
if (dr == System.Windows.Forms.DialogResult.Yes)
|
|
|
|
|
{
|
|
|
|
|
this.UpdateMsg("正在生成字典......");
|
|
|
|
|
//先删除数据库已存在的字典
|
|
|
|
|
int insertCount = rdbHelper.ExecuteSQL("DELETE FROM Sys_DicManage WHERE NAME = '权属代码' AND TYPE=1");
|
|
|
|
|
if (insertCount < 0)
|
|
|
|
|
throw new Exception("删除已存在字典失败!");
|
|
|
|
|
insertCount = rdbHelper.ExecuteSQL("DELETE FROM Sys_DicDetail WHERE OWNERDIC = '" + QsdmID + "'");
|
|
|
|
|
if (insertCount < 0)
|
|
|
|
|
throw new Exception("删除已存在字典失败!");
|
|
|
|
|
//插入Sys_DicManage表
|
|
|
|
|
insertCount = rdbHelper.ExecuteSQL("INSERT INTO Sys_DicManage (NAME,ALIASNAME,TYPE,REMARK,PAIXU)" + "VALUES ('权属代码','QSDM',1,'',0)");
|
|
|
|
|
if (insertCount < 0)
|
|
|
|
|
throw new Exception("插入字典失败!");
|
|
|
|
|
}
|
|
|
|
|
else
|
|
|
|
|
return;
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
else//数据库不存在权属单位代码字典
|
|
|
|
|
{
|
|
|
|
|
this.UpdateMsg("正在生成字典......");
|
|
|
|
|
//插入Sys_DicManage表
|
|
|
|
|
int insertCount = rdbHelper.ExecuteSQL("INSERT INTO Sys_DicManage (NAME,ALIASNAME,TYPE,REMARK,PAIXU)" + "VALUES ('权属代码','QSDM',1,'',0)");
|
|
|
|
|
if (insertCount < 0)
|
|
|
|
|
throw new Exception("插入字典失败!");
|
|
|
|
|
}
|
|
|
|
|
InserDataDic(rdbHelper);
|
|
|
|
|
if (InserDataLsitSon())
|
|
|
|
|
{
|
|
|
|
|
//loading.Visibility = Visibility.Collapsed;
|
|
|
|
|
//修改原因:不需要将字典保存到工程文件中 修改人:高山 修改时间:2019.09.21
|
|
|
|
|
this.CloseLoading();
|
|
|
|
|
MessageHelper.Show("新增字典成功!");
|
|
|
|
|
Refresh?.Invoke();
|
|
|
|
|
this.Close();
|
|
|
|
|
return;
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
catch (Exception ex)
|
|
|
|
|
{
|
|
|
|
|
MessageHelper.ShowError(ex.Message);
|
|
|
|
|
}
|
|
|
|
|
finally
|
|
|
|
|
{
|
|
|
|
|
this.CloseLoading();
|
|
|
|
|
if (rdbHelper != null)
|
|
|
|
|
rdbHelper.DisConnect();
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
/// <summary>
|
|
|
|
|
/// 插入字典数据
|
|
|
|
|
/// </summary>
|
|
|
|
|
/// <param name="rdbHelper">数据库连接</param>
|
|
|
|
|
private void InserDataDic(IRDBHelper rdbHelper)
|
|
|
|
|
{
|
|
|
|
|
try
|
|
|
|
|
{
|
|
|
|
|
DataTable QuerySon = rdbHelper.ExecuteDatatable("QuerySon", "SELECT ID FROM Sys_DicManage WHERE NAME='权属代码'", false);
|
|
|
|
|
string strSql = string.Empty;
|
|
|
|
|
if (QuerySon == null || QuerySon.Rows.Count <= 0)
|
|
|
|
|
return;
|
|
|
|
|
if (!string.IsNullOrWhiteSpace(txt_XJDM.Text.Trim().ToString()))
|
|
|
|
|
strSql = string.Format("insert into Sys_DicDetail (PID,NAME,CODE,OWNERDIC,REMARK,PAIXU)" + "VALUES ('{0}','{1}','{2}','{3}','{4}',{5})", "", txt_ShengJMC.Text.Trim().ToString(), txt_XJDM.Text.Trim().ToString(), QuerySon.Rows[0]["ID"].ToString(), "", 0);
|
|
|
|
|
else
|
|
|
|
|
strSql = string.Format("insert into Sys_DicDetail (PID,NAME,CODE,OWNERDIC,REMARK,PAIXU)" + "VALUES ('{0}','{1}','{2}','{3}','{4}',{5})", "", txt_ShengJMC.Text.Trim().ToString(), txt_ShengJMC.Text.Trim().ToString(), QuerySon.Rows[0]["ID"].ToString(), "", 0);
|
|
|
|
|
int insertCount = rdbHelper.ExecuteSQL(strSql);
|
|
|
|
|
if (insertCount <= 0)
|
|
|
|
|
return;
|
|
|
|
|
DataTable QueryQSSon = null;
|
|
|
|
|
if (!string.IsNullOrWhiteSpace(txt_XJDM.Text.Trim().ToString()))
|
|
|
|
|
{
|
|
|
|
|
QueryQSSon = rdbHelper.ExecuteDatatable("QueryQS", string.Format("SELECT ID FROM Sys_DicDetail WHERE NAME='{0}' AND PID='' AND CODE='{1}' AND OWNERDIC='{2}'", txt_ShengJMC.Text.Trim().ToString(), txt_XJDM.Text.Trim().ToString(), QuerySon.Rows[0]["ID"].ToString()), false);
|
|
|
|
|
}
|
|
|
|
|
else
|
|
|
|
|
{
|
|
|
|
|
QueryQSSon = rdbHelper.ExecuteDatatable("QueryQS", string.Format("SELECT ID FROM Sys_DicDetail WHERE NAME='{0}' AND PID='' AND CODE='{1}' AND OWNERDIC='{2}'", txt_ShengJMC.Text.Trim().ToString(), txt_ShengJMC.Text.Trim().ToString(), QuerySon.Rows[0]["ID"].ToString()), false);
|
|
|
|
|
}
|
|
|
|
|
if (QueryQSSon == null || QueryQSSon.Rows.Count <= 0)
|
|
|
|
|
{
|
|
|
|
|
return;
|
|
|
|
|
}
|
|
|
|
|
if (!string.IsNullOrWhiteSpace(txt_XianJDMCD.Text.Trim().ToString()))
|
|
|
|
|
{
|
|
|
|
|
strSql = string.Format("insert into Sys_DicDetail (PID,NAME,CODE,OWNERDIC,REMARK,PAIXU)" + "VALUES ('{0}','{1}','{2}','{3}','{4}',{5})", QueryQSSon.Rows[0]["ID"].ToString(), txt_ShiJMC.Text.Trim().ToString(), txt_XianJDMCD.Text.Trim().ToString(), QuerySon.Rows[0]["ID"].ToString(), "", 0);
|
|
|
|
|
}
|
|
|
|
|
else
|
|
|
|
|
{
|
|
|
|
|
strSql = string.Format("insert into Sys_DicDetail (PID,NAME,CODE,OWNERDIC,REMARK,PAIXU)" + "VALUES ('{0}','{1}','{2}','{3}','{4}',{5})", QueryQSSon.Rows[0]["ID"].ToString(), txt_ShiJMC.Text.Trim().ToString(), txt_ShiJMC.Text.Trim().ToString(), QuerySon.Rows[0]["ID"].ToString(), "", 0);
|
|
|
|
|
}
|
|
|
|
|
insertCount = rdbHelper.ExecuteSQL(strSql);
|
|
|
|
|
if (insertCount <= 0)
|
|
|
|
|
return;
|
|
|
|
|
DataTable QueryQSSons = null;
|
|
|
|
|
if (txt_XianJDMCD.Text.Trim().ToString() != "")
|
|
|
|
|
{
|
|
|
|
|
QueryQSSons = rdbHelper.ExecuteDatatable("QueryQSs", string.Format("SELECT ID FROM Sys_DicDetail WHERE NAME='{0}' AND PID='{1}' AND CODE='{2}' AND OWNERDIC='{3}'", txt_ShiJMC.Text.Trim().ToString(), QueryQSSon.Rows[0]["ID"].ToString(), txt_XianJDMCD.Text.Trim().ToString(), QuerySon.Rows[0]["ID"].ToString()), false);
|
|
|
|
|
}
|
|
|
|
|
else
|
|
|
|
|
{
|
|
|
|
|
QueryQSSons = rdbHelper.ExecuteDatatable("QueryQSs", string.Format("SELECT ID FROM Sys_DicDetail WHERE NAME='{0}' AND PID='{1}' AND CODE='{2}' AND OWNERDIC='{3}'", txt_ShiJMC.Text.Trim().ToString(), QueryQSSon.Rows[0]["ID"].ToString(), txt_ShiJMC.Text.Trim().ToString(), QuerySon.Rows[0]["ID"].ToString()), false);
|
|
|
|
|
}
|
|
|
|
|
if (QueryQSSons == null || QueryQSSons.Rows.Count <= 0)
|
|
|
|
|
return;
|
|
|
|
|
if (!string.IsNullOrWhiteSpace(txt_CJDMCD.Text.Trim().ToString()))
|
|
|
|
|
{
|
|
|
|
|
strSql = string.Format("insert into Sys_DicDetail (PID,NAME,CODE,OWNERDIC,REMARK,PAIXU)" + "VALUES ('{0}','{1}','{2}','{3}','{4}',{5})", QueryQSSons.Rows[0]["ID"].ToString(), txt_XJMC.Text.Trim().ToString(), txt_CJDMCD.Text.Trim().ToString(), QuerySon.Rows[0]["ID"].ToString(), "", 0);
|
|
|
|
|
}
|
|
|
|
|
else
|
|
|
|
|
{
|
|
|
|
|
strSql = string.Format("insert into Sys_DicDetail (PID,NAME,CODE,OWNERDIC,REMARK,PAIXU)" + "VALUES ('{0}','{1}','{2}','{3}','{4}',{5})", QueryQSSons.Rows[0]["ID"].ToString(), txt_XJMC.Text.Trim().ToString(), txt_XJMC.Text.Trim().ToString(), QuerySon.Rows[0]["ID"].ToString(), "", 0);
|
|
|
|
|
}
|
|
|
|
|
insertCount = rdbHelper.ExecuteSQL(strSql);
|
|
|
|
|
if (insertCount <= 0)
|
|
|
|
|
return;
|
|
|
|
|
DataTable QueryQSSonsd = null;
|
|
|
|
|
if (txt_CJDMCD.Text.Trim().ToString() != "")
|
|
|
|
|
{
|
|
|
|
|
QueryQSSonsd = rdbHelper.ExecuteDatatable("QueryQSsd", string.Format("SELECT ID FROM Sys_DicDetail WHERE NAME='{0}' AND PID='{1}' AND CODE='{2}' AND OWNERDIC='{3}'", txt_XJMC.Text.Trim().ToString(), QueryQSSons.Rows[0]["ID"].ToString(), txt_CJDMCD.Text.Trim().ToString(), QuerySon.Rows[0]["ID"].ToString()), false);
|
|
|
|
|
}
|
|
|
|
|
else
|
|
|
|
|
{
|
|
|
|
|
QueryQSSonsd = rdbHelper.ExecuteDatatable("QueryQSsd", string.Format("SELECT ID FROM Sys_DicDetail WHERE NAME='{0}' AND PID='{1}' AND CODE='{2}' AND OWNERDIC='{3}'", txt_XJMC.Text.Trim().ToString(), QueryQSSons.Rows[0]["ID"].ToString(), txt_XJMC.Text.Trim().ToString(), QuerySon.Rows[0]["ID"].ToString()), false);
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
if (QueryQSSonsd != null && QueryQSSonsd.Rows.Count > 0)
|
|
|
|
|
{
|
|
|
|
|
XJFid = QueryQSSonsd.Rows[0]["ID"].ToString();
|
|
|
|
|
FJFid = QuerySon.Rows[0]["ID"].ToString();
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
catch (Exception ex)
|
|
|
|
|
{
|
|
|
|
|
LogAPI.Debug("插入字典失败:" + ex.Message);
|
|
|
|
|
throw ex;
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
/// <summary>
|
|
|
|
|
/// 窗口关闭事件
|
|
|
|
|
/// </summary>
|
|
|
|
|
/// <param name="sender"></param>
|
|
|
|
|
/// <param name="e"></param>
|
|
|
|
|
private void btn_nO_Click(object sender, RoutedEventArgs e)
|
|
|
|
|
{
|
|
|
|
|
this.Close();
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
/// <summary>
|
|
|
|
|
/// 确定按钮事件
|
|
|
|
|
/// </summary>
|
|
|
|
|
/// <param name="sender"></param>
|
|
|
|
|
/// <param name="e"></param>
|
|
|
|
|
private void btn_oK_Click(object sender, RoutedEventArgs e)
|
|
|
|
|
{
|
|
|
|
|
try
|
|
|
|
|
{
|
|
|
|
|
if (this.txt_XJDM.Text.Trim().ToString() == "")
|
|
|
|
|
{
|
|
|
|
|
MessageHelper.Show("省级代码解析错误!");
|
|
|
|
|
return;
|
|
|
|
|
}
|
|
|
|
|
if (this.txt_XianJDMCD.Text.Trim().ToString() == "")
|
|
|
|
|
{
|
|
|
|
|
MessageHelper.Show("市级代码解析错误!");
|
|
|
|
|
return;
|
|
|
|
|
}
|
|
|
|
|
if (this.txt_CJDMCD.Text.Trim().ToString() == "")
|
|
|
|
|
{
|
|
|
|
|
MessageHelper.Show("县级代码解析错误!");
|
|
|
|
|
return;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
if (this.txt_ShengJMC.Text.Trim().ToString() == "")
|
|
|
|
|
{
|
|
|
|
|
MessageHelper.Show("省级名称不能为空,请重新输入!");
|
|
|
|
|
return;
|
|
|
|
|
}
|
|
|
|
|
if (this.txt_ShiJMC.Text.Trim().ToString() == "")
|
|
|
|
|
{
|
|
|
|
|
MessageHelper.Show("市级名称不能为空,请重新输入!");
|
|
|
|
|
return;
|
|
|
|
|
}
|
|
|
|
|
if (this.txt_XJMC.Text.Trim().ToString() == "")
|
|
|
|
|
{
|
|
|
|
|
MessageHelper.Show("县级名称不能为空,请重新输入!");
|
|
|
|
|
return;
|
|
|
|
|
}
|
|
|
|
|
this.ShowLoading("正在生成权属单位字典...", 0, 0);
|
|
|
|
|
//CustomLogAPI.WriteSystemOperationLog("数据新增", this.Title);
|
|
|
|
|
//判断是否有不符合要求的数据
|
|
|
|
|
if ((ListQsdwEntity == null || ListQsdwEntity.Count == 0) && pFC != null)
|
|
|
|
|
{
|
|
|
|
|
FullData(pFC);
|
|
|
|
|
Run();
|
|
|
|
|
}
|
|
|
|
|
var count = 0;
|
|
|
|
|
var qsount = 0;
|
|
|
|
|
if (ListQsdwEntity != null)
|
|
|
|
|
{
|
|
|
|
|
count = ListQsdwEntity.Where(x => string.IsNullOrWhiteSpace(x.ZLDWDM) || (new[] { 12, 19 }).Contains(x.ZLDWDM.Length) == false).Count();
|
|
|
|
|
//判断是否有不符合要求的数据
|
|
|
|
|
qsount = ListQsdwEntity.Where(x => string.IsNullOrWhiteSpace(x.Qsdwdm) || (new[] { 12, 19 }).Contains(x.Qsdwdm.Length) == false).Count();
|
|
|
|
|
}
|
|
|
|
|
else
|
|
|
|
|
{
|
|
|
|
|
ListQsdwEntity = new List<QSDWinformation>();
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
if (count > 0 || qsount > 0)
|
|
|
|
|
{
|
|
|
|
|
//this.CloseLoading();
|
|
|
|
|
if (MessageHelper.ShowYesNoAndWarning("所选数据坐落代码和权属代码存在异常,是否继续生成?") == System.Windows.Forms.DialogResult.Yes)
|
|
|
|
|
{
|
|
|
|
|
this.UpdateMsg("正在生成权属单位字典...");
|
|
|
|
|
Run();
|
|
|
|
|
OrderBy(txt_CJDMCD.Text.Trim().ToString(), txt_XJMC.Text.Trim().ToString());
|
|
|
|
|
this.CloseLoading();
|
|
|
|
|
CheckExist();
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
else
|
|
|
|
|
{
|
|
|
|
|
Run();
|
|
|
|
|
OrderBy(txt_CJDMCD.Text.Trim().ToString(), txt_XJMC.Text.Trim().ToString());
|
|
|
|
|
CheckExist();
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
catch (Exception ex)
|
|
|
|
|
{
|
|
|
|
|
this.CloseLoading();
|
|
|
|
|
MessageHelper.ShowError("数据字典保存异常:" + ex.Message);
|
|
|
|
|
}
|
|
|
|
|
finally
|
|
|
|
|
{
|
|
|
|
|
if (pFC != null)
|
|
|
|
|
Marshal.ReleaseComObject(pFC);
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
private void Run()
|
|
|
|
|
{
|
|
|
|
|
ListQsdwEntity.ForEach(item =>
|
|
|
|
|
{
|
|
|
|
|
if (string.IsNullOrWhiteSpace(item.ZLDWDM) == false && string.IsNullOrWhiteSpace(item.Qsdwdm) == false)
|
|
|
|
|
{
|
|
|
|
|
if (item.ZLDWDM.Length == 12)
|
|
|
|
|
{
|
|
|
|
|
item.ZLDWDM = item.ZLDWDM.PadRight(19, '0');
|
|
|
|
|
}
|
|
|
|
|
if (item.ZLDWDM.Length != 19)
|
|
|
|
|
{
|
|
|
|
|
item.HasCheck = false;
|
|
|
|
|
}
|
|
|
|
|
if (item.Qsdwdm.Length == 12)
|
|
|
|
|
{
|
|
|
|
|
item.Qsdwdm = item.Qsdwdm.PadRight(19, '0');
|
|
|
|
|
}
|
|
|
|
|
if (item.Qsdwdm.Length != 19)
|
|
|
|
|
{
|
|
|
|
|
item.HasCheck = false;
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
else
|
|
|
|
|
{
|
|
|
|
|
item.HasCheck = false;
|
|
|
|
|
}
|
|
|
|
|
});
|
|
|
|
|
//处理验证失败的数据
|
|
|
|
|
for (var i = 0; i < ListQsdwEntity.Count; i++)
|
|
|
|
|
{
|
|
|
|
|
if (ListQsdwEntity[i].HasCheck == false)
|
|
|
|
|
{
|
|
|
|
|
ListQsdwEntity.Remove(ListQsdwEntity[i]);
|
|
|
|
|
if (i > 0)
|
|
|
|
|
{
|
|
|
|
|
i = i - 1;
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
}
|
|
|
|
|
public class FeatureName
|
|
|
|
|
{
|
|
|
|
|
private int _id;
|
|
|
|
|
private string _name;
|
|
|
|
|
|
|
|
|
|
public int Id
|
|
|
|
|
{
|
|
|
|
|
get
|
|
|
|
|
{
|
|
|
|
|
return _id;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
set
|
|
|
|
|
{
|
|
|
|
|
_id = value;
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
public string Name
|
|
|
|
|
{
|
|
|
|
|
get
|
|
|
|
|
{
|
|
|
|
|
return _name;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
set
|
|
|
|
|
{
|
|
|
|
|
_name = value;
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
}
|