private void AddEmpSch(DataTable dt) { Hashtable htapp = (Hashtable)Application["appconf"]; string strcons = (string)htapp["cons"]; emb = new EmpBusi(strcons); emb.SchedEmpDailyBatch(dt); }
protected void Page_Load(object sender, System.EventArgs e) { // Put user code to initialize the page here if (Session["Login"] != null) { string strid = Request.QueryString["id"]; Hashtable htapp = (Hashtable)Application["appconf"]; string strcons = (string)htapp["cons"]; esins = new EmpBusi(strcons); if (!this.IsPostBack) { strInDate = DateTime.Now.ToShortDateString(); this.FillDropDownList("tbCommCode", ddlDegree, "vcCommSign ='DE'"); this.FillDropDownList("tbCommCode", ddlDept, "vcCommSign ='MD'"); this.FillDropDownList("tbCommCode", ddlOfficer, "vcCommSign ='OF'"); this.ddlSex.Items.Add("男"); this.ddlSex.Items.Add("女"); this.ddlFlag.Items.Add(new ListItem("在职", "0")); this.ddlFlag.Items.Add(new ListItem("离职", "1")); if (strid == "" || strid == null) { this.SetErrorMsgPageBydir("参数错误,无法调整员工属性!"); } else { Session.Remove("esold"); CMSMStruct.EmployeeStruct es1 = esins.GetEmpInfo(strid); txtCardID.Text = es1.strCardID; txtEmpName.Text = es1.strEmpName; txtEmpNbr.Text = es1.strEmpNbr; ddlSex.Items.FindByText(es1.strSex).Selected = true; txtLinkPhone.Text = es1.strLinkPhone; ddlDegree.Items.FindByValue(es1.strDegree).Selected = true; strInDate = es1.strInDate; ddlDept.Items.FindByValue(es1.strDeptID).Selected = true; ddlFlag.Items.FindByValue(es1.strFlag).Selected = true; ddlOfficer.Items.FindByValue(es1.strOfficer).Selected = true; txtAddress.Text = es1.strAddress; txtComments.Text = es1.strComments; this.txtCardID.ReadOnly = true; lbltitle.Text = "员工信息调整"; Session["esold"] = es1; } } else { strInDate = Request.Form["txtInDate"].ToString(); } } else { Response.Redirect("../Exit.aspx"); } }
protected void Page_Load(object sender, System.EventArgs e) { // Put user code to initialize the page here string strDept = Request.QueryString["dept"].ToString(); string strDate = Request.QueryString["date"].ToString(); string[] SchDatelist = strDate.Split('-'); if (SchDatelist.Length != 3) { this.SetErrorMsgPageBydir("时间格式不正确!"); return; } strDate = SchDatelist[0] + SchDatelist[1] + SchDatelist[2]; string strDateFormat = SchDatelist[0] + "年" + SchDatelist[1] + "月" + SchDatelist[2] + "日"; if (strDept == "" || strDate == "") { this.SetErrorMsgPageBydir("查询出错!"); return; } else { Hashtable htapp = (Hashtable)Application["appconf"]; string strcons = (string)htapp["cons"]; EmpBusi ebu = new EmpBusi(strcons); ArrayList alDeptSchAll = ebu.GetDeptSchDetail(strDept, strDate); if (alDeptSchAll == null || alDeptSchAll.Count <= 0) { this.SetErrorMsgPageBydir("查询出错!"); return; } else { Response.Write("<table align='center' border='0' width='90%' cellSpacing='10' cellPadding='10'><tr><td style='FONT-WEIGHT: bold; FONT-SIZE: 15pt; COLOR: #330033' align='center'>排班明细表</td></tr></table>"); Response.Write("<table align='center' border='0' width='90%' cellSpacing='5' cellPadding='5'><tr><td>门店:" + strDept + "</td><td>日期:" + strDateFormat + "</td></tr></table>"); Response.Write("<table align='center' border='1' width='90%' cellSpacing='1' cellPadding='1' bordercolor='#ffccff' style='FONT-SIZE: 10pt'><tr style='COLOR: #0033ff'><td>职务类型</td><td>班次</td><td>人员列表</td><td>上班时间</td><td>下班时间</td></tr>"); foreach (CMSMStruct.DeptSchStruct deptstmp in alDeptSchAll) { if (deptstmp.strEmpNameGroup == "未安排") { Response.Write("<tr><td>" + deptstmp.strEmpOF + "</td><td>" + deptstmp.strClass + "</td><td style='COLOR: #cc0000'>" + deptstmp.strEmpNameGroup + "</td><td>" + deptstmp.strCheckIn + "</td><td>" + deptstmp.strCheckOut + "</td><td></tr>"); } else { Response.Write("<tr><td>" + deptstmp.strEmpOF + "</td><td>" + deptstmp.strClass + "</td><td>" + deptstmp.strEmpNameGroup + "</td><td>" + deptstmp.strCheckIn + "</td><td>" + deptstmp.strCheckOut + "</td><td></tr>"); } } Response.Write("</table>"); } return; } }
protected void Page_Load(object sender, System.EventArgs e) { // Put user code to initialize the page here if (!IsPostBack) { string strSchID = ""; string strEmpName = ""; string strClass = ""; if (Request.QueryString.HasKeys()) { strSchID = Request.QueryString["date"]; strEmpName = Request.QueryString["emp"]; strClass = Request.QueryString["class"]; } else { this.SetErrorMsgPageBydir("²ÎÊýÎÞЧ£¬É¾³ýʧ°Ü£¬ÇëÖØÊÔ£¡"); return; } if (strSchID == "" || strEmpName == "" || strClass == "") { this.SetErrorMsgPageBydir("²ÎÊýÎÞЧ£¬É¾³ýʧ°Ü£¬ÇëÖØÊÔ£¡"); return; } else { Hashtable htapp = (Hashtable)Application["appconf"]; string strcons = (string)htapp["cons"]; ebu = new EmpBusi(strcons); if (ebu.SchedEmpDailyEveryDel(strSchID, strEmpName, strClass)) { this.SetSuccMsgPageBydir("ɾ³ýÔ±¹¤ÅÅ°à³É¹¦£¡", "Employ/wfmWorkDailyEvery.aspx"); return; } else { this.SetErrorMsgPageBydirHistory("ɾ³ýÔ±¹¤ÅÅ°àʧ°Ü£¡"); return; } } } }
protected void btquery_Click(object sender, System.EventArgs e) { Session.Remove("Schcond"); this.ltbAllEmp.Items.Clear(); this.ltbSchedEmp.Items.Clear(); string[] SchDatelist = strSchDate.Split('-'); if (SchDatelist.Length != 3) { this.SetErrorMsgPageBydir("时间格式不正确!"); return; } string strSchID = SchDatelist[0]; if (int.Parse(SchDatelist[1]) < 10) { strSchID += "0" + SchDatelist[1]; } else { strSchID += SchDatelist[1]; } if (int.Parse(SchDatelist[2]) < 10) { strSchID += "0" + SchDatelist[2]; } else { strSchID += SchDatelist[2]; } DateTime datetimesch = new DateTime(int.Parse(SchDatelist[0]), int.Parse(SchDatelist[1]), int.Parse(SchDatelist[2])); if (datetimesch.CompareTo(DateTime.Today) < 0) { this.SetErrorMsgPageBydir("不能对以前的排班计划进行修改!"); return; } Hashtable htapp = (Hashtable)Application["appconf"]; string strcons = (string)htapp["cons"]; ebu = new EmpBusi(strcons); string strDeptID = ddlDept.SelectedValue; if (strDeptID != "") { DataTable dtMana = ebu.GetEmpManager(strDeptID); strManager = ""; for (int i = 0; i < dtMana.Rows.Count; i++) { strManager += dtMana.Rows[i]["vcEmpName"].ToString() + ","; } if (strManager != "") { strManager = strManager.Substring(0, strManager.Length - 1); } this.lblManager.Text = strManager; } else { this.SetErrorMsgPageBydir("门店信息错误,请重新刷新页面再操作!"); return; } if (strManager == "") { this.SetErrorMsgPageBydir("没有找到店长信息!"); return; } string strOfficer = ddlOfficer.SelectedItem.Text; string strOfficerID = ddlOfficer.SelectedValue; string strClass = ddlClass.SelectedItem.Text; string strDeptName = ddlDept.SelectedItem.Text; if (strDeptID == "" || strDeptName == "" || strClass == "" || strSchDate == "") { this.SetErrorMsgPageBydir("请选择要排班的参数信息!"); return; } Hashtable htPara = new Hashtable(); htPara.Add("strDeptID", strDeptID); htPara.Add("strDeptName", strDeptName); htPara.Add("strOfficer", strOfficer); htPara.Add("strOfficerID", strOfficerID); htPara.Add("strClass", strClass); htPara.Add("strSchID", strSchID); htPara.Add("strManager", strManager); Session["Schcond"] = htPara; DataSet dsout = ebu.GetEmpSchList(htPara); if (dsout == null || dsout.Tables["tbEmployee"] == null || dsout.Tables["tbEmpSchLog"] == null) { this.SetErrorMsgPageBydir("查询当前排班情况出错!"); return; } else { this.lblSchedTitle.Text = strSchDate + "的" + strClass + "有如下员工上班"; for (int i = 0; i < dsout.Tables["tbEmpSchLog"].Rows.Count; i++) { this.ltbSchedEmp.Items.Add(dsout.Tables["tbEmpSchLog"].Rows[i]["vcEmpName"].ToString()); } for (int k = 0; k < dsout.Tables["tbEmployee"].Rows.Count; k++) { if (dsout.Tables["tbEmpSchLog"].Rows.Count > 0) { bool flag = false; for (int j = 0; j < dsout.Tables["tbEmpSchLog"].Rows.Count; j++) { if (dsout.Tables["tbEmployee"].Rows[k]["vcEmpName"].ToString() == dsout.Tables["tbEmpSchLog"].Rows[j]["vcEmpName"].ToString()) { flag = true; break; } } if (!flag) { this.ltbAllEmp.Items.Add(dsout.Tables["tbEmployee"].Rows[k]["vcEmpName"].ToString()); } } else { this.ltbAllEmp.Items.Add(dsout.Tables["tbEmployee"].Rows[k]["vcEmpName"].ToString()); } } } this.btquery.Enabled = false; this.ddlClass.Enabled = false; this.ddlOfficer.Enabled = false; this.ddlDept.Enabled = false; }
protected void btOk_Click(object sender, System.EventArgs e) { string[] SchDatelist = strSchDate.Split('-'); if (SchDatelist.Length != 3) { this.SetErrorMsgPageBydir("时间格式不正确!"); return; } string strSchID = SchDatelist[0]; if (int.Parse(SchDatelist[1]) < 10) { strSchID += "0" + SchDatelist[1]; } else { strSchID += SchDatelist[1]; } if (int.Parse(SchDatelist[2]) < 10) { strSchID += "0" + SchDatelist[2]; } else { strSchID += SchDatelist[2]; } string strDeptID = ddlDept.SelectedValue; string strClass = ddlClass.SelectedItem.Text; string strClassID = ddlClass.SelectedValue; string strDeptName = ddlDept.SelectedItem.Text; string strManager = this.lblManager.Text; string strOfficer = ddlOfficer.SelectedItem.Text; string strOfficerID = ddlOfficer.SelectedValue; Hashtable htpara = (Hashtable)Session["Schcond"]; if (htpara == null) { this.SetErrorMsgPageBydir("请先查询,再进行排班!"); return; } if (strDeptID != htpara["strDeptID"].ToString() || strClass != htpara["strClass"].ToString() || strManager != htpara["strManager"].ToString() || strOfficer != htpara["strOfficer"].ToString() || strSchID != htpara["strSchID"].ToString()) { this.SetErrorMsgPageBydir("排班计划参数与之前选定的不一致,请重新查询刷新再排班!"); return; } ArrayList alSched = new ArrayList(); for (int i = 0; i < ltbSchedEmp.Items.Count; i++) { alSched.Add(ltbSchedEmp.Items[i].Text); } Hashtable htIOT = (Hashtable)Application["IOTime"]; ArrayList altime = (ArrayList)htIOT[strOfficerID]; string strCheckInDate = ""; string strCheckOutDate = ""; for (int j = 0; j < altime.Count; j++) { CMSMStruct.SignIOTimeStruct siottmp = (CMSMStruct.SignIOTimeStruct)altime[j]; if ((strOfficerID + strClassID) == siottmp.strSIOTID) { strCheckInDate = strSchDate + " " + siottmp.strInTime + ":00"; strCheckOutDate = strSchDate + " " + siottmp.strOutTime + ":00"; } } if (strCheckInDate == "" || strCheckOutDate == "") { this.SetErrorMsgPageBydir("获取上下班时间参数错误,请检查参数!"); return; } htpara.Add("strCheckInDate", strCheckInDate); htpara.Add("strCheckOutDate", strCheckOutDate); Hashtable htapp = (Hashtable)Application["appconf"]; string strcons = (string)htapp["cons"]; ebu = new EmpBusi(strcons); if (ebu.SchedEmpDaily(htpara, alSched)) { Session.Remove("Schcond"); this.ltbAllEmp.Items.Clear(); this.ltbSchedEmp.Items.Clear(); this.btquery.Enabled = true; this.ddlClass.Enabled = true; this.ddlOfficer.Enabled = true; this.ddlDept.Enabled = true; this.lblManager.Text = "--"; this.SetSuccMsgPageBydir("排班计划保存成功!", "Employ/wfmWorkDaily.aspx?dept=" + strDeptID); } else { this.SetErrorMsgPageBydir("排班计划保存失败!"); } }
private void Page_Load(object sender, System.EventArgs e) { // Put user code to initialize the page here if (Session["Login"] != null) { // CMSMStruct.LoginStruct ls1=(CMSMStruct.LoginStruct)Session["Login"]; // if(ls1.strLimit=="CL003"||ls1.strLimit=="CL004") // { // this.SetErrorMsgPageBydir("对不起,你没有权限使用此功能!"); // return; // } if (!IsPostBack) { if (Request.QueryString.HasKeys()) { this.lblDeptID.Text = Request.QueryString["deptid"]; this.txtDept.Text = Request.QueryString["deptname"]; this.txtSchDate.Text = Request.QueryString["date"]; this.txtDept.ReadOnly = true; txtSchDate.ReadOnly = true; } this.FillDropDownList("tbCommCode", ddlClass, "vcCommSign ='EC'"); for (int j = 0; j <= 23; j++) { if (j < 10) { this.ddlInHour.Items.Add("0" + j.ToString()); this.ddlOutHour.Items.Add("0" + j.ToString()); } else { this.ddlInHour.Items.Add(j.ToString()); this.ddlOutHour.Items.Add(j.ToString()); } } this.ddlInMinute.Items.Add("00"); this.ddlInMinute.Items.Add("15"); this.ddlInMinute.Items.Add("30"); this.ddlInMinute.Items.Add("45"); this.ddlOutMinute.Items.Add("00"); this.ddlOutMinute.Items.Add("15"); this.ddlOutMinute.Items.Add("30"); this.ddlOutMinute.Items.Add("45"); Hashtable htapp = (Hashtable)Application["appconf"]; string strcons = (string)htapp["cons"]; ebu = new EmpBusi(strcons); DataTable dtout = ebu.GetAllEmpName(this.lblDeptID.Text.Trim(), this.txtSchDate.Text.Trim()); for (int i = 0; i < dtout.Rows.Count; i++) { this.ltbEmp.Items.Add(dtout.Rows[i]["vcEmpName"].ToString()); } } } else { Response.Redirect("../Exit.aspx"); } }
private void btadd_Click(object sender, System.EventArgs e) { Hashtable htapp = (Hashtable)Application["appconf"]; string strcons = (string)htapp["cons"]; ebu = new EmpBusi(strcons); string strManager = ""; if (this.lblDeptID.Text.Trim() != "") { DataTable dtMana = ebu.GetEmpManager(this.lblDeptID.Text.Trim()); for (int i = 0; i < dtMana.Rows.Count; i++) { strManager += dtMana.Rows[i]["vcEmpName"].ToString() + ","; } if (strManager != "") { strManager = strManager.Substring(0, strManager.Length - 1); } } else { this.SetErrorMsgPageBydirHistory("门店信息错误!"); return; } double strInHour = double.Parse(ddlInHour.SelectedItem.Text); double strInMinute = double.Parse(ddlInMinute.SelectedItem.Text); double strOutHour = double.Parse(ddlOutHour.SelectedItem.Text); double strOutMinute = double.Parse(ddlOutMinute.SelectedItem.Text); double dateHourLong = 0; double dateMinuteLong = 0; if (chcSecDay.Checked) { if (this.ddlClass.SelectedValue != "5") { dateHourLong = (24 - strInHour) + strOutHour; if (strInMinute == strOutMinute) { dateMinuteLong = 0; } else if (strInMinute < strOutMinute) { dateMinuteLong = Math.Round(((strOutMinute - strInMinute) / 60), 2); } else { dateMinuteLong = Math.Round((strInMinute - strOutMinute) / 60, 2); } if ((dateHourLong + dateMinuteLong) <= 2.5) { this.SetErrorMsgPageBydirHistory("每班次的上班时间不能小于等于2.5小时!"); return; } } } else { if (this.ddlClass.SelectedValue != "5") { if (strInHour > strOutHour) { this.SetErrorMsgPageBydirHistory("上班时间不能大于下班时间!"); return; } dateHourLong = strOutHour - strInHour; if (strInMinute == strOutMinute) { dateMinuteLong = 0; } else if (strInMinute < strOutMinute) { dateMinuteLong = Math.Round((strOutMinute - strInMinute) / 60, 2); } else { dateMinuteLong = Math.Round((strInMinute - strOutMinute) / 60, 2); } if ((dateHourLong + dateMinuteLong) <= 2.5) { this.SetErrorMsgPageBydirHistory("每班次的上班时间不能小于等于2.5小时!"); return; } } } ArrayList alsuc = new ArrayList(); ArrayList alfail = new ArrayList(); for (int k = 0; k < this.ltbSelect.Items.Count; k++) { CMSMStruct.EmpSchLogStruct empschlog = new CMSMStruct.EmpSchLogStruct(); empschlog.strManager = strManager; empschlog.strSchID = this.txtSchDate.Text.Trim(); empschlog.strEmpName = this.ltbSelect.Items[k].Text.Trim(); empschlog.strDeptName = this.txtDept.Text.Trim(); empschlog.strClass = this.ddlClass.SelectedItem.Text; CMSMStruct.EmployeeStruct emp1 = ebu.GetEmpInfoByName(empschlog.strEmpName); if (emp1.strCardID == "" || emp1.strCardID == null) { alfail.Add(empschlog.strEmpName + " 失败原因:获取卡号出错,请检查员工姓名是否正确!"); continue; } else { empschlog.strCardID = emp1.strCardID; empschlog.strEmpOF = emp1.strOfficer; } if (ebu.IsEmpSchAllDayWork(empschlog.strSchID, empschlog.strCardID, empschlog.strClass)) { alfail.Add(empschlog.strEmpName + " 失败原因:排班表中不可即有全日班或休息,又有其它班次!"); continue; } if (ebu.IsEmpSchDupClass(empschlog.strSchID, empschlog.strCardID, empschlog.strClass)) { alfail.Add(empschlog.strEmpName + " 失败原因:排班表中已经存在" + empschlog.strClass + "信息!"); continue; } empschlog.strSchID = this.txtSchDate.Text.Trim(); if (empschlog.strClass != "休息") { string strDate = empschlog.strSchID.Substring(0, 4) + "-" + empschlog.strSchID.Substring(4, 2) + "-" + empschlog.strSchID.Substring(6, 2); empschlog.strCheckIn = strDate + " " + strInHour.ToString() + ":" + strInMinute.ToString() + ":00"; if (chcSecDay.Checked) { DateTime dtdate = new DateTime(int.Parse(empschlog.strSchID.Substring(0, 4)), int.Parse(empschlog.strSchID.Substring(4, 2)), int.Parse(empschlog.strSchID.Substring(6, 2))); DateTime dtnewdate = dtdate.AddDays(1); empschlog.strCheckOut = dtnewdate.ToShortDateString() + " " + strOutHour.ToString() + ":" + strOutMinute.ToString() + ":00"; } else { empschlog.strCheckOut = strDate + " " + strOutHour.ToString() + ":" + strOutMinute.ToString() + ":00"; } } if (empschlog.strClass != "休息" && empschlog.strClass != "全日班") { if (ebu.IsErrorTimespanWithTwoClass(empschlog)) { alfail.Add(empschlog.strEmpName + " 失败原因:两相邻班次之间的时间间隔不得小于2.5小时!"); continue; } } if (ebu.SchedEmpDailyEvery(empschlog)) { alsuc.Add(empschlog.strEmpName); } } string strinfo = "--------成功员工列表--------<br>"; for (int m = 0; m < alsuc.Count; m++) { strinfo += alsuc[m].ToString() + "<br>"; } strinfo += "--------失败员工列表--------<br>"; for (int n = 0; n < alfail.Count; n++) { strinfo += alfail[n].ToString() + "<br>"; } this.SetSuccMsgPageBydir("添加员工排班表完成,如果有失败请检查是否该员工已经有该班次的排班信息了!<br>" + strinfo, "Employ/wfmWorkDailyEvery.aspx"); }
protected void btQuery_Click(object sender, System.EventArgs e) { Session.Remove("QUERY"); Session.Remove("toExcel"); Hashtable htapp = (Hashtable)Application["appconf"]; string strcons = (string)htapp["cons"]; ebu = new EmpBusi(strcons); Hashtable htPara = new Hashtable(); string strCardID = txtCardID.Text.Trim(); htPara.Add("strCardID", strCardID); string strEmpName = txtEmpName.Text.Trim(); htPara.Add("strEmpName", strEmpName); htPara.Add("strstate", ddlstate.SelectedValue); string strDeptID = ddlDept.SelectedValue; if (strDeptID == "全部") { strDeptID = ""; } htPara.Add("strDeptID", strDeptID); try { DataTable dtout = ebu.GetEmployees(htPara); if (dtout == null) { this.SetErrorMsgPageBydir("查询出错,请重试!"); btnExcel.Enabled = false; return; } else { this.TableConvert(dtout, "在职情况", "tbCommCode", "vcCommSign='ES'"); this.TableConvert(dtout, "学历", "tbCommCode", "vcCommSign='DE'"); this.TableConvert(dtout, "当前所属门店", "tbCommCode", "vcCommSign='MD'"); this.TableConvert(dtout, "职务", "tbCommCode", "vcCommSign='OF'"); dtout.TableName = "员工资料清单"; DataTable dtexcel = dtout.Copy(); Session["QUERY"] = dtout; for (int i = 0; i < dtexcel.Rows.Count; i++) { dtexcel.Rows[i][0] = "'" + dtexcel.Rows[i][0].ToString(); dtexcel.Rows[i][3] = "'" + dtexcel.Rows[i][3].ToString(); dtexcel.Rows[i][6] = "'" + dtexcel.Rows[i][6].ToString(); } dtexcel.Columns.Remove("操作"); Session["toExcel"] = dtexcel; if (dtout.Rows.Count <= 0) { btnExcel.Enabled = false; } else { btnExcel.Enabled = true; } } UcPageView1.MyDataGrid.PageSize = 30; DataView dvOut = new DataView(dtout); this.UcPageView1.MyDataSource = dvOut; this.UcPageView1.BindGrid(); } catch (Exception er) { this.clog.WriteLine(er); this.SetErrorMsgPageBydir("查询错误,请重试!"); return; } }
private DataSet CheckEmpSch(DataSet ds) { Hashtable htapp = (Hashtable)Application["appconf"]; string strcons = (string)htapp["cons"]; emb = new EmpBusi(strcons); DataTable dtEmp = emb.GetEmployInfo(); Hashtable htEmpCardID = new Hashtable(); foreach (DataRow dr in dtEmp.Rows) { CMSMStruct.EmployeeStruct emp1 = new CommCenter.CMSMStruct.EmployeeStruct(); emp1.strCardID = dr["vcCardID"].ToString(); emp1.strEmpName = dr["vcEmpName"].ToString(); emp1.strOfficer = dr["vcOfficer"].ToString(); emp1.strDeptID = dr["vcDeptName"].ToString(); htEmpCardID.Add(emp1.strCardID, emp1); } DataTable dtDeptManager = emb.GetDeptManagerList(); Hashtable htManager = new Hashtable(); string strManaDeptID = ""; string strManager = ""; if (dtDeptManager != null && dtDeptManager.Rows.Count > 0) { strManaDeptID = dtDeptManager.Rows[0]["vcDeptID"].ToString(); } for (int i = 0; i < dtDeptManager.Rows.Count; i++) { if (strManaDeptID == dtDeptManager.Rows[i]["vcDeptID"].ToString()) { strManager += dtDeptManager.Rows[i]["vcEmpName"].ToString() + ","; } else { if (strManager != "") { strManager = strManager.Substring(0, strManager.Length - 1); } htManager.Add(strManaDeptID, strManager); strManaDeptID = dtDeptManager.Rows[i]["vcDeptID"].ToString(); strManager = dtDeptManager.Rows[i]["vcEmpName"].ToString() + ","; } if (i == dtDeptManager.Rows.Count - 1) { if (strManager != "") { strManager = strManager.Substring(0, strManager.Length - 1); } htManager.Add(strManaDeptID, strManager); } } int iError = 0; DataTable dt = ds.Tables[0]; dt.Columns.Add("校验错误"); dt.Columns.Add("vcSchID"); dt.Columns.Add("vcDeptName"); dt.Columns.Add("vcManager"); dt.Columns.Add("vcCardID"); dt.Columns.Add("vcEmpName"); dt.Columns.Add("vcEmpOF"); dt.Columns.Add("vcClass"); dt.Columns.Add("dtCheckIn"); dt.Columns.Add("dtCheckOut"); foreach (DataRow dr in dt.Rows) { string strSchID = dr["排班日期"].ToString().Trim(); if (strSchID.Length != 8) { dr["校验错误"] += strSchID + ":排班日期应为8位日期;"; iError += 1; } else { DateTime dtsch = new DateTime(int.Parse(strSchID.Substring(0, 4)), int.Parse(strSchID.Substring(4, 2)), int.Parse(strSchID.Substring(6, 2))); if (dtsch.CompareTo(DateTime.Today) < 0) { dr["校验错误"] += strSchID + ":不能排今天以前的班;"; iError += 1; } else { dr["vcSchID"] = strSchID; } } string strDeptName = dr["门店"].ToString().Trim(); string strDeptOldID = ""; bool isdeptexist = false; DataTable dtDept = (DataTable)Application["AllMD"]; foreach (DataRow dr1 in dtDept.Rows) { if (dr1["vcCommName"].ToString() == strDeptName) { isdeptexist = true; strDeptOldID = dr1["vcCommCode"].ToString(); break; } } if (!isdeptexist) { dr["校验错误"] += strDeptName + ":门店不存在;"; iError += 1; } else { dr["vcDeptName"] = strDeptName; } if (dr["vcDeptName"].ToString() != "" && strDeptOldID != "") { if (htManager.ContainsKey(strDeptOldID)) { dr["vcManager"] = htManager[strDeptOldID].ToString(); } } string strCardID = dr["员工卡号"].ToString(); string strEmpName = dr["员工姓名"].ToString(); string strOfficer = dr["职务"].ToString(); if (!htEmpCardID.ContainsKey(strCardID)) { dr["校验错误"] += strCardID + ":卡号不正确,员工不存在;"; iError += 1; } else { dr["vcCardID"] = strCardID; CMSMStruct.EmployeeStruct emptmp2 = (CMSMStruct.EmployeeStruct)htEmpCardID[strCardID]; if (emptmp2.strEmpName != strEmpName) { dr["校验错误"] += strEmpName + ":员工姓名不正确;"; iError += 1; } else { dr["vcEmpName"] = strEmpName; } if (emptmp2.strOfficer != strOfficer) { dr["校验错误"] += strOfficer + ":职务不正确;"; iError += 1; } else { dr["vcEmpOF"] = strOfficer; } if (emptmp2.strDeptID != strDeptName) { dr["校验错误"] += strDeptName + ":员工所属部门不正确;"; iError += 1; } } string strClass = dr["班次"].ToString(); if (emb.IsEmpSchExist(strSchID, strDeptName, strCardID, strClass)) { dr["校验错误"] += "系统中已有该员工的本条排班信息;"; iError += 1; } else { dr["vcClass"] = strClass; } string InHour = dr["上班-小时"].ToString().Trim(); string InMin = dr["上班-分钟"].ToString().Trim(); string OutHour = dr["下班-小时"].ToString().Trim(); string OutMin = dr["下班-分钟"].ToString().Trim(); string nextoutflag = dr["次日下班"].ToString().Trim(); if (!(this.JudgeIsNum(InHour) && this.JudgeIsNum(InMin) && this.JudgeIsNum(OutHour) && this.JudgeIsNum(OutMin))) { dr["校验错误"] += "上下班的小时数或分钟数中有非数字字符;"; iError += 1; } else { if (!(this.JudgeIs24Hour(InHour) && this.JudgeIs60Minute(InMin) && this.JudgeIs24Hour(OutHour) && this.JudgeIs60Minute(OutMin))) { dr["校验错误"] += "上下班的小时数或分钟数有误;"; iError += 1; } else { if (dr["vcSchID"].ToString() != "") { DateTime dtIn = new DateTime(int.Parse(dr["vcSchID"].ToString().Substring(0, 4)), int.Parse(dr["vcSchID"].ToString().Substring(4, 2)), int.Parse(dr["vcSchID"].ToString().Substring(6, 2)), int.Parse(InHour), int.Parse(InMin), 0); DateTime dtOut = DateTime.Now; if (nextoutflag == "是") { dtOut = new DateTime(dtIn.AddDays(1).Year, dtIn.AddDays(1).Month, dtIn.AddDays(1).Day, int.Parse(OutHour), int.Parse(OutMin), 0); } else { dtOut = new DateTime(int.Parse(dr["vcSchID"].ToString().Substring(0, 4)), int.Parse(dr["vcSchID"].ToString().Substring(4, 2)), int.Parse(dr["vcSchID"].ToString().Substring(6, 2)), int.Parse(OutHour), int.Parse(OutMin), 0); } if (dtIn.CompareTo(dtOut) > 0) { dr["校验错误"] += "上班时间不能大于下班时间;"; iError += 1; } TimeSpan tsIn = new TimeSpan(dtIn.Ticks); TimeSpan tsOut = new TimeSpan(dtOut.Ticks); TimeSpan ts = tsIn.Subtract(tsOut).Duration(); double diffdate = Math.Round(double.Parse(ts.Hours.ToString()) + double.Parse(ts.Minutes.ToString()) / 60, 2); if (diffdate < 8.5) { dr["校验错误"] += "每班次的上班时间应大于8小时30分钟;"; iError += 1; } dr["dtCheckIn"] = dtIn; dr["dtCheckOut"] = dtOut; } } } } this.txtError.Text = iError.ToString(); return(ds); }
protected void btquery_Click(object sender, System.EventArgs e) { Session.Remove("QUERY"); string[] SchDatelist = strSchDate.Split('-'); if (SchDatelist.Length != 3) { this.SetErrorMsgPageBydir("时间格式不正确!"); return; } string strSchID = SchDatelist[0]; if (int.Parse(SchDatelist[1]) < 10) { strSchID += "0" + SchDatelist[1]; } else { strSchID += SchDatelist[1]; } if (int.Parse(SchDatelist[2]) < 10) { strSchID += "0" + SchDatelist[2]; } else { strSchID += SchDatelist[2]; } DateTime datetimesch = new DateTime(int.Parse(SchDatelist[0]), int.Parse(SchDatelist[1]), int.Parse(SchDatelist[2])); if (datetimesch.CompareTo(DateTime.Today) < 0) { this.SetErrorMsgPageBydir("不能对以前的排班计划进行修改!"); return; } Hashtable htapp = (Hashtable)Application["appconf"]; string strcons = (string)htapp["cons"]; ebu = new EmpBusi(strcons); if (strSchDate == "") { this.SetErrorMsgPageBydir("请选择排班日期!"); return; } try { string strDeptName = ddlDept.SelectedItem.Text; string strDeptID = ddlDept.SelectedValue; DataTable dtout = ebu.GetEveryEmpSchLog(strSchID, strDeptID, strDeptName); if (dtout == null) { this.SetErrorMsgPageBydir("查询排班情况出错!"); return; } else { dtout.TableName = "排班情况"; Session["QUERY"] = dtout; UcPageView1.MyDataGrid.PageSize = 30; DataView dvOut = new DataView(dtout); this.UcPageView1.MyDataSource = dvOut; this.UcPageView1.BindGrid(); } } catch (Exception er) { this.clog.WriteLine(er); this.SetErrorMsgPageBydir("查询错误,请重试!"); return; } }
private void btquery_Click(object sender, System.EventArgs e) { Session.Remove("QUERY"); string[] SchDatelist = strSchDate.Split('-'); if (SchDatelist.Length != 3) { this.SetErrorMsgPageBydir("时间格式不正确!"); return; } string strSchID = SchDatelist[0]; if (int.Parse(SchDatelist[1]) < 10) { strSchID += "0" + SchDatelist[1]; } else { strSchID += SchDatelist[1]; } if (int.Parse(SchDatelist[2]) < 10) { strSchID += "0" + SchDatelist[2]; } else { strSchID += SchDatelist[2]; } Hashtable htapp = (Hashtable)Application["appconf"]; string strcons = (string)htapp["cons"]; ebu = new EmpBusi(strcons); if (strSchDate == "") { this.SetErrorMsgPageBydir("请选择要查询排班的日期!"); return; } try { DataTable dtout = ebu.GetEmpSchLog(strSchID); if (dtout == null || dtout.Rows.Count <= 0) { this.SetErrorMsgPageBydir("查询排班表出错!"); return; } else { dtout.TableName = "排班情况"; Session["QUERY"] = dtout; UcPageView1.MyDataGrid.PageSize = 30; DataView dvOut = new DataView(dtout); this.UcPageView1.MyDataSource = dvOut; this.UcPageView1.BindGrid(); } } catch (Exception er) { this.clog.WriteLine(er); this.SetErrorMsgPageBydir("查询错误,请重试!"); return; } }