1、题库导入答案修改
2、短信参数修改 3、审批优化 驳回 回调接口 查询优化()
This commit is contained in:
parent
757dffa807
commit
d2579aee15
@ -650,34 +650,32 @@
|
||||
{
|
||||
return SafeExecute(() =>
|
||||
{
|
||||
T_PF_APPROVE result = null;
|
||||
if (!string.IsNullOrEmpty(filter.Parameter22) && filter.OrgId.HasValue && filter.Parameter22 != filter.OrgId.Value.ToString())
|
||||
{
|
||||
//集团人员 通过 首页点击 获取对应的数据库链接 返回结果
|
||||
|
||||
////后端直接处理
|
||||
//string tenant = OPTenantDBConnService.GetTenantByORGID(new Guid(filter.Parameter1));
|
||||
//T_PF_APPROVE result = null;
|
||||
//if (!string.IsNullOrEmpty(filter.Parameter22) && filter.OrgId.HasValue && filter.Parameter22 != filter.OrgId.Value.ToString())
|
||||
//{
|
||||
// //集团人员 通过 首页点击 获取对应的数据库链接 返回结果
|
||||
// ////后端直接处理
|
||||
// //string tenant = OPTenantDBConnService.GetTenantByORGID(new Guid(filter.Parameter1));
|
||||
// //filter.IgnoreOrgRule = true;
|
||||
// //filter.OrgId = null;
|
||||
// //filter.IsSpecifyDb = true;
|
||||
// //filter.SpecifyTenant = tenant;
|
||||
// //filter.IgnoreDataRule = true;
|
||||
// //result = GetEntity<T_PF_APPROVE>(e => !e.IS_DELETED, filter, null);
|
||||
// //前端处理了Tenant
|
||||
// filter.IgnoreOrgRule = true;
|
||||
// filter.OrgId = null;
|
||||
//filter.IsSpecifyDb = true;
|
||||
//filter.SpecifyTenant = tenant;
|
||||
//filter.IgnoreDataRule = true;
|
||||
//result = GetEntity<T_PF_APPROVE>(e => !e.IS_DELETED, filter, null);
|
||||
//}
|
||||
|
||||
//前端处理了Tenant
|
||||
filter.IgnoreOrgRule = true;
|
||||
filter.OrgId = null;
|
||||
}
|
||||
|
||||
result = GetEntity<T_PF_APPROVE>(null, filter, null);
|
||||
T_PF_APPROVE result = GetEntity<T_PF_APPROVE>(null, filter, null);
|
||||
if (result != null)
|
||||
{
|
||||
if (result.APPROVE_TEMP_ID != null)
|
||||
if (result.APPROVE_TEMP_ID != null && string.IsNullOrEmpty(result.REJECT_INTERFACE))
|
||||
{
|
||||
filter.Include = new List<string>();
|
||||
filter.FilterGroup = new FilterGroup();
|
||||
var approveTemp = this.GetEntity<T_PF_APPROVE_TEMP>(t => t.ID == result.APPROVE_TEMP_ID, filter);
|
||||
if (approveTemp != null)
|
||||
if (approveTemp != null && !string.IsNullOrEmpty(approveTemp.REJECT_INTERFACE))
|
||||
result.REJECT_INTERFACE = approveTemp.REJECT_INTERFACE;
|
||||
}
|
||||
result.Nav_ApproveDetails = result.Nav_ApproveDetails.OrderBy(t => t.NUM).ThenBy(m => m.MODIFY_TIME).ToList();
|
||||
|
||||
@ -274,201 +274,6 @@ namespace APT.SC.WebApi.Controllers.Api.BI
|
||||
});
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// 定期短信发送
|
||||
/// </summary>
|
||||
/// <param name="pageFilter">定期短信发送</param>
|
||||
/// <returns></returns>
|
||||
[HttpPost, Route("regularSendSMS")]
|
||||
public JsonActionResult<bool> regularSendSMS([FromBody] KeywordFilter filter)
|
||||
{
|
||||
return SafeExecute<bool>(() =>
|
||||
{
|
||||
try
|
||||
{
|
||||
DateTime now = DateTime.Now;
|
||||
var allUsers = GetEntities<T_FM_USER>(t => t.ENABLE_STATUS == 0, new BaseFilter(filter.GetOrgId()));
|
||||
var approveUsers = GetEntities<T_FM_USER>(t => t.ENABLE_STATUS == 0 && t.Nav_Department.DEPARTMENT_TYPE != 2, new BaseFilter(filter.GetOrgId()));//FMDepartmentType 部门=0, 车间=1, 班组=2, 公司=3
|
||||
var userIds = approveUsers.Select(t => t.ID);
|
||||
List<T_FM_NOTIFICATION_TASK> sendSMSs = null;
|
||||
List<Guid> listTaskIDDone = new List<Guid>();
|
||||
TencentSendSMS tencentSendSMS = new TencentSendSMS();
|
||||
if (now.Hour >= 7 && now.Hour < 23)//早上 7点到晚上23点做提醒 其余时间不提醒
|
||||
{
|
||||
sendSMSs = GetEntities<T_FM_NOTIFICATION_TASK>(t => t.NOTICE_STATUS == 0 && !t.ISCANCEL && !t.IS_DELETED && t.CREATE_TIME > now.AddDays(-6) && !t.SOURCE_FORMCODE.Contains("FO005") && t.SENDTIME == DateTime.MinValue, new BaseFilter(filter.GetOrgId())).ToList();
|
||||
var sendSMSs2 = sendSMSs.Where(t => t.TASK_ENDDT < now.AddHours(1) && t.TASK_ENDDT > t.TASK_STARTDT);//临超期待办提醒所有人
|
||||
foreach (var send in sendSMSs2)
|
||||
{
|
||||
List<string> phoneNumbers = new List<string>();
|
||||
List<string> templates = new List<string>();
|
||||
var user = allUsers.FirstOrDefault(t => t.ID == send.USER_ID);
|
||||
if (user != null && user.PHONE != null && !string.IsNullOrEmpty(user.PHONE))
|
||||
{
|
||||
listTaskIDDone.Add(send.ID);
|
||||
send.SENDTIME = DateTime.Now;
|
||||
phoneNumbers.Add(user.PHONE);
|
||||
templates.Add(send.NOTICE_TITLE);
|
||||
templates.Add(send.TASK_ENDDT.ToString());
|
||||
var result = tencentSendSMS.sendSMS("1747259", phoneNumbers.ToArray(), templates.ToArray());
|
||||
if (result.SendStatusSet[0].Code.Equals("Ok"))
|
||||
{
|
||||
UnifiedCommit(() =>
|
||||
{
|
||||
UpdateEntityNoCommit(send);
|
||||
});
|
||||
}
|
||||
}
|
||||
}
|
||||
//&& t.NOTICE_TITLE.Contains("审批")
|
||||
var sendSMSs1 = sendSMSs.Where(t => userIds.Contains(t.USER_ID) && t.CREATE_TIME > now.AddHours(-8));//8小时前创建的 非班组级成员 未办都做提醒
|
||||
foreach (var send in sendSMSs1)
|
||||
{
|
||||
if (listTaskIDDone.Contains(send.ID))//避免同事发送2条短信
|
||||
{
|
||||
continue;
|
||||
}
|
||||
List<string> phoneNumbers = new List<string>();
|
||||
List<string> templates = new List<string>();
|
||||
var user = approveUsers.FirstOrDefault(t => t.ID == send.USER_ID);
|
||||
if (user != null && user.PHONE != null && !string.IsNullOrEmpty(user.PHONE))
|
||||
{
|
||||
send.SENDTIME = DateTime.Now;
|
||||
phoneNumbers.Add(user.PHONE);
|
||||
templates.Add(send.NOTICE_TITLE);
|
||||
templates.Add(send.TASK_ENDDT.ToString());
|
||||
//TencentSendSMS tencentSendSMS = new TencentSendSMS();
|
||||
var result = tencentSendSMS.sendSMS("1747261", phoneNumbers.ToArray(), templates.ToArray());
|
||||
if (result.SendStatusSet[0].Code.Equals("Ok"))
|
||||
{
|
||||
UnifiedCommit(() =>
|
||||
{
|
||||
UpdateEntityNoCommit(send);
|
||||
});
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
}
|
||||
}
|
||||
catch (Exception ex)
|
||||
{
|
||||
if (!string.IsNullOrEmpty(ex.StackTrace))
|
||||
throw new Exception("错误日志:[StackTrace]" + ex.StackTrace);
|
||||
else
|
||||
throw new Exception("【" + HttpContext.Request.Path + "】错误日志:[Message]" + ex.Message);
|
||||
}
|
||||
|
||||
return true;
|
||||
});
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// 定期短信发送
|
||||
/// </summary>
|
||||
/// <param name="pageFilter">定期短信发送</param>
|
||||
/// <returns></returns>
|
||||
[HttpPost, Route("regularSendSMSDCJD")]
|
||||
public JsonActionResult<bool> regularSendSMSDCJD([FromBody] KeywordFilter filter)
|
||||
{
|
||||
return SafeExecute<bool>(() =>
|
||||
{
|
||||
|
||||
try
|
||||
{
|
||||
|
||||
DateTime now = DateTime.Now;
|
||||
BaseFilter userfilter = new BaseFilter(filter.GetOrgId());
|
||||
userfilter.SelectField = new string[] { "PHONE" };
|
||||
var allUsers = GetEntities<T_FM_USER>(t => t.ENABLE_STATUS == 0, userfilter);
|
||||
var approveUsers = GetEntities<T_FM_USER>(t => t.Nav_Department.DEPARTMENT_TYPE != 2 && t.ENABLE_STATUS == 0, new BaseFilter(filter.GetOrgId()));
|
||||
var userIds = approveUsers.Select(t => t.ID);
|
||||
List<T_FM_NOTIFICATION_TASK> sendSMSs = null;
|
||||
if (now.Hour >= 7 && now.Hour < 23)
|
||||
{
|
||||
sendSMSs = GetEntities<T_FM_NOTIFICATION_TASK>(t => t.NOTICE_STATUS == 0 && t.CREATE_TIME > now.AddDays(-6) && !t.SOURCE_FORMCODE.Contains("FO005") && t.SENDTIME == DateTime.MinValue, new BaseFilter(filter.GetOrgId())).ToList();
|
||||
var sendSMSs2 = sendSMSs.Where(t => t.TASK_ENDDT < now.AddHours(1) && t.TASK_ENDDT > t.TASK_STARTDT);
|
||||
foreach (var send in sendSMSs2)
|
||||
{
|
||||
List<string> phoneNumbers = new List<string>();
|
||||
List<string> templates = new List<string>();
|
||||
var user = allUsers.FirstOrDefault(t => t.ID == send.USER_ID);
|
||||
if (user != null && user.PHONE != null && !string.IsNullOrEmpty(user.PHONE))
|
||||
{
|
||||
send.SENDTIME = DateTime.Now;
|
||||
phoneNumbers.Add(user.PHONE);
|
||||
string paddedStr = send.NOTICE_TITLE.Length < 18 ? send.NOTICE_TITLE.PadRight(18) : send.NOTICE_TITLE.Substring(0, 18);
|
||||
var length = paddedStr.Length;
|
||||
templates.Add(paddedStr.Substring(0, 6));
|
||||
templates.Add(paddedStr.Substring(6, 6));
|
||||
templates.Add(paddedStr.Substring(12, 5));
|
||||
templates[1] = templates[1].Trim();
|
||||
templates[2] = templates[2].Trim();
|
||||
templates.Add(send.TASK_ENDDT.Year.ToString());
|
||||
templates.Add(send.TASK_ENDDT.Month.ToString("00"));
|
||||
templates.Add(send.TASK_ENDDT.Day.ToString("00"));
|
||||
templates.Add(send.TASK_ENDDT.Hour.ToString("00"));
|
||||
templates.Add(send.TASK_ENDDT.Minute.ToString("00"));
|
||||
templates.Add(send.TASK_ENDDT.Second.ToString("00"));
|
||||
|
||||
TencentSendSMS tencentSendSMS = new TencentSendSMS();
|
||||
var result = tencentSendSMS.sendSMSDCJD("2163511", phoneNumbers.ToArray(), templates.ToArray());
|
||||
if (result.SendStatusSet[0].Code.Equals("Ok"))
|
||||
{
|
||||
UnifiedCommit(() =>
|
||||
{
|
||||
UpdateEntityNoCommit(send);
|
||||
});
|
||||
}
|
||||
}
|
||||
}
|
||||
//&& t.NOTICE_TITLE.Contains("审批")
|
||||
var sendSMSs1 = sendSMSs.Where(t => userIds.Contains(t.USER_ID) && t.CREATE_TIME > now.AddHours(-8));
|
||||
foreach (var send in sendSMSs1)
|
||||
{
|
||||
List<string> phoneNumbers = new List<string>();
|
||||
List<string> templates = new List<string>();
|
||||
var user = approveUsers.FirstOrDefault(t => t.ID == send.USER_ID);
|
||||
if (user != null && user.PHONE != null && !string.IsNullOrEmpty(user.PHONE))
|
||||
{
|
||||
send.SENDTIME = DateTime.Now;
|
||||
phoneNumbers.Add(user.PHONE);
|
||||
string paddedStr = send.NOTICE_TITLE.Length < 18 ? send.NOTICE_TITLE.PadRight(18) : send.NOTICE_TITLE.Substring(0, 18);
|
||||
templates.Add(paddedStr.Substring(0, 6));
|
||||
templates.Add(paddedStr.Substring(6, 6));
|
||||
templates.Add(paddedStr.Substring(12, 5));
|
||||
templates[1] = templates[1].Trim();
|
||||
templates[2] = templates[2].Trim();
|
||||
templates.Add(send.TASK_ENDDT.Year.ToString());
|
||||
templates.Add(send.TASK_ENDDT.Month.ToString("00"));
|
||||
templates.Add(send.TASK_ENDDT.Day.ToString("00"));
|
||||
templates.Add(send.TASK_ENDDT.Hour.ToString("00"));
|
||||
templates.Add(send.TASK_ENDDT.Minute.ToString("00"));
|
||||
templates.Add(send.TASK_ENDDT.Second.ToString("00"));
|
||||
TencentSendSMS tencentSendSMS = new TencentSendSMS();
|
||||
var result = tencentSendSMS.sendSMSDCJD("2163620", phoneNumbers.ToArray(), templates.ToArray());
|
||||
if (result.SendStatusSet[0].Code.Equals("Ok"))
|
||||
{
|
||||
UnifiedCommit(() =>
|
||||
{
|
||||
UpdateEntityNoCommit(send);
|
||||
});
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
}
|
||||
}
|
||||
catch (Exception ex)
|
||||
{
|
||||
if (!string.IsNullOrEmpty(ex.StackTrace))
|
||||
throw new Exception("错误日志:[StackTrace]" + ex.StackTrace);
|
||||
else
|
||||
throw new Exception("【" + HttpContext.Request.Path + "】错误日志:[Message]" + ex.Message);
|
||||
}
|
||||
|
||||
return true;
|
||||
});
|
||||
}
|
||||
public static AlibabaCloud.SDK.Dysmsapi20170525.Client CreateClient(string accessKeyId, string accessKeySecret)
|
||||
{
|
||||
AlibabaCloud.OpenApiClient.Models.Config config = new AlibabaCloud.OpenApiClient.Models.Config();
|
||||
@ -481,14 +286,14 @@ namespace APT.SC.WebApi.Controllers.Api.BI
|
||||
/// </summary>
|
||||
/// <param name="filter">定期短信发送</param>
|
||||
/// <returns></returns>
|
||||
[HttpPost, Route("regularSendSMSLYYL")]
|
||||
public JsonActionResult<bool> regularSendSMSLYYL([FromBody] KeywordFilter filter)
|
||||
[HttpPost, Route("regularSendSMS")]
|
||||
public JsonActionResult<bool> regularSendSMS([FromBody] KeywordFilter filter)
|
||||
{
|
||||
return SafeExecute<bool>(() =>
|
||||
{
|
||||
try
|
||||
{
|
||||
AlibabaCloud.SDK.Dysmsapi20170525.Client client = CreateClient("LTAI5tAfy6VEGWSSAf73LqP2", "RrWf2l0ZnSe0JsMDPHx9r1ouQNPGYm");
|
||||
AlibabaCloud.SDK.Dysmsapi20170525.Client client = CreateClient("LTAI5t6Pc52xRjzHgsVszgNY", "FxuLo87JVr0kXK6LjRRioVZpCw4frs");
|
||||
DateTime now = DateTime.Now;
|
||||
BaseFilter userfilter = new BaseFilter(filter.GetOrgId());
|
||||
userfilter.SelectField = new string[] { "PHONE" };
|
||||
@ -509,8 +314,8 @@ namespace APT.SC.WebApi.Controllers.Api.BI
|
||||
{
|
||||
AlibabaCloud.SDK.Dysmsapi20170525.Models.SendSmsRequest sendReq = new AlibabaCloud.SDK.Dysmsapi20170525.Models.SendSmsRequest { };
|
||||
sendReq.PhoneNumbers = user.PHONE;
|
||||
sendReq.SignName = "厦门鸣鹤";// "小鸣学习";
|
||||
sendReq.TemplateCode = "SMS_485890176";// "SMS_472015260";
|
||||
sendReq.SignName = "吐鲁番金源矿冶";// "小鸣学习";
|
||||
sendReq.TemplateCode = "SMS_496760196";// "SMS_472015260";
|
||||
//sendReq.TemplateParam = "{'name':'" + send.NOTICE_TITLE + "','time':'" + send.TASK_ENDDT + "'}";
|
||||
sendReq.TemplateParam = "{'state':'临超期','name':'" + send.NOTICE_TITLE + "','time':'" + send.TASK_ENDDT + "'}";
|
||||
|
||||
@ -533,8 +338,8 @@ namespace APT.SC.WebApi.Controllers.Api.BI
|
||||
{
|
||||
AlibabaCloud.SDK.Dysmsapi20170525.Models.SendSmsRequest sendReq = new AlibabaCloud.SDK.Dysmsapi20170525.Models.SendSmsRequest { };
|
||||
sendReq.PhoneNumbers = user.PHONE;
|
||||
sendReq.SignName = "厦门鸣鹤";// "小鸣学习";
|
||||
sendReq.TemplateCode = "SMS_485890176";// "SMS_472025278";
|
||||
sendReq.SignName = "吐鲁番金源矿冶";// "小鸣学习";
|
||||
sendReq.TemplateCode = "SMS_496760196";// "SMS_472015260";
|
||||
//sendReq.TemplateParam = "{'name':'" + send.NOTICE_TITLE + "','time':'" + send.TASK_ENDDT + "'}";
|
||||
sendReq.TemplateParam = "{'state':'新','name':'" + send.NOTICE_TITLE + "','time':'" + send.TASK_ENDDT + "'}";
|
||||
AlibabaCloud.SDK.Dysmsapi20170525.Models.SendSmsResponse sendResp = client.SendSms(sendReq);
|
||||
|
||||
@ -334,7 +334,7 @@ namespace APT.SE.WebApi.Controllers.Api
|
||||
T_FM_USER_POST modelPost = null;
|
||||
List<string> listPostNameEmpty = new List<string>();
|
||||
|
||||
List<int> listAnswerErrorIndex = new List<int>();
|
||||
List<string> listAnswerErrorIndex = new List<string>();
|
||||
List<string> listAnswerError = new List<string>();
|
||||
string strANSWER = string.Empty;
|
||||
T_SE_TEST_ENUM_POINT modelPoint = null;
|
||||
@ -441,7 +441,7 @@ namespace APT.SE.WebApi.Controllers.Api
|
||||
{
|
||||
listAnswerError.Add(strANSWER);
|
||||
}
|
||||
listAnswerErrorIndex.Add(i + rowIndex);
|
||||
listAnswerErrorIndex.Add((i + rowIndex).ToString());
|
||||
}
|
||||
}
|
||||
|
||||
@ -469,7 +469,7 @@ namespace APT.SE.WebApi.Controllers.Api
|
||||
{
|
||||
listAnswerError.Add(strANSWER);
|
||||
}
|
||||
listAnswerErrorIndex.Add(i + rowIndex);
|
||||
listAnswerErrorIndex.Add((i + rowIndex).ToString());
|
||||
}
|
||||
}
|
||||
if (mainTable.TYPE == SETestTypeEnum.多选题)
|
||||
@ -504,7 +504,7 @@ namespace APT.SE.WebApi.Controllers.Api
|
||||
{
|
||||
listAnswerError.Add(strANSWER);
|
||||
}
|
||||
listAnswerErrorIndex.Add(i + rowIndex);
|
||||
listAnswerErrorIndex.Add((i + rowIndex).ToString());
|
||||
}
|
||||
if (!string.IsNullOrEmpty(dtSource.Rows[i][8].ToString().Trim()))
|
||||
{
|
||||
@ -617,7 +617,7 @@ namespace APT.SE.WebApi.Controllers.Api
|
||||
}
|
||||
if (listAnswerErrorIndex.Count > 0)
|
||||
{
|
||||
throw new Exception("答案有误,行:【" + string.Join("," + listAnswerErrorIndex) + "】值:" + string.Join(",", listAnswerError));
|
||||
throw new Exception("答案有误,行:【" + string.Join(",", listAnswerErrorIndex) + "】值:" + string.Join(",", listAnswerError));
|
||||
}
|
||||
}
|
||||
if (strEmptyError != string.Empty)
|
||||
|
||||
Loading…
Reference in New Issue
Block a user