public without sharing class taskManageController {
|
|
// 初始方法,获取当前所有任务,包括当前用户和当前用户下属的任务
|
@AuraEnabled
|
public static Task getCurrentTask(string myTaskName, string myTaskType, string myTaskStatus, string myAccountID, Date myStartDate, Date myEndDate, String myTaskDifferent, //2021-09-28 mzy 任务管理改善 start
|
string subTaskName, string subTaskType, string subSFDCPosition, string subTaskStatus, string subAccountID, Date subStartDate, Date subEndDate,String subTaskDifferent) {
|
ID myUserID = UserInfo.getUserId();
|
// 检索出来当前用户的任务
|
list<TaskWrapper> myTasks = TasksBuild( new list<ID> {myUserID},
|
myTaskName, myTaskType, '' ,
|
myTaskStatus, myAccountID,
|
myStartDate,
|
myEndDate ,myTaskDifferent); //2021-09-28 mzy 任务管理改善 start
|
// 下属的ID set
|
list<id> subUserIDlist = new list<id>();
|
// 检索当前用户是经理、部长、总监等等的下属
|
for (user tempUser :
|
[select id
|
from user
|
where managerid = : myUserID
|
or JingliApprovalManager__c = : myUserID
|
or SalesManager__c = : myUserID
|
or JingliEquipmentManager__c = : myUserID
|
or BuchangApprovalManagerSales__c = : myUserID
|
or BuchangApprovalManager__c = : myUserID
|
or Buzhang_Equipment_Manager__c = : myUserID
|
or ZongjianApprovalManager__c = : myUserID
|
or TongkuoZongjian__c = : myUserID
|
]) {
|
subUserIDlist.add(tempUser.id);
|
}
|
// 检索出来下属用户的任务
|
list<TaskWrapper> subTasks = TasksBuild( subUserIDlist,
|
subTaskName, subTaskType, subSFDCPosition, subTaskStatus, subAccountID, subStartDate, subEndDate ,subTaskDifferent); //2021-09-28 mzy 任务管理改善 start
|
Task allTask = new Task(myTasks, subTasks );
|
return allTask;
|
}
|
// 确认或者延期
|
@AuraEnabled
|
public static string confirmOrDelay(boolean isDelay, string delayReason, string delayReasonOther, string taskID,Boolean IsGeneratePlan,Date ActivityDate,Date feedbackPlanDate) {
|
//2021-07-30 mzy SWAG-C5DAX8 update start
|
UserResult u = UserInfo_Owner();
|
//2021-07-30 mzy SWAG-C5DAX8 update end
|
try {
|
Task__c tempTask = new Task__c();
|
tempTask.id = taskID;
|
tempTask.isDelay__c = isDelay;
|
tempTask.delayReason__c = delayReason;
|
tempTask.delayReasonOther__c = delayReasonOther;
|
//2021-07-30 mzy SWAG-C5DAX8 update start
|
if(u.Job_Category!=null&&u.Job_Category.equals('销售服务')){
|
tempTask.delayReasonSelectFSE__c = delayReason;
|
}else {
|
tempTask.delayReasonSelect__c = delayReason;
|
}
|
//2021-07-30 mzy SWAG-C5DAX8 update end
|
//2021-10-20 mzy 任务管理改善 start
|
if(IsGeneratePlan == false){
|
//不生成计划
|
tempTask.taskStatus__c = '02 接受';
|
tempTask.GeneratePlan__c = IsGeneratePlan;
|
tempTask.ConfirmDate__c = Date.today();
|
tempTask.Activity_Date__c = ActivityDate;
|
tempTask.feedbackPlanDate__c = feedbackPlanDate;
|
}
|
//2021-10-20 mzy 任务管理改善 end
|
|
update tempTask;
|
//成功返回更新成功
|
return 'Success';
|
} catch (exception e) {
|
//否则返回错误信息
|
return e.getMessage();
|
}
|
}
|
|
//合并任务
|
@AuraEnabled
|
public static string mergeTask(List<String> taskIdList) {
|
|
try {
|
|
List<Task__c> taskList = [select id,mergeTaskMain__c,CreateDate__c,Name,account__c,assignee__c,Assignment_Date__c,taskType__c,RelatedInformation_Text__c from task__c where id in :taskIdList];
|
Task__c mainTask = new task__c();
|
List<Task__c> opdList = [select id,mergeTaskMain__c,CreateDate__c,Name,account__c,assignee__c,Assignment_Date__c,taskType__c,RelatedInformation_Text__c from task__c where id in :taskIdList and taskType__c = 'OPD' order by createdDate desc];
|
|
Boolean manyOpd = false;
|
if(opdList == null || opdList.size() == 0){
|
mainTask = [select id,mergeTaskMain__c,CreateDate__c,Name,account__c,assignee__c,Assignment_Date__c,taskType__c,RelatedInformation_Text__c from task__c where id in :taskIdList order by createdDate desc limit 1];
|
}else if(opdList.size() == 1){
|
mainTask = opdList.get(0);
|
}else{
|
manyOpd = true;
|
mainTask = opdList.get(0);
|
}
|
|
List<Task__c> subTaskList = [select id,mergeTaskMain__c,CreateDate__c,Name,account__c,assignee__c,Assignment_Date__c,taskType__c,RelatedInformation_Text__c from task__c where mergeTaskMain__c in :taskIdList ];
|
List<Task__c> updateList = new List<Task__c>();
|
List<Task__c> deleteList = new List<Task__c>();
|
Boolean isSame = false;
|
for(Task__c tsk : taskList){
|
if(tsk.id != mainTask.id ){
|
// if(tsk.CreateDate__c != null && tsk.CreateDate__c != mainTask.CreateDate__c && tsk.taskType__c == mainTask.taskType__c &&tsk.Name == mainTask.Name && tsk.RelatedInformation_Text__c == mainTask.RelatedInformation_Text__c ){
|
// deleteList.add(tsk);
|
// isSame = true;
|
// }else if( tsk.assignee__c == mainTask.assignee__c && tsk.account__c == mainTask.account__c && tsk.taskType__c != mainTask.taskType__c){
|
// if(isSame){
|
// return '相同类型的任务合并时,请勿勾选不同类型的任务!';
|
// }
|
// if(manyOpd){
|
// return '不同类型的任务合并时,最多可包含一个OPD任务!';
|
// }
|
// tsk.mergeTaskMain__c = mainTask.Id;
|
// updateList.add(tsk);
|
// }else{
|
// //return tsk.Name + ' 与 ' + mainTask.Name + ' 不符合合并条件!请选择派发时间不同,任务名称、类型、相关信息相同的任务进行合并,或者选择派发时间和客户相同,其余信息不同的任务进行合并!';
|
// return '相同客户才可进行任务合并';
|
// }
|
//只上线相同类型任务合并
|
if(tsk.CreateDate__c != null && tsk.CreateDate__c != mainTask.CreateDate__c && tsk.taskType__c == mainTask.taskType__c &&tsk.Name == mainTask.Name && tsk.RelatedInformation_Text__c == mainTask.RelatedInformation_Text__c ){
|
deleteList.add(tsk);
|
}else{
|
return '相同类型的任务才可进行任务合并(任务名称、类型、相关信息相同)';
|
}
|
|
}
|
|
}
|
|
if(subTaskList != null && subTaskList.size() > 0){
|
for(Task__c subTask : subTaskList){
|
subTask.mergeTaskMain__c = mainTask.Id;
|
}
|
update subTaskList;
|
}
|
if(updateList != null && updateList.size() > 0){
|
update updateList;
|
}
|
if(deleteList != null && deleteList.size() > 0){
|
delete deleteList;
|
}
|
return 'Success';
|
} catch (exception e) {
|
//否则返回错误信息
|
return e.getMessage();
|
}
|
}
|
|
//2021-10-28 yjk 根据任务id获取询价id
|
@AuraEnabled
|
public static string checkEnquiryController(String taskId) {
|
try {
|
List<task__c> tskList = [select id, OpportunityId__c from task__c where id = :taskId];
|
if(tskList.size() != 1){
|
return 'error';
|
}
|
if(tskList.get(0).OpportunityId__c == null ){
|
return 'no';
|
}
|
|
return tskList.get(0).OpportunityId__c;
|
} catch (exception e) {
|
//否则返回错误信息
|
return 'error';
|
}
|
}
|
|
//重新分配任务
|
@AuraEnabled
|
public static UserResult resetAssignee(string assigneeID, string taskID) {
|
UserResult result = new UserResult();
|
Savepoint sp = Database.setSavepoint();
|
try {
|
Task__c tempTask = new Task__c();
|
tempTask.id = taskID;
|
tempTask.assignee__c = assigneeID;
|
tempTask.ownerid = assigneeID;
|
tempTask.Assignment_Date__c = Date.today();
|
update tempTask;
|
//2021-11-12 yjk 任务分配时,子任务也一起分配给用户 start
|
List<Task__c> childTasks = [select id,assignee__c,ownerid,Assignment_Date__c from task__c where mergeTaskMain__c = :taskID];
|
if(null != childTasks && childTasks.size() > 0 ){
|
for(Task__c tsk : childTasks){
|
tsk.assignee__c = assigneeID;
|
tsk.ownerid = assigneeID;
|
tsk.Assignment_Date__c = Date.today();
|
}
|
}
|
update childTasks;
|
//2021-11-12 yjk 任务分配时,子任务也一起分配给用户 end
|
|
User tempUser =
|
[select id, alias from user where id = : assigneeID ];
|
result.assigneeID = assigneeID;
|
result.assigneeName = tempUser.alias;
|
|
} catch (exception e) {
|
Database.rollback(sp);
|
result.result = e.getMessage();
|
}
|
return result;
|
}
|
//20210105 CHAN-BWX3YU you start
|
//重新分配任务
|
@AuraEnabled
|
public static UserResult resetAssignee_Owner(string assigneeID, string taskID) {
|
UserResult result = new UserResult();
|
Savepoint sp = Database.setSavepoint();
|
try {
|
// Task__Share tasksha = new Task__Share(UserOrGroupId=assigneeID, AccessLevel='Edit', ParentId = taskID,RowCause = 'Manual');
|
//insert tasksha;
|
system.debug('==taskID==='+taskID+'==assigneeID=='+assigneeID);
|
|
Task__c tempTask = new Task__c();
|
tempTask.id = taskID;
|
tempTask.assignee__c = assigneeID;
|
tempTask.ownerid = assigneeID;
|
tempTask.Assignment_Date__c = Date.today();
|
update tempTask;
|
//2021-11-12 yjk 任务分配时,子任务也一起分配给用户 start
|
List<Task__c> childTasks = [select id,assignee__c,ownerid,Assignment_Date__c from task__c where mergeTaskMain__c = :taskID];
|
if(null != childTasks && childTasks.size() > 0 ){
|
for(Task__c tsk : childTasks){
|
tsk.assignee__c = assigneeID;
|
tsk.ownerid = assigneeID;
|
tsk.Assignment_Date__c = Date.today();
|
}
|
}
|
update childTasks;
|
//2021-11-12 yjk 任务分配时,子任务也一起分配给用户 end
|
User tempUser =
|
[select id, alias from user where id = : assigneeID ];
|
result.assigneeID = assigneeID;
|
result.assigneeName = tempUser.alias;
|
|
} catch (exception e) {
|
Database.rollback(sp);
|
result.result = e.getMessage();
|
}
|
return result;
|
}
|
//获取当前登录人的 省份 和 职种
|
@AuraEnabled
|
public static UserResult UserInfo_Owner() {
|
UserResult result = new UserResult();
|
ID myUserID = UserInfo.getUserId();
|
|
try {
|
User tempUser =
|
[select id,Province__c,Job_Category__c from user where id = : myUserID ];
|
result.Job_Category = tempUser.Job_Category__c;
|
result.ProvinceName = tempUser.Province__c;
|
} catch (exception e) {
|
|
result.result = e.getMessage();
|
}
|
return result;
|
}
|
//20210105 CHAN-BWX3YU you end
|
// 获取当前用户的任务
|
@AuraEnabled
|
public static Task getMyTask(string myTaskName, string myTaskType,
|
string myTaskStatus, string myAccountID,
|
Date myStartDate, Date myEndDate,
|
//2021-09-28 mzy 任务管理改善 start
|
String myTaskDifferent
|
//2021-09-28 mzy 任务管理改善 end
|
) {
|
ID myUserID = UserInfo.getUserId();
|
|
//2021-09-28 mzy 任务管理改善 update start
|
list<TaskWrapper> myTasks = TasksBuild( new list<ID> {myUserID},
|
myTaskName, myTaskType, '' , myTaskStatus, myAccountID, myStartDate, myEndDate, myTaskDifferent );
|
//2021-09-28 mzy 任务管理改善 update end
|
Task allTask = new Task(myTasks, null );
|
return allTask;
|
}
|
//获取当前用户下属的任务
|
@AuraEnabled
|
public static Task getSubTask(string subTaskName, string subTaskType,
|
string subSFDCPosition , string subTaskStatus,
|
string subAccountID,
|
Date subStartDate, Date subEndDate ,
|
//2021-09-28 mzy 任务管理改善 start
|
String subTaskDifferent
|
//2021-09-28 mzy 任务管理改善 end
|
) {
|
ID myUserID = UserInfo.getUserId();
|
list<id> subUserIDlist = new list<id>();
|
for (user tempUser :
|
[select id
|
from user
|
where managerid = : myUserID
|
or JingliApprovalManager__c = : myUserID
|
or SalesManager__c = : myUserID
|
or JingliEquipmentManager__c = : myUserID
|
or BuchangApprovalManagerSales__c = : myUserID
|
or BuchangApprovalManager__c = : myUserID
|
or Buzhang_Equipment_Manager__c = : myUserID
|
or ZongjianApprovalManager__c = : myUserID
|
or TongkuoZongjian__c = : myUserID
|
]) {
|
subUserIDlist.add(tempUser.id);
|
}
|
//system.debug('subUserIDlist:'+subUserIDlist);
|
//2021-09-28 mzy 任务管理改善 update start
|
list<TaskWrapper> subTasks = TasksBuild( subUserIDlist,
|
subTaskName, subTaskType, subSFDCPosition, subTaskStatus, subAccountID, subStartDate, subEndDate , subTaskDifferent );
|
//2021-09-28 mzy 任务管理改善 update end
|
Task allTask = new Task(null, subTasks );
|
return allTask;
|
}
|
// 取消任务
|
@AuraEnabled
|
public static string cancel(string taskID, string cancelReason, string cancelReasonOther) {
|
//2021-07-30 mzy SWAG-C5DAX8 update start
|
UserResult u = UserInfo_Owner();
|
//2021-07-30 mzy SWAG-C5DAX8 update end
|
System.debug('取消理由值:'+cancelReason);
|
try {
|
|
Task__c tempTask = new Task__c();
|
tempTask.id = taskID;
|
tempTask.cancelReason__c = cancelReason;
|
//2021-11-17 mzy 任务管理改善
|
if('客户时间变更或冲突'.equals(cancelReason)){
|
cancelReason = '客户事件变更或冲突';
|
}
|
//2021-11-17 mzy 任务管理改善
|
tempTask.cancelReasonOther__c = cancelReasonOther;
|
tempTask.taskStatus__c = '04 取消';
|
tempTask.cancelDate__c = date.today();
|
//2021-07-30 mzy SWAG-C5DAX8 update start
|
if(u.Job_Category!=null&&u.Job_Category.equals('销售服务')){
|
tempTask.cancelReasonSelectFSE__c = cancelReason;
|
}else {
|
tempTask.cancelReasonSelect__c = cancelReason;
|
}
|
//2021-07-30 mzy SWAG-C5DAX8 update end
|
|
update tempTask;
|
return 'Success';
|
} catch (exception e) {
|
return e.getMessage();
|
}
|
}
|
|
// 构建任务集合
|
public static list<TaskWrapper> TasksBuild( list<ID> userIDList, string TaskName,
|
string taskType, string SFDCPosition ,
|
string TaskStatus, string AccountID,
|
Date startDate, Date endDate,String TaskDifferent) {// 2021-09-28 mzy 任务管理改善 start
|
list<TaskWrapper> myTasks = new list<TaskWrapper>();
|
//2021-11-11 mzy 任务管理改善 start
|
UserResult u = UserInfo_Owner();
|
//2021-11-11 mzy 任务管理改善 end
|
// 拼出来任务检索条件
|
String query = 'select id, name, account__c, account__r.name,' +
|
'CreateDate__c,assignee__c , assignee__r.alias, ' +
|
//2021-03-29 WLIG-BZK59N mzy start
|
'RelatedInformation_ID__c,RelatedInformation_Text__c,'+
|
//2021-03-29 WLIG-BZK59N mzy end
|
//2021-09-28 mzy 任务管理改善 start
|
'TaskDifferent__c,'+
|
'completeCondition__c ,distributeReason__c,' + //2021-11-17 yjk 增加完成条件,派发原因
|
//2021-09-28 mzy 任务管理改善 end
|
//2021-11-11 mzy 任务管理改善 start
|
'cancelReasonSelect__c,cancelReasonSelectFSE__c,'+
|
'delayReasonSelect__c,delayReasonSelectFSE__c,RecordTypeId,'+
|
//2021-11-11 mzy 任务管理改善 end
|
//2021-11-25 mzy 任务管理改善 start
|
'HopeCompletionDate__c,'+
|
//2021-11-25 mzy 任务管理改善 end
|
'taskStatus__c,taskType__c,Assignment_Date__c from task__c where assignee__c =: userIDList and mergeTaskMain__c = null ' +
|
//2021-1-4 yjk 增加任务区分,只查询被动和上级分配
|
//' and TaskDifferent__c != \'主动任务\' ';
|
'';
|
//任务名称
|
if (string.isNotBlank(TaskName)) {
|
query += ' and Name like \'%' + String.escapeSingleQuotes(TaskName.trim()) + '%\'';
|
}
|
//任务类型
|
if (string.isNotBlank(taskType)) {
|
query += ' and taskType__c = \'' + String.escapeSingleQuotes(taskType) + '\'';
|
}
|
// SFDC职种
|
if (string.isNotBlank(SFDCPosition)) {
|
query += ' and assignee__r.SFDCPosition_C__c = \'' + String.escapeSingleQuotes(SFDCPosition) + '\'';
|
}
|
// 所属客户
|
if (string.isNotBlank(AccountID)) {
|
query += ' and account__c = \'' + String.escapeSingleQuotes(AccountID) + '\'';
|
}
|
//任务状态
|
if (string.isNotBlank(TaskStatus)) {
|
query += ' and taskStatus__c = \'' + String.escapeSingleQuotes(TaskStatus) + '\'';
|
}
|
//创建日期的起始日期
|
if (startDate != null) {
|
query += ' and CreateDate__c >= ' + startDate.format().replace('/', '-') ;
|
}
|
//创建日期的结束日期
|
if (endDate != null) {
|
query += ' and CreateDate__c <= ' + endDate.format().replace('/', '-') ;
|
}
|
//2021-09-28 mzy 任务管理改善 start
|
//任务区分
|
if(string.isNotBlank(TaskDifferent)){
|
query += ' and TaskDifferent__c =\''+ String.escapeSingleQuotes(TaskDifferent) +'\'';
|
}else {
|
query += ' and TaskDifferent__c != \'主动任务\' ';
|
}
|
//2021-09-28 mzy 任务管理改善 end
|
|
//2021-04-19 mzy WLIG-C25DW4 任务一览表显示逻辑 任务管理表请按客户、任务类型和相关信息排序。 start
|
query += ' order by TaskDifferent__c desc,account__c ,taskType__c,RelatedInformation_ID__c';
|
//2021-04-19 mzy WLIG-C25DW4 任务一览表显示逻辑 任务管理表请按客户、任务类型和相关信息排序。 end
|
|
// 检索成功后构建任务wrapper
|
for ( Task__c tempTask : Database.query(query) ) {
|
TaskWrapper tempTaskWrapper = new TaskWrapper();
|
tempTaskWrapper.Id = tempTask.id;
|
tempTaskWrapper.taskId = '/' + tempTask.id;
|
//2021-11-25 mzy 任务管理改善 start
|
//任务名称只显示 名称不显示客户名
|
if(String.isNotBlank(tempTask.Name)){
|
String tempTaskName = tempTask.Name;
|
if(tempTaskName.contains(':')){
|
tempTaskWrapper.taskName = tempTaskName.split(':')[0];
|
//}else if(tempTaskName.contains('(')){
|
// tempTaskWrapper.taskName = tempTaskName.split('(')[0];
|
}else {
|
tempTaskWrapper.taskName = tempTaskName;
|
}
|
}
|
//tempTaskWrapper.taskName = tempTask.Name;
|
//2021-11-25 mzy 任务管理改善 end
|
tempTaskWrapper.taskAccountID = null == tempTask.account__c ? '' : '/' + tempTask.account__c;
|
tempTaskWrapper.taskAccountName = tempTask.account__r.name;
|
tempTaskWrapper.taskType = tempTask.taskType__c;
|
tempTaskWrapper.taskStatus = tempTask.taskStatus__c;
|
tempTaskWrapper.taskCreateddate = tempTask.CreateDate__c;
|
tempTaskWrapper.taskAssigneeName = tempTask.assignee__r.alias;
|
tempTaskWrapper.taskAssigneeUrl = '/' + tempTask.assignee__c;
|
tempTaskWrapper.taskAssigneeID = tempTask.assignee__c;
|
//2021-09-28 mzy 任务管理改善 start
|
tempTaskWrapper.taskDifferent = tempTask.TaskDifferent__c;
|
//2021-09-28 mzy 任务管理改善 end
|
|
tempTaskWrapper.completeCondition = tempTask.completeCondition__c;//2021-11-17 yjk 完成条件
|
tempTaskWrapper.distributeReason = tempTask.distributeReason__c;
|
//2021-11-11 mzy 任务管理改善 start
|
//根据任务类型显示不同的理由
|
tempTaskWrapper.tempTask = tempTask;
|
tempTaskWrapper.isFSE = ('销售服务'.equals(u.Job_Category) ? true :false);
|
//2021-11-11 mzy 任务管理改善 end
|
//2021-11-25 mzy 任务管理改善 start
|
tempTaskWrapper.HopeCompletionDate = tempTask.HopeCompletionDate__c;
|
//2021-11-25 mzy 任务管理改善 end
|
//2021-03-29 WLIG-BZK59N mzy start
|
if(tempTask.RelatedInformation_Text__c != null && tempTask.RelatedInformation_ID__c != null){
|
//多年保 和 询价
|
tempTaskWrapper.taskRelatedInformation = tempTask.RelatedInformation_Text__c;
|
tempTaskWrapper.taskRelatedInformationID = '/'+tempTask.RelatedInformation_ID__c;
|
}else if(tempTask.RelatedInformation_Text__c != null&&String.isBlank(String.valueOf(tempTask.RelatedInformation_ID__c))==true){
|
//OPD任务 || 是其他
|
tempTaskWrapper.taskRelatedInformation = tempTask.RelatedInformation_Text__c;
|
tempTaskWrapper.taskRelatedInformationID = '/apex/taskManage?id='+String.ValueOf(UserInfo.getUserId()).substring(0,15)+'#';
|
}
|
//tempTaskWrapper.taskRelatedInformation = tempTask.RelatedInformation_Text__c;
|
//tempTaskWrapper.taskRelatedInformationID = tempTask.RelatedInformation_ID__c==null?'/':'/'+tempTask.RelatedInformation_ID__c;
|
//2021-03-29 WLIG-BZK59N mzy end
|
tempTaskWrapper.cancelButtonisDisabled = false;
|
tempTaskWrapper.confirmButtonisDisabled = false;
|
tempTaskWrapper.delayButtonisDisabled = false;
|
tempTaskWrapper.assignButtonisDisabled = false;
|
//20210111 CHAN-BWX3YU you start
|
tempTaskWrapper.assignButtonisDisabled_Owner = false;
|
|
Date d2 = date.today().addDays(-2);
|
Date createdate1= date.newinstance(tempTask.CreateDate__c.year(), tempTask.CreateDate__c.month(), tempTask.CreateDate__c.day());
|
system.debug('分配时间'+tempTask.Assignment_Date__c+'==d2=='+d2);
|
//20210111 CHAN-BWX3YU you end
|
|
if (tempTask.taskStatus__c != null && !tempTask.taskStatus__c.equals('01 分配')) {
|
tempTaskWrapper.cancelButtonisDisabled = true;
|
tempTaskWrapper.confirmButtonisDisabled = true;
|
tempTaskWrapper.delayButtonisDisabled = true;
|
tempTaskWrapper.assignButtonisDisabled = true;
|
//20210105 CHAN-BWX3YU you start
|
tempTaskWrapper.assignButtonisDisabled_Owner = true;
|
//20210105 CHAN-BWX3YU you end
|
}
|
//20210618 SWAG-C434H9 zh start
|
// if((tempTask.Assignment_Date__c!= null && tempTask.Assignment_Date__c >=d2) || (tempTask.Assignment_Date__c== null && createdate1>=d2 )){
|
if(tempTask.Assignment_Date__c!= null && tempTask.Assignment_Date__c >=d2){
|
//20210618 SWAG-C434H9 zh end
|
//20210113 CHAN-BWX3YU you start
|
tempTaskWrapper.assignButtonisDisabled_Owner = true;
|
tempTaskWrapper.assignButtonisDisabled = true;
|
//20210113 CHAN-BWX3YU you end
|
}
|
//2021-10-08 mzy 任务管理改善 start
|
//上级分配的任务只允许 接受 ,不允许 延期/取消
|
if(tempTask.TaskDifferent__c != null && tempTask.TaskDifferent__c.equals('上级分配任务')){
|
tempTaskWrapper.cancelButtonisDisabled = true;
|
tempTaskWrapper.delayButtonisDisabled = true;
|
tempTaskWrapper.assignButtonisDisabled_Owner = true;
|
}
|
//2021-10-08 mzy 任务管理改善 end
|
myTasks.add(tempTaskWrapper);
|
}
|
return myTasks;
|
}
|
// 获取各种选项列表的选项值
|
@AuraEnabled
|
public static map<string, list<pickerWrapper>> getpickerField() {
|
map<string, list<pickerWrapper>> pickerFields = new map<string, list<pickerWrapper>>();
|
|
// 任务类型选项值获取
|
list<pickerWrapper> taskTypeOptions = new list<pickerWrapper>();
|
Map<String, Schema.RecordTypeInfo> taskTypeNameMap =
|
Schema.SObjectType.Task__c.getRecordTypeInfosByName();
|
set<string> taskTypeNameSet = taskTypeNameMap.keySet();
|
for (string tempStr : taskTypeNameSet) {
|
if (!tempStr.equals('主类型')) {
|
pickerWrapper temppickerWrapper =
|
new pickerWrapper(tempStr, tempStr);
|
taskTypeOptions.add(temppickerWrapper);
|
}
|
}
|
pickerWrapper pickerWrapper =
|
new pickerWrapper('所有', '');
|
taskTypeOptions.add(pickerWrapper);
|
pickerFields.put('taskTypeOptions', taskTypeOptions);
|
// 任务状态选项值获取
|
list<pickerWrapper> taskStatusOptions = new list<pickerWrapper>();
|
Schema.DescribeFieldResult taskStatusfieldResult = Task__c.taskStatus__c.getDescribe();
|
List<Schema.PicklistEntry> taskStatusple = taskStatusfieldResult.getPicklistValues();
|
for ( Schema.PicklistEntry pickListVal : taskStatusple) {
|
pickerWrapper temppickerWrapper =
|
new pickerWrapper(pickListVal.getLabel(), pickListVal.getValue());
|
taskStatusOptions.add(temppickerWrapper);
|
}
|
pickerFields.put('taskStatusOptions', taskStatusOptions);
|
// 2021-09-28 mzy 任务管理改善 start
|
// 任务区分选项值获取
|
list<pickerWrapper> taskDifferentOptions = new list<pickerWrapper>();
|
Schema.DescribeFieldResult taskDifferentfieldResult = Task__c.taskDifferent__c.getDescribe();
|
List<Schema.PicklistEntry> taskDifferentple = taskDifferentfieldResult.getPicklistValues();
|
for ( Schema.PicklistEntry pickListVal : taskDifferentple) {
|
pickerWrapper temppickerWrapper =
|
new pickerWrapper(pickListVal.getLabel(), pickListVal.getValue());
|
taskDifferentOptions.add(temppickerWrapper);
|
}
|
pickerWrapper taskDifferentWrapper =
|
new pickerWrapper('所有', '');
|
taskDifferentOptions.add(taskDifferentWrapper);
|
pickerFields.put('taskDifferentOptions', taskDifferentOptions);
|
// 2021-09-28 mzy 任务管理改善 end
|
// SFDC 职种选项值获取
|
list<pickerWrapper> SFDCPositionOptions = new list<pickerWrapper>();
|
Schema.DescribeFieldResult SFDCPositionfieldResult = user.SFDCPosition_C__c.getDescribe();
|
List<Schema.PicklistEntry> SFDCPositionple = SFDCPositionfieldResult.getPicklistValues();
|
for ( Schema.PicklistEntry pickListVal : SFDCPositionple) {
|
pickerWrapper temppickerWrapper =
|
new pickerWrapper(pickListVal.getLabel(), pickListVal.getValue());
|
SFDCPositionOptions.add(temppickerWrapper);
|
}
|
pickerFields.put('SFDCPositionOptions', SFDCPositionOptions);
|
// 当前用户职种获取
|
User curentUser =
|
[select id , Job_Category__c
|
from User
|
where id = : UserInfo.getUserId()];
|
// 取消理由选项值获取
|
list<pickerWrapper> cancelReasonOptions = new list<pickerWrapper>();
|
Schema.DescribeFieldResult cancelReasonfieldResult;
|
if (curentUser.Job_Category__c != null && curentUser.Job_Category__c.equals('销售服务')) {
|
cancelReasonfieldResult = Task__c.cancelReasonSelectFSE__c.getDescribe();
|
|
} else {
|
cancelReasonfieldResult = Task__c.cancelReasonSelect__c.getDescribe();
|
}
|
List<Schema.PicklistEntry> cancelReasonple = cancelReasonfieldResult.getPicklistValues();
|
for ( Schema.PicklistEntry pickListVal : cancelReasonple) {
|
pickerWrapper temppickerWrapper =
|
new pickerWrapper(pickListVal.getLabel(), pickListVal.getValue());
|
cancelReasonOptions.add(temppickerWrapper);
|
}
|
pickerFields.put('cancelReasonOptions', cancelReasonOptions);
|
|
// 延期理由选项值获取
|
list<pickerWrapper> delayReasonOptions = new list<pickerWrapper>();
|
Schema.DescribeFieldResult delayReasonfieldResult;
|
if (curentUser.Job_Category__c != null && curentUser.Job_Category__c.equals('销售服务')) {
|
delayReasonfieldResult = Task__c.delayReasonSelectFSE__c.getDescribe();
|
|
} else {
|
delayReasonfieldResult = Task__c.delayReasonSelect__c.getDescribe();
|
}
|
List<Schema.PicklistEntry> delayReasonple = delayReasonfieldResult.getPicklistValues();
|
for ( Schema.PicklistEntry pickListVal : delayReasonple) {
|
pickerWrapper temppickerWrapper =
|
new pickerWrapper(pickListVal.getLabel(), pickListVal.getValue());
|
delayReasonOptions.add(temppickerWrapper);
|
}
|
pickerFields.put('delayReasonOptions', delayReasonOptions);
|
|
return pickerFields;
|
}
|
|
public class Task {
|
@AuraEnabled
|
public list<TaskWrapper> myTasks;
|
@AuraEnabled
|
public list<TaskWrapper> subTasks;
|
|
public Task(list<TaskWrapper> myTasks, list<TaskWrapper> subTasks) {
|
this.myTasks = myTasks;
|
this.subTasks = subTasks;
|
}
|
}
|
public class TaskWrapper {
|
@AuraEnabled
|
public String id;
|
@AuraEnabled
|
public String taskId;
|
@AuraEnabled
|
public String taskName;
|
@AuraEnabled
|
public String taskAccountID;
|
@AuraEnabled
|
public String taskAccountName;
|
@AuraEnabled
|
public String taskAssigneeID;
|
@AuraEnabled
|
public String taskAssigneeUrl;
|
@AuraEnabled
|
public String taskAssigneeName;
|
@AuraEnabled
|
public String taskType;
|
@AuraEnabled
|
public String taskStatus;
|
@AuraEnabled
|
public Date taskCreateddate;
|
@AuraEnabled
|
public Boolean cancelButtonisDisabled;
|
@AuraEnabled
|
public Boolean confirmButtonisDisabled;
|
@AuraEnabled
|
public Boolean delayButtonisDisabled;
|
@AuraEnabled
|
public Boolean assignButtonisDisabled;
|
//20210104 CHAN-BWX3YU you
|
@AuraEnabled
|
public Boolean assignButtonisDisabled_Owner;
|
//2021-03-29 WLIG-BZK59N mzy
|
@AuraEnabled
|
public String taskRelatedInformation;
|
@AuraEnabled
|
public String taskRelatedInformationID;
|
//2021-09-28 任务管理改善 mzy
|
@AuraEnabled
|
public String taskDifferent;
|
//2021-11-11 任务管理改善 mzy
|
@AuraEnabled
|
public Task__c tempTask;
|
@AuraEnabled
|
public Boolean isFSE;
|
@AuraEnabled
|
public String completeCondition;
|
@AuraEnabled
|
public String distributeReason;
|
//2021-11-25 任务管理改善 mzy
|
@AuraEnabled
|
public Date HopeCompletionDate;
|
//2021-11-25 任务管理改善 mzy
|
}
|
public class pickerWrapper {
|
@AuraEnabled
|
public string label;
|
@AuraEnabled
|
public string value;
|
public pickerWrapper(string label, string value) {
|
this.label = label;
|
this.value = value;
|
}
|
|
}
|
public class UserResult {
|
@AuraEnabled
|
public string assigneeName;
|
@AuraEnabled
|
public string assigneeID;
|
@AuraEnabled
|
public string result;
|
public UserResult( ) {
|
result = 'Success';
|
}
|
//20210105 CHAN-BWX3YU you start
|
@AuraEnabled
|
public string Job_Category;
|
@AuraEnabled
|
public string ProvinceName;
|
//20210105 CHAN-BWX3YU you end
|
}
|
}
|