|
|
namespace CounsellorBL.GROUP.ConstDefinition { using MonumentDefine; using OT.COM.ArsenalDB; using OT.COM.ArsenalDB.SQL; using SoldierData.EnterprizeV4; using System; using System.Collections.Generic; using System.Reflection; using static MonumentDefine.Enums;
public class SQLLib : DirectSQLLibBase { public enum Action { SELECT_IDONLY = 0, SELECT_ALL = 1, DELETE = 2 } public delegate string DE_Gen_tb_grp_group(Action i_aAction, List<object> i_asGroupName, ADirectCmdParameter cp); #region
public SQLLib(ADirectSQLHelper i_sqlLibBase) : base(i_sqlLibBase) { }
public virtual string GetArticleInRange(out Command o_cResult) { ADirectCmdParameter cp = GetParamter(); DateTime dtNow = DateTime.Now;
string sSQL = $@"SELECT a.{tb_grp_article.CN_UID},
a.{tb_grp_article.CN_RETRY}, a.{tb_grp_article.CN_NAME}, a.{tb_grp_article.CN_FB_ARTICLE_ID}, a.{tb_grp_article.CN_POST_STATUS}, a.{tb_grp_article.CN_POST_DATE}, a.{tb_grp_article.CN_RPA_STATUS}, a.{tb_grp_article.CN_GROUP_USER_UID} FROM {GetFormalTableName<tb_grp_article>()} a WHERE a.{tb_grp_article.CN_STATUS_FLAG} = {cp.Add(BLWording.STATUS_FLAG_ON)} AND ((a.{tb_grp_article.CN_RELEASE_DATE} IS NULL AND a.{tb_grp_article.CN_POST_STATUS} = {cp.Add((int)EPostStatus.EPS_ARTICLE_AND_PHOTO)}) OR (a.{tb_grp_article.CN_RETRY} < {cp.Add(5)} AND a.{tb_grp_article.CN_POST_STATUS} = {cp.Add((int)EPostStatus.EPS_FAIL)} AND (a.{tb_grp_article.CN_UPDATE_DATE} <= {cp.Add(dtNow)} AND a.{tb_grp_article.CN_UPDATE_DATE} > {cp.Add(dtNow.AddMinutes(-30))} )) OR (a.{tb_grp_article.CN_POST_STATUS} IN {cp.In(new List<object>() { (int)EPostStatus.EPS_SCHEDULE_WAITING, (int)EPostStatus.EPS_ARTICLE_AND_PHOTO }) }) AND (a.{tb_grp_article.CN_RELEASE_DATE} <= {cp.Add(dtNow)} AND a.{tb_grp_article.CN_RELEASE_DATE} > {cp.Add(dtNow.AddMinutes(-30))} ))";
return GenerateCommand<tb_prd_product>(sSQL, cp, out o_cResult); }
public virtual string GetScheduleWaitingArticleInRange(out Command o_cResult) { ADirectCmdParameter cp = GetParamter(); DateTime dtNow = DateTime.Now;
string sSQL = $@"SELECT a.{tb_grp_article.CN_UID},
a.{tb_grp_article.CN_RETRY}, a.{tb_grp_article.CN_NAME}, a.{tb_grp_article.CN_FB_ARTICLE_ID}, a.{tb_grp_article.CN_POST_STATUS}, a.{tb_grp_article.CN_POST_DATE}, a.{tb_grp_article.CN_RPA_STATUS}, a.{tb_grp_article.CN_GROUP_USER_UID}, a.{tb_grp_article.CN_GROUP_UID} FROM {GetFormalTableName<tb_grp_article>()} a WHERE a.{tb_grp_article.CN_POST_STATUS} = {cp.Add((int)EPostStatus.EPS_SCHEDULE_WAITING)} AND (a.{tb_grp_article.CN_RELEASE_DATE} <= {cp.Add(dtNow)} AND a.{tb_grp_article.CN_RELEASE_DATE} > {cp.Add(dtNow.AddMinutes(-30))} ) AND a.{tb_grp_article.CN_STATUS_FLAG} = {cp.Add((int)BLWording.STATUS_FLAG_ON)}";
return GenerateCommand<tb_prd_product>(sSQL, cp, out o_cResult); }
public virtual string GetMediadWaitingArticleInRange(out Command o_cResult) { ADirectCmdParameter cp = GetParamter(); DateTime dtNow = DateTime.Now;
string sSQL = $@"SELECT a.{tb_grp_article.CN_UID},
a.{tb_grp_article.CN_RETRY}, a.{tb_grp_article.CN_NAME}, a.{tb_grp_article.CN_FB_ARTICLE_ID}, a.{tb_grp_article.CN_POST_STATUS}, a.{tb_grp_article.CN_POST_DATE}, a.{tb_grp_article.CN_RPA_STATUS}, a.{tb_grp_article.CN_GROUP_USER_UID}, a.{tb_grp_article.CN_GROUP_UID} FROM {GetFormalTableName<tb_grp_article>()} a WHERE a.{tb_grp_article.CN_FB_ARTICLE_ID} IS NOT NULL AND a.{tb_grp_article.CN_POST_STATUS} = {cp.Add((int)EPostStatus.EPS_COMPLETE)} AND a.{tb_grp_article.CN_RPA_STATUS} = {cp.Add(0)} AND a.{tb_grp_article.CN_RETRY} < {cp.Add(5)} AND (a.{tb_grp_article.CN_POST_DATE} <= {cp.Add(dtNow)} AND a.{tb_grp_article.CN_POST_DATE} > {cp.Add(dtNow.AddMinutes(-30))} ) AND a.{tb_grp_article.CN_STATUS_FLAG} = {cp.Add((int)BLWording.STATUS_FLAG_ON)}";
return GenerateCommand<tb_prd_product>(sSQL, cp, out o_cResult); }
public virtual string GetFailWaitingArticleInRange(out Command o_cResult) { ADirectCmdParameter cp = GetParamter(); DateTime dtNow = DateTime.Now;
string sSQL = $@"SELECT a.{tb_grp_article.CN_UID},
a.{tb_grp_article.CN_RETRY}, a.{tb_grp_article.CN_NAME}, a.{tb_grp_article.CN_FB_ARTICLE_ID}, a.{tb_grp_article.CN_POST_STATUS}, a.{tb_grp_article.CN_POST_DATE}, a.{tb_grp_article.CN_RPA_STATUS}, a.{tb_grp_article.CN_GROUP_USER_UID}, a.{tb_grp_article.CN_GROUP_UID} FROM {GetFormalTableName<tb_grp_article>()} a WHERE a.{tb_grp_article.CN_POST_STATUS} = {cp.Add((int)EPostStatus.EPS_FAIL)} AND a.{tb_grp_article.CN_RPA_STATUS} = {cp.Add(0)} AND a.{tb_grp_article.CN_RETRY} < {cp.Add(5)} AND ( (a.{tb_grp_article.CN_FB_ARTICLE_ID} IS NULL) OR (a.{tb_grp_article.CN_FB_ARTICLE_ID} IS NOT NULL AND (a.{tb_grp_article.CN_POST_DATE} <= {cp.Add(dtNow)} AND a.{tb_grp_article.CN_POST_DATE} > {cp.Add(dtNow.AddMinutes(-30))} )) ) AND a.{tb_grp_article.CN_STATUS_FLAG} = {cp.Add((int)BLWording.STATUS_FLAG_ON)}";
return GenerateCommand<tb_prd_product>(sSQL, cp, out o_cResult); }
public virtual string GetArticleInRangeTest(out Command o_cResult) { ADirectCmdParameter cp = GetParamter();
string sSQL = $@"SELECT a.{tb_grp_article.CN_UID},
a.{tb_grp_article.CN_RETRY}, a.{tb_grp_article.CN_NAME}, a.{tb_grp_article.CN_FB_ARTICLE_ID}, a.{tb_grp_article.CN_POST_STATUS}, a.{tb_grp_article.CN_POST_DATE}, a.{tb_grp_article.CN_RPA_STATUS}, a.{tb_grp_article.CN_GROUP_USER_UID} FROM {GetFormalTableName<tb_grp_article>()} a a.{tb_grp_article.CN_GROUP_USER_UID} IS NOT NULL AND WHERE a.{tb_grp_article.CN_FB_ARTICLE_ID} in ('274962260394168_378697063354020', '274962260394168_378746420015751')";
return GenerateCommand<tb_prd_product>(sSQL, cp, out o_cResult); } #endregion
public virtual string GetUIDs(Action i_aAction, string sFunctionName, List<object> i_asGroupName, out Command o_cResult) { string sMsg = null; Command cResultTemp = null; try { do { MethodInfo mi = this.GetType().GetMethod(sFunctionName); ADirectCmdParameter cp = GetParamter();
string sSQL = (string)mi.Invoke(this, new object[] { i_aAction, i_asGroupName, cp });
sMsg = GenerateCommand(typeof(tb_meb_member), sSQL, cp, out cResultTemp); if(sMsg != null) { break; } } while (false); } catch (Exception ex) { sMsg = ex.Message; } o_cResult = cResultTemp; return sMsg; }
#region
public string Gen_tb_sys_user2role(Action i_aAction, List<object> i_asGroupName, ADirectCmdParameter cp) { return GenIDsSQLByGroupName<tb_sys_user2role>(i_aAction, tb_sys_user2role.CN_UID, tb_sys_user2role.CN_ROLE_UID, i_asGroupName, cp, i_dgFunc: Gen_tb_sys_role); }
public string Gen_tb_sys_role2org(Action i_aAction, List<object> i_asGroupName, ADirectCmdParameter cp) { return GenIDsSQLByGroupName<tb_sys_role2org>(i_aAction, tb_sys_role2org.CN_UID, tb_sys_role2org.CN_ROLE_UID, i_asGroupName, cp, i_dgFunc: Gen_tb_sys_role); }
public string Gen_tb_sys_role(Action i_aAction, List<object> i_asGroupName, ADirectCmdParameter cp) { return GenIDsSQLByGroupName<tb_sys_role>(i_aAction, tb_sys_role.CN_UID, tb_sys_role.CN_GROUP_UID, i_asGroupName, cp); }
public string Gen_tb_sys_user2entercode(Action i_aAction, List<object> i_asGroupName, ADirectCmdParameter cp) { return GenIDsSQLByGroupName<tb_sys_user2entercode>(i_aAction, tb_sys_user2entercode.CN_UID, tb_sys_user2entercode.CN_USER_UID, i_asGroupName, cp, i_dgFunc: Gen_tb_hr_employee); } public string Gen_tb_sys_user(Action i_aAction, List<object> i_asGroupName, ADirectCmdParameter cp) { return GenIDsSQLByGroupName<tb_sys_user>(i_aAction, tb_sys_user.CN_UID, tb_sys_user.CN_UID, i_asGroupName, cp, i_dgFunc: Gen_tb_hr_employee); }
public string Gen_tb_grp_group2user(Action i_aAction, List<object> i_asGroupName, ADirectCmdParameter cp) { return GenIDsSQLByGroupName<tb_grp_group2user>(i_aAction, tb_grp_group2user.CN_UID, tb_grp_group2user.CN_GROUP_UID, i_asGroupName, cp); } public string Gen_tb_ord_message_log_record(Action i_aAction, List<object> i_asGroupName, ADirectCmdParameter cp) { return GenIDsSQLByGroupName<tb_ord_message_log_record>(i_aAction, tb_ord_message_log_record.CN_UID, tb_ord_message_log_record.CN_MEMBER_UID, i_asGroupName, cp, i_dgFunc: Gen_tb_meb_member);
} public string Gen_tb_ord_message_log(Action i_aAction, List<object> i_asGroupName, ADirectCmdParameter cp) { return GenIDsSQLByGroupName<tb_ord_message_log>(i_aAction, tb_ord_message_log.CN_UID, tb_ord_message_log.CN_BRANCH_UID, i_asGroupName, cp, false, Gen_tb_grp_branch); }
public string Gen_tb_ord_purchase_detail(Action i_aAction, List<object> i_asGroupName, ADirectCmdParameter cp) { return GenIDsSQLByGroupName<tb_ord_purchase_detail>(i_aAction, tb_ord_purchase_detail.CN_UID, tb_ord_purchase_detail.CN_BRANCH_UID, i_asGroupName, cp, false, Gen_tb_grp_branch); }
public string Gen_tb_prd_product(Action i_aAction, List<object> i_asGroupName, ADirectCmdParameter cp) { return GenIDsSQLByGroupName<tb_prd_product>(i_aAction, tb_prd_product.CN_UID, tb_prd_product.CN_GROUP_ID, i_asGroupName, cp); }
public string Gen_tb_sys_uploadlog(Action i_aAction, List<object> i_asGroupName, ADirectCmdParameter cp) { return GenIDsSQLByGroupName<tb_sys_uploadlog>(i_aAction, tb_sys_uploadlog.CN_UID, tb_sys_uploadlog.CN_UID, i_asGroupName, cp, false, GenArticleMediaMediaIDsSQLByGroupName); }
public string GenArticleMediaMediaIDsSQLByGroupName(Action i_aAction, List<object> i_asGroupName, ADirectCmdParameter cp) { return GenIDsSQLByGroupName<tb_grp_article_media>(i_aAction, tb_grp_article_media.CN_MEDIA_ID, tb_grp_article_media.CN_ARTICLE_UID, i_asGroupName, cp, false, Gen_tb_grp_article); }
public string Gen_tb_grp_article_media(Action i_aAction, List<object> i_asGroupName, ADirectCmdParameter cp) { return GenIDsSQLByGroupName<tb_grp_article_media>(i_aAction, tb_grp_article_media.CN_UID, tb_grp_article_media.CN_ARTICLE_UID, i_asGroupName, cp, true, Gen_tb_grp_article); }
public string Gen_tb_ord_purchase(Action i_aAction, List<object> i_asGroupName, ADirectCmdParameter cp) { return GenIDsSQLByGroupName<tb_ord_purchase>(i_aAction, tb_ord_purchase.CN_UID, tb_ord_purchase.CN_MEMBER_UID, i_asGroupName, cp, i_dgFunc: Gen_tb_meb_member); }
public string Gen_tb_prd_article2product(Action i_aAction, List<object> i_asGroupName, ADirectCmdParameter cp) { string sTarget = _ActionToSQL(i_aAction, false, tb_prd_article2product.CN_UID); string sTableAlias = (i_aAction == Action.SELECT_ALL) || (i_aAction == Action.SELECT_IDONLY) ? "a01" : ""; return $@"{sTarget}
FROM {GetFormalTableName<tb_prd_article2product>()} {sTableAlias} WHERE {tb_prd_article2product.CN_ARTICLE_UID} IN ( {Gen_tb_grp_article(Action.SELECT_IDONLY, i_asGroupName, cp)}) OR {tb_prd_article2product.CN_PRD_UID} IN ( {Gen_tb_prd_product(Action.SELECT_IDONLY, i_asGroupName, cp)}) ";
/*return GenIDsSQLByGroupName<tb_prd_article2product>(i_aAction, tb_prd_article2product.CN_UID, tb_prd_article2product.CN_ARTICLE_UID, i_asGroupName, cp, false, Gen_tb_grp_article);*/ }
public string Gen_tb_grp_comment(Action i_aAction, List<object> i_asGroupName, ADirectCmdParameter cp) { return GenIDsSQLByGroupName<tb_grp_comment>(i_aAction, tb_grp_comment.CN_UID, tb_grp_comment.CN_ARTICLE_UID, i_asGroupName, cp, false, Gen_tb_grp_article); }
public string Gen_tb_meb_shopping_points_record(Action i_aAction, List<object> i_asGroupName, ADirectCmdParameter cp) { return GenIDsSQLByGroupName<tb_meb_shopping_points_record>(i_aAction, tb_meb_shopping_points_record.CN_UID, tb_meb_shopping_points_record.CN_MEMBER_UID, i_asGroupName, cp, i_dgFunc: Gen_tb_meb_member); }
protected string GenIDsSQLByGroupName<T>(Action i_aAction, string i_sDisplayTarget, string i_sWhereTarget, List<object> i_asGroupName, ADirectCmdParameter cp, bool i_bDistinct = false, DE_Gen_tb_grp_group i_dgFunc = null) { string sINCondition = (i_dgFunc == null) ? Gen_tb_grp_group(Action.SELECT_IDONLY, i_asGroupName, cp) : i_dgFunc(Action.SELECT_IDONLY, i_asGroupName, cp);
// string sTarget = i_aAction ? "DELETE" : (i_bDistinct ? $"SELECT distinct a01.{i_sDisplayTarget} " : $"SELECT a01.{i_sDisplayTarget} ");
string sTarget = _ActionToSQL(i_aAction, i_bDistinct, i_sDisplayTarget); string sTableAlias = (i_aAction == Action.SELECT_ALL) || (i_aAction == Action.SELECT_IDONLY) ? "a01" : ""; return $@"{sTarget}
FROM {GetFormalTableName<T>()} {sTableAlias} WHERE {i_sWhereTarget} IN ( {sINCondition})";
}
public string Gen_tb_ord_checkout_list_master(Action i_aAction, List<object> i_asGroupName, ADirectCmdParameter cp) { return GenIDsSQLByGroupName<tb_ord_checkout_list_master>(i_aAction, tb_ord_checkout_list_master.CN_UID, tb_ord_checkout_list_master.CN_GROUP_UID, i_asGroupName, cp); }
public string Gen_tb_ord_checkout_list_detail(Action i_aAction, List<object> i_asGroupName, ADirectCmdParameter cp) { return GenIDsSQLByGroupName<tb_ord_checkout_list_detail>(i_aAction, tb_ord_checkout_list_detail.CN_UID, tb_ord_checkout_list_detail.CN_MEMBER_UID, i_asGroupName, cp, i_dgFunc: Gen_tb_meb_member); }
public string Gen_tb_ord_order_master(Action i_aAction, List<object> i_asGroupName, ADirectCmdParameter cp) { return GenIDsSQLByGroupName<tb_ord_order_master>(i_aAction, tb_ord_order_master.CN_UID, tb_ord_order_master.CN_GROUP_UID, i_asGroupName, cp); }
public string Gen_tb_ord_order_detail(Action i_aAction, List<object> i_asGroupName, ADirectCmdParameter cp) { return GenIDsSQLByGroupName<tb_ord_order_detail>(i_aAction, tb_ord_order_detail.CN_UID, tb_ord_order_detail.CN_MEMBER_UID, i_asGroupName, cp, i_dgFunc: Gen_tb_meb_member); }
public string Gen_tb_hr_employee(Action i_aAction, List<object> i_asGroupName, ADirectCmdParameter cp) { return GenIDsSQLByGroupName<tb_hr_employee>(i_aAction, tb_hr_employee.CN_UID, tb_hr_employee.CN_RECEIVE_BRANCH_UID, i_asGroupName, cp, false, Gen_tb_grp_branch); }
public string Gen_tb_hr_employee2branch(Action i_aAction, List<object> i_asGroupName, ADirectCmdParameter cp) { return GenIDsSQLByGroupName<tb_hr_employee2branch>(i_aAction, tb_hr_employee2branch.CN_UID, tb_hr_employee2branch.CN_BRANCH_UID, i_asGroupName, cp, false, Gen_tb_grp_branch); }
public string Gen_tb_ord_incoming_return_record(Action i_aAction, List<object> i_asGroupName, ADirectCmdParameter cp) { string sTarget = _ActionToSQL(i_aAction, false, tb_ord_incoming_return_record.CN_UID); string sTableAlias = (i_aAction == Action.SELECT_ALL) || (i_aAction == Action.SELECT_IDONLY) ? "a01" : ""; return $@"{sTarget}
FROM {GetFormalTableName<tb_ord_incoming_return_record>()} {sTableAlias} WHERE {tb_ord_incoming_return_record.CN_ORDER_UID} IN ( {Gen_tb_ord_order_master(Action.SELECT_IDONLY, i_asGroupName, cp)}) OR {tb_ord_incoming_return_record.CN_ARTICLE2PRODUCT_UID} IN ( {Gen_tb_prd_article2product(Action.SELECT_IDONLY, i_asGroupName, cp)}) ";
/*return GenIDsSQLByGroupName<tb_ord_incoming_return_record>(i_aAction, tb_ord_incoming_return_record.CN_UID, tb_ord_incoming_return_record.CN_ORDER_UID, i_asGroupName, cp, true, Gen_tb_ord_order_master);*/ }
/* public string Gen2_tb_ord_incoming_return_record(Action i_aAction, List<object> i_asGroupName, ADirectCmdParameter cp) { return GenIDsSQLByGroupName<tb_ord_incoming_return_record>(i_aAction, tb_ord_incoming_return_record.CN_UID, tb_ord_incoming_return_record.CN_ARTICLE2PRODUCT_UID, i_asGroupName, cp, false, Gen_tb_prd_article2product); }*/
#endregion
public string Gen_tb_meb_member(Action i_aAction, List<object> i_asGroupName, ADirectCmdParameter cp) { return GenIDsSQLByGroupName<tb_meb_member>(i_aAction, tb_meb_member.CN_UID, tb_meb_member.CN_GROUP_ID, i_asGroupName, cp, i_dgFunc: GenFBIDsSQLByGroupName); }
public string Gen_tb_grp_branch(Action i_aAction, List<object> i_asGroupName, ADirectCmdParameter cp) { return GenIDsSQLByGroupName<tb_grp_branch>(i_aAction, tb_grp_branch.CN_UID, tb_grp_branch.CN_GROUP_UID, i_asGroupName, cp); }
public string Gen_tb_grp_article(Action i_aAction, List<object> i_asGroupName, ADirectCmdParameter cp) { return GenIDsSQLByGroupName<tb_grp_article>(i_aAction, tb_grp_article.CN_UID, tb_grp_article.CN_GROUP_UID, i_asGroupName, cp); }
private string _ActionToSQL(Action i_aAction, bool i_bDistinct, string i_sSpecificIDName = BLWording.UID) { string sRes = null; switch(i_aAction) { case Action.SELECT_ALL: sRes = $"SELECT * "; break; case Action.DELETE: sRes = "DELETE "; break; case Action.SELECT_IDONLY: sRes = i_bDistinct ? $"SELECT distinct a01.{i_sSpecificIDName} " : $"SELECT a01.{i_sSpecificIDName} ";
break; }
return sRes; }
public string GenFBIDsSQLByGroupName(Action i_aAction, List<object> i_asGroupName, ADirectCmdParameter cp) { string sTarget = _ActionToSQL(i_aAction, false, tb_grp_group.CN_FB_GROUP_ID); string sTableAlias = (i_aAction == Action.SELECT_ALL) || (i_aAction == Action.SELECT_IDONLY) ? "a01" : "";
return $@"{sTarget}
FROM {GetFormalTableName<tb_grp_group>()} {sTableAlias} WHERE {tb_grp_group.CN_NAME} IN {cp.In(i_asGroupName)}";
}
public string Gen_tb_grp_group(Action i_aAction, List<object> i_asGroupName, ADirectCmdParameter cp) { string sTarget = _ActionToSQL(i_aAction, false, tb_grp_group.CN_UID); string sTableAlias = (i_aAction == Action.SELECT_ALL) || (i_aAction == Action.SELECT_IDONLY) ? "a01" : "";
return $@"{sTarget}
FROM {GetFormalTableName<tb_grp_group>()} {sTableAlias} WHERE {tb_grp_group.CN_NAME} IN {cp.In(i_asGroupName)}";
}
} }
|