/// <summary> /// 根据工单Id 和服务预定Id 获取 服务预定关联工单ID /// </summary> private void GetCallTicket(HttpContext context) { var callId = context.Request.QueryString["callId"]; var ticketId = context.Request.QueryString["ticketId"]; if (!string.IsNullOrEmpty(callId) && !string.IsNullOrEmpty(ticketId)) { var ticketCall = new sdk_service_call_task_dal().GetSingTaskCall(long.Parse(callId), long.Parse(ticketId)); if (ticketCall != null) { context.Response.Write(new EMT.Tools.Serialize().SerializeJson(ticketCall)); } } }
/// <summary> /// 快速新增 /// </summary> public bool AddQuickCall(ServiceCallDto param, long userId) { // 新增工单 var tBll = new TicketBLL(); param.thisTicket.type_id = (int)DicEnum.TASK_TYPE.SERVICE_DESK_TICKET; param.thisTicket.status_id = (int)DicEnum.TICKET_STATUS.NEW; tBll.InsertTicket(param.thisTicket, userId); // 新增自定义 var udf_list = new UserDefinedFieldsBLL().GetUdf(DicEnum.UDF_CATE.TICKETS); new UserDefinedFieldsBLL().SaveUdfValue(DicEnum.UDF_CATE.TICKETS, userId, param.thisTicket.id, udf_list, param.udfList, DicEnum.OPER_LOG_OBJ_CATE.PROJECT_TASK_INFORMATION); // 新增其他负责人 if (!string.IsNullOrEmpty(param.resIds)) { tBll.TicketResManage(param.thisTicket.id, param.resIds, userId); } // 新增服务预定 var timeNow = Tools.Date.DateHelper.ToUniversalTimeStamp(DateTime.Now); tBll.AddCallOnly(param.call, userId); var ssctDal = new sdk_service_call_task_dal(); var taskRes = new sdk_service_call_task() { id = ssctDal.GetNextIdCom(), create_time = timeNow, create_user_id = userId, service_call_id = param.call.id, task_id = param.thisTicket.id, update_time = timeNow, update_user_id = userId, }; ssctDal.Insert(taskRes); OperLogBLL.OperLogAdd <sdk_service_call_task>(taskRes, taskRes.id, userId, DicEnum.OPER_LOG_OBJ_CATE.SERVICE_CALL_TICKET, "新增服务预定关联工单"); if (!string.IsNullOrEmpty(param.resIds)) { tBll.CallTicketResManage(param.call.id, param.resIds, userId); } return(true); }
/// <summary> /// 拖拽后修改服务预定 /// </summary> public bool EditServiceCall(long callId, long?oldResId, long newResId, long?roleId, string startTime, decimal duraHours, long userId) { var tBLL = new TicketBLL(); var sscDal = new sdk_service_call_dal(); var thisCall = sscDal.FindNoDeleteById(callId); if (thisCall == null) { return(false); } var timeNow = Tools.Date.DateHelper.ToUniversalTimeStamp(DateTime.Now); var oldStartDate = Tools.Date.DateHelper.ConvertStringToDateTime(thisCall.start_time); var newStartDate = DateTime.Parse(startTime); thisCall.start_time = Tools.Date.DateHelper.ToUniversalTimeStamp(newStartDate); thisCall.end_time = thisCall.start_time + (long)(duraHours * 60 * 60 * 1000); thisCall.update_time = timeNow; thisCall.update_user_id = userId; var oldSer = sscDal.FindNoDeleteById(callId); sscDal.Update(thisCall); OperLogBLL.OperLogUpdate <sdk_service_call>(thisCall, oldSer, thisCall.id, userId, DicEnum.OPER_LOG_OBJ_CATE.SERVICE_CALL, "编辑服务预定"); if (oldResId != newResId && roleId == null) { return(false); } var ssctrDal = new sdk_service_call_task_resource_dal(); var ssctDal = new sdk_service_call_task_dal(); if (oldResId != newResId) { var thisDep = new sys_resource_department_dal().GetResDepByResAndRole(newResId, (long)roleId); if (thisDep == null || thisDep.Count == 0) { return(false); } if (oldResId != null) { var oldResList = ssctrDal.GetResByCallRes(callId, (long)oldResId); oldResList.ForEach(_ => { ssctrDal.SoftDelete(_, userId); OperLogBLL.OperLogDelete <sdk_service_call_task_resource>(_, _.id, userId, DicEnum.OPER_LOG_OBJ_CATE.SERVICE_CALL_RESOURCE, "删除服务预定负责人"); }); } var thisCallTicket = stDal.GetTciketByCall(callId); if (thisCallTicket != null && thisCallTicket.Count > 0) { var strDal = new sdk_task_resource_dal(); thisCallTicket.ForEach(_ => { // 为服务预定添加该负责人 var thisCallTask = ssctDal.GetSingTaskCall(callId, _.id); if (thisCallTask != null) { var resList = ssctrDal.GetTaskResList(thisCallTask.id); if (!resList.Any(r => r.resource_id == newResId)) { var ssct = new sdk_service_call_task_resource() { id = ssctrDal.GetNextIdCom(), create_time = timeNow, create_user_id = userId, resource_id = newResId, service_call_task_id = thisCallTask.id, update_time = timeNow, update_user_id = userId, }; ssctrDal.Insert(ssct); OperLogBLL.OperLogAdd <sdk_service_call_task_resource>(ssct, ssct.id, userId, DicEnum.OPER_LOG_OBJ_CATE.SERVICE_CALL_RESOURCE, "新增服务预定负责人"); } } // 为工单团队添加负责人 if (!tBLL.IsHasRes(_.id, newResId)) { var item = new sdk_task_resource() { id = strDal.GetNextIdCom(), task_id = _.id, role_id = roleId, resource_id = newResId, department_id = (int)thisDep[0].department_id, create_user_id = userId, update_user_id = userId, create_time = Tools.Date.DateHelper.ToUniversalTimeStamp(DateTime.Now), update_time = Tools.Date.DateHelper.ToUniversalTimeStamp(DateTime.Now), }; strDal.Insert(item); OperLogBLL.OperLogAdd <sdk_task_resource>(item, item.id, userId, DicEnum.OPER_LOG_OBJ_CATE.PROJECT_TASK_RESOURCE, "新增工单分配对象"); } }); } } return(true); }