private void AddTaskResource(string resCode, string resName, decimal price, decimal quanity, string taskId, List <string> errors) { Resource byId = Resource.GetById(Resource.GetResourceId(resCode)); if (byId != null) { TaskResource taskResource = new TaskResource { Resource = byId, InputUser = this.inputUser, InputDate = new DateTime?(DateTime.Now), Price = price, Quantity = quanity }; BudTask.AddResource(taskId, taskResource); } else { string item = "资源编号:" + resCode + " 在资源库不存在,已添加到资源映射!"; if (!errors.Contains(item)) { errors.Add(item); ResourceTemp.Add(ResourceTemp.Create(string.Empty, taskId, resCode, resName, new decimal?(price), new decimal?(quanity), new decimal?(price * quanity), this.prjId)); } } }
public BudTask GetBudTask(string taskId) { BudModifyService service = new BudModifyService(); BudModifyTask byId = this.GetById(taskId); BudTask task2 = new BudTask(); if (byId != null) { BudModify modify = service.GetById(byId.ModifyId); task2.TaskId = byId.ModifyTaskId; task2.ParentId = byId.TaskId; task2.OrderNumber = byId.OrderNumber; task2.Version = 1; task2.PrjId = modify.PrjId; task2.TaskCode = byId.ModifyTaskCode; task2.TaskName = byId.ModifyTaskContent; task2.Unit = byId.Unit; task2.Quantity = new decimal?(byId.Quantity); task2.UnitPrice = new decimal?(byId.UnitPrice); task2.Total = new decimal?(byId.Total); task2.StartDate = byId.StartDate; task2.EndDate = byId.EndDate; task2.ConstructionPeriod = byId.ConstructionPeriod; task2.Note = byId.Note; task2.InputDate = DateTime.Now; task2.InputUser = modify.InputUser; task2.TaskType = string.Empty; task2.IsValid = true; } //List<BudModifyTask> inModifyTask = this.GetInModifyTask(taskId); DataSet dsTask = this.GetInModifyTask2(taskId); //if (inModifyTask != null) if (dsTask.Tables[0].Rows.Count > 0) { //foreach (BudModifyTask task3 in inModifyTask) foreach (DataRow dr in dsTask.Tables[0].Rows) { decimal?quantity = task2.Quantity; decimal num3 = Convert.ToDecimal(dr["Quantity"]); //task3.Quantity; task2.Quantity = quantity.HasValue ? new decimal?(quantity.GetValueOrDefault() + num3) : null; decimal?total = task2.Total; decimal num4 = Convert.ToDecimal(dr["Total"]); //task3.Total; task2.Total = total.HasValue ? new decimal?(total.GetValueOrDefault() + num4) : null; } decimal num = 0M; decimal num2 = 0M; if (task2.Total.HasValue) { num2 = 0M; } if (task2.Quantity.HasValue && (task2.Quantity.Value != 0M)) { num = num2 / task2.Quantity.Value; } task2.UnitPrice = new decimal?(num); } return(task2); }
protected void btnDel_Click(object sender, System.EventArgs e) { CheckBox checkBox = this.gvBudget.HeaderRow.Cells[0].FindControl("cbAllBox") as CheckBox; if (checkBox != null && checkBox.Checked) { BudTemplateItem.Delete(this.tvBudget.SelectedValue); this.strJS.Append(string.Concat(new string[] { "location='BudTemplateList.aspx?tempId=", this.tvBudget.SelectedValue, "&tempType=", this.ddlType.SelectedValue, "';" })); base.RegisterScript(this.strJS.ToString()); return; } System.Collections.Generic.List <string> list = new System.Collections.Generic.List <string>(); if (this.hfldCheckedIds.Value.Contains("[")) { list = JsonHelper.GetListFromJson(this.hfldCheckedIds.Value); } else { list.Add(this.hfldCheckedIds.Value); } bool flag = false; System.Collections.Generic.List <string> orderNumberById = BudTemplateItem.GetOrderNumberById(list); if (orderNumberById.Count > 1) { flag = BudTask.IsStructured(orderNumberById); } try { if (flag) { list.Reverse(); } BudTemplateItem.Delete(list); this.strJS.Append("alert('系统提示:\\n删除成功!');"); this.strJS.Append(string.Concat(new string[] { "location='BudTemplateList.aspx?tempId=", this.tvBudget.SelectedValue, "&tempType=", this.ddlType.SelectedValue, "';" })); } catch { this.strJS.Append("alert('系统提示:\\n请先删除子项!')"); } base.RegisterScript(this.strJS.ToString()); }
private string GetTaskCode(string taskId) { BudTask byId = this.tSer.GetById(taskId); if (byId != null) { return(byId.TaskCode); } return(string.Empty); }
private void DataBindResource() { string text = base.Request["prjId"]; if (!string.IsNullOrEmpty(text)) { DataTable taskInfo = BudTask.GetTaskInfo(text, this.hfldIsWBSRelevance.Value, string.Empty, string.Empty, string.Empty); this.gvBudget.DataSource = taskInfo; this.gvBudget.DataBind(); } }
protected void bindTarget(string contractId) { DataTable taskByContract = BudTask.GetTaskByContract(contractId); if (taskByContract != null && taskByContract.Rows.Count > 0) { this.lblTitlTarget.Text = "控制指标"; this.Repeater1.DataSource = taskByContract; this.Repeater1.DataBind(); } }
protected void gvPurchaseplan_RowDataBound(object sender, GridViewRowEventArgs e) { if (e.Row.RowType == DataControlRowType.DataRow) { string value = this.gvBudget.DataKeys[e.Row.RowIndex]["Id"].ToString(); e.Row.Attributes["id"] = value; object obj = this.gvBudget.DataKeys[e.Row.RowIndex]["ResourceId"]; e.Row.Attributes["resourceId"] = ((obj == null) ? string.Empty : obj.ToString()); object obj2 = this.gvBudget.DataKeys[e.Row.RowIndex]["ResourceName"]; e.Row.Attributes["resourceName"] = ((obj2 == null) ? string.Empty : obj2.ToString()); BudTask budTask = this.gvBudget.DataKeys[e.Row.RowIndex]["BudTask"] as BudTask; e.Row.Attributes["taskId"] = ((budTask == null) ? string.Empty : budTask.Id); } }
public static void CoverVersion(string prjId) { using (pm2Entities entities = new pm2Entities()) { List <string> ids = (from m in entities.Bud_Task where m.PrjId == prjId select m.TaskId).ToList <string>(); new PayoutTarget().DelByTaskId(ids); foreach (string str in ids) { BudTask.DeleteReourceByTaskId(str); BudTask.Delete(str); } } }
public void BindData() { BudTaskChange model = BudTaskChange.GetModel(this.taskChangeId); if (model != null) { this.lblPrjName.Text = model.PrjName; this.lblVersionCode.Text = model.VersionCode; this.lblUserCode.Text = WebUtil.GetUserNames(model.InputUser); this.lblNote.Text = model.Note; this.hfldPrjId.Value = model.PrjId; DataTable taskInfo = BudTask.GetTaskInfo(model.PrjId, this.hfldIsWBSRelevance.Value, string.Empty, string.Empty, string.Empty); this.gvBudget.DataSource = taskInfo; this.gvBudget.DataBind(); } }
public static void CoverVersionNew(string prjId, int version) { using (pm2Entities entities = new pm2Entities()) { List <string> ids = (from m in entities.Bud_Task where (m.PrjId == prjId) && (m.Version == version) select m.TaskId).ToList <string>(); new PayoutTarget().DelByTaskId(ids); foreach (string str in ids) { TaskResource.DelRes(prjId, version); ResourceTemp.DelByPrjId(prjId); BudTask.Delete(str); } } }
private void AddChildToTrvwBudget(TreeNode parentNode, IList <BudTask> budTaskList) { foreach (BudTask current in budTaskList) { TreeNode treeNode = new TreeNode(current.Name, current.Id); IList <BudTask> listByParentId = BudTask.GetListByParentId(current.Id); if (listByParentId.Count > 0) { this.AddChildToTrvwBudget(treeNode, listByParentId); } else { treeNode.ToolTip = treeNode.Text; } parentNode.ChildNodes.Add(treeNode); } }
protected void btnSaveTemplate_Click(object sender, System.EventArgs e) { bool flag = base.Request["saveAs"] != null; if (flag) { this.strJS.Append("alert('系统提示:\\n已保存为新模板,不能重复保存!');"); } else { string text = (this.Session["taskIds"] == null) ? "" : this.Session["taskIds"].ToString(); if (!string.IsNullOrEmpty(text)) { System.Collections.Generic.List <string> list = new System.Collections.Generic.List <string>(); if (text.Contains("[")) { list = JsonHelper.GetListFromJson(text); } else { list.Add(text); } BudTask.GetOrderNumberById(list); this.hdtemplateName.Value.Trim(); string empty = string.Empty; this.AddTemplate(ref empty); string inputUser = PageHelper.QueryUser(this, base.UserCode); BudTemplateItem.SaveTemplate(list, empty, "", inputUser); this.strJS.Append("alert('系统提示:\\n保存成功!');"); this.strJS.Append(string.Concat(new string[] { "location='SelectTemplate.aspx?type=", this.ddlType.SelectedValue, "&template=", empty, "&saveAs=1';" })); this.ViewState["saveAs"] = true; this.btnSaveAs.Disabled = true; } } base.RegisterScript(this.strJS.ToString()); }
private void BindTrvwBudget() { this.trvwBudget.Nodes.Clear(); string value = this.hdnProjectCode.Value; if (!string.IsNullOrEmpty(value)) { IList <BudTask> firstLayerList = BudTask.GetFirstLayerList(value); foreach (BudTask current in firstLayerList) { TreeNode treeNode = new TreeNode(current.Name, current.Id); IList <BudTask> listByParentId = BudTask.GetListByParentId(treeNode.Value); if (listByParentId.Count > 0) { this.AddChildToTrvwBudget(treeNode, listByParentId); } this.trvwBudget.Nodes.Add(treeNode); } this.trvwBudget.ExpandAll(); } }
public static decimal GetTypePrice(string taskId, string priceType, string resourceTypeId) { System.Func <ResPrice, bool> predicate = null; decimal num = 0M; if (BudTask.GetById(taskId) != null) { foreach (TaskResource resource in BudTask.GetResourcesByTaskId(taskId)) { System.Func <ResPrice, bool> func = null; string resourceId = resource.Resource.Id; decimal quantity = resource.Quantity; decimal num3 = resource.Price; if (GetFirstResourceType(GetById(resourceId).ResourceType.Id) == resourceTypeId) { if (func == null) { func = m => m.ResourceId == resourceId; } if (predicate == null) { predicate = m => m.PriceTypeId == priceType; } List <ResPrice> list2 = ResPrice.GetAll().Where <ResPrice>(func).Where <ResPrice>(predicate).ToList <ResPrice>(); if (list2.Count > 0) { foreach (ResPrice price in list2) { num += price.PriceValue * quantity; } } else { num += num3 * quantity; } } } } return(num); }
public static void GetResTypeTotal(string taskId, string priceType, DataTable dtrcj) { if (BudTask.GetById(taskId) != null) { foreach (TaskResource resource in BudTask.GetResourcesByTaskId(taskId)) { string resourceId = resource.Resource.Id; decimal quantity = resource.Quantity; decimal price = resource.Price; string firstResourceType = GetFirstResourceType(GetById(resourceId).ResourceType.Id); decimal num3 = 0M; if (string.IsNullOrEmpty(priceType)) { num3 = price * quantity; } else { using (pm2Entities entities = new pm2Entities()) { using (List <ResPrice> .Enumerator enumerator2 = (from m in entities.Res_Price where (m.ResourceId == resourceId) && (m.PriceTypeId == priceType) select new ResPrice { PriceValue = m.PriceValue }).ToList <ResPrice>().GetEnumerator()) { while (enumerator2.MoveNext()) { ResPrice current = enumerator2.Current; num3 = price * quantity; } } } } object obj2 = dtrcj.Rows[0][firstResourceType]; obj2 = (obj2 == null) ? 0 : obj2; dtrcj.Rows[0][firstResourceType] = Convert.ToInt32(obj2) + num3; } } }
protected void btnBindResource_Click(object sender, System.EventArgs e) { if (this.hfldType.Value == "task") { if (!string.IsNullOrEmpty(this.hfldTaskId.Value)) { ResourceTemp byId = ResourceTemp.GetById(this.hfldPurchaseChecked.Value.ToString()); byId.BudTask = BudTask.GetById(this.hfldTaskId.Value.Trim()); string inputUser = PageHelper.QueryUser(this, base.UserCode); ResourceTemp.Delete(byId, inputUser, this.hfldIsWBSRelevance.Value); this.BindGv(); BudTaskService budTaskService = new BudTaskService(); budTaskService.UpdateTotal2(this.hfldTaskId.Value.Trim()); } } else { if (this.hfldType.Value == "resource" && !string.IsNullOrEmpty(this.hfldResourceIds.Value)) { ResourceTemp byId2 = ResourceTemp.GetById(this.hfldPurchaseChecked.Value.ToString()); byId2.ResourceId = this.hfldResourceIds.Value.Trim(); byId2.BudTask = BudTask.GetById(this.hfldTaskId.Value); string inputUser2 = PageHelper.QueryUser(this, base.UserCode); if (this.hfldIsWBSRelevance.Value == "1") { byId2.BudTask = BudTask.GetById(this.hfldTaskId.Value); } ResourceTemp.Delete(byId2, inputUser2, this.hfldIsWBSRelevance.Value); this.BindGv(); BudTaskService budTaskService2 = new BudTaskService(); budTaskService2.UpdateTotal2(this.hfldTaskId.Value.Trim()); } } this.hfldTaskId.Value = ""; this.hfldResourceIds.Value = ""; this.SelectResource1.ResourceId = string.Empty; this.SelectResource1.ResTempType = string.Empty; }
public static void SaveTemplate(List <string> lsttaskIds, string templateId, string saveNodeId, string inputUser) { if (!string.IsNullOrEmpty(saveNodeId) && (((GetById(saveNodeId, templateId) == null) ? 0 : 1) == 0)) { throw new Exception("你选择的根节点不存在,请刷新查看!"); } bool flag2 = true; List <string> orderNumberList = new List <string>(); orderNumberList = BudTask.GetOrderNumberById(lsttaskIds); if (lsttaskIds.Count > 1) { flag2 = BudTask.IsStructured(orderNumberList); } List <BudTask> list2 = null; int length = 0; string start = string.Empty; if (flag2) { list2 = BudTask.ChangeId(lsttaskIds); start = GetNextOrderNumber(templateId, saveNodeId); length = orderNumberList.Min <string>((System.Func <string, int>)(m => m.Length)); } int num2 = 0; foreach (string str2 in lsttaskIds) { BudTask task = null; if (flag2) { task = list2[num2]; } else { task = BudTask.GetById(str2); task.Id = Guid.NewGuid().ToString(); } string id = task.Id; string parentId = string.Empty; if (flag2) { parentId = task.ParentId; } else { parentId = saveNodeId; } cn.justwin.Domain.BudTemplate byId = cn.justwin.Domain.BudTemplate.GetById(templateId); BudTemplateItem budTemplateItem = Create(id, parentId, byId, task.Code, task.Name, task.Unit, task.Quantity, task.UnitPrice, task.Note, ""); if (flag2) { if (task.OrderNumber.Length == length) { start = GetNextOrderNumber(templateId, saveNodeId); budTemplateItem.ParentId = (saveNodeId == "") ? null : saveNodeId; } budTemplateItem.OrderNumber = GetNewOrderNumber(start, task.OrderNumber, length); } Add(budTemplateItem); List <TaskResource> list3 = BudTask.GetResourcesByTaskId(str2).ToList <TaskResource>(); if (list3.Count > 0) { foreach (TaskResource resource in list3) { budTemplateItem.AddResource(resource.Resource, budTemplateItem.Quantity, resource.Price, inputUser, DateTime.Now, "add", 0M); AddResource(budTemplateItem); } } num2++; } }
protected void btnImport_Click(object sender, System.EventArgs e) { System.Collections.Generic.List <string> list = new System.Collections.Generic.List <string>(); CheckBox checkBox = this.gvBudget.HeaderRow.Cells[0].FindControl("cbAllBox") as CheckBox; if (checkBox != null) { if (checkBox.Checked) { list = BudTemplateItem.GetTemplateItemIds(this.tvBudget.SelectedValue); } else { string value = this.hfldCheckedIds.Value; if (value.Contains('[')) { list = JsonHelper.GetListFromJson(value); } else { list.Add(value); } } } string text = base.Request["prjId"]; if (!string.IsNullOrEmpty(text)) { string text2 = base.Request["taskId"]; bool flag = true; if (string.IsNullOrEmpty(text2)) { text2 = null; Project.CoverVersion(text); } else { flag = (BudTask.GetById(text2) != null); } bool flag2 = false; if (flag) { System.Collections.Generic.List <BudTemplateItem> list2 = new System.Collections.Generic.List <BudTemplateItem>(); foreach (string current in list) { BudTemplateItem byId = BudTemplateItem.GetById(current, this.tvBudget.SelectedValue); list2.Add(byId); if (byId != null) { flag2 = BudTask.CheckCode(byId.Code, text); if (flag2) { break; } } } if (flag2) { base.RegisterScript("alert('系统提示:\\n导入失败!\\n导入的模版中有节点的任务编码与已有的节点出现重复!');"); return; } list2 = ( from t in list2 orderby t.OrderNumber select t).ToList <BudTemplateItem>(); list.Clear(); foreach (BudTemplateItem current2 in list2) { list.Add(current2.Id.ToString()); } bool flag3 = BudTask.IsStructured(this.GetOrderNumbers(list)); int num = 0; string start = string.Empty; System.Collections.Generic.List <BudTemplateItem> list3 = null; if (flag3) { num = this.GetOrderNumbers(list).Min((string m) => m.Length); start = BudTask.GetOrderNumber(text, text2); list3 = this.ChangeId(list, this.tvBudget.SelectedValue); } string inputUser = PageHelper.QueryUser(this, base.UserCode); int num2 = 0; foreach (string current3 in list) { BudTemplateItem budTemplateItem; if (flag3) { budTemplateItem = list3[num2]; } else { budTemplateItem = BudTemplateItem.GetById(current3, this.tvBudget.SelectedValue); budTemplateItem.Id = System.Guid.NewGuid().ToString(); } string id = budTemplateItem.Id; string parentTaskId = string.Empty; if (flag3) { parentTaskId = budTemplateItem.ParentId; } else { parentTaskId = text2; } BudTask budTask = BudTask.Create(id, parentTaskId, null, text, budTemplateItem.Code, budTemplateItem.Name, budTemplateItem.Unit, budTemplateItem.Quantity, null, null, true, budTemplateItem.Note, inputUser, System.DateTime.Now, null, null); if (flag3) { if (budTemplateItem.OrderNumber.Length == num) { start = BudTask.GetOrderNumber(text, text2); budTask.ParentId = text2; } budTask.OrderNumber = this.GetNewOrderNumber(start, budTemplateItem.OrderNumber, num); } BudTask.Add(budTask, false); System.Collections.Generic.List <TaskResource> list4 = BudTemplateItem.GetResourcesByTempItemId(current3).ToList <TaskResource>(); if (list4.Count > 0) { foreach (TaskResource current4 in list4) { budTask.AddResource(current4.Resource, current4.Quantity, current4.Price, 1m, "add"); BudTask.AddResource(budTask); } } num2++; } string arg_3F6_0 = base.Request["year"]; this.strJS.Append("top.ui.tabSuccess({ parentName: '_BudgetPlaitList' });"); } else { this.strJS.Append("alert('系统提示:\\n导入失败!\\n导入的根节点已不存在!');"); } } base.RegisterScript(this.strJS.ToString()); }
private System.Collections.Generic.List <DataTable> GetData() { System.Collections.Generic.List <DataTable> list = new System.Collections.Generic.List <DataTable>(); string text = this.dropTaskType.SelectedValue; string value = this.dropYear.SelectedValue; string value2 = this.dropMonth.SelectedValue; if (string.IsNullOrEmpty(text)) { value = string.Empty; value2 = string.Empty; } else { if (text == "Y") { value2 = string.Empty; } } if (string.IsNullOrEmpty(value)) { text = string.Empty; } if (text == "M" && string.IsNullOrEmpty(value2)) { text = string.Empty; value = string.Empty; } DataTable allTable = this.budTaskSer.GetAllTable(this.prjId); DataTable dataTable = new DataTable(); dataTable.Columns.Add("序号"); dataTable.Columns.Add("名称"); dataTable.Columns.Add("编码"); dataTable.Columns.Add("类型"); dataTable.Columns.Add("单位"); dataTable.Columns.Add("工程量"); if (this.hfldIsWBSRelevance.Value == "1") { dataTable.Columns.Add("开始时间"); dataTable.Columns.Add("结束时间"); } dataTable.Columns.Add("综合单价"); dataTable.Columns.Add("小计"); dataTable.Columns.Add("备注"); DataTable dataTable2 = new DataTable(); dataTable2.Columns.Add("资源编号"); dataTable2.Columns.Add("资源名称"); dataTable2.Columns.Add("单位"); dataTable2.Columns.Add("规格"); dataTable2.Columns.Add("品牌"); dataTable2.Columns.Add("型号"); dataTable2.Columns.Add("技术参数"); dataTable2.Columns.Add("单价"); dataTable2.Columns.Add("数量"); dataTable2.Columns.Add("损耗系数"); dataTable2.Columns.Add("合计金额"); dataTable2.Columns.Add("序号"); for (int i = 0; i < allTable.Rows.Count; i++) { DataRow dataRow = dataTable.NewRow(); dataRow["序号"] = i + 1; dataRow["名称"] = allTable.Rows[i]["TaskName"].ToString(); dataRow["编码"] = allTable.Rows[i]["TaskCode"].ToString(); dataRow["类型"] = allTable.Rows[i]["TypeName"].ToString(); dataRow["单位"] = allTable.Rows[i]["Unit"].ToString(); dataRow["工程量"] = allTable.Rows[i]["Quantity"].ToString(); if (this.hfldIsWBSRelevance.Value == "1") { dataRow["开始时间"] = allTable.Rows[i]["StartDate"].ToString(); dataRow["结束时间"] = allTable.Rows[i]["EndDate"].ToString(); } dataRow["综合单价"] = allTable.Rows[i]["UnitPrice"].ToString(); dataRow["小计"] = allTable.Rows[i]["Total2"].ToString(); dataRow["备注"] = allTable.Rows[i]["Note"].ToString(); dataTable.Rows.Add(dataRow); if (allTable.Rows[i]["SubCount"].ToString() == "0") { string resourcesInfoByTaskId = BudTask.GetResourcesInfoByTaskId(allTable.Rows[i]["TaskId"].ToString()); if (resourcesInfoByTaskId != string.Empty) { string[] array = new string[0]; if (resourcesInfoByTaskId.Contains("⊙")) { array = resourcesInfoByTaskId.Split(new char[] { '⊙' }); } string[] array2 = array; for (int j = 0; j < array2.Length; j++) { string text2 = array2[j]; if (text2 != string.Empty) { string[] array3 = text2.Split(new char[] { ',' }); DataRow dataRow2 = dataTable2.NewRow(); for (int k = 0; k < array3.Length; k++) { dataRow2[k] = array3[k]; } dataRow2["序号"] = i + 1; dataTable2.Rows.Add(dataRow2); } } } } } list.Add(dataTable); list.Add(dataTable2); return(list); }
protected void btnImport_Click(object sender, System.EventArgs e) { this.taskArray = this.hfldExcelColumns.Value.Split(new char[] { ',' }); this.resourceArray = this.hfldResource.Value.Split(new char[] { ',' }); this.hfldExcelColumns.Value = string.Empty; this.hfldResource.Value = string.Empty; if (this.ViewState["ExcelName"] != null && !string.IsNullOrEmpty(this.ViewState["ExcelName"].ToString())) { bool flag = true; if (string.IsNullOrEmpty(this.taskId)) { this.dtWBS = (this.ViewState["dtwbs"] as DataTable); if (this.dtWBS.Rows.Count > 0) { Project.CoverVersion(this.prjId); } } else { flag = (BudTask.GetById(this.taskId) != null); } if (flag) { this.inputUser = PageHelper.QueryUser(this, base.UserCode); BudTaskSpecial budTaskSpecial = new BudTaskSpecial(this.taskId, this.prjId, this.inputUser, this.dtWBS); int num = budTaskSpecial.ConverBudTaskList(this.errors); string text = "成功"; if (num == 0) { text = "失败"; } string text2 = string.Empty; if (this.errors.Count > 0) { this.ViewState["errors"] = this.errors; this.ShowErrors(); text2 = "\\n详见“警告信息”!"; } else { this.CloseSkip(); } base.RegisterScript(string.Concat(new string[] { "alert('系统提示:\\nExcel导入", text, "!", text2, "');" })); return; } base.RegisterScript("alert('系统提示:\\nExcel导入失败!\\n你选择要导入的上级节点已不存在!');"); } }
public int ConverBudTaskList(List <string> errors) { int num = 0; List <BudTask> list = new List <BudTask>(); List <string> codeList = this.GetCodeList(); List <int> layerByCode = this.GetLayerByCode(codeList); List <string> orderNumberByLayer = this.GetOrderNumberByLayer(layerByCode); string code = string.Empty; string name = string.Empty; string unit = string.Empty; decimal quantity = 0M; string note = string.Empty; string orderNumber = BudTask.GetOrderNumber(this.prjId, this.taskId); string str6 = string.Empty; for (int i = this.startIndex; i < this.taskTable.Rows.Count; i++) { DataRow row = this.taskTable.Rows[i]; object obj2 = row[this.taskTable.Columns.Count - 1]; code = (row[this.codeIndex] == null) ? "" : row[this.codeIndex].ToString(); string item = string.Empty; name = (row[this.nameIndex] == null) ? "" : row[this.nameIndex].ToString(); quantity = 0M; DateTime?startDate = null; DateTime?endDate = null; if ((obj2 == null) || string.IsNullOrEmpty(obj2.ToString())) { bool flag = true; if (this.quantityIndex != -1) { try { string str8 = row[this.quantityIndex].ToString(); if (!string.IsNullOrEmpty(str8)) { quantity = decimal.Parse(str8); } } catch { item = "在您的Excel中:编码" + code + ",存在非有效的数字,请修改!"; errors.Add(item); flag = false; } } unit = string.Empty; if (this.unitIndex != -1) { unit = row[this.unitIndex].ToString(); } if (this.noteIndex != -1) { note = row[this.noteIndex].ToString(); } if (!flag) { item = "在您的Excel中:编码" + code + ",存在错误数据导致其子节点不能导入!"; errors.Add(item); int num4 = 0; string str9 = orderNumberByLayer[i]; for (int j = i + 1; j < orderNumberByLayer.Count; j++) { if (orderNumberByLayer[j].StartsWith(str9)) { num4++; } } i += num4; } else { num++; string id = Guid.NewGuid().ToString(); string parentTaskId = (this.taskId == "") ? null : this.taskId; decimal?unitPrice = null; decimal?total = null; BudTask task = BudTask.Create(id, parentTaskId, null, this.prjId, code, name, unit, quantity, startDate, endDate, true, note, this.inputUser, DateTime.Now, unitPrice, total); string str12 = orderNumberByLayer[i].Substring(3); if (string.IsNullOrEmpty(str12)) { if (i > this.startIndex) { orderNumber = BudTask.GetOrderNumber(this.prjId, this.taskId); } task.OrderNumber = orderNumber; } else { task.OrderNumber = orderNumber + str12; } if (i > 0) { int count = list.Count; if (count > 0) { if ((orderNumberByLayer[i].Length - str6.Length) == 3) { task.ParentId = list[count - 1].Id; } else if ((orderNumberByLayer[i].Length - str6.Length) == 0) { task.ParentId = list[count - 1].ParentId; } else { int length = orderNumberByLayer[i].Length; if (length == 3) { task.ParentId = list[0].ParentId; } else if (length > 3) { int differOrderNumber = list[0].OrderNumber.Length - orderNumberByLayer[0].Length; int num7 = list.FindLastIndex(t => t.OrderNumber.Length == (length + differOrderNumber)); task.ParentId = list[num7].ParentId; } } } } str6 = orderNumberByLayer[i]; list.Add(task); BudTask.Add(task, false); } } else { decimal result = 0M; object obj3 = row[this.priceIndex]; if (obj3 != null) { decimal.TryParse(obj3.ToString(), out result); } obj3 = row[this.quantityIndex]; if (obj3 != null) { decimal.TryParse(obj3.ToString(), out quantity); } this.AddTaskResource(code, name, result, quantity, list[list.Count - 1].Id, errors); } } return(num); }
private void GetTable(int pageSize, int pageIndex) { DataTable budGetOutPut = EReport.GetBudGetOutPut(this.prjId, pageSize, pageIndex); budGetOutPut.Columns.Add("LossCoefficient", System.Type.GetType("System.Decimal")); budGetOutPut.Columns.Add("ResourcePrice", System.Type.GetType("System.Decimal")); budGetOutPut.Columns["LossCoefficient"].SetOrdinal(11); budGetOutPut.Columns["ResourcePrice"].SetOrdinal(12); DataTable dataTable = new DataTable(); string text = string.Empty; foreach (DataRow dataRow in budGetOutPut.Rows) { text = text + "'" + dataRow["TaskId"].ToString() + "',"; } if (text.Length >= 1) { text = text.Remove(text.Length - 1); dataTable = BudTask.GetTaskRes(text); dataTable.Columns.Add(new DataColumn("OrderNumber", System.Type.GetType("System.String"))); foreach (DataRow dataRow2 in budGetOutPut.Rows) { int num = 1; foreach (DataRow dataRow3 in dataTable.Rows) { if (dataRow3["TaskId"].ToString() == dataRow2["TaskId"].ToString()) { dataRow3["OrderNumber"] = dataRow2["OrderNumber"].ToString() + num.ToString(); num++; } } } System.Collections.IEnumerator enumerator4 = dataTable.Rows.GetEnumerator(); try { while (enumerator4.MoveNext()) { DataRow dataRow4 = (DataRow)enumerator4.Current; DataRow dataRow5 = budGetOutPut.NewRow(); dataRow5["TaskCode"] = string.Empty; dataRow5["OrderNumber"] = dataRow4["OrderNumber"]; dataRow5["TaskName"] = string.Empty; dataRow5["FeatureDescription"] = dataRow4["ResourceName"].ToString(); dataRow5["TypeName"] = dataRow4["ResourceTypeName"].ToString(); dataRow5["Unit"] = dataRow4["UnitName"].ToString(); dataRow5["Quantity"] = dataRow4["ResourceQuantity"].ToString(); dataRow5["ConUnitPrice"] = System.DBNull.Value; dataRow5["ConTotal"] = System.DBNull.Value; dataRow5["LossCoefficient"] = dataRow4["LossCoefficient"]; dataRow5["ResourcePrice"] = dataRow4["ResourcePrice"]; dataRow5["BudTotal"] = dataRow4["ResTotal"]; dataRow5["BudUnitPrice"] = System.DBNull.Value; dataRow5["Profit"] = System.DBNull.Value; dataRow5["ProfitRate"] = string.Empty; budGetOutPut.Rows.Add(dataRow5); } goto IL_39C; } finally { System.IDisposable disposable4 = enumerator4 as System.IDisposable; if (disposable4 != null) { disposable4.Dispose(); } } } dataTable = null; IL_39C: this.ViewState["dtReport"] = budGetOutPut; }
protected void btnImport_Click(object sender, System.EventArgs e) { this.taskArray = this.hfldExcelColumns.Value.Split(new char[] { ',' }); this.resourceArray = this.hfldResource.Value.Split(new char[] { ',' }); this.hfldExcelColumns.Value = string.Empty; this.hfldResource.Value = string.Empty; if (this.ViewState["ExcelName"] != null && !string.IsNullOrEmpty(this.ViewState["ExcelName"].ToString())) { bool flag = true; if (string.IsNullOrEmpty(this.taskId)) { this.dtWBS = (this.ViewState["dtwbs"] as DataTable); if (this.dtWBS.Rows.Count > 0) { if (this.hfldIsWBSRelevance.Value == "1") { Project.CoverVersion(this.prjId); } else { Project.CoverVersionNew(this.prjId, this.version); } } } else { flag = (BudTask.GetById(this.taskId) != null); } if (flag) { BudTaskServices budTaskServices = new BudTaskServices(this.taskId, this.prjId, this.version, this.dtWBS); bool flag2 = false; System.Collections.Generic.IDictionary <string, int> relation = ExcelUtility.GetRelation(this.taskArray); int num = -1; int num2 = -1; string str = string.Empty; if (relation.Keys.Contains("TaskCode")) { num2 = relation["TaskCode"]; } if (relation.Keys.Contains("SerialNo")) { num = relation["SerialNo"]; } if (num != -1) { str = this.dtWBS.Columns[num].ColumnName; this.dtWBS.DefaultView.Sort = str + " DESC"; for (int i = 1; i < this.dtWBS.Rows.Count; i++) { if (this.dtWBS.Rows[i][num].ToString().Trim() == this.dtWBS.Rows[i - 1][num].ToString().Trim()) { flag2 = true; break; } } } else { if (num2 != -1) { str = this.dtWBS.Columns[num2].ColumnName; this.dtWBS.DefaultView.Sort = str + " DESC"; for (int j = 1; j < this.dtWBS.Rows.Count; j++) { if (this.dtWBS.Rows[j][num2].ToString().Trim() == this.dtWBS.Rows[j - 1][num2].ToString().Trim()) { flag2 = true; break; } } } } if (flag2) { base.RegisterScript("top.ui.alert('导入失败!\\n导入的Excel中有节点的任务编码出现重复,请修改!');"); return; } if (num == -1 && num2 != -1) { foreach (DataRow dataRow in this.dtWBS.Rows) { string code = (dataRow[num2] == null) ? "" : dataRow[num2].ToString(); flag2 = BudTask.CheckCode(code, this.prjId); if (flag2) { break; } } } if (flag2) { base.RegisterScript("top.ui.alert('导入失败!\\n导入的Excel中有节点的任务编码与已有的节点出现重复,请修改!');"); base.RegisterScript("top.ui._BudgetPlaitList.location.href = top.ui._BudgetPlaitList.location.href;"); return; } this.inputUser = PageHelper.QueryUser(this, base.UserCode); int num3 = budTaskServices.ConverBudTaskList(this.taskArray, this.inputUser, this.errors, this.hfldIsWBSRelevance.Value); this.AddResource(); string text = "成功"; if (num3 == 0) { text = "失败"; } string text2 = string.Empty; if (this.errors.Count > 0) { this.ViewState["errors"] = this.errors; this.ShowErrors(); text2 = "\\n部分节点导入失败,详见“警告信息”!"; base.RegisterScript(string.Concat(new string[] { "top.ui.show('Excel导入", text, "!", text2, "');" })); return; } base.RegisterScript("top.ui._BudgetPlaitList.location.href = top.ui._BudgetPlaitList.location.href;"); base.RegisterScript(string.Concat(new string[] { "top.ui.show('Excel导入", text, "!", text2, "');" })); base.RegisterScript("top.ui.closeTab();"); return; } else { base.RegisterScript("top.ui.alert('Excel导入失败!\\n你选择要导入的上级节点已不存在!');"); base.RegisterScript("top.ui._BudgetPlaitList.location.href = top.ui._BudgetPlaitList.location.href;"); } } }
public void AddTaskResource(string prjId) { IList <BudTask> byProject = this.tSer.GetByProject(prjId, 0x3e7); int version = 1; if (byProject != null) { version = byProject[0].Version.Value; } List <BudTaskResource> allRes = this.GetAllRes(prjId, version); List <BudTaskResource> list3 = this.GetTaskRes(allRes); if (list3 != null) { using (List <BudTaskResource> .Enumerator enumerator = list3.GetEnumerator()) { Func <BudTask, bool> predicate = null; Func <BudTaskResource, bool> func2 = null; BudTaskResource taskRes; while (enumerator.MoveNext()) { taskRes = enumerator.Current; if (predicate == null) { predicate = t => t.TaskId == taskRes.TaskId; } BudTask task = byProject.Where <BudTask>(predicate).FirstOrDefault <BudTask>(); if (task != null) { string mainTaskId = task.TaskId; mainTaskId = mainTaskId.Substring(7, mainTaskId.Length - 7); foreach (BudTask task2 in (from t in this.tSer where t.TaskId.Contains(mainTaskId) && (t.TaskType.Trim() != "") select t).ToList <BudTask>()) { decimal num2 = 0M; if (task2.Quantity.HasValue && (task.Quantity != 0M)) { num2 = task2.Quantity.Value / task.Quantity.Value; } if (func2 == null) { func2 = tr => (tr.TaskId == taskRes.TaskId) && (tr.ResourceId == taskRes.ResourceId); } List <BudTaskResource> list5 = allRes.Where <BudTaskResource>(func2).ToList <BudTaskResource>(); decimal num3 = 0M; decimal num4 = 0M; decimal num5 = 0M; foreach (BudTaskResource resource in list5) { if ((resource.ResourceQuantity != 0M) && (resource.ResourcePrice != 0M)) { num3 += resource.ResourceQuantity.Value * resource.ResourcePrice.Value; num4 += resource.ResourceQuantity.Value; } } BudTaskResource item = new BudTaskResource { TaskResourceId = Guid.NewGuid().ToString(), TaskId = task2.TaskId, ResourceId = taskRes.ResourceId }; num4 *= num2; item.ResourceQuantity = new decimal?(num4); if (num4 != 0M) { num5 = (num3 * num2) / num4; } item.ResourcePrice = new decimal?(num5); item.PrjGuid = taskRes.PrjGuid; item.Versions = taskRes.Versions; item.InputUser = taskRes.InputUser; item.InputDate = taskRes.InputDate; base.Add(item); } } } } } }
public static IList <BudTask> GetTask(string prjId, string priceType, string isWBSRelevance, string taskType, string year, string month) { List <BudTask> list = new List <BudTask>(); return(BudTask.GetAll(priceType, prjId, isWBSRelevance, taskType, year, month).ToList <BudTask>()); }
public virtual Dictionary <string, decimal> GetFactResource() { return(BudTask.GetResourceQuantity(this.projectCode)); }
private void BindTaskByPrj(string prjId) { this.gvBudget.DataSource = BudTask.GetTaskInfo2(prjId); this.gvBudget.DataBind(); }
private void BindTaskByContract(string contractId) { this.gvBudget.DataSource = BudTask.GetTaskByContract(contractId); this.gvBudget.DataBind(); }
private void DisplayPhoto() { string selectedValue = this.trvwBudget.SelectedValue; if (!string.IsNullOrEmpty(selectedValue)) { BudTask byId = BudTask.GetById(selectedValue); IList <string> reportImgPathList = byId.GetReportImgPathList(); using (IEnumerator <string> enumerator = reportImgPathList.GetEnumerator()) { while (enumerator.MoveNext()) { string current = enumerator.Current; string path = HttpContext.Current.Server.MapPath(current); DirectoryInfo directoryInfo = new DirectoryInfo(path); if (directoryInfo.Exists) { FileInfo[] files = directoryInfo.GetFiles("*.*"); FileInfo[] array = files; for (int i = 0; i < array.Length; i++) { FileInfo fileInfo = array[i]; string text = current + "/" + fileInfo.ToString(); string text2 = fileInfo.ToString().Substring(0, fileInfo.ToString().IndexOf('.')); string text3 = this.imaStr; this.imaStr = string.Concat(new string[] { text3, "<SPAN class=\"photo\"><a href=\"", text, "\" title=\"", text2, "\"><IMG src=\"", text, "\" width=\"100\" height=\"100\" alt=\"\" ></A></a></SPAN>" }); } } } return; } } string value = this.hdnProjectCode.Value; IList <ConstructReport> auditedByPrj = ConstructReport.GetAuditedByPrj(value); Dictionary <string[], DateTime> dictionary = new Dictionary <string[], DateTime>(); foreach (ConstructReport current2 in auditedByPrj) { foreach (ConstructTask current3 in current2.ConstructTaskList) { string text4 = BudgetManage_Construct_ReportPhoto.constructReport + "/" + current3.Id; string path2 = HttpContext.Current.Server.MapPath(text4); DirectoryInfo directoryInfo2 = new DirectoryInfo(path2); if (directoryInfo2.Exists) { FileInfo[] files2 = directoryInfo2.GetFiles("*.*"); FileInfo[] array2 = files2; for (int j = 0; j < array2.Length; j++) { FileInfo fileInfo2 = array2[j]; string[] array3 = new string[2]; DateTime creationTime = fileInfo2.CreationTime; string text5 = text4 + "/" + fileInfo2.ToString(); string text6 = fileInfo2.ToString().Substring(0, fileInfo2.ToString().IndexOf('.')); array3[0] = text5; array3[1] = text6; dictionary.Add(array3, creationTime); } } } } IOrderedEnumerable <KeyValuePair <string[], DateTime> > orderedEnumerable = from s in dictionary orderby s.Value descending select s; int num = 0; foreach (KeyValuePair <string[], DateTime> current4 in orderedEnumerable) { if (num >= 9) { break; } string[] key = current4.Key; DateTime arg_2DD_0 = current4.Value; string text7 = this.imaStr; this.imaStr = string.Concat(new string[] { text7, "<SPAN class=\"photo\"><a href=\"", key[0], "\" title=\"", key[1], "\"><IMG src=\"", key[0], "\" width=\"100\" height=\"100\" alt=\"\" ></A></a></SPAN>" }); num++; } }
public void CommitEvent(object key) { string primarykey = key.ToString(); ConPayoutModify payOutModify = (from r in this.payOutSer where r.ModifyID == primarykey select r).FirstOrDefault <ConPayoutModify>(); BudModify budModify = (from r in this.modifySer where r.ModifyId == payOutModify.BudModifyId select r).FirstOrDefault <BudModify>(); budModify.Flowstate = 1; this.modifySer.Update(budModify); using (List <BudModifyTask> .Enumerator enumerator = (from p in this.budModifyTaskSer where p.ModifyId == budModify.ModifyId select p).ToList <BudModifyTask>().GetEnumerator()) { BudModifyTask task; while (enumerator.MoveNext()) { task = enumerator.Current; BudTask item = (from p in this.budTaskSer where p.TaskId == task.TaskId select p).FirstOrDefault <BudTask>(); if ((item != null) && (budModify.Flowstate == 1)) { if (task.ModifyType == 0) { item.IsValid = true; this.budTaskSer.Update(item); this.budModifyTaskSer.UpdateTotal2(task.ModifyTaskId); } if (item.ModifyId != task.ModifyId) { item.ModifyId = task.ModifyId; item.Total2 += task.Total2; decimal?quantity = item.Quantity; decimal num = task.Quantity; item.Quantity = quantity.HasValue ? new decimal?(quantity.GetValueOrDefault() + num) : null; if (item.Quantity != 0M) { item.UnitPrice = item.Total2 / item.Quantity; } this.budTaskSer.Update(item); this.budModifyTaskSer.UpdateTotal2(task.ModifyTaskId); } } } } string cmdText = string.Format(" SELECT * FROM Con_Modify_Stock where ModifyId='{0}' ", primarykey); if (SqlHelper.ExecuteQuery(CommandType.Text, cmdText, null).Rows.Count != 0) { string str2 = string.Format("SELECT ModifyStock.*FROM Con_Modify_Stock ModifyStock\r\n INNER JOIN Sm_Purchase_Stock purchaseStock ON ModifyStock.purchaseId=purchaseStock.psid\r\n WHERE ModifyId='{0}'", primarykey); DataTable table2 = SqlHelper.ExecuteQuery(CommandType.Text, str2, null); string str3 = string.Format("SELECT purchaseStock.* FROM Sm_Purchase_Stock purchaseStock \r\n LEFT JOIN (SELECT *FROM Con_Modify_Stock where ModifyId='{0}') ModifyStock\r\n ON purchaseStock.psid=ModifyStock.purchaseId\r\n WHERE purchaseStock.pscode in (SELECT DISTINCT Pscode FROM Con_Modify_Stock WHERE ModifyId='{0}')\r\n AND ModifyStockId IS NULL", primarykey); DataTable table3 = SqlHelper.ExecuteQuery(CommandType.Text, str3, null); string str4 = string.Format("SELECT ModifyStock.* FROM Con_Modify_Stock ModifyStock\r\n LEFT JOIN Sm_Purchase_Stock purchaseStock ON ModifyStock.purchaseId=purchaseStock.psid\r\n WHERE ModifyId='{0}'AND psid IS NULL", primarykey); DataTable table4 = SqlHelper.ExecuteQuery(CommandType.Text, str4, null); using (SqlConnection connection = new SqlConnection(SqlHelper.ConnectionString)) { connection.Open(); SqlTransaction trans = connection.BeginTransaction(); foreach (DataRow row in table2.Rows) { PurchaseStockModel model = new PurchaseStockModel { psid = row["PurchaseId"].ToString(), sprice = DBHelper.GetDecimal(row["Sprice"]), number = DBHelper.GetDecimal(row["Quantity"]), corp = DBHelper.GetString(row["Corp"]) }; if (row["ArrivalDate"] != null) { model.ArrivalDate = row["ArrivalDate"].ToString(); } else { model.ArrivalDate = null; } model.pscode = row["Pscode"].ToString(); model.scode = row["Scode"].ToString(); this.purchaseSotck.Update(trans, model); } foreach (DataRow row2 in table3.Rows) { this.purchaseSotck.Delete(trans, row2["psid"].ToString()); } foreach (DataRow row3 in table4.Rows) { PurchaseStockModel model2 = new PurchaseStockModel { psid = row3["PurchaseId"].ToString(), sprice = DBHelper.GetDecimal(row3["Sprice"]), number = DBHelper.GetDecimal(row3["Quantity"]), corp = DBHelper.GetString(row3["Corp"]) }; if (row3["ArrivalDate"] != null) { model2.ArrivalDate = row3["ArrivalDate"].ToString(); } else { model2.ArrivalDate = null; } model2.pscode = row3["Pscode"].ToString(); model2.scode = row3["Scode"].ToString(); this.purchaseSotck.Add(trans, model2); } trans.Commit(); return; } } string str5 = string.Format("\r\n\t\t\t\t\t\t\t\t\tSELECT PCode FROM Sm_Purchase purchase\r\n\t\t\t\t\t\t\t\t\tINNER JOIN Con_Payout_Modify payoutModify ON purchase.Contract=payoutModify.ContractId\r\n\t\t\t\t\t\t\t\t\tWHERE ModifyId='{0}' AND purchase.FlowState=1", primarykey); DataTable table5 = SqlHelper.ExecuteQuery(CommandType.Text, str5, null); if (table5.Rows.Count > 0) { using (SqlConnection connection2 = new SqlConnection(SqlHelper.ConnectionString)) { connection2.Open(); SqlTransaction transaction2 = connection2.BeginTransaction(); foreach (DataRow row4 in table5.Rows) { this.purchaseSotck.DeleteByPscode(transaction2, row4["PCode"].ToString()); } transaction2.Commit(); } } }