@ -1,4 +1,5 @@
using HandyControl.Controls ;
using EncryptFileTool.Entity ;
using HandyControl.Controls ;
using Newtonsoft.Json ;
using Newtonsoft.Json.Converters ;
using SharpDX ;
@ -43,7 +44,7 @@ public class LevelConfigVM : BaseViewModel
private bool _ shapesEnabled = true ;
public bool ShapesEnabled { get { return _ shapesEnabled ; } set { _ shapesEnabled = value ; OnPropertyChanged ( "ShapesEnabled" ) ; } }
Info info = new Info ( ) ;
JsonEntity jsonEntity = new JsonEntity ( ) ;
private string Save_successful_message = MultilingualHelper . getString ( "Save_successful_message" ) ;
private string save_fail_message = MultilingualHelper . getString ( "save_fail_message" ) ;
@ -150,7 +151,7 @@ public class LevelConfigVM : BaseViewModel
foreach ( DataRow columnInfo in gradeList . Rows )
{
// 每一行单元格内数据
var row = standard . Where ( s = > s [ "GRADE_ORDER " ] . ToString ( ) = = columnInfo [ "GRADE_ORDER " ] . ToString ( ) ) . FirstOrDefault ( ) ;
var row = standard . Where ( s = > s [ "GRADE_ID " ] . ToString ( ) = = columnInfo [ "GRADE_ID " ] . ToString ( ) ) . FirstOrDefault ( ) ;
string value = "" ;
if ( rowInfo . Count = = 0 )
{
@ -298,73 +299,42 @@ public class LevelConfigVM : BaseViewModel
public void SaveLevelConfig ( object param )
{
try {
string shapeId = "" ;
string instituteId = "" ;
if ( info ! = null )
string shapeId = jsonEntity . SHAPE_ID ;
string ruleId = jsonEntity . RULE_ID ;
if ( jsonEntity ! = null )
{
// 按照形状名查询形状数据,判断是否有该数据
string shapeSql = $"SELECT * FROM SHAPE WHERE SHAPE_NAME = '{info.SHAPE_NAME }';" ;
string shapeSql = $"SELECT * FROM SHAPE WHERE SHAPE_ID = '{shapeId }';" ;
DataTable shapes = DataBaseHelper . ExecuteQuery ( shapeSql ) ;
// 现存db最大形状id取得
string shapeAllSql = $"SELECT * FROM SHAPE;" ;
DataTable shapeAllInfo = DataBaseHelper . ExecuteQuery ( shapeAllSql ) ;
DataBaseHelper . BeginTransaction ( ) ;
// 形状表判断是否有数据
if ( shapes = = null | | shapes . Rows . Count = = 0 )
{
var id = shapeAllInfo . AsEnumerable ( ) . Max ( r = > r [ "SHAPE_ID" ] ) ;
string maxShapeId = "0" ;
// 数据登录
if ( id ! = null )
{
maxShapeId = id . ToString ( ) ;
}
// 数据登录
int . TryParse ( maxShapeId , out int result ) ;
shapeId = string . Concat ( result + 1 ) ;
string shapeInsertSql = $"INSERT INTO SHAPE (SHAPE_ID,SHAPE_NAME,SHAPE_EN_NAME,GUID)VALUES('{shapeId}','{info.SHAPE_NAME}','{info.SHAPE_EN_NAME}','{Guid.NewGuid().ToString()}');" ;
string shapeInsertSql = $"INSERT INTO SHAPE (SHAPE_ID,SHAPE_NAME,SHAPE_EN_NAME,GUID)VALUES('{shapeId}','{jsonEntity.SHAPE_NAME}','{jsonEntity.SHAPE_EN_NAME}','{Guid.NewGuid().ToString()}');" ;
DataBaseHelper . ExecuteNonQuery ( shapeInsertSql ) ;
}
else
{
// 形状id取得
shapeId = shapes . Rows [ 0 ] [ "SHAPE_ID" ] . ToString ( ) ;
}
// 按照机构名名查询机构数据,判断是否有该数据
string instituteSql = $"SELECT * FROM INSTITUTE WHERE INSTITUTE_NAME = '{info.INSTITUTE_NAME}' AND SHAPE_ID = '{shapeId}';" ;
DataTable institute = DataBaseHelper . ExecuteQuery ( instituteSql ) ;
// 现存db最大机构ID取得
string instituteAllSql = $"SELECT * FROM INSTITUTE WHERE SHAPE_ID = '{shapeId}';" ;
DataTable instituteAllInfo = DataBaseHelper . ExecuteQuery ( instituteAllSql ) ;
string ruleSql = $"SELECT * FROM RULE WHERE RULE_ID = '{ruleId}';" ;
DataTable rule = DataBaseHelper . ExecuteQuery ( ruleSql ) ;
// 机构表判断是否有数据
if ( institut e = = null | | institut e. Rows . Count = = 0 )
if ( rule = = null | | rule . Rows . Count = = 0 )
{
var id = instituteAllInfo . AsEnumerable ( ) . Max ( r = > r [ "INSTITUTE_ID" ] ) ;
string maxInstituteId = "0" ;
// 数据登录
if ( id ! = null ) {
maxInstituteId = id . ToString ( ) ;
}
int . TryParse ( maxInstituteId , out int result ) ;
instituteId = string . Concat ( result + 1 ) ;
string shapeInsertSql = $"INSERT INTO INSTITUTE (INSTITUTE_ID,SHAPE_ID,INSTITUTE_NAME,INSTITUTE_EN_NAME,GUID)VALUES('{instituteId}','{shapeId}','{info.INSTITUTE_NAME}','{info.INSTITUTE_EN_NAME}','{Guid.NewGuid().ToString()}');" ;
string shapeInsertSql = $"INSERT INTO INSTITUTE (RULE_ID,RULE_NAME,RULE_EN_NAME,GUID)VALUES('{ruleId}','{jsonEntity.RULE_NAME}','{jsonEntity.RULE_EN_NAME}','{Guid.NewGuid().ToString()}');" ;
DataBaseHelper . ExecuteNonQuery ( shapeInsertSql ) ;
}
else
{
// 机构ID取得
instituteId = _ instituteId ;
}
// 定级数据登录
string gradeInsSql = "" ;
foreach ( var gradeInfo in info . gradeInfos )
foreach ( var gradeInfo in jsonEntity . gradeInfos )
{
if ( gradeInsSql . Length = = 0 )
{
gradeInsSql + = gradeInfo . getDeleteSql ( shapeId , instituteId ) ;
gradeInsSql + = gradeInfo . getDeleteSql ( ) ;
}
gradeInsSql + = gradeInfo . getInsertSql ( shapeId , instituteId ) ;
gradeInsSql + = gradeInfo . getInsertSql ( ) ;
}
int count = DataBaseHelper . ExecuteNonQuery ( gradeInsSql ) ;
if ( count < 0 )
@ -374,16 +344,32 @@ public class LevelConfigVM : BaseViewModel
}
// 标准数据登录
string standard Sql = "" ;
foreach ( var standardInfo in info . standardInfo s)
string gradeConfig Sql = "" ;
foreach ( var gradeConfig in jsonEntity . GradeConfig s)
{
if ( standard Sql. Length = = 0 )
if ( gradeConfig Sql. Length = = 0 )
{
standardSql + = standardInfo . getDeleteSql ( shapeId , instituteId ) ;
gradeConfigSql + = gradeConfig . getDeleteSql ( ) ;
}
standardSql + = standardInfo . getInsertSql ( shapeId , instituteId ) ;
gradeConfigSql + = gradeConfig . getInsertSql ( ) ;
}
count = DataBaseHelper . ExecuteNonQuery ( standardSql ) ;
foreach ( var gradeConfigDetail in jsonEntity . GradeConfigDetails )
{
if ( gradeConfigSql . Length = = 0 )
{
gradeConfigSql + = gradeConfigDetail . getDeleteSql ( shapeId , ruleId ) ;
}
gradeConfigSql + = gradeConfigDetail . getInsertSql ( ) ;
}
foreach ( var gradeConfigParameter in jsonEntity . GradeConfigParameters )
{
if ( gradeConfigSql . Length = = 0 )
{
gradeConfigSql + = gradeConfigParameter . getDeleteSql ( shapeId , ruleId ) ;
}
gradeConfigSql + = gradeConfigParameter . getInsertSql ( ) ;
}
count = DataBaseHelper . ExecuteNonQuery ( gradeConfigSql ) ;
if ( count < 0 )
{
DataBaseHelper . rollback ( ) ;
@ -391,10 +377,12 @@ public class LevelConfigVM : BaseViewModel
}
DataBaseHelper . commit ( ) ;
Growl . Info ( Save_successful_message ) ;
InstitutesEnabled = true ;
ShapesEnabled = true ;
}
else
{
Growl . Info ( no_data_message ) ;
Growl . ErrorGlobal ( no_data_message ) ;
}
}
catch ( Exception ex ) {
@ -429,52 +417,49 @@ public class LevelConfigVM : BaseViewModel
if ( File . Exists ( filename ) )
{
content = AESHelper . DecryptFile ( filename , "000000" ) ;
info = JsonConvert . DeserializeObject < Info > ( content ) ;
jsonEntity = JsonConvert . DeserializeObject < JsonEntity > ( content ) ;
}
}
if ( info ! = null )
if ( jsonEntity ! = null )
{
// 形状列表重新生成
string shapeSql = $"SELECT * FROM SHAPE WHERE SHAPE_NAME = '{info.SHAPE_NAME }';" ;
string shapeSql = $"SELECT * FROM SHAPE WHERE SHAPE_ID = '{jsonEntity.SHAPE_ID }';" ;
DataTable shapes = DataBaseHelper . ExecuteQuery ( shapeSql ) ;
if ( shapes = = null | | shapes . Rows . Count = = 0 )
{
shapes = new DataTable ( ) ;
shapes . Columns . Add ( "SHAPE_NAME" ) ;
shapes . Columns . Add ( "SHAPE_EN_NAME" ) ;
shapes . Columns . Add ( "SHAPE_ID" ) ;
shapes . Rows . Add ( info . SHAPE_NAME , info . SHAPE_EN_NAME , "" ) ;
Shapes = shapes ;
ShapeId = "" ;
var row = Shapes . NewRow ( ) ;
row [ "SHAPE_ID" ] = jsonEntity . SHAPE_ID ;
row [ "SHAPE_NAME" ] = jsonEntity . SHAPE_NAME ;
row [ "SHAPE_EN_NAME" ] = jsonEntity . SHAPE_EN_NAME ;
Shapes . Rows . Add ( row ) ;
ShapeId = jsonEntity . SHAPE_ID ;
}
else
{
ShapeId = shapes . AsEnumerable ( ) . FirstOrDefault ( ) [ "SHAPE_ID" ] . ToString ( ) ;
ShapeId = shapes . Rows [ 0 ] [ "SHAPE_ID" ] . ToString ( ) ? ? "" ;
}
// 机构列表重新生成
string instituteSql = $"SELECT * FROM INSTITUTE WHERE INSTITUTE_NAME = '{info.INSTITUTE_NAME }';" ;
string instituteSql = $"SELECT * FROM RULE WHERE RULE_ID = '{jsonEntity.RULE_ID }';" ;
DataTable institute = DataBaseHelper . ExecuteQuery ( instituteSql ) ;
if ( institute = = null | | institute . Rows . Count = = 0 )
{
institute = new DataTable ( ) ;
institute . Columns . Add ( "INSTITUTE_NAME" ) ;
institute . Columns . Add ( "INSTITUTE_EN_NAME" ) ;
institute . Columns . Add ( "INSTITUTE_ID" ) ;
institute . Rows . Add ( info . INSTITUTE_NAME , info . INSTITUTE_EN_NAME , "" ) ;
Institutes = institute ;
InstituteId = "" ;
var row = Institutes . NewRow ( ) ;
row [ "RULE_ID" ] = jsonEntity . RULE_ID ;
row [ "RULE_NAME" ] = jsonEntity . RULE_NAME ;
row [ "RULE_EN_NAME" ] = jsonEntity . RULE_EN_NAME ;
Institutes . Rows . Add ( row ) ;
InstituteId = jsonEntity . RULE_ID ;
}
else
{
InstituteId = institute . AsEnumerable ( ) . FirstOrDefault ( ) [ "INSTITUTE_ID" ] . ToString ( ) ;
InstituteId = institute . Rows [ 0 ] [ "RULE_ID" ] . ToString ( ) ? ? "" ;
}
// 表格内容重新生成
string gradeInfosJson = JsonConvert . SerializeObject ( info . gradeInfos ) ;
string gradeInfosJson = JsonConvert . SerializeObject ( jsonEntity . gradeInfos ) ;
DataTable gradeInfos = Common . JsonToDataTable ( gradeInfosJson ) ;
string standardInfosJson = JsonConvert . SerializeObject ( info . standardInfos ) ;
string standardInfosJson = JsonConvert . SerializeObject ( jsonEntity . standardInfos ) ;
DataTable standardInfos = Common . JsonToDataTable ( standardInfosJson ) ;
setStandardList ( gradeInfos , standardInfos ) ;
}
}
@ -503,133 +488,119 @@ public class LevelConfigVM : BaseViewModel
}
}
class Info
{
public string SHAPE_NAME { get ; set ; }
public string SHAPE_EN_NAME { get ; set ; }
public string INSTITUTE_NAME { get ; set ; }
public string INSTITUTE_EN_NAME { get ; set ; }
public List < GradeInfo > gradeInfos { get ; set ; }
public List < StandardInfo > standardInfos { get ; set ; }
}
class GradeInfo
{
public int GRADE_ID { get ; set ; }
public string GRADE_NAME { get ; set ; }
public string GRADE_EN_NAME { get ; set ; }
public string GRADE_EN_S_NAME { get ; set ; }
public int GRADE_ORDER { get ; set ; }
public string getInsertSql ( string shapeId , string instituteId )
{
string insertSql = "INSERT INTO GRADE(" ;
insertSql = insertSql +
"SHAPE_ID" +
",INSTITUTE_ID" +
",GRADE_ID" +
",GRADE_NAME" +
",GRADE_EN_NAME" +
",GRADE_EN_S_NAME" +
",GRADE_ORDER" +
",GUID" ;
insertSql = insertSql + ")VALUES(" ;
insertSql = insertSql +
$"'{shapeId}'" +
$",'{instituteId}'" +
$",'{GRADE_ID}'" +
$",'{GRADE_NAME}'" +
$",'{GRADE_EN_NAME}'" +
$",'{GRADE_EN_S_NAME}'" +
$",'{GRADE_ORDER}'" +
$",'{Guid.NewGuid().ToString()}'" ;
insertSql = insertSql + ");" ;
return insertSql ;
}
public string getDeleteSql ( string shapeId , string instituteId )
{
string deleteSql = $"DELETE FROM GRADE WHERE SHAPE_ID='{shapeId}' AND INSTITUTE_ID='{instituteId}';" ;
return deleteSql ;
}
}
class StandardInfo
{
public int GRADE_ID { get ; set ; }
public int STANDARD_ID { get ; set ; }
public string STANDARD_NAME { get ; set ; }
public string STANDARD_EN_NAME { get ; set ; }
public decimal? STANDARD_MIN { get ; set ; }
public decimal? STANDARD_MAX { get ; set ; }
public string IS_MIN_EXIST { get ; set ; } = "0" ;
public string IS_MAX_EXIST { get ; set ; } = "0" ;
public string UNIT { get ; set ; }
public string MIN_PREFIX { get ; set ; }
public string MIN_SUFFIX { get ; set ; }
public string MAX_PREFIX { get ; set ; }
public string MAX_SUFFIX { get ; set ; }
public string MIN_NULL_REPALCE { get ; set ; } = "←" ;
public string MAX_NULL_REPALCE { get ; set ; } = "→" ;
public int SORT { get ; set ; }
public string getInsertSql ( string shapeId , string instituteId )
{
string insertSql = "INSERT INTO STANDARD(" ;
insertSql = insertSql +
"STANDARD_ID " +
",SHAPE_ID " +
",GRADE_ID " +
",INSTITUTE_ID " +
",STANDARD_NAME " +
",STANDARD_EN_NAME " +
",STANDARD_MIN " +
",STANDARD_MAX " +
",IS_MIN_EXIST " +
",IS_MAX_EXIST " +
",SORT " +
",UNIT " +
",MAX_NULL_REPALCE " +
",MIN_PREFIX " +
",MIN_SUFFIX " +
",MAX_PREFIX " +
",MAX_SUFFIX " +
",MIN_NULL_REPALCE " +
",GUID " ;
insertSql = insertSql + ")VALUES(" ;
insertSql = insertSql +
$"'{STANDARD_ID}'" +
$",'{shapeId}'" +
$",'{GRADE_ID}'" +
$",'{instituteId}'" +
$",'{STANDARD_NAME}'" +
$",'{STANDARD_EN_NAME}'" +
$",{(STANDARD_MIN != null ? STANDARD_MIN.ToString() : " null ")}" +
$",{(STANDARD_MAX != null ? STANDARD_MAX.ToString() : " null ")}" +
$",'{IS_MIN_EXIST}'" +
$",'{IS_MAX_EXIST}'" +
$",'{SORT}'" +
$",'{UNIT}'" +
$",'{MAX_NULL_REPALCE}'" +
$",'{MIN_PREFIX}'" +
$",'{MIN_SUFFIX}'" +
$",'{MAX_PREFIX}'" +
$",'{MAX_SUFFIX}'" +
$",'{MIN_NULL_REPALCE}'" +
$",'{Guid.NewGuid().ToString()}'" ;
insertSql = insertSql + ");" ;
return insertSql ;
}
public string getDeleteSql ( string shapeId , string instituteId )
{
string deleteSql = $"DELETE FROM STANDARD WHERE SHAPE_ID='{shapeId}' AND INSTITUTE_ID='{instituteId}';" ;
return deleteSql ;
}
}
//class GradeInfo
//{
// public int GRADE_ID { get; set; }
// public string GRADE_NAME { get; set; }
// public string GRADE_EN_NAME { get; set; }
// public string GRADE_EN_S_NAME { get; set; }
// public int GRADE_ORDER { get; set; }
// public string getInsertSql(string shapeId,string instituteId)
// {
// string insertSql = "INSERT INTO GRADE(";
// insertSql = insertSql +
// "SHAPE_ID" +
// ",INSTITUTE_ID" +
// ",GRADE_ID" +
// ",GRADE_NAME" +
// ",GRADE_EN_NAME" +
// ",GRADE_EN_S_NAME" +
// ",GRADE_ORDER" +
// ",GUID";
// insertSql = insertSql + ")VALUES(";
// insertSql = insertSql +
// $"'{shapeId}'" +
// $",'{instituteId}'" +
// $",'{GRADE_ID}'" +
// $",'{GRADE_NAME}'" +
// $",'{GRADE_EN_NAME}'" +
// $",'{GRADE_EN_S_NAME}'" +
// $",'{GRADE_ORDER}'" +
// $",'{Guid.NewGuid().ToString()}'";
// insertSql = insertSql + ");";
// return insertSql;
// }
// public string getDeleteSql(string shapeId, string instituteId)
// {
// string deleteSql = $"DELETE FROM GRADE WHERE SHAPE_ID='{shapeId}' AND INSTITUTE_ID='{instituteId}';";
// return deleteSql;
// }
//}
//class StandardInfo
//{
// public int GRADE_ID { get; set; }
// public int STANDARD_ID { get; set; }
// public string STANDARD_NAME { get; set; }
// public string STANDARD_EN_NAME { get; set; }
// public decimal? STANDARD_MIN { get; set; }
// public decimal? STANDARD_MAX { get; set; }
// public string IS_MIN_EXIST { get; set; } = "0";
// public string IS_MAX_EXIST { get; set; } = "0";
// public string UNIT { get; set; }
// public string MIN_PREFIX { get; set; }
// public string MIN_SUFFIX { get; set; }
// public string MAX_PREFIX { get; set; }
// public string MAX_SUFFIX { get; set; }
// public string MIN_NULL_REPALCE { get; set; } = "←";
// public string MAX_NULL_REPALCE { get; set; } = "→";
// public int SORT { get; set; }
// public string getInsertSql(string shapeId, string instituteId)
// {
// string insertSql = "INSERT INTO STANDARD(";
// insertSql = insertSql +
// "STANDARD_ID " +
// ",SHAPE_ID " +
// ",GRADE_ID " +
// ",INSTITUTE_ID " +
// ",STANDARD_NAME " +
// ",STANDARD_EN_NAME " +
// ",STANDARD_MIN " +
// ",STANDARD_MAX " +
// ",IS_MIN_EXIST " +
// ",IS_MAX_EXIST " +
// ",SORT " +
// ",UNIT " +
// ",MAX_NULL_REPALCE " +
// ",MIN_PREFIX " +
// ",MIN_SUFFIX " +
// ",MAX_PREFIX " +
// ",MAX_SUFFIX " +
// ",MIN_NULL_REPALCE " +
// ",GUID " ;
// insertSql = insertSql + ")VALUES(";
// insertSql = insertSql +
// $"'{STANDARD_ID}'" +
// $",'{shapeId}'" +
// $",'{GRADE_ID}'" +
// $",'{instituteId}'" +
// $",'{STANDARD_NAME}'" +
// $",'{STANDARD_EN_NAME}'" +
// $",{(STANDARD_MIN != null ? STANDARD_MIN.ToString() : "null")}" +
// $",{(STANDARD_MAX != null ? STANDARD_MAX.ToString() : "null")}" +
// $",'{IS_MIN_EXIST}'" +
// $",'{IS_MAX_EXIST}'" +
// $",'{SORT}'" +
// $",'{UNIT}'" +
// $",'{MAX_NULL_REPALCE}'" +
// $",'{MIN_PREFIX}'" +
// $",'{MIN_SUFFIX}'" +
// $",'{MAX_PREFIX}'" +
// $",'{MAX_SUFFIX}'" +
// $",'{MIN_NULL_REPALCE}'" +
// $",'{Guid.NewGuid().ToString()}'";
// insertSql = insertSql + ");";
// return insertSql;
// }
// public string getDeleteSql(string shapeId, string instituteId)
// {
// string deleteSql = $"DELETE FROM STANDARD WHERE SHAPE_ID='{shapeId}' AND INSTITUTE_ID='{instituteId}';";
// return deleteSql;
// }
//}
}