/// <summary> /// 载入已有的工作项 /// </summary> private void BindData() { JN_WorkingPlanBLL bll = new JN_WorkingPlanBLL((int)ViewState["PlanID"]); ViewState["WorkingPlanData"] = LoadWorkingPlanDetail(bll.Model.ID); ViewState["BeginDate"] = bll.Model.BeginDate; ViewState["EndDate"] = bll.Model.EndDate; ViewState["PlanStaff"] = bll.Model.Staff; if ((int)Session["UserID"] != (int)ViewState["PlanStaff"]) { cb_DisplayCheckedOnly.Visible = false; cb_DisplayCheckedOnly.Checked = true; bt_AddJournal.Visible = false; bt_Save.Visible = false; } else if (bll.Model.EndDate < DateTime.Today) { cb_DisplayCheckedOnly.Checked = true; } pl_detail.BindData(bll.Model); BindGrid(); UploadFile1.RelateID = bll.Model.ID; UploadFile1.DataBind(); }
protected void bt_Submit_Click(object sender, EventArgs e) { if ((int)ViewState["ID"] > 0) { JN_WorkingPlanBLL bll = new JN_WorkingPlanBLL((int)ViewState["ID"]); #region 发起工作流 NameValueCollection dataobjects = new NameValueCollection(); dataobjects.Add("ID", ViewState["ID"].ToString()); dataobjects.Add("Position", new Org_StaffBLL(bll.Model.Staff).Model.Position.ToString()); dataobjects.Add("OrganizeCity", bll.Model.OrganizeCity.ToString()); dataobjects.Add("TotalCost", bll.Model["TotalCost"]); string title = select_PlanStaff.SelectText + " 开始日期:" + tbx_begindate.Text + "至" + tbx_enddate.Text + bll.Model.Title; int TaskID = EWF_TaskBLL.NewTask("JN_WorkingPlan_Apply", (int)Session["UserID"], title, "~/SubModule/OA/Journal/WorkingPlan_CalendarList.aspx?ID=" + ViewState["ID"].ToString(), dataobjects); new EWF_TaskBLL(TaskID).Start(); //直接启动流程 #endregion if (TaskID > 0) { bll.Submit((int)Session["UserID"], TaskID); } Response.Redirect("~/SubModule/EWF/TaskDetail.aspx?TaskID=" + TaskID.ToString()); } }
/// <summary> /// 载入已有的工作项 /// </summary> private void BindData() { cb_DisplayCheckedOnly.Checked = true; JN_WorkingPlanBLL bll = new JN_WorkingPlanBLL((int)ViewState["ID"]); tr_OrganizeCity.SelectValue = bll.Model.OrganizeCity.ToString(); tbx_begindate.Text = bll.Model.BeginDate.ToString("yyyy-MM-dd"); tbx_enddate.Text = bll.Model.EndDate.ToString("yyyy-MM-dd"); select_PlanStaff.SelectValue = bll.Model.Staff.ToString(); select_PlanStaff.SelectText = new Org_StaffBLL(bll.Model.Staff).Model.RealName; pl_detail.BindData(bll.Model); InitGridView(bll.Model.BeginDate, bll.Model.EndDate); ViewState["WorkingPlanData"] = LoadWorkingPlanDetail((int)ViewState["ID"]); ViewState["BeginDate"] = bll.Model.BeginDate; ViewState["EndDate"] = bll.Model.EndDate; BindGrid(); tbx_begindate.Enabled = false; tbx_enddate.Enabled = false; select_PlanStaff.Enabled = false; tr_OrganizeCity.Enabled = false; cbx_GenarateSynergetic.Visible = false; bt_Create.Visible = false; tbx_Begin.Text = tbx_begindate.Text; tbx_End.Text = tbx_begindate.Text; if (bll.Model.BeginDate < DateTime.Today) { bt_Delete.Visible = false; } if (bll.Model.State == 2 || bll.Model.State == 3 || bll.Model.ApproveFlag == 1 || bll.Model.InsertStaff != (int)Session["UserID"]) { //提交待审批、已审批 tr_adddetail.Visible = false; pl_detail.SetControlsEnable(false); bt_Save.Visible = false; bt_Delete.Visible = false; bt_Submit.Visible = false; UploadFile1.CanUpload = false; UploadFile1.CanDelete = false; gv_List.Columns[0].Visible = false; gv_List.SetControlsEnable(false); } UploadFile1.RelateID = (int)ViewState["ID"]; UploadFile1.BindGrid(); }
protected void bt_Delete_Click(object sender, EventArgs e) { if ((int)ViewState["ID"] > 0) { JN_WorkingPlanBLL bll = new JN_WorkingPlanBLL((int)ViewState["ID"]); bll.DeleteDetail(); bll.Delete(); Response.Redirect("WorkingPlan_List.aspx"); } }
protected void Calendar1_DayRender(object sender, DayRenderEventArgs e) { if (ViewState["Staff"] != null && (int)ViewState["Staff"] > 0) { e.Cell.HorizontalAlign = HorizontalAlign.Left; if (e.Day.Date <= DateTime.Today && MCSTabControl1.SelectedIndex == 0) { ImageButton ibt = new ImageButton(); ibt.ImageUrl = "~/Images/gif/gif-0489.gif"; ibt.BorderWidth = new Unit(0); ibt.ToolTip = "新增工作日志"; ibt.OnClientClick = "javascript:NewJournal('" + e.Day.Date.DayOfYear.ToString() + "')"; ibt.Click += new ImageClickEventHandler(ibt_Click); e.Cell.Controls.Add(ibt); } #region 获取该员工当天工作日志 if (cbx_Journal.Checked) { IList <JN_Journal> journallists = JN_JournalBLL.GetModelList("'" + e.Day.Date.ToString("yyyy-MM-dd") + "' BETWEEN Convert(varchar(10),BeginTime,120) And EndTime AND Staff=" + ViewState["Staff"].ToString()); if (journallists.Count > 0) { BulletedList bt = new BulletedList(); foreach (JN_Journal j in journallists) { ListItem item = new ListItem(); item.Text = ""; if (j.JournalType == 1) { //日报 if (j.BeginTime.Hour != 0 && j.EndTime.Hour != 0) { item.Text += j.BeginTime.ToString("HH:mm") + "~" + j.EndTime.ToString("HH:mm") + " "; } if (j.WorkingClassify != 0) { item.Text += DictionaryBLL.GetDicCollections("OA_WorkingClassify")[j.WorkingClassify.ToString()].Name + " "; switch (j.WorkingClassify) { case 1: //门店拜访 if (j.RelateClient != 0) { //门店拜访 CM_Client client = new CM_ClientBLL(j.RelateClient).Model; if (client != null) { item.Text += client.ShortName + " "; } if (j["VisitClientPurpose"] != "" && j["VisitClientPurpose"] != "0") { item.Text += DictionaryBLL.GetDicCollections("OA_JN_VisitClientPurpose")[j["VisitClientPurpose"]].Name + " "; } } break; case 2: //协同拜访 if (j.RelateStaff != 0) { Org_Staff staff = new Org_StaffBLL(j.RelateStaff).Model; if (staff != null) { item.Text += staff.RealName; } } break; default: item.Text += j.Title; break; } } else { item.Text += j.Title; } } else { //周报、月报 item.Text += DictionaryBLL.GetDicCollections("OA_JournalType")[j.JournalType.ToString()].Name + " "; item.Text += j.Title; } item.Value = "javascript:OpenJournal(" + j.ID.ToString() + ")"; bt.Items.Add(item); } bt.DisplayMode = BulletedListDisplayMode.HyperLink; bt.BulletImageUrl = "~/Images/gif/gif-0162.gif"; bt.BulletStyle = BulletStyle.CustomImage; bt.CssClass = "calaitem"; e.Cell.Controls.Add(bt); } } #endregion #region 获取访员工当天的工作计划 if (cbx_Plan.Checked) { if (ViewState["PlanDetails"] == null || ((IList <JN_WorkingPlanDetail>)ViewState["PlanDetails"]).Where (p => (p.BeginTime.Date <= e.Day.Date && p.EndTime.Date >= e.Day.Date)).Count() == 0) { IList <JN_WorkingPlan> plans = JN_WorkingPlanBLL.GetModelList("'" + e.Day.Date.ToString("yyyy-MM-dd") + "' BETWEEN BeginDate AND EndDate AND Staff=" + ViewState["Staff"].ToString()); if (plans.Count > 0) { IList <JN_WorkingPlanDetail> plandetails = new JN_WorkingPlanBLL(plans[0].ID).Items; ViewState["PlanDetails"] = plandetails; } else { ViewState["PlanDetails"] = null; } } if (ViewState["PlanDetails"] != null) { IList <JN_WorkingPlanDetail> plandetails = (IList <JN_WorkingPlanDetail>)ViewState["PlanDetails"]; BulletedList bt = new BulletedList(); foreach (JN_WorkingPlanDetail plan in plandetails.Where(p => (p.BeginTime.Date <= e.Day.Date && p.EndTime.Date >= e.Day.Date))) { ListItem item = new ListItem(); item.Text = ""; if (plan.WorkingClassify == 0) { continue; } item.Text += DictionaryBLL.GetDicCollections("OA_WorkingClassify")[plan.WorkingClassify.ToString()].Name + " "; switch (plan.WorkingClassify) { case 1: //门店拜访 if (plan.RelateClient != 0) { //门店拜访 CM_Client client = new CM_ClientBLL(plan.RelateClient).Model; if (client != null) { item.Text += client.ShortName + " "; } } break; case 2: //协同拜访 if (plan.RelateStaff != 0) { Org_Staff staff = new Org_StaffBLL(plan.RelateStaff).Model; if (staff != null) { item.Text += staff.RealName + " "; } } break; default: item.Text += plan.Description + " "; break; } if (plan.OfficialCity > 1) { item.Text += TreeTableBLL.GetFullPathName("MCS_SYS.dbo.Addr_OfficialCity", plan.OfficialCity).Replace("->", ""); } bt.Items.Add(item); } bt.DisplayMode = BulletedListDisplayMode.Text; bt.BulletImageUrl = "~/Images/gif/gif-0163.gif"; bt.BulletStyle = BulletStyle.CustomImage; bt.CssClass = "calaitem"; e.Cell.Controls.Add(bt); } } #endregion } }
protected void bt_Save_Click(object sender, EventArgs e) { if (ViewState["WorkingPlanData"] != null) { DataTable dt = (DataTable)ViewState["WorkingPlanData"]; DateTime begindate = (DateTime)ViewState["BeginDate"]; DateTime enddate = (DateTime)ViewState["EndDate"]; #region 将界面中已选择的日志放入IList中 IList <JN_Journal> NewJournals = new List <JN_Journal>(); for (int i = 0; i < dt.Rows.Count; i++) { JN_Journal jn = null; DateTime day = begindate; while (day <= enddate) { if ((bool)dt.Rows[i]["J" + day.ToString("MMdd")]) { #region 新增日志 if (jn == null) { jn = new JN_Journal(); jn.Title = (string)dt.Rows[i]["Description"]; jn.OrganizeCity = new Org_StaffBLL((int)ViewState["PlanStaff"]).Model.OrganizeCity; jn.JournalType = 1; jn.Staff = (int)ViewState["PlanStaff"]; jn.BeginTime = day.AddHours(8.5); jn.EndTime = day.AddHours(17.5); jn.WorkingClassify = (int)dt.Rows[i]["WorkingClassify"]; if (jn.WorkingClassify == 1) { jn.RelateClient = (int)dt.Rows[i]["RelateClient"]; jn.Title = "[客户拜访]" + dt.Rows[i]["RelateClientName"] + jn.Title; } if (jn.WorkingClassify == 2) { jn.RelateStaff = (int)dt.Rows[i]["RelateStaff"]; jn["CCSynergeticStaff"] = "N"; jn.Title = "[协同拜访]" + dt.Rows[i]["RelateStaffName"] + jn.Title; } jn.OfficialCity = (int)dt.Rows[i]["OfficialCity"]; jn["IPAddress"] = Request.UserHostAddress; jn["IPLocation"] = Const_IPLocationBLL.FindByIP(Request.UserHostAddress).Location; jn.ApproveFlag = 2; jn.InsertStaff = (int)Session["UserID"]; NewJournals.Add(jn); //如果每天都生成一条独立的日志,则启用这一行 jn = null; } else { jn.EndTime = day.AddHours(17); } #endregion } else { jn = null; } day = day.AddDays(1); } } #endregion #region 将数据库中已存的计划与IList作比较,相同的从List中移除,不存在于List中的从数据中移除 JN_WorkingPlanBLL bll = new JN_WorkingPlanBLL((int)ViewState["PlanID"]); string con = "Staff = " + bll.Model.Staff.ToString() + " AND BeginTime BETWEEN '" + bll.Model.BeginDate.ToString("yyyy-MM-dd") + "' AND '" + bll.Model.EndDate.ToString("yyyy-MM-dd 23:59:59") + "' " + " AND JournalType = 1"; IList <JN_Journal> OrgJournals = JN_JournalBLL.GetModelList(con); foreach (JN_Journal orgitem in OrgJournals) { JN_Journal m = null; if (orgitem.WorkingClassify == 1) { m = NewJournals.FirstOrDefault(p => p.WorkingClassify == orgitem.WorkingClassify && p.RelateClient == orgitem.RelateClient && p.BeginTime.Date == orgitem.BeginTime.Date && p.EndTime.Date == orgitem.EndTime.Date); } else if (orgitem.WorkingClassify == 2) { m = NewJournals.FirstOrDefault(p => p.WorkingClassify == orgitem.WorkingClassify && p.RelateStaff == orgitem.RelateStaff && p.BeginTime.Date == orgitem.BeginTime.Date && p.EndTime.Date == orgitem.EndTime.Date); } else { m = NewJournals.FirstOrDefault(p => p.WorkingClassify == orgitem.WorkingClassify && p.OfficialCity == orgitem.OfficialCity && p.Title == orgitem.Title && p.BeginTime.Date == orgitem.BeginTime.Date && p.EndTime.Date == orgitem.EndTime.Date); } if (m == null) { new JN_JournalBLL(orgitem.ID).Delete(); //删除日志 } else { NewJournals.Remove(m); } } #endregion #region 将剩余下来的计划,新增到数据库中 foreach (JN_Journal item in NewJournals) { JN_JournalBLL jnbll = new JN_JournalBLL(); jnbll.Model = item; jnbll.Add(); } #endregion BindGrid(); MessageBox.ShowAndRedirect(this, "与该计划相关联的实际工作日志填报保存成功!", "JournalOnWorkingPlan.aspx?PlanID=" + ViewState["PlanID"].ToString()); } }
private DataTable LoadWorkingPlanDetail(int planid) { JN_WorkingPlanBLL bll = new JN_WorkingPlanBLL(planid); DataTable dt = GenareateDataTable(bll.Model.BeginDate, bll.Model.EndDate); #region 载入原工作计划 foreach (JN_WorkingPlanDetail detail in bll.Items.OrderBy(p => p.WorkingClassify)) { DataRow[] rows = dt.Select("WorkingClassify = " + detail.WorkingClassify.ToString() + " AND Description = '" + detail.Description + "' " + " AND RelateStaff = " + detail.RelateStaff.ToString() + " AND RelateClient = " + detail.RelateClient.ToString() + " AND OfficialCity = " + detail.OfficialCity.ToString()); if (rows.Length > 0) { DateTime date = detail.BeginTime; while (date <= detail.EndTime) { rows[0]["P" + date.ToString("MMdd")] = true; date = date.AddDays(1); } } else { DataRow dr = dt.NewRow(); dr["WorkingClassify"] = detail.WorkingClassify; dr["WorkingClassifyName"] = DictionaryBLL.GetDicCollections("OA_WorkingClassify")[detail.WorkingClassify.ToString()].Name; dr["Description"] = detail.Description; dr["RelateClient"] = detail.RelateClient; if (detail.RelateClient > 0) { dr["RelateClientName"] = new CM_ClientBLL(detail.RelateClient).Model.FullName; } dr["RelateStaff"] = detail.RelateStaff; if (detail.RelateStaff > 0) { dr["RelateStaffName"] = new Org_StaffBLL(detail.RelateStaff).Model.RealName; } dr["OfficialCity"] = detail.OfficialCity; if (detail.OfficialCity > 0) { dr["OfficialCityName"] = TreeTableBLL.GetFullPathName("MCS_SYS.dbo.Addr_OfficialCity", detail.OfficialCity).Replace("->", " "); } DateTime date = detail.BeginTime; while (date <= detail.EndTime) { dr["P" + date.ToString("MMdd")] = true; date = date.AddDays(1); } if (detail["Cost1"] != "") { dr["Cost1"] = decimal.Parse(detail["Cost1"]); } else { dr["Cost1"] = 0; } if (detail["Cost2"] != "") { dr["Cost2"] = decimal.Parse(detail["Cost2"]); } else { dr["Cost2"] = 0; } dt.Rows.Add(dr); } } #endregion #region 加载数据库中已填报的日志 string con = "Staff = " + bll.Model.Staff.ToString() + " AND BeginTime BETWEEN '" + bll.Model.BeginDate.ToString("yyyy-MM-dd") + "' AND '" + bll.Model.EndDate.ToString("yyyy-MM-dd 23:59:59") + "' " + " AND JournalType = 1"; IList <JN_Journal> Journals = JN_JournalBLL.GetModelList(con); foreach (JN_Journal journal in Journals.OrderBy(p => p.WorkingClassify)) { DataRow[] rows = dt.Select("WorkingClassify = " + journal.WorkingClassify.ToString() + " AND Description = '" + journal.Title + "' " + " AND RelateStaff = " + (journal.WorkingClassify == 2 ? journal.RelateStaff.ToString() : "0") + " AND RelateClient = " + (journal.WorkingClassify == 1 ? journal.RelateClient.ToString() : "0") + " AND OfficialCity = " + journal.OfficialCity.ToString()); if (rows.Length == 0) { rows = dt.Select("WorkingClassify = " + journal.WorkingClassify.ToString() + " AND Description = '' " + " AND RelateStaff = " + (journal.WorkingClassify == 2 ? journal.RelateStaff.ToString() : "0") + " AND RelateClient = " + (journal.WorkingClassify == 1 ? journal.RelateClient.ToString() : "0") + " AND OfficialCity = " + journal.OfficialCity.ToString()); } if (rows.Length > 0) { rows[0]["J" + journal.BeginTime.ToString("MMdd")] = true; rows[0]["JID" + journal.BeginTime.ToString("MMdd")] = journal.ID; DateTime date = journal.BeginTime; while (date <= journal.EndTime) { rows[0]["J" + date.ToString("MMdd")] = true; rows[0]["JID" + date.ToString("MMdd")] = journal.ID; date = date.AddDays(1); } } else { #region 增加无计划的日志 DataRow dr = dt.NewRow(); dr["WorkingClassify"] = journal.WorkingClassify; if (journal.WorkingClassify > 0) { dr["WorkingClassifyName"] = DictionaryBLL.GetDicCollections("OA_WorkingClassify")[journal.WorkingClassify.ToString()].Name; } dr["Description"] = journal.Title; dr["RelateClient"] = journal.RelateClient; if (journal.RelateClient > 0) { dr["RelateClientName"] = new CM_ClientBLL(journal.RelateClient).Model.FullName; } dr["RelateStaff"] = journal.RelateStaff; if (journal.RelateStaff > 0) { dr["RelateStaffName"] = new Org_StaffBLL(journal.RelateStaff).Model.RealName; } dr["OfficialCity"] = journal.OfficialCity; if (journal.OfficialCity > 0) { dr["OfficialCityName"] = TreeTableBLL.GetFullPathName("MCS_SYS.dbo.Addr_OfficialCity", journal.OfficialCity).Replace("->", " "); } DateTime date = journal.BeginTime; while (date <= journal.EndTime) { dr["J" + date.ToString("MMdd")] = true; dr["JID" + date.ToString("MMdd")] = journal.ID; date = date.AddDays(1); } dt.Rows.Add(dr); #endregion } } #endregion return(dt); }
protected void Page_Init(object sender, EventArgs e) { JN_WorkingPlanBLL bll = new JN_WorkingPlanBLL(int.Parse(Request.QueryString["PlanID"])); InitGridView(bll.Model.BeginDate, bll.Model.EndDate); }
/// <summary> /// 载入已有的工作项 /// </summary> private void BindData() { JN_WorkingPlanBLL bll = new JN_WorkingPlanBLL((int)ViewState["PlanID"]); ViewState["WorkingPlanData"] = LoadWorkingPlanDetail(bll.Model.ID); ViewState["BeginDate"] = bll.Model.BeginDate; ViewState["EndDate"] = bll.Model.EndDate; ViewState["PlanStaff"] = bll.Model.Staff; if ((int)Session["UserID"] != (int)ViewState["PlanStaff"]) { cb_DisplayCheckedOnly.Visible = false; cb_DisplayCheckedOnly.Checked = true; bt_AddJournal.Visible = false; bt_Save.Visible = false; } else if (bll.Model.EndDate < DateTime.Today) cb_DisplayCheckedOnly.Checked = true; pl_detail.BindData(bll.Model); BindGrid(); UploadFile1.RelateID = bll.Model.ID; UploadFile1.DataBind(); }
protected void bt_Create_Click(object sender, EventArgs e) { DateTime begindate = DateTime.Parse(tbx_begindate.Text); DateTime enddate = DateTime.Parse(tbx_enddate.Text); #region 规则校验 if (select_PlanStaff.SelectValue == "") { MessageBox.Show(this, "请正确选择要填报计划的员工!"); return; } if (begindate < DateTime.Today) { MessageBox.Show(this, "开始日期不能小于今天!"); return; } if (enddate < begindate) { MessageBox.Show(this, "截止日期必须大于开始日期!"); return; } if ((enddate - begindate).Days > 31) { MessageBox.Show(this, "日期范围不能超过一个月!"); return; } if (JN_WorkingPlanBLL.GetModelList("Staff = " + select_PlanStaff.SelectValue + " AND ( (BeginDate BETWEEN '" + begindate.ToString("yyyy-MM-dd") + "' AND '" + enddate.ToString("yyyy-MM-dd") + "') OR ('" + begindate.ToString("yyyy-MM-dd") + "' BETWEEN BeginDate AND EndDate) )").Count > 0) { MessageBox.Show(this, "日期范围与系统中已填报的计划有日期重叠!"); return; } #endregion InitGridView(begindate, enddate); DataTable dt = GenareateDataTable(begindate, enddate); #region 页面控件使能控制 tr_adddetail.Visible = true; tbx_begindate.Enabled = false; tbx_enddate.Enabled = false; select_PlanStaff.Enabled = false; tr_OrganizeCity.Enabled = false; cbx_GenarateSynergetic.Visible = false; bt_Create.Visible = false; bt_Save.Visible = true; #endregion #region 载入该操作员所有负责客户,加入客户拜访记录计划中 IList <CM_Client> clients = CM_ClientBLL.GetModelList("ClientManager=" + select_PlanStaff.SelectValue + " AND ActiveFlag=1 AND ApproveFlag=1"); foreach (CM_Client client in clients) { DataRow dr = dt.NewRow(); dr["WorkingClassify"] = "1"; dr["WorkingClassifyName"] = DictionaryBLL.GetDicCollections("OA_WorkingClassify")["1"].Name; dr["RelateClient"] = client.ID; dr["RelateClientName"] = client.FullName; dr["RelateStaff"] = 0; dr["RelateStaffName"] = ""; dr["OfficialCity"] = client.OfficalCity; if (client.OfficalCity > 0) { dr["OfficialCityName"] = TreeTableBLL.GetFullPathName("MCS_SYS.dbo.Addr_OfficialCity", client.OfficalCity).Replace("->", " "); } dt.Rows.Add(dr); } #endregion #region 加入协同拜访工作项,管理片区非总部员工,将所有下级员工加入 if (cbx_GenarateSynergetic.Checked && int.Parse(tr_OrganizeCity.SelectValue) > 1) { #region 所有下级职位(不含本级职位) string positions = ""; int position = new Org_StaffBLL(int.Parse(select_PlanStaff.SelectValue)).Model.Position; DataTable dtAllChilePosition = TreeTableBLL.GetAllChildByNodes("MCS_SYS.dbo.Org_Position", "ID", "SuperID", position.ToString()); for (int i = 0; i < dtAllChilePosition.Rows.Count; i++) { positions += dtAllChilePosition.Rows[i]["ID"].ToString(); if (i != dtAllChilePosition.Rows.Count - 1) { positions += ","; } } #endregion #region 所有本级及下级管理片区 string orgcitys = ""; Addr_OrganizeCityBLL orgcity = new Addr_OrganizeCityBLL(int.Parse(tr_OrganizeCity.SelectValue), true); orgcitys = orgcity.GetAllChildNodeIDs(); if (orgcitys != "") { orgcitys += ","; } orgcitys += tr_OrganizeCity.SelectValue; #endregion if (positions != "" && orgcitys != "") { IList <Org_Staff> staffs = Org_StaffBLL.GetStaffList("OrganizeCity IN (" + orgcitys + ") AND Position IN (" + positions + ") AND Dimission=1 AND ApproveFlag=1"); foreach (Org_Staff staff in staffs) { DataRow dr = dt.NewRow(); dr["WorkingClassify"] = "2"; dr["WorkingClassifyName"] = DictionaryBLL.GetDicCollections("OA_WorkingClassify")["2"].Name; dr["RelateClient"] = 0; dr["RelateClientName"] = ""; dr["RelateStaff"] = staff.ID; dr["RelateStaffName"] = staff.RealName; dr["OfficialCity"] = staff.OfficialCity; if (staff.OfficialCity > 0) { dr["OfficialCityName"] = TreeTableBLL.GetFullPathName("MCS_SYS.dbo.Addr_OfficialCity", staff.OfficialCity).Replace("->", " "); } dt.Rows.Add(dr); } } } #endregion #region 加入除客户拜访以外的工作项 foreach (ListItem item in ddl_WorkingClassify.Items) { if (int.Parse(item.Value) >= 3) { DataRow dr = dt.NewRow(); dr["WorkingClassify"] = int.Parse(item.Value); dr["WorkingClassifyName"] = item.Text; dr["Description"] = ""; dr["RelateClient"] = 0; dr["RelateClientName"] = ""; dr["RelateStaff"] = 0; dr["RelateStaffName"] = ""; dr["OfficialCity"] = (int)ViewState["StaffOfficialCity"]; if (ViewState["StaffOfficialCity"] != null && (int)ViewState["StaffOfficialCity"] != 0) { dr["OfficialCityName"] = new Addr_OfficialCityBLL((int)ViewState["StaffOfficialCity"]).Model.Name; } else { dr["OfficialCity"] = 0; } dr["Cost1"] = 0; dr["Cost2"] = 0; dt.Rows.Add(dr); } } #endregion ViewState["WorkingPlanData"] = dt; ViewState["BeginDate"] = begindate; ViewState["EndDate"] = enddate; BindGrid(); }
private DataTable LoadWorkingPlanDetail(int planid) { JN_WorkingPlanBLL bll = new JN_WorkingPlanBLL(planid); DataTable dt = GenareateDataTable(bll.Model.BeginDate, bll.Model.EndDate); foreach (JN_WorkingPlanDetail detail in bll.Items) { DataRow[] rows = dt.Select("WorkingClassify = " + detail.WorkingClassify.ToString() + " AND Description = '" + detail.Description + "' " + " AND RelateStaff = " + detail.RelateStaff.ToString() + " AND RelateClient = " + detail.RelateClient.ToString() + " AND OfficialCity = " + detail.OfficialCity.ToString()); if (rows.Length > 0) { DateTime date = detail.BeginTime; while (date <= detail.EndTime) { rows[0]["P" + date.ToString("MMdd")] = true; date = date.AddDays(1); } } else { DataRow dr = dt.NewRow(); dr["WorkingClassify"] = detail.WorkingClassify; dr["WorkingClassifyName"] = DictionaryBLL.GetDicCollections("OA_WorkingClassify")[detail.WorkingClassify.ToString()].Name; dr["Description"] = detail.Description; dr["RelateClient"] = detail.RelateClient; if (detail.RelateClient > 0) { dr["RelateClientName"] = new CM_ClientBLL(detail.RelateClient).Model.FullName; } dr["RelateStaff"] = detail.RelateStaff; if (detail.RelateStaff > 0) { dr["RelateStaffName"] = new Org_StaffBLL(detail.RelateStaff).Model.RealName; } dr["OfficialCity"] = detail.OfficialCity; if (detail.OfficialCity > 0) { dr["OfficialCityName"] = TreeTableBLL.GetFullPathName("MCS_SYS.dbo.Addr_OfficialCity", detail.OfficialCity).Replace("->", " "); } DateTime date = detail.BeginTime; while (date <= detail.EndTime) { dr["P" + date.ToString("MMdd")] = true; date = date.AddDays(1); } if (detail["Cost1"] != "") { dr["Cost1"] = decimal.Parse(detail["Cost1"]); } else { dr["Cost1"] = 0; } if (detail["Cost2"] != "") { dr["Cost2"] = decimal.Parse(detail["Cost2"]); } else { dr["Cost2"] = 0; } dt.Rows.Add(dr); } } return(dt); }
private DataTable LoadWorkingPlanDetail(int planid) { JN_WorkingPlanBLL bll = new JN_WorkingPlanBLL(planid); DataTable dt = GenareateDataTable(bll.Model.BeginDate, bll.Model.EndDate); #region 载入原工作计划 foreach (JN_WorkingPlanDetail detail in bll.Items.OrderBy(p => p.WorkingClassify)) { DataRow[] rows = dt.Select("WorkingClassify = " + detail.WorkingClassify.ToString() + " AND Description = '" + detail.Description + "' " + " AND RelateStaff = " + detail.RelateStaff.ToString() + " AND RelateClient = " + detail.RelateClient.ToString() + " AND OfficialCity = " + detail.OfficialCity.ToString()); if (rows.Length > 0) { DateTime date = detail.BeginTime; while (date <= detail.EndTime) { rows[0]["P" + date.ToString("MMdd")] = true; date = date.AddDays(1); } } else { DataRow dr = dt.NewRow(); dr["WorkingClassify"] = detail.WorkingClassify; dr["WorkingClassifyName"] = DictionaryBLL.GetDicCollections("OA_WorkingClassify")[detail.WorkingClassify.ToString()].Name; dr["Description"] = detail.Description; dr["RelateClient"] = detail.RelateClient; if (detail.RelateClient > 0) dr["RelateClientName"] = new CM_ClientBLL(detail.RelateClient).Model.FullName; dr["RelateStaff"] = detail.RelateStaff; if (detail.RelateStaff > 0) dr["RelateStaffName"] = new Org_StaffBLL(detail.RelateStaff).Model.RealName; dr["OfficialCity"] = detail.OfficialCity; if (detail.OfficialCity > 0) dr["OfficialCityName"] = TreeTableBLL.GetFullPathName("MCS_SYS.dbo.Addr_OfficialCity", detail.OfficialCity).Replace("->", " "); DateTime date = detail.BeginTime; while (date <= detail.EndTime) { dr["P" + date.ToString("MMdd")] = true; date = date.AddDays(1); } if (detail["Cost1"] != "") dr["Cost1"] = decimal.Parse(detail["Cost1"]); else dr["Cost1"] = 0; if (detail["Cost2"] != "") dr["Cost2"] = decimal.Parse(detail["Cost2"]); else dr["Cost2"] = 0; dt.Rows.Add(dr); } } #endregion #region 加载数据库中已填报的日志 string con = "Staff = " + bll.Model.Staff.ToString() + " AND BeginTime BETWEEN '" + bll.Model.BeginDate.ToString("yyyy-MM-dd") + "' AND '" + bll.Model.EndDate.ToString("yyyy-MM-dd 23:59:59") + "' " + " AND JournalType = 1"; IList<JN_Journal> Journals = JN_JournalBLL.GetModelList(con); foreach (JN_Journal journal in Journals.OrderBy(p => p.WorkingClassify)) { DataRow[] rows = dt.Select("WorkingClassify = " + journal.WorkingClassify.ToString() + " AND Description = '" + journal.Title + "' " + " AND RelateStaff = " + (journal.WorkingClassify == 2 ? journal.RelateStaff.ToString() : "0") + " AND RelateClient = " + (journal.WorkingClassify == 1 ? journal.RelateClient.ToString() : "0") + " AND OfficialCity = " + journal.OfficialCity.ToString()); if (rows.Length == 0) { rows = dt.Select("WorkingClassify = " + journal.WorkingClassify.ToString() + " AND Description = '' " + " AND RelateStaff = " + (journal.WorkingClassify == 2 ? journal.RelateStaff.ToString() : "0") + " AND RelateClient = " + (journal.WorkingClassify == 1 ? journal.RelateClient.ToString() : "0") + " AND OfficialCity = " + journal.OfficialCity.ToString()); } if (rows.Length > 0) { rows[0]["J" + journal.BeginTime.ToString("MMdd")] = true; rows[0]["JID" + journal.BeginTime.ToString("MMdd")] = journal.ID; DateTime date = journal.BeginTime; while (date <= journal.EndTime) { rows[0]["J" + date.ToString("MMdd")] = true; rows[0]["JID" + date.ToString("MMdd")] = journal.ID; date = date.AddDays(1); } } else { #region 增加无计划的日志 DataRow dr = dt.NewRow(); dr["WorkingClassify"] = journal.WorkingClassify; if (journal.WorkingClassify > 0) dr["WorkingClassifyName"] = DictionaryBLL.GetDicCollections("OA_WorkingClassify")[journal.WorkingClassify.ToString()].Name; dr["Description"] = journal.Title; dr["RelateClient"] = journal.RelateClient; if (journal.RelateClient > 0) dr["RelateClientName"] = new CM_ClientBLL(journal.RelateClient).Model.FullName; dr["RelateStaff"] = journal.RelateStaff; if (journal.RelateStaff > 0) dr["RelateStaffName"] = new Org_StaffBLL(journal.RelateStaff).Model.RealName; dr["OfficialCity"] = journal.OfficialCity; if (journal.OfficialCity > 0) dr["OfficialCityName"] = TreeTableBLL.GetFullPathName("MCS_SYS.dbo.Addr_OfficialCity", journal.OfficialCity).Replace("->", " "); DateTime date = journal.BeginTime; while (date <= journal.EndTime) { dr["J" + date.ToString("MMdd")] = true; dr["JID" + date.ToString("MMdd")] = journal.ID; date = date.AddDays(1); } dt.Rows.Add(dr); #endregion } } #endregion return dt; }
protected void bt_Save_Click(object sender, EventArgs e) { if (ViewState["WorkingPlanData"] != null) { DataTable dt = (DataTable)ViewState["WorkingPlanData"]; DateTime begindate = (DateTime)ViewState["BeginDate"]; DateTime enddate = (DateTime)ViewState["EndDate"]; #region 将界面中已选择的日志放入IList中 IList<JN_Journal> NewJournals = new List<JN_Journal>(); for (int i = 0; i < dt.Rows.Count; i++) { JN_Journal jn = null; DateTime day = begindate; while (day <= enddate) { if ((bool)dt.Rows[i]["J" + day.ToString("MMdd")]) { #region 新增日志 if (jn == null) { jn = new JN_Journal(); jn.Title = (string)dt.Rows[i]["Description"]; jn.OrganizeCity = new Org_StaffBLL((int)ViewState["PlanStaff"]).Model.OrganizeCity; jn.JournalType = 1; jn.Staff = (int)ViewState["PlanStaff"]; jn.BeginTime = day.AddHours(8.5); jn.EndTime = day.AddHours(17.5); jn.WorkingClassify = (int)dt.Rows[i]["WorkingClassify"]; if (jn.WorkingClassify == 1) { jn.RelateClient = (int)dt.Rows[i]["RelateClient"]; jn.Title = "[客户拜访]" + dt.Rows[i]["RelateClientName"] + jn.Title; } if (jn.WorkingClassify == 2) { jn.RelateStaff = (int)dt.Rows[i]["RelateStaff"]; jn["CCSynergeticStaff"] = "N"; jn.Title = "[协同拜访]" + dt.Rows[i]["RelateStaffName"] + jn.Title; } jn.OfficialCity = (int)dt.Rows[i]["OfficialCity"]; jn["IPAddress"] = Request.UserHostAddress; jn["IPLocation"] = Const_IPLocationBLL.FindByIP(Request.UserHostAddress).Location; jn.ApproveFlag = 2; jn.InsertStaff = (int)Session["UserID"]; NewJournals.Add(jn); //如果每天都生成一条独立的日志,则启用这一行 jn = null; } else { jn.EndTime = day.AddHours(17); } #endregion } else { jn = null; } day = day.AddDays(1); } } #endregion #region 将数据库中已存的计划与IList作比较,相同的从List中移除,不存在于List中的从数据中移除 JN_WorkingPlanBLL bll = new JN_WorkingPlanBLL((int)ViewState["PlanID"]); string con = "Staff = " + bll.Model.Staff.ToString() + " AND BeginTime BETWEEN '" + bll.Model.BeginDate.ToString("yyyy-MM-dd") + "' AND '" + bll.Model.EndDate.ToString("yyyy-MM-dd 23:59:59") + "' " + " AND JournalType = 1"; IList<JN_Journal> OrgJournals = JN_JournalBLL.GetModelList(con); foreach (JN_Journal orgitem in OrgJournals) { JN_Journal m = null; if (orgitem.WorkingClassify == 1) { m = NewJournals.FirstOrDefault(p => p.WorkingClassify == orgitem.WorkingClassify && p.RelateClient == orgitem.RelateClient && p.BeginTime.Date == orgitem.BeginTime.Date && p.EndTime.Date == orgitem.EndTime.Date); } else if (orgitem.WorkingClassify == 2) { m = NewJournals.FirstOrDefault(p => p.WorkingClassify == orgitem.WorkingClassify && p.RelateStaff == orgitem.RelateStaff && p.BeginTime.Date == orgitem.BeginTime.Date && p.EndTime.Date == orgitem.EndTime.Date); } else { m = NewJournals.FirstOrDefault(p => p.WorkingClassify == orgitem.WorkingClassify && p.OfficialCity == orgitem.OfficialCity && p.Title == orgitem.Title && p.BeginTime.Date == orgitem.BeginTime.Date && p.EndTime.Date == orgitem.EndTime.Date); } if (m == null) new JN_JournalBLL(orgitem.ID).Delete(); //删除日志 else NewJournals.Remove(m); } #endregion #region 将剩余下来的计划,新增到数据库中 foreach (JN_Journal item in NewJournals) { JN_JournalBLL jnbll = new JN_JournalBLL(); jnbll.Model = item; jnbll.Add(); } #endregion BindGrid(); MessageBox.ShowAndRedirect(this, "与该计划相关联的实际工作日志填报保存成功!", "JournalOnWorkingPlan.aspx?PlanID=" + ViewState["PlanID"].ToString()); } }
private void BindGrid() { string ConditionStr = "JN_WorkingPlan.BeginDate Between '" + tbx_begindate.Text + "' AND '" + tbx_enddate.Text + " 23:59' "; switch (MCSTabControl1.SelectedTabItem.Value) { case "0": ConditionStr += " AND JN_WorkingPlan.Staff=" + Session["UserID"].ToString(); gv_List.OrderFields = "JN_WorkingPlan_ID"; gv_List.ConditionString = ConditionStr; gv_List.BindGrid(); break; case "1": if (tbx_StaffName.Text != "") { ConditionStr += "AND Org_Staff.RealName LIKE '%" + tbx_StaffName.Text + "%'"; } #region 只显示当前员工的所有下级职位的员工计划 if (tr_Position.SelectValue != "0") { if (cb_IncludeChild.Checked || tr_Position.SelectValue == tr_Position.RootValue) { Org_PositionBLL p = new Org_PositionBLL(int.Parse(tr_Position.SelectValue)); string positions = p.GetAllChildPosition(); if (tr_Position.SelectValue != tr_Position.RootValue) { if (positions != "") { positions += ","; } positions += tr_Position.SelectValue; } ConditionStr += " AND Org_Staff.Position IN (" + positions + ")"; } else { ConditionStr += " AND Org_Staff.Position = " + tr_Position.SelectValue; } } #endregion #region 判断当前可查询的管理片区范围 if (tr_OrganizeCity.SelectValue != "1") { string orgcitys = ""; Addr_OrganizeCityBLL orgcity = new Addr_OrganizeCityBLL(int.Parse(tr_OrganizeCity.SelectValue), true); orgcitys = orgcity.GetAllChildNodeIDs(); if (orgcitys != "") { orgcitys += ","; } orgcitys += tr_OrganizeCity.SelectValue; if (orgcitys != "") { ConditionStr += " AND JN_WorkingPlan.OrganizeCity IN (" + orgcitys + ") "; } } #endregion gv_List.OrderFields = "JN_WorkingPlan_ID"; gv_List.ConditionString = ConditionStr; gv_List.BindGrid(); break; case "2": DateTime dt_begin = DateTime.Parse(tbx_begindate.Text); DateTime dt_end = DateTime.Parse(tbx_enddate.Text); DataTable dtSummary = JN_WorkingPlanBLL.GetSummary(dt_begin, dt_end, int.Parse(tr_OrganizeCity.SelectValue), int.Parse(tr_Position.SelectValue), tbx_StaffName.Text.Trim(), cb_IncludeChild.Checked ? 1 : 0); if (dtSummary.Rows.Count == 0) { gv_planList.DataBind(); return; } dtSummary = MatrixTable.Matrix(dtSummary, new string[] { "营业部", "办事处", "Staff", "员工姓名", "工号", "职位", "出差天数", "负责客户数", "拜访客户数→计划", "拜访客户数→实际", "差旅费→计划", "差旅费→实际差旅费", "差旅费→实际用车费" }, new string[] { "WorkingClassify" }, "WorkCounts", true, false); dtSummary.Rows[dtSummary.Rows.Count - 1]["出差天数"] = dtSummary.Compute("SUM(出差天数)", "true"); dtSummary.Rows[dtSummary.Rows.Count - 1]["负责客户数"] = dtSummary.Compute("SUM(负责客户数)", "true"); dtSummary.Rows[dtSummary.Rows.Count - 1]["拜访客户数→计划"] = dtSummary.Compute("SUM(拜访客户数→计划)", "true"); dtSummary.Rows[dtSummary.Rows.Count - 1]["拜访客户数→实际"] = dtSummary.Compute("SUM(拜访客户数→实际)", "true"); dtSummary.Rows[dtSummary.Rows.Count - 1]["差旅费→计划"] = dtSummary.Compute("SUM(差旅费→计划)", "true"); dtSummary.Rows[dtSummary.Rows.Count - 1]["差旅费→实际差旅费"] = dtSummary.Compute("SUM(差旅费→实际差旅费)", "true"); dtSummary.Rows[dtSummary.Rows.Count - 1]["差旅费→实际用车费"] = dtSummary.Compute("SUM(差旅费→实际用车费)", "true"); gv_planList.DataSource = dtSummary; gv_planList.DataBind(); MatrixTable.GridViewMatric(gv_planList); gv_planList.Rows[gv_planList.Rows.Count - 1].Cells[0].Text = ""; break; } }
protected void bt_Save_Click(object sender, EventArgs e) { SaveDataTable(); if (ViewState["WorkingPlanData"] != null) { DataTable dt = (DataTable)ViewState["WorkingPlanData"]; Decimal totalcost = (decimal)dt.Compute("SUM(Cost1)+SUM(Cost2)", ""); JN_WorkingPlanBLL bll; if ((int)ViewState["ID"] > 0) { bll = new JN_WorkingPlanBLL((int)ViewState["ID"]); } else { bll = new JN_WorkingPlanBLL(); } bll.Model.OrganizeCity = int.Parse(tr_OrganizeCity.SelectValue); bll.Model.BeginDate = (DateTime)ViewState["BeginDate"]; bll.Model.EndDate = (DateTime)ViewState["EndDate"]; bll.Model.Staff = int.Parse(select_PlanStaff.SelectValue); bll.Model["TotalCost"] = totalcost.ToString("0.#"); pl_detail.GetData(bll.Model); if (bll.Model.Staff == 0) { MessageBox.Show(this, "请选择该计划的员工!"); return; } if ((int)ViewState["ID"] > 0) { bll.Update(); } else { bll.Model.InsertStaff = (int)Session["UserID"]; bll.Model.State = 1; bll.Model.ApproveFlag = 2; ViewState["ID"] = bll.Add(); } #region 将界面中已选择的计划放入IList中 IList <JN_WorkingPlanDetail> PlanDetails = new List <JN_WorkingPlanDetail>(); for (int i = 0; i < dt.Rows.Count; i++) { JN_WorkingPlanDetail detail = null; bool savedcost = false; DateTime day = bll.Model.BeginDate; while (day <= bll.Model.EndDate) { if ((bool)dt.Rows[i]["P" + day.ToString("MMdd")]) { if (detail == null) { detail = new JN_WorkingPlanDetail(); detail.WorkingClassify = (int)dt.Rows[i]["WorkingClassify"]; detail.RelateClient = (int)dt.Rows[i]["RelateClient"]; detail.RelateStaff = (int)dt.Rows[i]["RelateStaff"]; detail.OfficialCity = (int)dt.Rows[i]["OfficialCity"]; detail.Description = (string)dt.Rows[i]["Description"]; detail.BeginTime = day; detail.EndTime = day; if (!savedcost) { detail["Cost1"] = ((decimal)dt.Rows[i]["Cost1"]).ToString("0.##"); detail["Cost2"] = ((decimal)dt.Rows[i]["Cost2"]).ToString("0.##"); savedcost = true; } else { detail["Cost1"] = "0"; detail["Cost2"] = "0"; } PlanDetails.Add(detail); } else { detail.EndTime = day; } } else { detail = null; } day = day.AddDays(1); } } #endregion #region 将数据库中已存的计划与IList作比较,相同的从List中移除,不存在于List中的从数据中移除 foreach (JN_WorkingPlanDetail orgitem in bll.Items) { JN_WorkingPlanDetail m = PlanDetails.FirstOrDefault(p => p.WorkingClassify == orgitem.WorkingClassify && p.RelateClient == orgitem.RelateClient && p.RelateStaff == orgitem.RelateStaff && p.OfficialCity == orgitem.OfficialCity && p.Description == orgitem.Description && p.BeginTime == orgitem.BeginTime && p.EndTime == orgitem.EndTime && p["Cost1"] == orgitem["Cost1"] && p["Cost2"] == orgitem["Cost2"]); if (m == null) { bll.DeleteDetail(orgitem.ID); } else { PlanDetails.Remove(m); } } #endregion #region 将剩余下来的计划,新增到数据库中 foreach (JN_WorkingPlanDetail item in PlanDetails) { bll.AddDetail(item); } #endregion Response.Redirect("WorkingPlan_CalendarList.aspx?ID=" + ViewState["ID"].ToString()); } }
protected void Calendar1_DayRender(object sender, DayRenderEventArgs e) { if (ViewState["Staff"] != null && (int)ViewState["Staff"] > 0) { e.Cell.HorizontalAlign = HorizontalAlign.Left; if (e.Day.Date <= DateTime.Today && MCSTabControl1.SelectedIndex == 0) { ImageButton ibt = new ImageButton(); ibt.ImageUrl = "~/Images/gif/gif-0489.gif"; ibt.BorderWidth = new Unit(0); ibt.ToolTip = "新增工作日志"; ibt.OnClientClick = "javascript:NewJournal('" + e.Day.Date.DayOfYear.ToString() + "')"; ibt.Click += new ImageClickEventHandler(ibt_Click); e.Cell.Controls.Add(ibt); } #region 获取该员工当天工作日志 if (cbx_Journal.Checked) { IList<JN_Journal> journallists = JN_JournalBLL.GetModelList("'" + e.Day.Date.ToString("yyyy-MM-dd") + "' BETWEEN Convert(varchar(10),BeginTime,120) And EndTime AND Staff=" + ViewState["Staff"].ToString()); if (journallists.Count > 0) { BulletedList bt = new BulletedList(); foreach (JN_Journal j in journallists) { ListItem item = new ListItem(); item.Text = ""; if (j.JournalType == 1) { //日报 if (j.BeginTime.Hour != 0 && j.EndTime.Hour != 0) item.Text += j.BeginTime.ToString("HH:mm") + "~" + j.EndTime.ToString("HH:mm") + " "; if (j.WorkingClassify != 0) { item.Text += DictionaryBLL.GetDicCollections("OA_WorkingClassify")[j.WorkingClassify.ToString()].Name + " "; switch (j.WorkingClassify) { case 1://门店拜访 if (j.RelateClient != 0) { //门店拜访 CM_Client client = new CM_ClientBLL(j.RelateClient).Model; if (client != null) item.Text += client.ShortName + " "; if (j["VisitClientPurpose"] != "" && j["VisitClientPurpose"] != "0") item.Text += DictionaryBLL.GetDicCollections("OA_JN_VisitClientPurpose")[j["VisitClientPurpose"]].Name + " "; } break; case 2: //协同拜访 if (j.RelateStaff != 0) { Org_Staff staff = new Org_StaffBLL(j.RelateStaff).Model; if (staff != null) item.Text += staff.RealName; } break; default: item.Text += j.Title; break; } } else { item.Text += j.Title; } } else { //周报、月报 item.Text += DictionaryBLL.GetDicCollections("OA_JournalType")[j.JournalType.ToString()].Name + " "; item.Text += j.Title; } item.Value = "javascript:OpenJournal(" + j.ID.ToString() + ")"; bt.Items.Add(item); } bt.DisplayMode = BulletedListDisplayMode.HyperLink; bt.BulletImageUrl = "~/Images/gif/gif-0162.gif"; bt.BulletStyle = BulletStyle.CustomImage; bt.CssClass = "calaitem"; e.Cell.Controls.Add(bt); } } #endregion #region 获取访员工当天的工作计划 if (cbx_Plan.Checked) { if (ViewState["PlanDetails"] == null || ((IList<JN_WorkingPlanDetail>)ViewState["PlanDetails"]).Where (p => (p.BeginTime.Date <= e.Day.Date && p.EndTime.Date >= e.Day.Date)).Count() == 0) { IList<JN_WorkingPlan> plans = JN_WorkingPlanBLL.GetModelList("'" + e.Day.Date.ToString("yyyy-MM-dd") + "' BETWEEN BeginDate AND EndDate AND Staff=" + ViewState["Staff"].ToString()); if (plans.Count > 0) { IList<JN_WorkingPlanDetail> plandetails = new JN_WorkingPlanBLL(plans[0].ID).Items; ViewState["PlanDetails"] = plandetails; } else ViewState["PlanDetails"] = null; } if (ViewState["PlanDetails"] != null) { IList<JN_WorkingPlanDetail> plandetails = (IList<JN_WorkingPlanDetail>)ViewState["PlanDetails"]; BulletedList bt = new BulletedList(); foreach (JN_WorkingPlanDetail plan in plandetails.Where(p => (p.BeginTime.Date <= e.Day.Date && p.EndTime.Date >= e.Day.Date))) { ListItem item = new ListItem(); item.Text = ""; if (plan.WorkingClassify == 0) continue; item.Text += DictionaryBLL.GetDicCollections("OA_WorkingClassify")[plan.WorkingClassify.ToString()].Name + " "; switch (plan.WorkingClassify) { case 1://门店拜访 if (plan.RelateClient != 0) { //门店拜访 CM_Client client = new CM_ClientBLL(plan.RelateClient).Model; if (client != null) item.Text += client.ShortName + " "; } break; case 2: //协同拜访 if (plan.RelateStaff != 0) { Org_Staff staff = new Org_StaffBLL(plan.RelateStaff).Model; if (staff != null) item.Text += staff.RealName + " "; } break; default: item.Text += plan.Description + " "; break; } if (plan.OfficialCity > 1) item.Text += TreeTableBLL.GetFullPathName("MCS_SYS.dbo.Addr_OfficialCity", plan.OfficialCity).Replace("->", ""); bt.Items.Add(item); } bt.DisplayMode = BulletedListDisplayMode.Text; bt.BulletImageUrl = "~/Images/gif/gif-0163.gif"; bt.BulletStyle = BulletStyle.CustomImage; bt.CssClass = "calaitem"; e.Cell.Controls.Add(bt); } } #endregion } }