You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
1309 lines
58 KiB
1309 lines
58 KiB
using System; |
|
using System.Collections.Generic; |
|
using System.Data; |
|
using System.Linq; |
|
using System.Reflection; |
|
using System.Text; |
|
using ESRI.ArcGIS.Geodatabase; |
|
using Kingo.RuleCheck.XJRuleCheck; |
|
|
|
namespace Kingo.RuleCheck |
|
{ |
|
/// <summary> |
|
/// 单图斑建库人工核查 |
|
/// </summary> |
|
public class RGJCCheck : RuleCheckBase_DTB |
|
{ |
|
|
|
List<string> ruleMethodNames = new List<string> { |
|
"DDTC301","DDTC302","DDTC303","DDTC304","DL301","DL302","DL303","GD301","GD302","GD303","GD304","GD305","SX301","SX302","SX303","JSYD301","JSYD302","JSYD303","QT301","QT302","MS001","JW001","BB001","BB002","QT303","DDTC305","DDTC306","HCD001" |
|
}; |
|
|
|
public override List<RuleEntity> ExcuteCheck(string sourePath, IWorkspace workspace) |
|
{ |
|
return this.StartCheck(sourePath, workspace, ruleMethodNames); |
|
} |
|
|
|
public override List<RuleEntity> ExcuteCheck(string sourePath, Dictionary<string, IFeatureClass> workspace) |
|
{ |
|
return this.StartCheck(sourePath, workspace, ruleMethodNames); |
|
} |
|
|
|
public override List<RuleEntity> ExcuteCheck(IWorkspace workspace, List<string> layerNames, List<string> dataSetNames) |
|
{ |
|
return this.StartCheck(workspace, ruleMethodNames, layerNames, dataSetNames); |
|
} |
|
|
|
public override List<RuleEntity> ExcuteCheck(string tbbsm, string sourePath, Dictionary<string, IFeatureClass> workspace) |
|
{ |
|
return this.StartCheck(tbbsm, sourePath, workspace, ruleMethodNames); |
|
} |
|
|
|
/// <summary> |
|
/// 漏斗样式筛选,若已存在该错误则不再添加 |
|
/// </summary> |
|
/// <param name="rstList"></param> |
|
private void AddErrors(List<RuleEntity> rstList) |
|
{ |
|
rstList.ForEach(r => |
|
{ |
|
if (AllRGError.FirstOrDefault(t => t.ErrorId == r.ErrorId && !r.ErrorId.StartsWith("规则检查失败")) == null) |
|
AllRGError.Add(r); |
|
}); |
|
} |
|
|
|
/// <summary> |
|
/// 临时用地图斑检查 |
|
/// </summary> |
|
/// <param name="dr"></param> |
|
/// <returns></returns> |
|
public List<RuleEntity> DDTC301() |
|
{ |
|
List<RuleEntity> rstList = new List<RuleEntity>(); |
|
try |
|
{ |
|
string sql = $"SELECT BSM FROM DTBDLTBGX WHERE TBBSM='{TBBSM}' and DDTCBZ='1301'"; |
|
DataTable dataTable = Kingo.RuleCheck.CheckHelper.SQLiteDBOperate.Instance.ExceDataTable(SourcePath, sql); |
|
if (dataTable != null) |
|
{ |
|
foreach (DataRow item in dataTable.Rows) |
|
{ |
|
RuleEntity rst = new RuleEntity(); |
|
rst.CheckObject = "DTBDLTBGX"; |
|
rst.ErrorId = item["BSM"]?.ToString(); |
|
rst.BGFWBSM = item["BSM"]?.ToString(); |
|
rst.ErrorTip = "临时用地图斑上图情况待核查"; |
|
rst.ErrorType = "三类错误(人工核查)"; |
|
rst.RuleCode = "DDTC301"; |
|
rst.RuleName = "临时用地图斑检查"; |
|
rstList.Add(rst); |
|
} |
|
} |
|
AddErrors(rstList); |
|
} |
|
catch (Exception ex) |
|
{ |
|
RuleEntity ruleEntity = new RuleEntity() |
|
{ |
|
CheckObject = "DTBDLTBGX", |
|
ErrorId = "规则检查失败:" + ex.Message, |
|
ErrorTip = "临时用地图斑上图情况待核查", |
|
ErrorType = "三类错误(人工核查)", |
|
RuleCode = "DDTC301", |
|
RuleName = "临时用地图斑检查" |
|
}; |
|
rstList.Add(ruleEntity); |
|
} |
|
return rstList; |
|
} |
|
|
|
/// <summary> |
|
/// 光伏板区图斑检查 |
|
/// </summary> |
|
/// <param name="dr"></param> |
|
/// <returns></returns> |
|
public List<RuleEntity> DDTC302() |
|
{ |
|
List<RuleEntity> rstList = new List<RuleEntity>(); |
|
try |
|
{ |
|
string sql = $"SELECT BSM FROM DTBDLTBGX WHERE TBBSM='{TBBSM}' and DDTCBZ='1302'"; |
|
DataTable dataTable = Kingo.RuleCheck.CheckHelper.SQLiteDBOperate.Instance.ExceDataTable(SourcePath, sql); |
|
if (dataTable != null) |
|
{ |
|
rstList = new List<RuleEntity>(); |
|
foreach (DataRow item in dataTable.Rows) |
|
{ |
|
RuleEntity rst = new RuleEntity(); |
|
rst.CheckObject = "DTBDLTBGX"; |
|
rst.ErrorId = item["BSM"]?.ToString(); |
|
rst.BGFWBSM = item["BSM"]?.ToString(); |
|
rst.ErrorTip = "光伏板区图斑上图情况待核查"; |
|
rst.ErrorType = "三类错误(人工核查)"; |
|
rst.RuleCode = "DDTC302"; |
|
rst.RuleName = "光伏板区图斑检查"; |
|
rstList.Add(rst); |
|
} |
|
} |
|
AddErrors(rstList); |
|
} |
|
catch (Exception ex) |
|
{ |
|
RuleEntity ruleEntity = new RuleEntity() |
|
{ |
|
CheckObject = "DTBDLTBGX", |
|
ErrorId = "规则检查失败:" + ex.Message, |
|
ErrorTip = "光伏板区图斑上图情况待核查", |
|
ErrorType = "三类错误(人工核查)", |
|
RuleCode = "DDTC302", |
|
RuleName = "光伏板区图斑检查" |
|
}; |
|
rstList.Add(ruleEntity); |
|
} |
|
return rstList; |
|
} |
|
|
|
/// <summary> |
|
/// 推土区图斑检查 |
|
/// </summary> |
|
/// <returns></returns> |
|
public List<RuleEntity> DDTC303() |
|
{ |
|
List<RuleEntity> rstList = new List<RuleEntity>(); |
|
try |
|
{ |
|
string sql = $"SELECT BSM FROM DTBDLTBGX WHERE TBBSM='{TBBSM}' and DDTCBZ='1303'"; |
|
DataTable dataTable = Kingo.RuleCheck.CheckHelper.SQLiteDBOperate.Instance.ExceDataTable(SourcePath, sql); |
|
if (dataTable != null) |
|
{ |
|
rstList = new List<RuleEntity>(); |
|
foreach (DataRow item in dataTable.Rows) |
|
{ |
|
RuleEntity rst = new RuleEntity(); |
|
rst.CheckObject = "DTBDLTBGX"; |
|
rst.ErrorId = item["BSM"]?.ToString(); |
|
rst.BGFWBSM = item["BSM"]?.ToString(); |
|
rst.ErrorTip = "推土区图斑上图情况待核查"; |
|
rst.ErrorType = "三类错误(人工核查)"; |
|
rst.RuleCode = "DDTC303"; |
|
rst.RuleName = "推土区图斑检查"; |
|
rstList.Add(rst); |
|
} |
|
} |
|
AddErrors(rstList); |
|
} |
|
catch (Exception ex) |
|
{ |
|
RuleEntity ruleEntity = new RuleEntity() |
|
{ |
|
CheckObject = "DTBDLTBGX", |
|
ErrorId = "规则检查失败:" + ex.Message, |
|
ErrorTip = "推土区图斑上图情况待核查", |
|
ErrorType = "三类错误(人工核查)", |
|
RuleCode = "DDTC303", |
|
RuleName = "推土区图斑检查", |
|
}; |
|
rstList.Add(ruleEntity); |
|
} |
|
return rstList; |
|
} |
|
|
|
/// <summary> |
|
/// 拆除未尽区图斑检查 |
|
/// </summary> |
|
/// <returns></returns> |
|
public List<RuleEntity> DDTC304() |
|
{ |
|
List<RuleEntity> rstList = new List<RuleEntity>(); |
|
try |
|
{ |
|
string sql = $"SELECT BSM FROM DTBDLTBGX WHERE TBBSM='{TBBSM}' and DDTCBZ='1304'"; |
|
DataTable dataTable = Kingo.RuleCheck.CheckHelper.SQLiteDBOperate.Instance.ExceDataTable(SourcePath, sql); |
|
if (dataTable != null) |
|
{ |
|
rstList = new List<RuleEntity>(); |
|
foreach (DataRow item in dataTable.Rows) |
|
{ |
|
RuleEntity rst = new RuleEntity(); |
|
rst.CheckObject = "DTBDLTBGX"; |
|
rst.ErrorId = item["BSM"]?.ToString(); |
|
rst.BGFWBSM = item["BSM"]?.ToString(); |
|
rst.ErrorTip = "拆除未尽区图斑上图情况待核查"; |
|
rst.ErrorType = "三类错误(人工核查)"; |
|
rst.RuleCode = "DDTC304"; |
|
rst.RuleName = "拆除未尽区图斑检查"; |
|
rstList.Add(rst); |
|
} |
|
} |
|
AddErrors(rstList); |
|
} |
|
catch (Exception ex) |
|
{ |
|
RuleEntity ruleEntity = new RuleEntity() |
|
{ |
|
CheckObject = "DTBDLTBGX", |
|
ErrorId = "规则检查失败:" + ex.Message, |
|
ErrorTip = "拆除未尽区图斑上图情况待核查", |
|
ErrorType = "三类错误(人工核查)", |
|
RuleCode = "DDTC304", |
|
RuleName = "拆除未尽区图斑检查", |
|
}; |
|
rstList.Add(ruleEntity); |
|
} |
|
return rstList; |
|
} |
|
|
|
|
|
/// <summary> |
|
/// 荒草特征图斑检查 |
|
/// </summary> |
|
/// <returns></returns> |
|
public List<RuleEntity> DDTC305() |
|
{ |
|
List<RuleEntity> rstList = new List<RuleEntity>(); |
|
try |
|
{ |
|
string sql = $"SELECT BSM FROM DTBDLTBGX WHERE TBBSM='{TBBSM}' and DDTCBZ in ('1306','1307')"; |
|
DataTable dataTable = Kingo.RuleCheck.CheckHelper.SQLiteDBOperate.Instance.ExceDataTable(SourcePath, sql); |
|
if (dataTable != null) |
|
{ |
|
rstList = new List<RuleEntity>(); |
|
foreach (DataRow item in dataTable.Rows) |
|
{ |
|
RuleEntity rst = new RuleEntity(); |
|
rst.CheckObject = "DTBDLTBGX"; |
|
rst.ErrorId = item["BSM"]?.ToString(); |
|
rst.BGFWBSM = item["BSM"]?.ToString(); |
|
rst.ErrorTip = "荒草特征图斑上图情况待核查"; |
|
rst.ErrorType = "三类错误(人工核查)"; |
|
rst.RuleCode = "DDTC305"; |
|
rst.RuleName = "荒草特征图斑检查"; |
|
rst.RuleContent = "提取图斑“单独图层代码”字段标记为“1306”“1307”的图斑,纳入人工核查。"; |
|
rstList.Add(rst); |
|
} |
|
} |
|
AddErrors(rstList); |
|
} |
|
catch (Exception ex) |
|
{ |
|
RuleEntity ruleEntity = new RuleEntity() |
|
{ |
|
CheckObject = "DTBDLTBGX", |
|
ErrorId = "规则检查失败:" + ex.Message, |
|
ErrorTip = "荒草特征图斑上图情况待核查", |
|
ErrorType = "三类错误(人工核查)", |
|
RuleCode = "DDTC305", |
|
RuleName = "荒草特征图斑检查", |
|
RuleContent = "提取图斑“单独图层代码”字段标记为“1306”“1307”的图斑,纳入人工核查。", |
|
}; |
|
rstList.Add(ruleEntity); |
|
} |
|
return rstList; |
|
} |
|
/// <summary> |
|
/// 翻土特征图斑检查 |
|
/// </summary> |
|
/// <returns></returns> |
|
public List<RuleEntity> DDTC306() |
|
{ |
|
List<RuleEntity> rstList = new List<RuleEntity>(); |
|
try |
|
{ |
|
string sql = $"SELECT BSM FROM DTBDLTBGX WHERE TBBSM='{TBBSM}' and DDTCBZ='1308'"; |
|
DataTable dataTable = Kingo.RuleCheck.CheckHelper.SQLiteDBOperate.Instance.ExceDataTable(SourcePath, sql); |
|
if (dataTable != null) |
|
{ |
|
rstList = new List<RuleEntity>(); |
|
foreach (DataRow item in dataTable.Rows) |
|
{ |
|
RuleEntity rst = new RuleEntity(); |
|
rst.CheckObject = "DTBDLTBGX"; |
|
rst.ErrorId = item["BSM"]?.ToString(); |
|
rst.BGFWBSM = item["BSM"]?.ToString(); |
|
rst.ErrorTip = "翻土特征图斑上图情况待核查"; |
|
rst.ErrorType = "三类错误(人工核查)"; |
|
rst.RuleCode = "DDTC306"; |
|
rst.RuleName = "翻土特征图斑检查"; |
|
rst.RuleContent = "提取图斑“单独图层代码”字段标记为“1308”的图斑,纳入人工核查。"; |
|
rstList.Add(rst); |
|
} |
|
} |
|
AddErrors(rstList); |
|
} |
|
catch (Exception ex) |
|
{ |
|
RuleEntity ruleEntity = new RuleEntity() |
|
{ |
|
CheckObject = "DTBDLTBGX", |
|
ErrorId = "规则检查失败:" + ex.Message, |
|
ErrorTip = "翻土特征图斑上图情况待核查", |
|
ErrorType = "三类错误(人工核查)", |
|
RuleCode = "DDTC306", |
|
RuleName = "翻土特征图斑检查", |
|
RuleContent = "提取图斑“单独图层代码”字段标记为“1308”的图斑,纳入人工核查。", |
|
}; |
|
rstList.Add(ruleEntity); |
|
} |
|
return rstList; |
|
} |
|
/// <summary> |
|
/// 荒草地图斑检查 |
|
/// </summary> |
|
/// <returns></returns> |
|
public List<RuleEntity> HCD001() |
|
{ |
|
List<RuleEntity> rstList = new List<RuleEntity>(); |
|
try |
|
{ |
|
string sql = $"SELECT BSM FROM DTBDLTBGX WHERE TBBSM='{TBBSM}' and DLBM='0404'"; |
|
DataTable dataTable = Kingo.RuleCheck.CheckHelper.SQLiteDBOperate.Instance.ExceDataTable(SourcePath, sql); |
|
if (dataTable != null) |
|
{ |
|
rstList = new List<RuleEntity>(); |
|
foreach (DataRow item in dataTable.Rows) |
|
{ |
|
RuleEntity rst = new RuleEntity(); |
|
rst.CheckObject = "DTBDLTBGX"; |
|
rst.ErrorId = item["BSM"]?.ToString(); |
|
rst.BGFWBSM = item["BSM"]?.ToString(); |
|
rst.ErrorTip = "荒草地图斑上图情况待核查"; |
|
rst.ErrorType = "三类错误(人工核查)"; |
|
rst.RuleCode = "HCD001"; |
|
rst.RuleName = "荒草地图斑检查"; |
|
rstList.Add(rst); |
|
} |
|
} |
|
AddErrors(rstList); |
|
} |
|
catch (Exception ex) |
|
{ |
|
RuleEntity ruleEntity = new RuleEntity() |
|
{ |
|
CheckObject = "DTBDLTBGX", |
|
ErrorId = "规则检查失败:" + ex.Message, |
|
ErrorTip = "荒草地图斑上图情况待核查", |
|
ErrorType = "三类错误(人工核查)", |
|
RuleCode = "HCD001", |
|
RuleName = "荒草地图斑检查", |
|
}; |
|
rstList.Add(ruleEntity); |
|
} |
|
return rstList; |
|
} |
|
/// <summary> |
|
/// 路面范围图斑检查 |
|
/// </summary> |
|
/// <returns></returns> |
|
public List<RuleEntity> DL301() |
|
{ |
|
List<RuleEntity> rstList = new List<RuleEntity>(); |
|
try |
|
{ |
|
string sql = $"SELECT BSM FROM DTBDLTBGX WHERE TBBSM='{TBBSM}' and DDTCBZ='1305'"; |
|
DataTable dataTable = Kingo.RuleCheck.CheckHelper.SQLiteDBOperate.Instance.ExceDataTable(SourcePath, sql); |
|
if (dataTable != null) |
|
{ |
|
rstList = new List<RuleEntity>(); |
|
foreach (DataRow item in dataTable.Rows) |
|
{ |
|
RuleEntity rst = new RuleEntity(); |
|
rst.CheckObject = "DTBDLTBGX"; |
|
rst.ErrorId = item["BSM"]?.ToString(); |
|
rst.BGFWBSM = item["BSM"]?.ToString(); |
|
rst.ErrorTip = "存在路面范围图斑上图情况待核查"; |
|
rst.ErrorType = "三类错误(人工核查)"; |
|
rst.RuleCode = "DL301"; |
|
rst.RuleName = "路面范围图斑检查"; |
|
rstList.Add(rst); |
|
} |
|
} |
|
AddErrors(rstList); |
|
} |
|
catch (Exception ex) |
|
{ |
|
RuleEntity ruleEntity = new RuleEntity() |
|
{ |
|
CheckObject = "DTBDLTBGX", |
|
ErrorId = "规则检查失败:" + ex.Message, |
|
ErrorTip = "存在路面范围图斑上图情况待核查", |
|
ErrorType = "三类错误(人工核查)", |
|
RuleCode = "DL301", |
|
RuleName = "路面范围图斑检查", |
|
}; |
|
rstList.Add(ruleEntity); |
|
} |
|
return rstList; |
|
} |
|
|
|
/// <summary> |
|
/// 一般道路图斑检查 |
|
/// </summary> |
|
/// <returns></returns> |
|
public List<RuleEntity> DL302() |
|
{ |
|
List<RuleEntity> rstList = new List<RuleEntity>(); |
|
try |
|
{ |
|
string sql = $"SELECT BSM FROM DTBDLTBGX WHERE TBBSM='{TBBSM}' and (DDTCBZ NOT IN ('1301','1302','1303','1304','1305') OR DDTCBZ IS NULL) AND DLBM IN ('1001','1002','1003','1004','1004A','1006')"; |
|
DataTable dataTable = Kingo.RuleCheck.CheckHelper.SQLiteDBOperate.Instance.ExceDataTable(SourcePath, sql); |
|
if (dataTable != null) |
|
{ |
|
rstList = new List<RuleEntity>(); |
|
foreach (DataRow item in dataTable.Rows) |
|
{ |
|
RuleEntity rst = new RuleEntity(); |
|
rst.CheckObject = "DTBDLTBGX"; |
|
rst.ErrorId = item["BSM"]?.ToString(); |
|
rst.BGFWBSM = item["BSM"]?.ToString(); |
|
rst.ErrorTip = "公路图斑和铁路图斑上图情况待核查"; |
|
rst.ErrorType = "三类错误(人工核查)"; |
|
rst.RuleCode = "DL302"; |
|
rst.RuleName = "一般道路图斑检查"; |
|
rstList.Add(rst); |
|
} |
|
} |
|
AddErrors(rstList); |
|
} |
|
catch (Exception ex) |
|
{ |
|
RuleEntity ruleEntity = new RuleEntity() |
|
{ |
|
CheckObject = "DTBDLTBGX", |
|
ErrorId = "规则检查失败:" + ex.Message, |
|
ErrorTip = "公路图斑和铁路图斑上图情况待核查", |
|
ErrorType = "三类错误(人工核查)", |
|
RuleCode = "DL302", |
|
RuleName = "一般道路图斑检查", |
|
}; |
|
rstList.Add(ruleEntity); |
|
} |
|
return rstList; |
|
} |
|
|
|
public List<RuleEntity> DL303() |
|
{ |
|
List<RuleEntity> rstList = new List<RuleEntity>(); |
|
try |
|
{ |
|
string sql = $"SELECT BSM FROM DTBDLTBGX WHERE TBBSM='{TBBSM}' and (DDTCBZ NOT IN ('1301','1302','1303','1304','1305') OR DDTCBZ IS NULL) AND DLBM IN ('1001A','1002A','1003A')"; |
|
DataTable dataTable = Kingo.RuleCheck.CheckHelper.SQLiteDBOperate.Instance.ExceDataTable(SourcePath, sql); |
|
if (dataTable != null) |
|
{ |
|
rstList = new List<RuleEntity>(); |
|
foreach (DataRow item in dataTable.Rows) |
|
{ |
|
RuleEntity rst = new RuleEntity(); |
|
rst.CheckObject = "DTBDLTBGX"; |
|
rst.ErrorId = item["BSM"]?.ToString(); |
|
rst.BGFWBSM = item["BSM"]?.ToString(); |
|
rst.ErrorTip = "道路附属设施图斑上图情况待核查"; |
|
rst.ErrorType = "三类错误(人工核查)"; |
|
rst.RuleCode = "DL303"; |
|
rst.RuleName = "一般道路图斑检查"; |
|
rstList.Add(rst); |
|
} |
|
} |
|
AddErrors(rstList); |
|
} |
|
catch (Exception ex) |
|
{ |
|
RuleEntity ruleEntity = new RuleEntity() |
|
{ |
|
CheckObject = "DTBDLTBGX", |
|
ErrorId = "规则检查失败:" + ex.Message, |
|
ErrorTip = "道路附属设施图斑上图情况待核查", |
|
ErrorType = "三类错误(人工核查)", |
|
RuleCode = "DL303", |
|
RuleName = "一般道路图斑检查" |
|
}; |
|
rstList.Add(ruleEntity); |
|
} |
|
return rstList; |
|
} |
|
|
|
/// <summary> |
|
/// 耕地升级图斑检查 |
|
/// </summary> |
|
/// <returns></returns> |
|
public List<RuleEntity> GD301() |
|
{ |
|
List<RuleEntity> rstList = new List<RuleEntity>(); |
|
try |
|
{ |
|
string sql = $"SELECT BSM FROM DTBDLTBGX A LEFT JOIN (SELECT BGHTBBSM,SUM(TBBGMJ) AS BGMJ FROM DTBDLTBGXGC WHERE ((BGQDLBM='0102' OR BGQDLBM='0103') AND BGHDLBM='0101') OR (BGQDLBM='0103' AND BGHDLBM='0102') GROUP BY BGHTBBSM ) B ON A.BSM=B.BGHTBBSM WHERE A.TBBSM='{TBBSM}' and ((A.DDTCBZ NOT IN ('1301','1302','1303','1304','1306','1307','1308') OR DDTCBZ IS NULL) OR A.DDTCBZ IS NULL) AND A.ZZSXDM<>'WG' AND A.DLBM IN ({DLParams.gd_dlbms}) AND (B.BGMJ/A.TBMJ>0.3 OR B.BGMJ>2000)"; |
|
DataTable dataTable = Kingo.RuleCheck.CheckHelper.SQLiteDBOperate.Instance.ExceDataTable(SourcePath, sql); |
|
if (dataTable != null) |
|
{ |
|
rstList = new List<RuleEntity>(); |
|
foreach (DataRow item in dataTable.Rows) |
|
{ |
|
RuleEntity rst = new RuleEntity(); |
|
rst.CheckObject = "DTBDLTBGX"; |
|
rst.ErrorId = item["BSM"]?.ToString(); |
|
rst.BGFWBSM = item["BSM"]?.ToString(); |
|
rst.ErrorTip = "发生耕地升级的图斑上图情况待核查"; |
|
rst.ErrorType = "三类错误(人工核查)"; |
|
rst.RuleCode = "GD301"; |
|
rst.RuleName = "耕地升级图斑检查"; |
|
rstList.Add(rst); |
|
} |
|
} |
|
AddErrors(rstList); |
|
} |
|
catch (Exception ex) |
|
{ |
|
RuleEntity ruleEntity = new RuleEntity() |
|
{ |
|
ErrorId = "规则检查失败:" + ex.Message, |
|
CheckObject = "DTBDLTBGX", |
|
ErrorTip = "发生耕地升级的图斑上图情况待核查", |
|
ErrorType = "三类错误(人工核查)", |
|
RuleCode = "GD301", |
|
RuleName = "耕地升级图斑检查", |
|
}; |
|
rstList.Add(ruleEntity); |
|
} |
|
return rstList; |
|
} |
|
|
|
/// <summary> |
|
/// 耕地降级图斑检查 |
|
/// </summary> |
|
/// <returns></returns> |
|
public List<RuleEntity> GD302() |
|
{ |
|
List<RuleEntity> rstList = new List<RuleEntity>(); |
|
try |
|
{ |
|
string sql = $"SELECT BSM FROM DTBDLTBGX A LEFT JOIN (SELECT BGHTBBSM,SUM(TBBGMJ) AS BGMJ FROM DTBDLTBGXGC WHERE ((BGHDLBM='0102' OR BGHDLBM='0103') AND BGQDLBM='0101') OR (BGQDLBM='0102' AND BGHDLBM='0103') GROUP BY BGHTBBSM ) B ON A.BSM=B.BGHTBBSM WHERE A.TBBSM='{TBBSM}' and ((A.DDTCBZ NOT IN ('1301','1302','1303','1304','1306','1307','1308') OR DDTCBZ IS NULL) OR A.DDTCBZ IS NULL) AND A.ZZSXDM<>'WG' AND A.DLBM IN ({DLParams.gd_dlbms}) AND (B.BGMJ/A.TBMJ>0.3 OR B.BGMJ>2000)"; |
|
DataTable dataTable = Kingo.RuleCheck.CheckHelper.SQLiteDBOperate.Instance.ExceDataTable(SourcePath, sql); |
|
if (dataTable != null) |
|
{ |
|
rstList = new List<RuleEntity>(); |
|
foreach (DataRow item in dataTable.Rows) |
|
{ |
|
RuleEntity rst = new RuleEntity(); |
|
rst.CheckObject = "DTBDLTBGX"; |
|
rst.ErrorId = item["BSM"]?.ToString(); |
|
rst.BGFWBSM = item["BSM"]?.ToString(); |
|
rst.ErrorTip = "发生耕地降低的图斑上图情况待核查"; |
|
rst.ErrorType = "三类错误(人工核查)"; |
|
rst.RuleCode = "GD302"; |
|
rst.RuleName = "耕地降级图斑检查"; |
|
rstList.Add(rst); |
|
} |
|
} |
|
AddErrors(rstList); |
|
} |
|
catch (Exception ex) |
|
{ |
|
RuleEntity ruleEntity = new RuleEntity() |
|
{ |
|
CheckObject = "DTBDLTBGX", |
|
ErrorId = "规则检查失败:" + ex.Message, |
|
ErrorTip = "发生耕地降低的图斑上图情况待核查", |
|
ErrorType = "三类错误(人工核查)", |
|
RuleCode = "GD302", |
|
RuleName = "耕地降级图斑检查", |
|
}; |
|
rstList.Add(ruleEntity); |
|
} |
|
return rstList; |
|
} |
|
|
|
|
|
/// <summary> |
|
/// 一般耕地图斑检查 |
|
/// </summary> |
|
/// <returns></returns> |
|
public List<RuleEntity> GD303() |
|
{ |
|
List<RuleEntity> rstList = new List<RuleEntity>(); |
|
try |
|
{ |
|
string sql = $"SELECT * FROM DTBDLTBGX WHERE TBBSM='{TBBSM}' and DLBM IN ({DLParams.gd_dlbms}) AND ZZSXDM<>'WG' "; |
|
DataTable dataTable = Kingo.RuleCheck.CheckHelper.SQLiteDBOperate.Instance.ExceDataTable(SourcePath, sql); |
|
if (dataTable != null) |
|
{ |
|
rstList = new List<RuleEntity>(); |
|
foreach (DataRow item in dataTable.Rows) |
|
{ |
|
RuleEntity rst = new RuleEntity(); |
|
rst.CheckObject = "DTBDLTBGX"; |
|
rst.ErrorId = item["BSM"]?.ToString(); |
|
rst.BGFWBSM = item["BSM"]?.ToString(); |
|
rst.ErrorTip = "一般耕地图斑上图情况待核查"; |
|
rst.ErrorType = "三类错误(人工核查)"; |
|
rst.RuleCode = "GD303"; |
|
rst.RuleName = "一般耕地图斑检查"; |
|
rstList.Add(rst); |
|
} |
|
} |
|
AddErrors(rstList); |
|
} |
|
catch (Exception ex) |
|
{ |
|
RuleEntity ruleEntity = new RuleEntity() |
|
{ |
|
CheckObject = "DTBDLTBGX", |
|
ErrorTip = "一般耕地图斑上图情况待核查", |
|
ErrorType = "三类错误(人工核查)", |
|
RuleCode = "GD303", |
|
RuleName = "一般耕地图斑检查", |
|
ErrorId = "规则检查失败:" + ex.Message, |
|
}; |
|
rstList.Add(ruleEntity); |
|
} |
|
return rstList; |
|
} |
|
|
|
/// <summary> |
|
/// 撂荒耕地上图检查 |
|
/// </summary> |
|
/// <returns></returns> |
|
public List<RuleEntity> GD304() |
|
{ |
|
List<RuleEntity> rstList = new List<RuleEntity>(); |
|
return rstList; |
|
try |
|
{ |
|
string sql = $"SELECT BSM FROM DTBDLTBGX WHERE TBBSM='{TBBSM}' and DLBM IN ({DLParams.gd_dlbms}) AND ZZSXDM='WG' AND (DDTCBZ NOT IN ('1301','1302','1303','1304') OR DDTCBZ IS NULL) "; |
|
//待实现排除 不满足GD101规则图斑 |
|
DataTable dataTable = Kingo.RuleCheck.CheckHelper.SQLiteDBOperate.Instance.ExceDataTable(SourcePath, sql); |
|
if (dataTable != null) |
|
{ |
|
rstList = new List<RuleEntity>(); |
|
foreach (DataRow item in dataTable.Rows) |
|
{ |
|
RuleEntity rst = new RuleEntity(); |
|
rst.CheckObject = "DTBDLTBGX"; |
|
rst.ErrorId = item["BSM"]?.ToString(); |
|
rst.BGFWBSM = item["BSM"]?.ToString(); |
|
rst.ErrorTip = "撂荒耕地上图情况待核查"; |
|
rst.ErrorType = "三类错误(人工核查)"; |
|
rst.RuleCode = "GD304"; |
|
rst.RuleName = "撂荒耕地上图检查"; |
|
rstList.Add(rst); |
|
} |
|
} |
|
AddErrors(rstList); |
|
} |
|
catch (Exception ex) |
|
{ |
|
RuleEntity ruleEntity = new RuleEntity() |
|
{ |
|
ErrorId = "规则检查失败:" + ex.Message, |
|
CheckObject = "DTBDLTBGX", |
|
ErrorTip = "撂荒耕地上图情况待核查", |
|
ErrorType = "三类错误(人工核查)", |
|
RuleCode = "GD304", |
|
RuleName = "撂荒耕地上图检查", |
|
}; |
|
rstList.Add(ruleEntity); |
|
} |
|
return rstList; |
|
} |
|
|
|
|
|
///// <summary> |
|
///// 荒草地上图检查 |
|
///// </summary> |
|
///// <returns></returns> |
|
//public List<RuleEntity> GD305() |
|
//{ |
|
// List<RuleEntity> rstList = new List<RuleEntity>(); |
|
// try |
|
// { |
|
// string sql = $"SELECT BSM FROM DTBDLTBGX WHERE TBBSM='{TBBSM}' and (DDTCBZ NOT IN ('1301','1302','1303','1304') OR DDTCBZ IS NULL) AND DLBM='0404' AND (ZZSXDM IS NULL OR ZZSXDM='') "; |
|
// //待实现排除 不满足GD102规则图斑 |
|
// DataTable dataTable = Kingo.RuleCheck.CheckHelper.SQLiteDBOperate.Instance.ExceDataTable(SourcePath, sql); |
|
// if (dataTable != null) |
|
// { |
|
// rstList = new List<RuleEntity>(); |
|
// foreach (DataRow item in dataTable.Rows) |
|
// { |
|
// RuleEntity rst = new RuleEntity(); |
|
// rst.CheckObject = "DTBDLTBGX"; |
|
// rst.ErrorId = item["BSM"]?.ToString(); |
|
// rst.BGFWBSM = item["BSM"]?.ToString(); |
|
// rst.ErrorTip = "荒草地地上图情况待核查"; |
|
// rst.ErrorType = "三类错误(人工核查)"; |
|
// rst.RuleCode = "GD305"; |
|
// rst.RuleName = "荒草地上图检查"; |
|
// rstList.Add(rst); |
|
// } |
|
// } |
|
// AddErrors(rstList); |
|
// } |
|
// catch (Exception ex) |
|
// { |
|
// RuleEntity ruleEntity = new RuleEntity() |
|
// { |
|
// CheckObject = "DTBDLTBGX", |
|
// ErrorTip = "荒草地地上图情况待核查", |
|
// ErrorType = "三类错误(人工核查)", |
|
// RuleCode = "GD305", |
|
// RuleName = "荒草地上图检查", |
|
// ErrorId = "规则检查失败:" + ex.Message, |
|
// }; |
|
// rstList.Add(ruleEntity); |
|
// } |
|
// return rstList; |
|
//} |
|
|
|
public List<RuleEntity> SX301() |
|
{ |
|
List<RuleEntity> rstList = new List<RuleEntity>(); |
|
try |
|
{ |
|
string sql = $"SELECT BSM FROM DTBDLTBGX WHERE TBBSM='{TBBSM}' and (DDTCBZ NOT IN ('1301','1302','1303','1304','1306','1307','1308') OR DDTCBZ IS NULL) AND (DLBM LIKE '02%' OR DLBM in ('0301','0301K','0302','0302K','0305','0307','0307K','0403K','0404A','1104','1104A','1104K')) AND (ZZSXDM='' OR ZZSXDM IS NULL) AND TBXHDM NOT IN ('LQYD')"; |
|
DataTable dataTable = Kingo.RuleCheck.CheckHelper.SQLiteDBOperate.Instance.ExceDataTable(SourcePath, sql); |
|
if (dataTable != null) |
|
{ |
|
rstList = new List<RuleEntity>(); |
|
foreach (DataRow item in dataTable.Rows) |
|
{ |
|
RuleEntity rst = new RuleEntity(); |
|
rst.CheckObject = "DTBDLTBGX"; |
|
rst.ErrorId = item["BSM"]?.ToString(); |
|
rst.BGFWBSM = item["BSM"]?.ToString(); |
|
rst.ErrorTip = "恢复属性为空的【园地/林地/草地/坑塘水面】地类上图情况待核查"; |
|
rst.ErrorType = "三类错误(人工核查)"; |
|
rst.RuleCode = "SX301"; |
|
rst.RuleName = "涉及标注恢复属性图斑上图检查"; |
|
rstList.Add(rst); |
|
} |
|
} |
|
AddErrors(rstList); |
|
} |
|
catch (Exception ex) |
|
{ |
|
RuleEntity ruleEntity = new RuleEntity() |
|
{ |
|
CheckObject = "DTBDLTBGX", |
|
ErrorTip = "恢复属性为空的【园地/林地/草地/坑塘水面】地类上图情况待核查", |
|
ErrorType = "三类错误(人工核查)", |
|
RuleCode = "SX301", |
|
RuleName = "涉及标注恢复属性图斑上图检查", |
|
ErrorId = "规则检查失败:" + ex.Message, |
|
}; |
|
rstList.Add(ruleEntity); |
|
} |
|
return rstList; |
|
} |
|
|
|
public List<RuleEntity> SX302() |
|
{ |
|
List<RuleEntity> rstList = new List<RuleEntity>(); |
|
try |
|
{ |
|
string sql = $"SELECT BSM FROM DTBDLTBGX WHERE TBBSM='{TBBSM}' and (DDTCBZ NOT IN ('1301','1302','1303','1304','1306','1307','1308') OR DDTCBZ IS NULL) AND (DLBM LIKE '02%' OR DLBM in ('0301','0301K','0302','0302K','0305','0307','0307K','0403K','0404A','1104','1104A','1104K')) AND ZZSXDM='JKHF'"; |
|
DataTable dataTable = Kingo.RuleCheck.CheckHelper.SQLiteDBOperate.Instance.ExceDataTable(SourcePath, sql); |
|
if (dataTable != null) |
|
{ |
|
rstList = new List<RuleEntity>(); |
|
foreach (DataRow item in dataTable.Rows) |
|
{ |
|
RuleEntity rst = new RuleEntity(); |
|
rst.CheckObject = "DTBDLTBGX"; |
|
rst.ErrorId = item["BSM"]?.ToString(); |
|
rst.BGFWBSM = item["BSM"]?.ToString(); |
|
rst.ErrorTip = "恢复属性为即可恢复的【园地/林地/草地/坑塘水面】上图情况待核查"; |
|
rst.ErrorType = "三类错误(人工核查)"; |
|
rst.RuleCode = "SX302"; |
|
rst.RuleName = "涉及标注恢复属性图斑属性检查"; |
|
rstList.Add(rst); |
|
} |
|
} |
|
AddErrors(rstList); |
|
} |
|
catch (Exception ex) |
|
{ |
|
RuleEntity ruleEntity = new RuleEntity() |
|
{ |
|
ErrorId = "规则检查失败:" + ex.Message, |
|
CheckObject = "DTBDLTBGX", |
|
ErrorTip = "恢复属性为即可恢复的【园地/林地/草地/坑塘水面】上图情况待核查", |
|
ErrorType = "三类错误(人工核查)", |
|
RuleCode = "SX302", |
|
RuleName = "涉及标注恢复属性图斑属性检查", |
|
}; |
|
rstList.Add(ruleEntity); |
|
} |
|
return rstList; |
|
} |
|
|
|
public List<RuleEntity> SX303() |
|
{ |
|
List<RuleEntity> rstList = new List<RuleEntity>(); |
|
try |
|
{ |
|
string sql = $"SELECT BSM FROM DTBDLTBGX WHERE TBBSM='{TBBSM}' and (DDTCBZ NOT IN ('1301','1302','1303','1304','1306','1307','1308') OR DDTCBZ IS NULL) AND (DLBM LIKE '02%' OR DLBM in ('0301','0301K','0302','0302K','0305','0307','0307K','0403K','0404A','1104','1104A','1104K')) AND ZZSXDM='GCHF' "; |
|
DataTable dataTable = Kingo.RuleCheck.CheckHelper.SQLiteDBOperate.Instance.ExceDataTable(SourcePath, sql); |
|
if (dataTable != null) |
|
{ |
|
rstList = new List<RuleEntity>(); |
|
foreach (DataRow item in dataTable.Rows) |
|
{ |
|
RuleEntity rst = new RuleEntity(); |
|
rst.CheckObject = "DTBDLTBGX"; |
|
rst.ErrorId = item["BSM"]?.ToString(); |
|
rst.BGFWBSM = item["BSM"]?.ToString(); |
|
rst.ErrorTip = "恢复属性为工程恢复的【园地/林地/草地/坑塘水面】上图情况待核查"; |
|
rst.ErrorType = "三类错误(人工核查)"; |
|
rst.RuleCode = "SX303"; |
|
rst.RuleName = "涉及标注恢复属性图斑属性检查"; |
|
rstList.Add(rst); |
|
} |
|
} |
|
AddErrors(rstList); |
|
} |
|
catch (Exception ex) |
|
{ |
|
RuleEntity ruleEntity = new RuleEntity() |
|
{ |
|
CheckObject = "DTBDLTBGX", |
|
ErrorTip = "恢复属性为工程恢复的【园地/林地/草地/坑塘水面】上图情况待核查", |
|
ErrorType = "三类错误(人工核查)", |
|
RuleCode = "SX303", |
|
RuleName = "涉及标注恢复属性图斑属性检查", |
|
ErrorId = "规则检查失败:" + ex.Message, |
|
}; |
|
rstList.Add(ruleEntity); |
|
} |
|
return rstList; |
|
} |
|
|
|
|
|
/// <summary> |
|
/// 建设用地图斑上图检查(不包括空闲地) |
|
/// </summary> |
|
/// <returns></returns> |
|
public List<RuleEntity> JSYD301() |
|
{ |
|
List<RuleEntity> rstList = new List<RuleEntity>(); |
|
try |
|
{ |
|
string sql = $"SELECT BSM FROM DTBDLTBGX WHERE TBBSM='{TBBSM}' and DLBM IN ({DLParams.jsyd_dlbms}) AND DLBM<>'1201' AND (DDTCBZ NOT IN ('1301','1302','1303','1304','1305') OR DDTCBZ IS NULL) "; |
|
DataTable dataTable = Kingo.RuleCheck.CheckHelper.SQLiteDBOperate.Instance.ExceDataTable(SourcePath, sql); |
|
if (dataTable != null) |
|
{ |
|
rstList = new List<RuleEntity>(); |
|
foreach (DataRow item in dataTable.Rows) |
|
{ |
|
RuleEntity rst = new RuleEntity(); |
|
rst.CheckObject = "DTBDLTBGX"; |
|
rst.ErrorId = item["BSM"]?.ToString(); |
|
rst.BGFWBSM = item["BSM"]?.ToString(); |
|
rst.ErrorTip = "建设用地地类上图待核查"; |
|
rst.ErrorType = "三类错误(人工核查)"; |
|
rst.RuleCode = "JSYD301"; |
|
rst.RuleName = "建设用地图斑上图检查(不包括空闲地)"; |
|
rstList.Add(rst); |
|
} |
|
} |
|
AddErrors(rstList); |
|
} |
|
catch (Exception ex) |
|
{ |
|
RuleEntity ruleEntity = new RuleEntity() |
|
{ |
|
ErrorId = "规则检查失败:" + ex.Message, |
|
CheckObject = "DTBDLTBGX", |
|
ErrorTip = "建设用地地类上图待核查", |
|
ErrorType = "三类错误(人工核查)", |
|
RuleCode = "JSYD301", |
|
RuleName = "建设用地图斑上图检查(不包括空闲地)", |
|
}; |
|
rstList.Add(ruleEntity); |
|
} |
|
return rstList; |
|
} |
|
|
|
/// <summary> |
|
/// 空闲地图斑上图检查 |
|
/// </summary> |
|
/// <returns></returns> |
|
public List<RuleEntity> JSYD302() |
|
{ |
|
List<RuleEntity> rstList = new List<RuleEntity>(); |
|
try |
|
{ |
|
string sql = $"SELECT BSM FROM DTBDLTBGX WHERE TBBSM='{TBBSM}' and DLBM ='1201' AND (DDTCBZ NOT IN ('1301','1302','1303','1304') OR DDTCBZ IS NULL) "; |
|
DataTable dataTable = Kingo.RuleCheck.CheckHelper.SQLiteDBOperate.Instance.ExceDataTable(SourcePath, sql); |
|
if (dataTable != null) |
|
{ |
|
rstList = new List<RuleEntity>(); |
|
foreach (DataRow item in dataTable.Rows) |
|
{ |
|
RuleEntity rst = new RuleEntity(); |
|
rst.CheckObject = "DTBDLTBGX"; |
|
rst.ErrorId = item["BSM"]?.ToString(); |
|
rst.BGFWBSM = item["BSM"]?.ToString(); |
|
rst.ErrorTip = "空闲地上图待核查"; |
|
rst.ErrorType = "三类错误(人工核查)"; |
|
rst.RuleCode = "JSYD302"; |
|
rst.RuleName = "空闲地图斑上图检查"; |
|
rstList.Add(rst); |
|
} |
|
} |
|
AddErrors(rstList); |
|
} |
|
catch (Exception ex) |
|
{ |
|
RuleEntity ruleEntity = new RuleEntity() |
|
{ |
|
ErrorId = "规则检查失败:" + ex.Message, |
|
CheckObject = "DTBDLTBGX", |
|
ErrorTip = "空闲地上图待核查", |
|
ErrorType = "三类错误(人工核查)", |
|
RuleCode = "JSYD302", |
|
RuleName = "空闲地图斑上图检查" |
|
}; |
|
rstList.Add(ruleEntity); |
|
} |
|
return rstList; |
|
} |
|
|
|
/// <summary> |
|
/// 设施农用地图斑上图检查 |
|
/// </summary> |
|
/// <returns></returns> |
|
public List<RuleEntity> JSYD303() |
|
{ |
|
List<RuleEntity> rstList = new List<RuleEntity>(); |
|
try |
|
{ |
|
string sql = $"SELECT BSM FROM DTBDLTBGX WHERE TBBSM='{TBBSM}' and DLBM ='1202' AND (DDTCBZ NOT IN ('1301','1302','1303','1304') OR DDTCBZ IS NULL) "; |
|
DataTable dataTable = Kingo.RuleCheck.CheckHelper.SQLiteDBOperate.Instance.ExceDataTable(SourcePath, sql); |
|
if (dataTable != null) |
|
{ |
|
rstList = new List<RuleEntity>(); |
|
foreach (DataRow item in dataTable.Rows) |
|
{ |
|
RuleEntity rst = new RuleEntity(); |
|
rst.CheckObject = "DTBDLTBGX"; |
|
rst.ErrorId = item["BSM"]?.ToString(); |
|
rst.BGFWBSM = item["BSM"]?.ToString(); |
|
rst.ErrorTip = "设施农用地上图待核查"; |
|
rst.ErrorType = "三类错误(人工核查)"; |
|
rst.RuleCode = "JSYD303"; |
|
rst.RuleName = "设施农用地图斑上图检查"; |
|
rstList.Add(rst); |
|
} |
|
} |
|
AddErrors(rstList); |
|
} |
|
catch (Exception ex) |
|
{ |
|
RuleEntity ruleEntity = new RuleEntity() |
|
{ |
|
ErrorId = "规则检查失败:" + ex.Message, |
|
CheckObject = "DTBDLTBGX", |
|
ErrorTip = "设施农用地上图待核查", |
|
ErrorType = "三类错误(人工核查)", |
|
RuleCode = "JSYD303", |
|
RuleName = "设施农用地图斑上图检查", |
|
}; |
|
rstList.Add(ruleEntity); |
|
} |
|
return rstList; |
|
} |
|
|
|
/// <summary> |
|
/// 农用地变未利用地上图检查 |
|
/// </summary> |
|
/// <returns></returns> |
|
public List<RuleEntity> QT301() |
|
{ |
|
List<RuleEntity> rstList = new List<RuleEntity>(); |
|
try |
|
{ |
|
string sql = $"SELECT BSM FROM DTBDLTBGX A LEFT JOIN (SELECT BGHTBBSM,SUM(TBBGMJ) AS BGMJ FROM DTBDLTBGXGC WHERE BGQDLBM IN ({DLParams.nyd_dlbms}) AND BGHDLBM IN ({DLParams.wlyd_dlbms}) GROUP BY BGHTBBSM ) B ON A.BSM=B.BGHTBBSM WHERE A.TBBSM='{TBBSM}' and ((A.DDTCBZ NOT IN ('1301','1302','1303','1304') OR DDTCBZ IS NULL) OR A.DDTCBZ IS NULL) AND A.DLBM IN ({DLParams.wlyd_dlbms}) AND (B.BGMJ/A.TBMJ>0.3 OR B.BGMJ>=600)"; |
|
DataTable dataTable = Kingo.RuleCheck.CheckHelper.SQLiteDBOperate.Instance.ExceDataTable(SourcePath, sql); |
|
if (dataTable != null) |
|
{ |
|
rstList = new List<RuleEntity>(); |
|
foreach (DataRow item in dataTable.Rows) |
|
{ |
|
RuleEntity rst = new RuleEntity(); |
|
rst.CheckObject = "DTBDLTBGX"; |
|
rst.ErrorId = item["BSM"]?.ToString(); |
|
rst.BGFWBSM = item["BSM"]?.ToString(); |
|
rst.ErrorTip = "农用地变未利用地上图情况待核查"; |
|
rst.ErrorType = "三类错误(人工核查)"; |
|
rst.RuleCode = "QT301"; |
|
rst.RuleName = "农用地变未利用地上图检查"; |
|
rstList.Add(rst); |
|
} |
|
} |
|
AddErrors(rstList); |
|
} |
|
catch (Exception ex) |
|
{ |
|
RuleEntity ruleEntity = new RuleEntity() |
|
{ |
|
CheckObject = "DTBDLTBGX", |
|
ErrorTip = "农用地变未利用地上图情况待核查", |
|
ErrorType = "三类错误(人工核查)", |
|
RuleCode = "QT301", |
|
RuleName = "农用地变未利用地上图检查", |
|
ErrorId = "规则检查失败:" + ex.Message, |
|
}; |
|
rstList.Add(ruleEntity); |
|
} |
|
return rstList; |
|
} |
|
|
|
/// <summary> |
|
/// 湿地类图斑上图检查 |
|
/// </summary> |
|
/// <returns></returns> |
|
public List<RuleEntity> QT302() |
|
{ |
|
List<RuleEntity> rstList = new List<RuleEntity>(); |
|
try |
|
{ |
|
string sql = $"SELECT BSM FROM DTBDLTBGX WHERE TBBSM='{TBBSM}' and (DDTCBZ NOT IN ('1301','1302','1303','1304') OR DDTCBZ IS NULL) AND DLBM IN ({DLParams.sd_dlbms}) "; |
|
DataTable dataTable = Kingo.RuleCheck.CheckHelper.SQLiteDBOperate.Instance.ExceDataTable(SourcePath, sql); |
|
if (dataTable != null) |
|
{ |
|
rstList = new List<RuleEntity>(); |
|
foreach (DataRow item in dataTable.Rows) |
|
{ |
|
RuleEntity rst = new RuleEntity(); |
|
rst.CheckObject = "DTBDLTBGX"; |
|
rst.ErrorId = item["BSM"]?.ToString(); |
|
rst.BGFWBSM = item["BSM"]?.ToString(); |
|
rst.ErrorTip = "湿地类图斑上图情况待核查"; |
|
rst.ErrorType = "三类错误(人工核查)"; |
|
rst.RuleCode = "QT302"; |
|
rst.RuleName = "湿地类图斑上图检查"; |
|
rstList.Add(rst); |
|
} |
|
} |
|
AddErrors(rstList); |
|
} |
|
catch (Exception ex) |
|
{ |
|
RuleEntity ruleEntity = new RuleEntity() |
|
{ |
|
CheckObject = "DTBDLTBGX", |
|
ErrorTip = "湿地类图斑上图情况待核查", |
|
ErrorType = "三类错误(人工核查)", |
|
RuleCode = "QT302", |
|
RuleName = "湿地类图斑上图检查", |
|
ErrorId = "规则检查失败:" + ex.Message, |
|
}; |
|
rstList.Add(ruleEntity); |
|
} |
|
return rstList; |
|
} |
|
|
|
/// <summary> |
|
/// 申请灭失图斑检查 |
|
/// </summary> |
|
/// <returns></returns> |
|
public List<RuleEntity> MS001() |
|
{ |
|
List<RuleEntity> rstList = new List<RuleEntity>(); |
|
try |
|
{ |
|
string sql = $"SELECT BSM FROM DTBDLTBGX WHERE TBBSM='{TBBSM}' and DLBM IN ('9903')"; |
|
DataTable dataTable = Kingo.RuleCheck.CheckHelper.SQLiteDBOperate.Instance.ExceDataTable(SourcePath, sql); |
|
if (dataTable != null) |
|
{ |
|
rstList = new List<RuleEntity>(); |
|
foreach (DataRow item in dataTable.Rows) |
|
{ |
|
RuleEntity rst = new RuleEntity(); |
|
rst.CheckObject = "DTBDLTBGX"; |
|
rst.ErrorId = item["BSM"]?.ToString(); |
|
rst.BGFWBSM = item["BSM"]?.ToString(); |
|
rst.ErrorTip = "申请灭失图斑检查"; |
|
rst.ErrorType = "三类错误(人工核查)"; |
|
rst.RuleCode = "MS001"; |
|
rst.RuleName = "申请灭失图斑检查"; |
|
rstList.Add(rst); |
|
} |
|
} |
|
AddErrors(rstList); |
|
} |
|
catch (Exception ex) |
|
{ |
|
RuleEntity ruleEntity = new RuleEntity() |
|
{ |
|
CheckObject = "DTBDLTBGX", |
|
ErrorTip = "申请灭失图斑检查", |
|
ErrorType = "三类错误(人工核查)", |
|
RuleCode = "MS001", |
|
RuleName = "申请灭失图斑检查", |
|
ErrorId = "规则检查失败:" + ex.Message, |
|
}; |
|
rstList.Add(ruleEntity); |
|
} |
|
return rstList; |
|
} |
|
|
|
/// <summary> |
|
/// 界线外图斑检查 |
|
/// </summary> |
|
/// <returns></returns> |
|
public List<RuleEntity> JW001() |
|
{ |
|
List<RuleEntity> rstList = new List<RuleEntity>(); |
|
try |
|
{ |
|
string sql = $"SELECT BSM FROM DTBDLTBGX WHERE TBBSM='{TBBSM}' and DLBM IN ('9902')"; |
|
DataTable dataTable = Kingo.RuleCheck.CheckHelper.SQLiteDBOperate.Instance.ExceDataTable(SourcePath, sql); |
|
if (dataTable != null) |
|
{ |
|
rstList = new List<RuleEntity>(); |
|
foreach (DataRow item in dataTable.Rows) |
|
{ |
|
RuleEntity rst = new RuleEntity(); |
|
rst.CheckObject = "DTBDLTBGX"; |
|
rst.ErrorId = item["BSM"]?.ToString(); |
|
rst.BGFWBSM = item["BSM"]?.ToString(); |
|
rst.ErrorTip = "界线外图斑检查"; |
|
rst.ErrorType = "三类错误(人工核查)"; |
|
rst.RuleCode = "JW001"; |
|
rst.RuleName = "界线外图斑检查"; |
|
rstList.Add(rst); |
|
} |
|
} |
|
AddErrors(rstList); |
|
} |
|
catch (Exception ex) |
|
{ |
|
RuleEntity ruleEntity = new RuleEntity() |
|
{ |
|
CheckObject = "DTBDLTBGX", |
|
ErrorTip = "界线外图斑检查", |
|
ErrorType = "三类错误(人工核查)", |
|
RuleCode = "JW001", |
|
RuleName = "界线外图斑检查", |
|
ErrorId = "规则检查失败:" + ex.Message, |
|
}; |
|
rstList.Add(ruleEntity); |
|
} |
|
return rstList; |
|
} |
|
|
|
/// <summary> |
|
/// 相对于基础库不变图斑检查 |
|
/// </summary> |
|
/// <returns></returns> |
|
public List<RuleEntity> BB001() |
|
{ |
|
List<RuleEntity> rstList = new List<RuleEntity>(); |
|
try |
|
{ |
|
string sql = $"SELECT BSM FROM DTBDLTBGX WHERE TBBSM='{TBBSM}' and DLBM IN ('9904') and (DDTCBZ = '' or DDTCBZ is null) "; |
|
DataTable dataTable = Kingo.RuleCheck.CheckHelper.SQLiteDBOperate.Instance.ExceDataTable(SourcePath, sql); |
|
if (dataTable != null) |
|
{ |
|
rstList = new List<RuleEntity>(); |
|
foreach (DataRow item in dataTable.Rows) |
|
{ |
|
RuleEntity rst = new RuleEntity(); |
|
rst.CheckObject = "DTBDLTBGX"; |
|
rst.ErrorId = item["BSM"]?.ToString(); |
|
rst.BGFWBSM = item["BSM"]?.ToString(); |
|
rst.ErrorTip = "相对于基础库不变图斑检查"; |
|
rst.ErrorType = "三类错误(人工核查)"; |
|
rst.RuleCode = "BB001"; |
|
rst.RuleName = "相对于基础库不变图斑检查"; |
|
rstList.Add(rst); |
|
} |
|
} |
|
AddErrors(rstList); |
|
} |
|
catch (Exception ex) |
|
{ |
|
RuleEntity ruleEntity = new RuleEntity() |
|
{ |
|
CheckObject = "DTBDLTBGX", |
|
ErrorTip = "相对于基础库不变图斑检查", |
|
ErrorType = "三类错误(人工核查)", |
|
RuleCode = "BB001", |
|
RuleName = "相对于基础库不变图斑检查", |
|
ErrorId = "规则检查失败:" + ex.Message, |
|
}; |
|
rstList.Add(ruleEntity); |
|
} |
|
return rstList; |
|
} |
|
|
|
/// <summary> |
|
/// 补充材料图斑检查 |
|
/// </summary> |
|
/// <returns></returns> |
|
public List<RuleEntity> BB002() |
|
{ |
|
List<RuleEntity> rstList = new List<RuleEntity>(); |
|
try |
|
{ |
|
string sql = $"SELECT BSM FROM DTBDLTBGX WHERE TBBSM='{TBBSM}' and DLBM IN ('9905')"; |
|
DataTable dataTable = Kingo.RuleCheck.CheckHelper.SQLiteDBOperate.Instance.ExceDataTable(SourcePath, sql); |
|
if (dataTable != null) |
|
{ |
|
rstList = new List<RuleEntity>(); |
|
foreach (DataRow item in dataTable.Rows) |
|
{ |
|
RuleEntity rst = new RuleEntity(); |
|
rst.CheckObject = "DTBDLTBGX"; |
|
rst.ErrorId = item["BSM"]?.ToString(); |
|
rst.BGFWBSM = item["BSM"]?.ToString(); |
|
rst.ErrorTip = "补充材料图斑检查"; |
|
rst.ErrorType = "三类错误(人工核查)"; |
|
rst.RuleCode = "BB002"; |
|
rst.RuleName = "补充材料图斑检查"; |
|
rstList.Add(rst); |
|
} |
|
} |
|
AddErrors(rstList); |
|
} |
|
catch (Exception ex) |
|
{ |
|
RuleEntity ruleEntity = new RuleEntity() |
|
{ |
|
CheckObject = "DTBDLTBGX", |
|
ErrorTip = "补充材料图斑检查", |
|
ErrorType = "三类错误(人工核查)", |
|
RuleCode = "BB002", |
|
RuleName = "补充材料图斑检查", |
|
ErrorId = "规则检查失败:" + ex.Message, |
|
}; |
|
rstList.Add(ruleEntity); |
|
} |
|
return rstList; |
|
} |
|
|
|
/// <summary> |
|
/// 其他类图斑检查 |
|
/// </summary> |
|
/// <returns></returns> |
|
public List<RuleEntity> QT303() |
|
{ |
|
List<RuleEntity> rstList = new List<RuleEntity>(); |
|
try |
|
{ |
|
string whereSql = string.Join("','", AllRGError.Select(x => x.ErrorId).ToArray()); |
|
string sql = string.IsNullOrEmpty(whereSql) ? $"SELECT BSM FROM DTBDLTBGX where TBBSM='{TBBSM}'" : $"SELECT BSM FROM DTBDLTBGX where TBBSM='{TBBSM}' and bsm not in ('{whereSql}')"; |
|
DataTable dataTable = Kingo.RuleCheck.CheckHelper.SQLiteDBOperate.Instance.ExceDataTable(SourcePath, sql); |
|
if (dataTable != null) |
|
{ |
|
rstList = new List<RuleEntity>(); |
|
foreach (DataRow item in dataTable.Rows) |
|
{ |
|
RuleEntity rst = new RuleEntity(); |
|
rst.CheckObject = "BGFW"; |
|
rst.ErrorId = item["bsm"]?.ToString(); |
|
rst.BGFWBSM = item["BSM"]?.ToString(); |
|
rst.ErrorTip = "其他类图斑待核查"; |
|
rst.ErrorType = "三类错误(人工核查)"; |
|
rst.RuleCode = "QT303"; |
|
rst.RuleName = "其他类图斑检查"; |
|
rstList.Add(rst); |
|
} |
|
} |
|
AddErrors(rstList); |
|
} |
|
catch (Exception ex) |
|
{ |
|
RuleEntity ruleEntity = new RuleEntity() |
|
{ |
|
CheckObject = "BGFW", |
|
ErrorTip = "其他类图斑待核查", |
|
ErrorType = "三类错误(人工核查)", |
|
RuleCode = "QT303", |
|
RuleName = "其他类图斑检查", |
|
ErrorId = "规则检查失败:" + ex.Message, |
|
}; |
|
rstList.Add(ruleEntity); |
|
} |
|
return rstList; |
|
} |
|
} |
|
}
|
|
|