|
@@ -47,7 +47,15 @@ namespace MySystem
|
|
|
for (int i = 0; i < fieldJson.Count; i++)
|
|
|
{
|
|
|
JsonData item = fieldJson[i];
|
|
|
- if(!string.IsNullOrEmpty(item["source_name"].ToString())) QueryField += item["source_name"].ToString() + ",";
|
|
|
+ string source_name = item["source_name"].ToString();
|
|
|
+ if(source_name.StartsWith("v("))
|
|
|
+ {
|
|
|
+ QueryField += source_name.Replace("v(", "").Replace(")", "") + ",";
|
|
|
+ }
|
|
|
+ else
|
|
|
+ {
|
|
|
+ QueryField += source_name + ",";
|
|
|
+ }
|
|
|
}
|
|
|
|
|
|
//构造抓取数据
|
|
@@ -128,10 +136,7 @@ namespace MySystem
|
|
|
for (int i = 0; i < TargetFieldJson.Count; i++)
|
|
|
{
|
|
|
JsonData item = TargetFieldJson[i];
|
|
|
- if(!string.IsNullOrEmpty(item["source_name"].ToString()))
|
|
|
- {
|
|
|
- TargetQueryField += item["name"].ToString() + ",";
|
|
|
- }
|
|
|
+ TargetQueryField += item["name"].ToString() + ",";
|
|
|
}
|
|
|
string insertSql = "";
|
|
|
sql = sql.Replace("${QueryId}$", StartId.ToString());
|
|
@@ -143,14 +148,34 @@ namespace MySystem
|
|
|
for (int i = 0; i < fieldJson.Count; i++)
|
|
|
{
|
|
|
JsonData item = fieldJson[i];
|
|
|
- if(!string.IsNullOrEmpty(item["source_name"].ToString()))
|
|
|
+ string source_name = item["source_name"].ToString();
|
|
|
+ string field_type = item["field_type"].ToString();
|
|
|
+ if(!string.IsNullOrEmpty(source_name))
|
|
|
{
|
|
|
- values += "'" + dr[item["source_name"].ToString()].ToString() + "',";
|
|
|
+ if(source_name.StartsWith("v("))
|
|
|
+ {
|
|
|
+ values += source_name.Replace("v(", "").Replace(")", "") + ",";
|
|
|
+ }
|
|
|
+ else
|
|
|
+ {
|
|
|
+ if(field_type == "int" || field_type == "numeric")
|
|
|
+ {
|
|
|
+ values += "" + dr[source_name].ToString() + ",";
|
|
|
+ }
|
|
|
+ else if(field_type == "datetime")
|
|
|
+ {
|
|
|
+ values += "'" + DateTime.Parse(dr[source_name].ToString()).ToString("yyyy-MM-dd HH:mm:ss") + "',";
|
|
|
+ }
|
|
|
+ else
|
|
|
+ {
|
|
|
+ values += "'" + dr[source_name].ToString() + "',";
|
|
|
+ }
|
|
|
+ }
|
|
|
}
|
|
|
}
|
|
|
insertSql += "insert into u_" + TableName + " (" + TargetQueryField.TrimEnd(',') + ") values (" + values.TrimEnd(',') + ");";
|
|
|
StartId = int.Parse(dr["Id"].ToString());
|
|
|
- CustomerSqlConn.dtable("update " + TableName + " set " + FlagField + "=1 where Id=" + StartId, AppConfig.Base.SourceSqlConnStr);
|
|
|
+ CustomerSqlConn.op("update " + TableName + " set " + FlagField + "=1 where Id=" + StartId, AppConfig.Base.SourceSqlConnStr);
|
|
|
}
|
|
|
var edit = db.SourceData.FirstOrDefault(m => m.Id == source.Id);
|
|
|
if(edit != null)
|
|
@@ -158,7 +183,10 @@ namespace MySystem
|
|
|
edit.QueryId = StartId;
|
|
|
db.SaveChanges();
|
|
|
}
|
|
|
- CustomerSqlConn.op(insertSql, AppConfig.Base.SqlConnStr);
|
|
|
+ if(!string.IsNullOrEmpty(insertSql))
|
|
|
+ {
|
|
|
+ CustomerSqlConn.op(insertSql, AppConfig.Base.SqlConnStr);
|
|
|
+ }
|
|
|
}
|
|
|
db.Dispose();
|
|
|
}
|
|
@@ -173,12 +201,35 @@ namespace MySystem
|
|
|
{
|
|
|
JsonData item = fieldJson[i];
|
|
|
string nullCondition = "";
|
|
|
+ string fieldType = item["field_type"].ToString();
|
|
|
string defaultValue = item["default"].ToString();
|
|
|
if(!string.IsNullOrEmpty(defaultValue))
|
|
|
{
|
|
|
nullCondition = " NOT NULL DEFAULT " + defaultValue;
|
|
|
}
|
|
|
- sql += "`" + item["name"].ToString() + "` varchar(" + item["len"].ToString() + ")" + nullCondition + " COMMENT '" + item["title"].ToString() + "',\n";
|
|
|
+ if(item["pri"].ToString() == "1" && item["name"].ToString() == "id")
|
|
|
+ {
|
|
|
+ sql += "`" + item["name"].ToString() + "` int NOT NULL AUTO_INCREMENT COMMENT '" + item["title"].ToString() + "',\n";
|
|
|
+ }
|
|
|
+ else
|
|
|
+ {
|
|
|
+ if(fieldType == "int")
|
|
|
+ {
|
|
|
+ sql += "`" + item["name"].ToString() + "` int NOT NULL DEFAULT " + defaultValue + " COMMENT '" + item["title"].ToString() + "',\n";
|
|
|
+ }
|
|
|
+ else if(fieldType == "numeric")
|
|
|
+ {
|
|
|
+ sql += "`" + item["name"].ToString() + "` numeric(18,2) NOT NULL DEFAULT " + defaultValue + " COMMENT '" + item["title"].ToString() + "',\n";
|
|
|
+ }
|
|
|
+ else if(fieldType == "datetime")
|
|
|
+ {
|
|
|
+ sql += "`" + item["name"].ToString() + "` datetime COMMENT '" + item["title"].ToString() + "',\n";
|
|
|
+ }
|
|
|
+ else
|
|
|
+ {
|
|
|
+ sql += "`" + item["name"].ToString() + "` " + fieldType + "(" + item["len"].ToString() + ")" + nullCondition + " COMMENT '" + item["title"].ToString() + "',\n";
|
|
|
+ }
|
|
|
+ }
|
|
|
if(item["pri"].ToString() == "1")
|
|
|
{
|
|
|
prikey = item["name"].ToString();
|