|
@@ -1914,6 +1914,7 @@ namespace Util
|
|
|
foreach(string subField in list)
|
|
|
{
|
|
|
string val = GetQueryTableData(condiDic, subField);
|
|
|
+ if(subField == val) val = GetStartData(startData, subField);
|
|
|
prizeSourceData += val + ",";
|
|
|
}
|
|
|
prizeSourceData = prizeSourceData.TrimEnd(',');
|
|
@@ -2345,6 +2346,7 @@ namespace Util
|
|
|
string fieldEnName = prizeInField.fieldEnName;
|
|
|
string fieldQueryModel = prizeInField.fieldQueryModel;
|
|
|
string fieldQueryValue = prizeInField.fieldQueryValue;
|
|
|
+ fieldQueryValue = fieldQueryValue.Replace("${prize_amt}", prize_amt.ToString());
|
|
|
fieldQueryValue = GetDbExpressionVal(fieldQueryValue, projectId, content, condiDic, startData);
|
|
|
fieldQueryValue = MatchExpressionVal(fieldQueryValue);
|
|
|
string fieldQueryValueType = prizeInField.fieldQueryValueType;
|
|
@@ -2407,7 +2409,26 @@ namespace Util
|
|
|
}
|
|
|
else if(fieldQueryModel == "prize_amt")
|
|
|
{
|
|
|
- fieldQueryValue = prize_amt.ToString();
|
|
|
+ if (fieldQueryValue.Contains("+") || fieldQueryValue.Contains("-") || fieldQueryValue.Contains("*") || fieldQueryValue.Contains("/") || fieldQueryValue.Contains("(") || fieldQueryValue.Contains(")"))
|
|
|
+ {
|
|
|
+ fieldQueryValue = fieldQueryValue.Replace("${prize_amt}", prize_amt.ToString());
|
|
|
+ if(fieldQueryValue.Contains("${"))
|
|
|
+ {
|
|
|
+ string[] texts = fieldQueryValue.Split(new char[] { '+', '-', '*', '/', '(', ')' });
|
|
|
+ foreach (string text in texts)
|
|
|
+ {
|
|
|
+ string val = GetStartData(startData, text);
|
|
|
+ if(string.IsNullOrEmpty(val)) val = GetQueryTableData(condiDic, text);
|
|
|
+ fieldQueryValue = fieldQueryValue.Replace(text, val);
|
|
|
+ }
|
|
|
+ }
|
|
|
+ DataTable dt = new();
|
|
|
+ fieldQueryValue = dt.Compute(fieldQueryValue, "false").ToString();
|
|
|
+ }
|
|
|
+ else
|
|
|
+ {
|
|
|
+ fieldQueryValue = prize_amt.ToString();
|
|
|
+ }
|
|
|
}
|
|
|
if(fieldQueryValueType == "text") doFields.Add(fieldEnName, fieldQueryValue);
|
|
|
if(fieldQueryValueType == "int") doFields.Add(fieldEnName, int.Parse(Function.CheckInt(fieldQueryValue)));
|