Кафедра информационных технологий в бизнесе удк 004. 4+004. 6 Управление потоками работ вычислительного центра вуза Выпускная квалификационная работа бакалавра


НазваниеКафедра информационных технологий в бизнесе удк 004. 4+004. 6 Управление потоками работ вычислительного центра вуза Выпускная квалификационная работа бакалавра
страница23/23
ТипДокументы
1   ...   15   16   17   18   19   20   21   22   23

ПРИЛОЖЕНИЕ Е. исходные коды основных методов


Листинг Е.1. Метод назначения ресурсов на задачи

protected void getResourcebtn_Click(object sender, EventArgs e)

{

try

{

using (SPSite site = new SPSite(_SITE_GUID))

{

using (SPWeb web = site.OpenWeb(_WEB_GUID))

{

int resAmount = 0,

resID=0,

taskID=0;

SPList taskList = web.GetListFromUrl(_TASK_LIST_URL),

resourcesList = web.GetListFromUrl(_RESOURCE_LIST_URL),

settingList=web.GetListFromUrl(_SET_RES_LIST_URL);

SPItem curResItem=null,

curTaskItem = null;

if (resAmounrtb.Text != String.Empty)

{

resAmount = Int32.Parse(resAmounrtb.Text);

getResourcebtn.Enabled = true;

}

Int32.TryParse(resourcesDDL.SelectedItem.Value, out resID);

Int32.TryParse(taskIDDropDL.SelectedItem.Value, out taskID);

bool checkStep = false;

try

{

curResItem = resourcesList.GetItemById(resID);

curTaskItem = taskList.GetItemById(taskID);

checkStep = true;
}

catch

{

Controls.Add(new LiteralControl("оставлено "));

}

if (checkStep)

{

int curAmount = 0;

Int32.TryParse(curResItem[_RESOURCE_LIST_AMOUNTFIELD].ToString(), out curAmount);

if (curAmount < resAmount && resourcesrbl.SelectedItem.Value != _SHOW_HUMANS

&& resourcesList.GetItemById(resID)[_RES_LIST_TYPERESFIELD].ToString() != _GET_HUMANS) Controls.Add(new LiteralControl(""));

else

{

if (resourcesrbl.SelectedItem.Value == _SHOW_HUMANS

|| resourcesList.GetItemById(resID)[_RES_LIST_TYPERESFIELD].ToString() == _GET_HUMANS)

{

resAmount = 1;

if (setResponsiblecb.Checked || curTaskItem[_TASK_LIST_RESPFIELD]==null)

{

int lookupID = 0;

SPFieldLookupValue setResponsible;

Int32.TryParse(resourcesDDL.SelectedItem.Value, out lookupID);

if (lookupID != 0)

{

setResponsible = new SPFieldLookupValue(lookupID, resourcesDDL.SelectedItem.Text);

curTaskItem[_TASK_LIST_RESPFIELD] = setResponsible;

curTaskItem.Update();

}

}

}

else

{

curResItem[_RESOURCE_LIST_AMOUNTFIELD] = curAmount - resAmount;

curResItem.Update();

}

//Првоерка на архивное назначение

SPFieldLookupValueCollection curTaskRes = new SPFieldLookupValueCollection(curTaskItem[_TASK_LIST_RESOURCEFIELD].ToString());

curTaskRes.Add(new SPFieldLookupValue(resID, resourcesDDL.SelectedItem.Text));

curTaskItem[_TASK_LIST_RESOURCEFIELD] = curTaskRes;

curTaskItem.Update();

bool createItem = true;

foreach (SPListItem item in settingList.Items)

{

SPFieldLookupValue setResID = new SPFieldLookupValue(item[_SET_LIST_RESIDFIELD].ToString()),

setTaskID = new SPFieldLookupValue(item[_SET_LIST_TASKIDFIELD].ToString());

bool checkArchivebool = false;

if (item[_SETING_LIST_ARCHIVEFIELD] != null)

{

SPFieldBoolean checkArchive = item.Fields.GetField(_SETING_LIST_ARCHIVEFIELD) as SPFieldBoolean;

checkArchivebool = (bool)checkArchive.GetFieldValue(item[_SETING_LIST_ARCHIVEFIELD].ToString());

}

if (setResID.LookupValue.ToString() == resID.ToString() && setTaskID.LookupValue.ToString() == taskID.ToString()&&!checkArchivebool)

{

if (resourcesList.GetItemById(resID)[_RES_LIST_TYPERESFIELD].ToString() != _GET_HUMANS)

{

int i = 0;

Int32.TryParse(item[_SET_LIST_AMOUNTFIELD].ToString(), out i);

i += resAmount;

item[_SET_LIST_AMOUNTFIELD] = i;

item.Update();

}

createItem = false;

}

}

if (createItem)

{

SPListItem setResItem = settingList.AddItem();

setResItem[_SET_LIST_RESIDFIELD] = new SPFieldLookupValue(resID, resourcesDDL.SelectedItem.Text);

setResItem[_SET_LIST_TASKIDFIELD] = new SPFieldLookupValue(taskID, taskIDDropDL.SelectedItem.Value);

setResItem[_SET_LIST_AMOUNTFIELD] = resAmount;

setResItem.Update();

}

resourceslb.Items.Clear();

GetResourceList();

Controls.Add(new LiteralControl(""));

}

}

}

}

}

catch(Exception ex)

{

throw new Exception(ex.Message);

}
}

Листинг Е.2. Метод автоматического освобождения ресурсов с задачи

protected void autoFreebtn_Click(object sender, EventArgs e)

{

GenerateView();

try

{

using (SPSite site = new SPSite(_SITE_GUID))

{

using (SPWeb web = site.OpenWeb(_WEB_GUID))

{

int taskID = 0;

SPList resourcesList = web.GetListFromUrl(_RESOURCE_LIST_URL),

settingList = web.GetListFromUrl(_SETTING_RES_LIST_URL);

Int32.TryParse(showTasksDDL.SelectedItem.Value.ToString(), out taskID);

if (showTasksDDL.SelectedItem.Text != _CHOICE_MENU_ITEM && showTasksDDL.SelectedItem.Text!=_NOT_FOUND)

{

foreach (SPListItem item in settingList.Items)

{

bool checkArchivebool = false;

if (item[_SETING_LIST_ARCHIVEFIELD] != null)

{

SPFieldBoolean checkArchive = item.Fields.GetField(_SETING_LIST_ARCHIVEFIELD) as SPFieldBoolean;

checkArchivebool = (bool)checkArchive.GetFieldValue(item[_SETING_LIST_ARCHIVEFIELD].ToString());

}

if (item[_SETTING_LIST_RES_ID] != null && item[_SETTING_LIST_TASK_ID] != null && !checkArchivebool)

{

SPFieldLookupValue taskItemID = new SPFieldLookupValue(item[_SETTING_LIST_TASK_ID].ToString());

SPFieldLookupValue resItemID = new SPFieldLookupValue(item[_SETTING_LIST_RES_ID].ToString());

int tmpRes = 0,

tmpTask = 0;

Int32.TryParse(taskItemID.LookupValue, out tmpTask);

Int32.TryParse(resItemID.LookupValue, out tmpRes);

if (tmpTask == taskID && taskID != 0 && tmpRes != 0)

{

int freeAmount = 0,

curAmount = 0;

SPListItem curResItem = resourcesList.GetItemById(tmpRes);

SPFieldBoolean check = curResItem.Fields.GetField(_RESOURCE_LIST_ENDINGRES_FIELD) as SPFieldBoolean;

bool checkEnding=(bool)check.GetFieldValue(curResItem[_RESOURCE_LIST_ENDINGRES_FIELD].ToString());

if (!checkEnding && curResItem[_RES_LIST_TYPERESFIELD] != null && curResItem[_RES_LIST_TYPERESFIELD].ToString()!=_GET_HUMANS)

{

Int32.TryParse(item[_SETING_LIST_AMOUNTFIELD].ToString(), out freeAmount);

Int32.TryParse(curResItem[_RESOURCE_LIST_AMOUNTFIELD].ToString(), out curAmount);

curAmount += freeAmount;

curResItem[_RESOURCE_LIST_AMOUNTFIELD] = curAmount;

curResItem.Update();

item[_SETING_LIST_AMOUNTFIELD] = 0;

}

item[_SETING_LIST_ARCHIVEFIELD] = 1;

item.Update();

}

}

}

Controls.Add(new LiteralControl(""));

}

else Controls.Add(new LiteralControl(""));
}

}

}

catch

{

}

}

Листинг Е.3. Метод освобождения конкретного ресурса с задачи

protected void freebtn_Click(object sender, EventArgs e)

{

GenerateWideView();

try

{

using (SPSite site = new SPSite(_SITE_GUID))

{

using (SPWeb web = site.OpenWeb(_WEB_GUID))

{

if (showResourcesDDL.SelectedItem.Text != _CHOICE_MENU_ITEM && showResourcesDDL.SelectedItem.Text != _NOT_FOUND)

{

SPList resourcesList = web.GetListFromUrl(_RESOURCE_LIST_URL),

settingList = web.GetListFromUrl(_SETTING_RES_LIST_URL);

int resID = 0,

curTaskID=0;

Int32.TryParse(showResourcesDDL.SelectedItem.Value, out resID);

Int32.TryParse(showTasksDDL.SelectedItem.Value, out curTaskID);

SPListItem curResItem = resourcesList.GetItemById(resID);

foreach (SPListItem item in settingList.Items)

{

int tmpUsinResID = 0,

tmpTaskID = 0;

SPFieldLookupValue IDs = new SPFieldLookupValue();

if (item[_SETTING_LIST_TASK_ID] != null)

{

IDs=new SPFieldLookupValue(item[_SETTING_LIST_TASK_ID].ToString());

Int32.TryParse(IDs.LookupValue, out tmpTaskID);

}

if (item[_SETTING_LIST_RES_ID] != null)

{

IDs = new SPFieldLookupValue(item[_SETTING_LIST_RES_ID].ToString());

Int32.TryParse(IDs.LookupValue, out tmpUsinResID);

}

if (item[_SETING_LIST_AMOUNTFIELD] != null && tmpTaskID == curTaskID && tmpUsinResID == resID)

{

int resAmount = 0,

curFreeAmount = 0;

Int32.TryParse(freeAmounttb.Text, out curFreeAmount);

Int32.TryParse(item[_SETING_LIST_AMOUNTFIELD].ToString(), out resAmount);

if (resAmount < curFreeAmount)

{

Controls.Add(new LiteralControl(""));

}

else

{

if (curResItem[_RES_LIST_TYPERESFIELD].ToString() != _GET_HUMANS)

{

int commonAmount = 0;

Int32.TryParse(curResItem[_RESOURCE_LIST_AMOUNTFIELD].ToString(), out commonAmount);

commonAmount += curFreeAmount;

resAmount -= curFreeAmount;

curResItem[_RESOURCE_LIST_AMOUNTFIELD] = commonAmount;

item[_SETING_LIST_AMOUNTFIELD] = resAmount;

curResItem.Update();

item.Update();

}

else

{

item[_SETING_LIST_ARCHIVEFIELD] = 1;

item.Update();

}

Controls.Add(new LiteralControl(""));

}

}

}

}

else Controls.Add(new LiteralControl(""));

}

}

}

catch

{

}

}

Листинг Е.4. Метод закрытия заявки, связных задачи и формирования отчета

protected void closeTasksbtn_Click(object sender, EventArgs e)

{

try

{

using (SPSite site=new SPSite(_SITE_ID))

{

using (SPWeb web=site.OpenWeb(_WEB_ID))

{

SPList taskList = web.GetListFromUrl(_TASK_LIST_URL),

commonList = web.GetListFromUrl(_COMMON_LIST_URL);

int curReqID = 0,

curReqIDInTaskList=0;

bool alertCheck = false;

if (AppDDL.SelectedItem.Text != _CHOICE_MENU_ITEM && AppDDL.SelectedItem.Text != _NOT_FOUND)

{

Int32.TryParse(AppDDL.SelectedItem.Value, out curReqID);

if (curReqID != 0)

{

SPListItem reqItem = commonList.GetItemById(curReqID);

if (reqItem[_COMMON_LIST_REQID_FIELD].ToString() != String.Empty)

{

SortedDictionary commonSolution = new SortedDictionary();

Int32.TryParse(reqItem[_COMMON_LIST_REQID_FIELD].ToString(), out curReqIDInTaskList);

bool check = true;

foreach (SPListItem taskItem in taskList.Items)

{

bool checkSet = true;

SPFieldLookupValue value=new SPFieldLookupValue(taskItem[_TASK_LIST_REQID_FIELD].ToString());

int tmpReqID = ParseLookupID(value.LookupValue);

if (tmpReqID == curReqIDInTaskList && taskItem[_TASK_LIST_CURRENTSTAGE_FIELD]!=null && taskItem[_TASK_LIST_CURRENTSTAGE_FIELD].ToString() != String.Empty

&& taskItem[_TASK_LIST_ORDER_FIELD]!=null && taskItem[_TASK_LIST_ORDER_FIELD].ToString() != String.Empty)

{

string stageField = taskItem[_TASK_LIST_CURRENTSTAGE_FIELD].ToString();

if (stageField.Contains(_TASK_COMPLETE_STAGE_VALUE)&&check)

{

SPList setList=web.GetListFromUrl(_SETTING_LIST_URL);

foreach (SPListItem setItem in setList.Items)

{

SPFieldLookupValue tmpTaskIDValue=null;

int tmpTaskID=0;

Int32.TryParse(taskItem["ID"].ToString(), out tmpTaskID);

if (setItem[_SETTING_LIST_TASKID_FIELD]!=null) tmpTaskIDValue=new SPFieldLookupValue(setItem[_SETTING_LIST_TASKID_FIELD].ToString());

int taskIDinSetList=ParseLookupID(tmpTaskIDValue.LookupValue);

if (tmpTaskID == taskIDinSetList)

{

bool checkArchiveSet=false;

if (setItem[_SETTING_LIST_ARCHIVE_FIELD]!=null)

{

SPFieldBoolean checkArchive = setItem.Fields.GetField(_SETTING_LIST_ARCHIVE_FIELD) as SPFieldBoolean;

checkArchiveSet = (bool)checkArchive.GetFieldValue(setItem[_SETTING_LIST_ARCHIVE_FIELD].ToString());

}

if (!checkArchiveSet)

{

checkSet = false;

break;

}

}

}

if (!checkSet)

{

Controls.Add(new LiteralControl(""));

alertCheck = true;

check = true;

break;

}

else

{

int order = 0;

string solution="";

if (taskItem[_TASK_LIST_SOLUTION_FIELD]!=null) solution = taskItem[_TASK_LIST_SOLUTION_FIELD].ToString();

Int32.TryParse(taskItem[_TASK_LIST_ORDER_FIELD].ToString(), out order);

commonSolution.Add(order, solution);

taskItem[_TASK_LIST_ARCHIVE_FIELD] = 1;

taskItem.Update();

}

}

else

{

check = false;

break;

}

}

}

if (!check)

{

Controls.Add(new LiteralControl(""));

alertCheck = true;

}

else

{

/////////Заполнить в общий список по порядку задач решение, заархивировать задачи (если не все есурсы освобождены - сказать об этом)

string finalSolution = "";

foreach (int key in commonSolution.Keys)

{

string tmpSol = key + " этап: " + commonSolution[key];

finalSolution += tmpSol;

}

reqItem[_COMMON_LIST_SOLUTION_FIELD] = finalSolution;

reqItem.Update();

if (!alertCheck) Controls.Add(new LiteralControl(""));

}

}

}

}

else Controls.Add(new LiteralControl(""));

}

}

}

catch

{

}

}

1   ...   15   16   17   18   19   20   21   22   23

Похожие:

Кафедра информационных технологий в бизнесе удк 004. 4+004. 6 Управление потоками работ вычислительного центра вуза Выпускная квалификационная работа бакалавра iconПермский филиал Факультет бизнес-информатики Кафедра информационных...
Описание процесса разработки системы поддержки принятия решений в управлении персоналом 38

Кафедра информационных технологий в бизнесе удк 004. 4+004. 6 Управление потоками работ вычислительного центра вуза Выпускная квалификационная работа бакалавра iconПермский филиал Факультет бизнес-информатики Кафедра информационных...
Данные гис – данные, полученные в результате геофизического исследования скважин. Синоним к термину «Каротажные данные»

Кафедра информационных технологий в бизнесе удк 004. 4+004. 6 Управление потоками работ вычислительного центра вуза Выпускная квалификационная работа бакалавра iconПермский филиал Факультет бизнес-информатики Кафедра информационных...
Приложение А. Модель бизнес-процесса «Ведение базы данных судк на основе исторических и оперативных данных» «as is» 70

Кафедра информационных технологий в бизнесе удк 004. 4+004. 6 Управление потоками работ вычислительного центра вуза Выпускная квалификационная работа бакалавра iconФакультет бизнес-информатики Кафедра информационных технологий в...
Информационная система связи факультета с работодателями: подсистемы работодателя и администратора

Кафедра информационных технологий в бизнесе удк 004. 4+004. 6 Управление потоками работ вычислительного центра вуза Выпускная квалификационная работа бакалавра iconКафедра информационных технологий в бизнесе удк 004. 94 Построение...
Построение онтологии предметной области для подсистемы проектирования деловых игр

Кафедра информационных технологий в бизнесе удк 004. 4+004. 6 Управление потоками работ вычислительного центра вуза Выпускная квалификационная работа бакалавра iconПермский филиал Факультет бизнес-информатики Кафедра информационных...
Ниу вшэ – Пермь занять лидирующие позиции в сфере подготовки бизнесинформатиков в Пермском крае. В то же время возрастающий спрос...

Кафедра информационных технологий в бизнесе удк 004. 4+004. 6 Управление потоками работ вычислительного центра вуза Выпускная квалификационная работа бакалавра icon1 общие положения выпускная квалификационная работа (дипломная работа)
Выпускная квалификационная работа (дипломная работа) представляет собой законченную разработку, в которой решается актуальная для...

Кафедра информационных технологий в бизнесе удк 004. 4+004. 6 Управление потоками работ вычислительного центра вуза Выпускная квалификационная работа бакалавра iconВыпускная работа по «Основам информационных технологий» Магистранта
Применение информационных технологий в исследовании структурных и оптических нанокристаллов InAs и InSb, синтезированных высокодозной...

Кафедра информационных технологий в бизнесе удк 004. 4+004. 6 Управление потоками работ вычислительного центра вуза Выпускная квалификационная работа бакалавра iconВыпускная квалификационная работа бакалавра
Федеральное государственное бюджетное образовательное учреждение высшего образования

Кафедра информационных технологий в бизнесе удк 004. 4+004. 6 Управление потоками работ вычислительного центра вуза Выпускная квалификационная работа бакалавра iconВыпускная квалификационная работа бакалавра
Теоретические основы формирования кредитной политики коммерческого банка

Вы можете разместить ссылку на наш сайт:


Все бланки и формы на filling-form.ru




При копировании материала укажите ссылку © 2019
контакты
filling-form.ru

Поиск