|
@@ -92,7 +92,7 @@ namespace Util
|
|
var queryFieldService = App.GetService<IPriQueryFieldService>();
|
|
var queryFieldService = App.GetService<IPriQueryFieldService>();
|
|
var returnFieldService = App.GetService<IPriReturnFieldService>();
|
|
var returnFieldService = App.GetService<IPriReturnFieldService>();
|
|
//查询表
|
|
//查询表
|
|
- var queryTables = queryTableService.GetList(m => ids.Contains(m.id) && m.startDataFlag == false);
|
|
|
|
|
|
+ var queryTables = queryTableService.GetList(m => ids.Contains(m.id) && m.startDataFlag == false).OrderByDescending(m => m.sort).ThenBy(m => m.id).ToList();
|
|
foreach(var queryTable in queryTables)
|
|
foreach(var queryTable in queryTables)
|
|
{
|
|
{
|
|
string sql = "";
|
|
string sql = "";
|
|
@@ -1820,8 +1820,8 @@ namespace Util
|
|
string prizeSourceData = "";
|
|
string prizeSourceData = "";
|
|
if(prizeSourceField.Contains(","))
|
|
if(prizeSourceField.Contains(","))
|
|
{
|
|
{
|
|
- string[] prizeSourceFieldList = prizeSourceField.Split(',');
|
|
|
|
- foreach(string subField in prizeSourceFieldList)
|
|
|
|
|
|
+ string[] list = prizeSourceField.Split(',');
|
|
|
|
+ foreach(string subField in list)
|
|
{
|
|
{
|
|
string val = GetQueryTableData(condiDic, subField);
|
|
string val = GetQueryTableData(condiDic, subField);
|
|
prizeSourceData += val + ",";
|
|
prizeSourceData += val + ",";
|
|
@@ -1846,9 +1846,15 @@ namespace Util
|
|
prizeCode = amountSet.prizeCode;
|
|
prizeCode = amountSet.prizeCode;
|
|
repeatFlag = amountSet.repeatFlag;
|
|
repeatFlag = amountSet.repeatFlag;
|
|
}
|
|
}
|
|
- if(prizeSourceData.Contains(","))
|
|
|
|
|
|
+
|
|
|
|
+ if(!prizeSourceData.Contains("$") && !prizeSourceData.Contains("=") && prizeSourceData.Contains(","))
|
|
{
|
|
{
|
|
- string checkField = prizeSourceData.Split(',')[0] + ",";
|
|
|
|
|
|
+ string[] prizeSourceDataList = prizeSourceData.Split(',');
|
|
|
|
+ string checkField = "";
|
|
|
|
+ for (int i = 0; i < prizeSourceDataList.Length - 1; i++)
|
|
|
|
+ {
|
|
|
|
+ checkField += prizeSourceDataList[i] + ",";
|
|
|
|
+ }
|
|
amountSet = amountSetService.GetFirst(m => m.listId == sub.id && m.prizeSourceField.StartsWith(checkField) && m.prizeSourceField.EndsWith(",%"));
|
|
amountSet = amountSetService.GetFirst(m => m.listId == sub.id && m.prizeSourceField.StartsWith(checkField) && m.prizeSourceField.EndsWith(",%"));
|
|
if(amountSet != null)
|
|
if(amountSet != null)
|
|
{
|
|
{
|
|
@@ -1856,9 +1862,30 @@ namespace Util
|
|
prizeAmount = amountSet.prizeAmount;
|
|
prizeAmount = amountSet.prizeAmount;
|
|
prizeCode = amountSet.prizeCode;
|
|
prizeCode = amountSet.prizeCode;
|
|
repeatFlag = amountSet.repeatFlag;
|
|
repeatFlag = amountSet.repeatFlag;
|
|
- prizeSourceData = prizeSourceData.Split(',')[1];
|
|
|
|
|
|
+ prizeSourceData = prizeSourceDataList[prizeSourceDataList.Length - 1];
|
|
|
|
+ }
|
|
|
|
+ }
|
|
|
|
+ string[] prizeSourceFieldList = prizeSourceData.Split(',');
|
|
|
|
+ var amountSets = amountSetService.GetList(m => m.listId == sub.id && m.prizeSourceField.Contains("${"));
|
|
|
|
+ foreach(var subAmountSet in amountSets)
|
|
|
|
+ {
|
|
|
|
+ string subPrizeSourceField = subAmountSet.prizeSourceField;
|
|
|
|
+ for (int i = 0; i < prizeSourceFieldList.Length; i++)
|
|
|
|
+ {
|
|
|
|
+ subPrizeSourceField = subPrizeSourceField.Replace("${" + i + "}", prizeSourceFieldList[i]);
|
|
|
|
+ }
|
|
|
|
+ DataTable dt = new();
|
|
|
|
+ string chk = dt.Compute(subPrizeSourceField, "false").ToString();
|
|
|
|
+ if(chk == "True")
|
|
|
|
+ {
|
|
|
|
+ prizePercent = subAmountSet.prizePercent;
|
|
|
|
+ prizePercent = subAmountSet.prizePercent;
|
|
|
|
+ prizeAmount = subAmountSet.prizeAmount;
|
|
|
|
+ prizeCode = subAmountSet.prizeCode;
|
|
|
|
+ repeatFlag = subAmountSet.repeatFlag;
|
|
}
|
|
}
|
|
}
|
|
}
|
|
|
|
+
|
|
if(prizePercent > 0) prizeAmt += decimal.Parse(Function.CheckNum(prizeSourceData)) * prizePercent;
|
|
if(prizePercent > 0) prizeAmt += decimal.Parse(Function.CheckNum(prizeSourceData)) * prizePercent;
|
|
if(prizeAmount > 0) prizeAmt += prizeAmount;
|
|
if(prizeAmount > 0) prizeAmt += prizeAmount;
|
|
decimal getPrizeAmount = prizeAmt;
|
|
decimal getPrizeAmount = prizeAmt;
|
|
@@ -1949,7 +1976,7 @@ namespace Util
|
|
var queryReturnFieldService = App.GetService<IPriRecursionStartReturnFieldService>();
|
|
var queryReturnFieldService = App.GetService<IPriRecursionStartReturnFieldService>();
|
|
int passCount = 0;
|
|
int passCount = 0;
|
|
//查询表
|
|
//查询表
|
|
- var queryTables = queryTableService.GetList(m => m.listId == sub.id);
|
|
|
|
|
|
+ var queryTables = queryTableService.GetList(m => m.listId == sub.id).OrderByDescending(m => m.sort).ThenBy(m => m.id).ToList();
|
|
int allCount = queryTables.Count;
|
|
int allCount = queryTables.Count;
|
|
foreach(var queryTable in queryTables)
|
|
foreach(var queryTable in queryTables)
|
|
{
|
|
{
|
|
@@ -2553,7 +2580,15 @@ namespace Util
|
|
if(str.StartsWith("#{this_month") && str.EndsWith("MONTH}#")) return DateTime.Now.AddMonths(int.Parse(str.Replace("#", "").Replace("{", "").Replace("}", "").Split(',')[1])).ToString("yyyy-MM");
|
|
if(str.StartsWith("#{this_month") && str.EndsWith("MONTH}#")) return DateTime.Now.AddMonths(int.Parse(str.Replace("#", "").Replace("{", "").Replace("}", "").Split(',')[1])).ToString("yyyy-MM");
|
|
if(str.StartsWith("#{") && str.EndsWith("DAY}#")) return DateTime.Parse(str.Replace("#", "").Replace("{", "").Replace("}", "").Split(',')[0]).AddDays(int.Parse(str.Replace("#", "").Replace("{", "").Replace("}", "").Split(',')[1])).ToString("yyyy-MM-dd HH:mm:ss");
|
|
if(str.StartsWith("#{") && str.EndsWith("DAY}#")) return DateTime.Parse(str.Replace("#", "").Replace("{", "").Replace("}", "").Split(',')[0]).AddDays(int.Parse(str.Replace("#", "").Replace("{", "").Replace("}", "").Split(',')[1])).ToString("yyyy-MM-dd HH:mm:ss");
|
|
if(str.StartsWith("#{") && str.EndsWith("MONTH}#")) return DateTime.Parse(str.Replace("#", "").Replace("{", "").Replace("}", "").Split(',')[0]).AddMonths(int.Parse(str.Replace("#", "").Replace("{", "").Replace("}", "").Split(',')[1])).ToString("yyyy-MM-dd HH:mm:ss");
|
|
if(str.StartsWith("#{") && str.EndsWith("MONTH}#")) return DateTime.Parse(str.Replace("#", "").Replace("{", "").Replace("}", "").Split(',')[0]).AddMonths(int.Parse(str.Replace("#", "").Replace("{", "").Replace("}", "").Split(',')[1])).ToString("yyyy-MM-dd HH:mm:ss");
|
|
- if(str.StartsWith("#{") && str.EndsWith("}#"))
|
|
|
|
|
|
+ if(str.StartsWith("#{split") && str.EndsWith("}#"))
|
|
|
|
+ {
|
|
|
|
+ string[] data = str.Replace("#{", "").Replace("}#", "").Split(',');
|
|
|
|
+ string text = data[1];
|
|
|
|
+ string splitTag = data[2];
|
|
|
|
+ string index = data[3];
|
|
|
|
+ return text.Split(new string[]{ splitTag }, StringSplitOptions.None)[int.Parse(index)];
|
|
|
|
+ }
|
|
|
|
+ else if(str.StartsWith("#{") && str.EndsWith("}#"))
|
|
{
|
|
{
|
|
string[] data = str.Replace("#{", "").Replace("}#", "").Split(',');
|
|
string[] data = str.Replace("#{", "").Replace("}#", "").Split(',');
|
|
string tag = data[0];
|
|
string tag = data[0];
|