public List <OverWorkItem> GetAllOverWorkForCalendar(int accountID, DateTime from, DateTime to) { List <OverWorkItem> overWorkItemList = new List <OverWorkItem>(); SqlCommand cmd = new SqlCommand(); cmd.Parameters.Add(_AccountID, SqlDbType.Int).Value = accountID; cmd.Parameters.Add(_From, SqlDbType.DateTime).Value = from; cmd.Parameters.Add(_To, SqlDbType.DateTime).Value = to; using (SqlDataReader sdr = SqlHelper.ExecuteReader("GetAllOverWorkForCalendar", cmd)) { while (sdr.Read()) { OverWorkItem overworkItem = new OverWorkItem(Convert.ToInt32(sdr[_DbTOverWorkItemPKID]), Convert.ToDateTime(sdr[_DbTOverWorkItemFrom]), Convert.ToDateTime(sdr[_DbTOverWorkItemTo]), Convert.ToDecimal(sdr[_DbTOverWorkItemCostTime]), RequestStatus.FindRequestStatus(Convert.ToInt32(sdr[_DbTOverWorkItemStatus])), (OverWorkType)sdr[_DbTOverWorkItemOverWorkType], OverWorkItem.IntToAdjust(Convert.ToInt32(sdr[_DbTOverWorkItemAdjust])), Convert.ToDecimal(sdr[_DbTOverWorkItemAdjustHour])); overworkItem.OverWorkID = Convert.ToInt32(sdr[_DbTOverWorkItemOverWorkID]); overWorkItemList.Add(overworkItem); } return(overWorkItemList); } }
private List <OverWorkItem> GetGridViewValue() { List <OverWorkItem> iRet = new List <OverWorkItem>(); for (int i = 0; i < gvOverWork.Rows.Count; i++) { TextBox txtRemark = (TextBox)gvOverWork.Rows[i].FindControl("txtRemark"); CheckBox chbId = (CheckBox)gvOverWork.Rows[i].FindControl("chbId"); DropDownList ddlAdjust = (DropDownList)gvOverWork.Rows[i].FindControl("ddlAdjust"); DropDownList ddlStatus = (DropDownList)gvOverWork.Rows[i].FindControl("ddlStatus"); TextBox txtAdjustHour = (TextBox)gvOverWork.Rows[i].FindControl("txtAdjustHour"); if (chbId.Checked) { OverWorkItem item = new OverWorkItem(Convert.ToInt32(chbId.Text)); List <OverWorkFlow> OverWorkFlowList = new List <OverWorkFlow>(); OverWorkFlowList.Add(new OverWorkFlow(txtRemark.Text.Trim())); item.OverWorkFlow = OverWorkFlowList; item.Status = new RequestStatus(Convert.ToInt32(ddlStatus.SelectedValue), ddlStatus.SelectedItem.Value); item.Adjust = ddlAdjust.SelectedIndex == 0; item.AdjustHour = Convert.ToDecimal(txtAdjustHour.Text); iRet.Add(item); } } return(iRet); }
protected override void Validation() { _OverWorkItem = _OverWorkDal.GetOverWorkItemByItemID(_ItemID); if (_OverWorkItem == null) { HrmisUtility.ThrowException(HrmisUtility._OverWorkItem_Not_Exit); } }
public static List <OverWorkItem> AddNullItem(List <OverWorkItem> items) { DateTime now = DateTime.Now; DateTime show = new DateTime(now.Year, now.Month, now.Day, now.Hour, 0, 0); OverWorkItem item = new OverWorkItem(-1, show, show, 0, RequestStatus.New, OverWorkType.PuTong, true, 0); items.Add(item); return(items); }
/// <summary> /// </summary> public int UpdateOverWorkItemAdjustByItemID(int itemID, bool isAdjust, decimal adjustHour) { SqlCommand cmd = new SqlCommand(); cmd.Parameters.Add(_PKID, SqlDbType.Int).Value = itemID; cmd.Parameters.Add(_Adjust, SqlDbType.Int).Value = OverWorkItem.AdjustToInt(isAdjust); cmd.Parameters.Add(_AdjustHour, SqlDbType.Decimal).Value = adjustHour; return(SqlHelper.ExecuteNonQuery("UpdateOverWorkItemAdjustByItemID", cmd)); }
private void SendSubmitToPhone(OverWorkItem item) { Account phoneToAccount = GetPhoneToAccount(); string contant = BuildBody(_OverWork, item); ConfirmMessage confirmmessage = new ConfirmMessage(); confirmmessage.SendNewMessage(_OverWork.Account, phoneToAccount, contant, new PhoneMessageType(PhoneMessageEnumType.OverWork, item.ItemID)); }
/// <summary> /// /// </summary> public UpdateAdjustRestByOverWork(OverWorkItem item, int accountid) { _OverWorkItem = item; _AccountID = accountid; _AdjustRule = new GetEmployeeAdjustRule().GetAdjustRuleByAccountID(accountid); if (_AdjustRule == null) { _AdjustRule = new AdjustRule(0, "", 0, 0, 0, 0, 0, 0); } }
/// <summary> /// /// </summary> private static string BuildBody(OverWork overWork, OverWorkItem item) { StringBuilder Content = new StringBuilder(); Content.AppendFormat("请审批{0}提交的{6}申请,从{2}到{3},共{4}小时,项目:{1},理由:{5}", overWork.Account.Name, overWork.ProjectName, item.FromDate, item.ToDate, item.CostTime , overWork.Reason, OverWorkUtility.GetOverWorkTypeName(item.OverWorkType)); return(Content.ToString()); }
/// <summary> /// </summary> public ApproveOverWorkItem(int itemID, int accountID, bool isAgree, string remark) { _Account = _DalAccountBll.GetAccountById(accountID); _OverWorkItem = _OverWorkDal.GetOverWorkItemByItemID(itemID); _OverWork = _OverWorkDal.GetOverWorkByOverWorkID(_OverWorkItem.OverWorkID); _ItemID = itemID; _Remark = remark; _IsAgree = isAgree; _IsAdjust = _OverWorkItem.Adjust; _AdjustHour = _OverWorkItem.AdjustHour; }
/// <summary> /// </summary> public int UpdateOutApplicationItem(int applicationID, OutApplicationItem item) { int pkid; SqlCommand cmd = new SqlCommand(); cmd.Parameters.Add(_PKID, SqlDbType.Int).Value = item.ItemID; cmd.Parameters.Add(_OutApplicationID, SqlDbType.Int).Value = applicationID; cmd.Parameters.Add(_From, SqlDbType.DateTime).Value = item.FromDate; cmd.Parameters.Add(_To, SqlDbType.DateTime).Value = item.ToDate; cmd.Parameters.Add(_CostTime, SqlDbType.Decimal).Value = item.CostTime; cmd.Parameters.Add(_Status, SqlDbType.Int).Value = item.Status.Id; cmd.Parameters.Add(_Adjust, SqlDbType.Int).Value = OverWorkItem.AdjustToInt(item.Adjust); cmd.Parameters.Add(_AdjustHour, SqlDbType.Decimal).Value = item.AdjustHour; return(SqlHelper.ExecuteNonQuery("UpdateOutApplicationItem", cmd)); }
///<summary> /// ²éѯÉêÇë ///</summary> ///<param name="employeeID"></param> ///<param name="formTime"></param> ///<param name="toTime"></param> ///<param name="status"></param> ///<returns></returns> #endregion #region item /// <summary> /// </summary> public int InsertOutApplicationItem(int applicationID, OutApplicationItem item) { int pkid; SqlCommand cmd = new SqlCommand(); cmd.Parameters.Add(_PKID, SqlDbType.Int).Direction = ParameterDirection.Output; cmd.Parameters.Add(_OutApplicationID, SqlDbType.Int).Value = applicationID; cmd.Parameters.Add(_From, SqlDbType.DateTime).Value = item.FromDate; cmd.Parameters.Add(_To, SqlDbType.DateTime).Value = item.ToDate; cmd.Parameters.Add(_CostTime, SqlDbType.Decimal).Value = item.CostTime; cmd.Parameters.Add(_Status, SqlDbType.Int).Value = item.Status.Id; cmd.Parameters.Add(_Adjust, SqlDbType.Int).Value = OverWorkItem.AdjustToInt(item.Adjust); cmd.Parameters.Add(_AdjustHour, SqlDbType.Decimal).Value = item.AdjustHour; SqlHelper.ExecuteNonQueryReturnPKID("InsertOutApplicationItem", cmd, out pkid); return(pkid); }
/// <summary> /// /// </summary> public List <DayAttendance> GetCalendarByEmployee(int AccountID, DateTime fromDate, DateTime toDate) { List <DayAttendance> dayAttendanceList = new List <DayAttendance>(); List <OverWorkItem> OverWorkItemList = new List <OverWorkItem>(); List <OverWorkItem> OverWorkItemFromDal = _OverWorkDal.GetOverWorkForCalendar(AccountID, fromDate, toDate); foreach (OverWorkItem item in OverWorkItemFromDal) { if (item.Status == RequestStatus.Cancelled || item.Status == RequestStatus.CancelApproving) { OverWorkItem OverWorkItem = _OverWorkDal.GetOverWorkItemByItemID(item.ItemID); if (OverWorkUtility.IsAgreed(OverWorkItem)) { OverWorkItemList.Add(item); } } else { OverWorkItemList.Add(item); } } //由于加班的一项只能是一天,所以直接加就可以了 foreach (OverWorkItem item in OverWorkItemList) { DayAttendance dayAttendance; if (!item.Adjust) { dayAttendance = new DayAttendance(-1, OverWorkUtility.GetOverWorkTypeNotAdjustName(item.OverWorkType), item.CostTime, 0, item.FromDate, "", CalendarType.OverTime); dayAttendance.FromTime = fromDate; dayAttendance.ToTime = toDate; dayAttendanceList.Add(dayAttendance); } dayAttendance = new DayAttendance(-1, OverWorkUtility.GetOverWorkTypeName(item.OverWorkType), item.CostTime, 0, item.FromDate, "", CalendarType.OverTime); dayAttendance.FromTime = fromDate; dayAttendance.ToTime = toDate; dayAttendanceList.Add(dayAttendance); } return(dayAttendanceList); }
/// <summary> /// /// </summary> private static decimal GetMagnification(OverWorkItem overWorkItem, AdjustRule adjustRule) { decimal magnification = 0; if (overWorkItem.OverWorkType == OverWorkType.PuTong) { magnification = adjustRule.OverWorkPuTongRate; } else if (overWorkItem.OverWorkType == OverWorkType.ShuangXiu) { magnification = adjustRule.OverWorkShuangXiuRate; } else if (overWorkItem.OverWorkType == OverWorkType.JieRi) { magnification = adjustRule.OverWorkJieRiRate; } return(magnification); }
/// <summary> /// /// </summary> public List <OutApplication> GetOutApplicationByAccountAndRelatedDate(int accountID, DateTime from, DateTime to) { List <OutApplication> outApplicationList = new List <OutApplication>(); SqlCommand cmd = new SqlCommand(); cmd.Parameters.Add(_AccountID, SqlDbType.Int).Value = accountID; cmd.Parameters.Add(_From, SqlDbType.DateTime).Value = from; cmd.Parameters.Add(_To, SqlDbType.DateTime).Value = to; using (SqlDataReader sdr = SqlHelper.ExecuteReader("GetAllOutApplicationForCalendar", cmd)) { while (sdr.Read()) { OutApplication outApplication = OutApplication.FindOverWorkByPKID(outApplicationList, Convert.ToInt32(sdr[_DbPKID])); if (outApplication == null) { Account account = new Account(); account.Id = Convert.ToInt32(sdr[_DbAccountID]); outApplication = new OutApplication(Convert.ToInt32(sdr[_DbPKID]), account, Convert.ToDateTime(sdr[_DbSubmitDate]), sdr[_DbReason].ToString(), Convert.ToDateTime(sdr[_DbFrom]), Convert.ToDateTime(sdr[_DbTo]), Convert.ToDecimal(sdr[_DbCostTime]), new List <OutApplicationItem>(), sdr[_DbOutLocation].ToString(), OutType.GetOutTypeByID(Convert.ToInt32(sdr[_DbOutType]))); outApplicationList.Add(outApplication); } OutApplicationItem applicationItem = new OutApplicationItem(Convert.ToInt32(sdr[_DbTOutApplicationItemPKID]), Convert.ToDateTime(sdr[_DbTOutApplicationItemFrom]), Convert.ToDateTime(sdr[_DbTOutApplicationItemTo]), Convert.ToDecimal(sdr[_DbTOutApplicationItemCostTime]), RequestStatus.FindRequestStatus( Convert.ToInt32(sdr[_DbTOutApplicationItemStatus])), OverWorkItem.IntToAdjust(Convert.ToInt32(sdr[_DbTOutApplicationItemAdjust])), Convert.ToDecimal(sdr[_DbTOutApplicationItemAdjustHour])); applicationItem.OutApplicationID = Convert.ToInt32(sdr[_DbTOutApplicationItemOutApplicationID]); outApplication.Item.Add(applicationItem); } return(outApplicationList); } }
/// <summary> /// </summary> public static bool CancelOneItem(OverWorkItem item, Account account, string remark, IOverWork dalOverWork, OverWorkDiyProcessUtility OverWorkDiyProcessUtility) { item = dalOverWork.GetOverWorkItemByItemID(item.ItemID); bool valide = RequestStatus.CanCancelStatus(item.Status); if (valide) { using (TransactionScope ts = new TransactionScope(TransactionScopeOption.Required)) { dalOverWork.UpdateOverWorkItemStatusByItemID(item.ItemID, RequestStatus.Cancelled); OverWorkFlow OverWorkFlow = new OverWorkFlow(0, account, DateTime.Now, remark, RequestStatus.Cancelled, 1); dalOverWork.InsertOverWorkFlow(item.ItemID, OverWorkFlow); ts.Complete(); } } return(valide); }
/// <summary> /// </summary> public OverWorkItem GetOverWorkItemByItemID(int itemID) { OverWorkItem overworkItem = null; SqlCommand cmd = new SqlCommand(); cmd.Parameters.Add(_PKID, SqlDbType.Int).Value = itemID; using (SqlDataReader sdr = SqlHelper.ExecuteReader("GetOverWorkItemByItemID", cmd)) { while (sdr.Read()) { overworkItem = new OverWorkItem(Convert.ToInt32(sdr[_DbPKID]), Convert.ToDateTime(sdr[_DbFrom]), Convert.ToDateTime(sdr[_DbTo]), Convert.ToDecimal(sdr[_DbCostTime]), RequestStatus.FindRequestStatus(Convert.ToInt32(sdr[_DbStatus])), (OverWorkType)sdr[_DbOverWorkType], OverWorkItem.IntToAdjust(Convert.ToInt32(sdr[_DbAdjust])), Convert.ToDecimal(sdr[_DbAdjustHour])); overworkItem.OverWorkID = Convert.ToInt32(sdr[_DbOverWorkID]); overworkItem.OverWorkFlow = GetOverWorkFlowByItemID(Convert.ToInt32(sdr[_DbPKID])); } } return(overworkItem); }
public List <OverWork> GetOverWorkByAccountAndRelatedDate(int accountID, DateTime from, DateTime to) { List <OverWork> overWorkList = new List <OverWork>(); SqlCommand cmd = new SqlCommand(); cmd.Parameters.Add(_AccountID, SqlDbType.Int).Value = accountID; cmd.Parameters.Add(_From, SqlDbType.DateTime).Value = from; cmd.Parameters.Add(_To, SqlDbType.DateTime).Value = to; using (SqlDataReader sdr = SqlHelper.ExecuteReader("GetAllOverWorkForCalendar", cmd)) { while (sdr.Read()) { OverWork overwork = OverWork.FindOverWorkByPKID(overWorkList, Convert.ToInt32(sdr[_DbPKID])); if (overwork == null) { Account account = new Account(); account.Id = Convert.ToInt32(sdr[_DbAccountID]); overwork = new OverWork(Convert.ToInt32(sdr[_DbPKID]), account, Convert.ToDateTime(sdr[_DbSubmitDate]), sdr[_DbReason].ToString(), Convert.ToDateTime(sdr[_DbFrom]), Convert.ToDateTime(sdr[_DbTo]), Convert.ToDecimal(sdr[_DbCostTime]), new List <OverWorkItem>(), sdr[_DbProjectName].ToString()); overWorkList.Add(overwork); } OverWorkItem overworkItem = new OverWorkItem(Convert.ToInt32(sdr[_DbTOverWorkItemPKID]), Convert.ToDateTime(sdr[_DbTOverWorkItemFrom]), Convert.ToDateTime(sdr[_DbTOverWorkItemTo]), Convert.ToDecimal(sdr[_DbTOverWorkItemCostTime]), RequestStatus.FindRequestStatus(Convert.ToInt32(sdr[_DbTOverWorkItemStatus])), (OverWorkType)sdr[_DbTOverWorkItemOverWorkType], OverWorkItem.IntToAdjust(Convert.ToInt32(sdr[_DbTOverWorkItemAdjust])), Convert.ToDecimal(sdr[_DbTOverWorkItemAdjustHour])); overworkItem.OverWorkID = Convert.ToInt32(sdr[_DbTOverWorkItemOverWorkID]); overwork.Item.Add(overworkItem); } return(overWorkList); } }
/// <summary> /// </summary> public List <OverWorkItem> GetOverWorkItemByOverWorkID(int overWorkID) { List <OverWorkItem> applicationList = new List <OverWorkItem>(); SqlCommand cmd = new SqlCommand(); cmd.Parameters.Add(_OverWorkID, SqlDbType.Int).Value = overWorkID; using (SqlDataReader sdr = SqlHelper.ExecuteReader("GetOverWorkItemByOverWorkID", cmd)) { while (sdr.Read()) { OverWorkItem applicationItem = new OverWorkItem(Convert.ToInt32(sdr[_DbPKID]), Convert.ToDateTime(sdr[_DbFrom]), Convert.ToDateTime(sdr[_DbTo]), Convert.ToDecimal(sdr[_DbCostTime]), RequestStatus.FindRequestStatus(Convert.ToInt32(sdr[_DbStatus])), (OverWorkType)sdr[_DbOverWorkType], OverWorkItem.IntToAdjust(Convert.ToInt32(sdr[_DbAdjust])), Convert.ToDecimal(sdr[_DbAdjustHour])); applicationItem.OverWorkFlow = GetOverWorkFlowByItemID(Convert.ToInt32(sdr[_DbPKID])); applicationList.Add(applicationItem); } } return(applicationList); }
/// <summary> /// </summary> public bool CanChangeAdjust(DiyProcess diyProcess, OverWorkItem item) { if (item.Status.Id == RequestStatus.Cancelled.Id || item.Status.Id == RequestStatus.CancelApproving.Id) { return(false); } List <OverWorkFlow> flowList = item.OverWorkFlow; if (flowList != null && diyProcess != null && diyProcess.DiySteps != null && flowList.Count > 0) { int step = flowList[flowList.Count - 1].Step; if (step == -1) { return(false); } int nowStep = step + 1; if (diyProcess.DiySteps[nowStep - 1].Status.Contains("Еїан")) { return(true); } } return(false); }
/// <summary> /// /// </summary> public List <OutApplicationItem> GetOutApplicationForCalendar(int accountID, DateTime from, DateTime to) { List <OutApplicationItem> outApplicationItemList = new List <OutApplicationItem>(); SqlCommand cmd = new SqlCommand(); cmd.Parameters.Add(_AccountID, SqlDbType.Int).Value = accountID; cmd.Parameters.Add(_From, SqlDbType.DateTime).Value = from; cmd.Parameters.Add(_To, SqlDbType.DateTime).Value = to; using (SqlDataReader sdr = SqlHelper.ExecuteReader("GetOutApplicationForCalendar", cmd)) { while (sdr.Read()) { OutApplicationItem applicationItem = new OutApplicationItem(Convert.ToInt32(sdr[_DbPKID]), Convert.ToDateTime(sdr[_DbFrom]), Convert.ToDateTime(sdr[_DbTo]), Convert.ToDecimal(sdr[_DbCostTime]), RequestStatus.FindRequestStatus(Convert.ToInt32(sdr[_DbStatus])), OverWorkItem.IntToAdjust(Convert.ToInt32(sdr[_DbAdjust])), Convert.ToDecimal(sdr[_DbAdjustHour])); outApplicationItemList.Add(applicationItem); } return(outApplicationItemList); } }
/// <summary> /// /// </summary> public Account GetNextOperator(DiyProcess diyProcess, OverWorkItem item, int accountId) { int nowStep = item.OverWorkFlow[item.OverWorkFlow.Count - 1].Step; return(_RequestFindOperator.GetNextOperator(diyProcess, nowStep, accountId)); }
/// <summary> /// /// </summary> public OverWorkConfirmPhone(int overWorkId, int itemID) { _OverWork = _OverWorkDal.GetOverWorkByOverWorkID(overWorkId); _OverWorkItem = _OverWorkDal.GetOverWorkItemByItemID(itemID); _OverWork.Account = _AccountBll.GetAccountById(_OverWork.Account.Id); }
/// <summary> /// </summary> public bool ApproveOneItem(OverWorkItem item, bool isAgree, Account account, OverWork overWork, string remark, IOverWork dalOverWork, OverWorkDiyProcessUtility overWorkDiyProcessUtility, bool isAdjust, bool isChangeAdjust, decimal adjustHour, out Account nextOperator) { if (!isAdjust) { adjustHour = 0; } nextOperator = null; item = dalOverWork.GetOverWorkItemByItemID(item.ItemID); item.AdjustHour = adjustHour; bool valide = RequestStatus.CanApproveStatus(item.Status) && account.Id == overWorkDiyProcessUtility.GetNextOperator(overWork.DiyProcess, item, overWork.Account.Id).Id; if (valide) { if (!isAgree) { using (TransactionScope ts = new TransactionScope(TransactionScopeOption.Required)) { RequestStatus requestStatus = RequestUtility.GetStatus(item.Status, isAgree, 1); dalOverWork.UpdateOverWorkItemStatusByItemID(item.ItemID, requestStatus); item.Status = requestStatus; if (isChangeAdjust) { dalOverWork.UpdateOverWorkItemAdjustByItemID(item.ItemID, isAdjust, adjustHour); item.Adjust = isAdjust; } dalOverWork.InsertOverWorkFlow(item.ItemID, new OverWorkFlow(0, account, DateTime.Now, remark, requestStatus, -1)); new UpdateAdjustRestByOverWork(item, overWork.Account.Id).Excute(); ts.Complete(); } nextOperator = null; } else { int step = overWorkDiyProcessUtility.GetNextStep(item.OverWorkFlow, overWork.DiyProcess); RequestStatus requestStatus = RequestUtility.GetStatus(item.Status, isAgree, step); OverWorkFlow OverWorkFlow = new OverWorkFlow(0, account, DateTime.Now, remark, requestStatus, step); using (TransactionScope ts = new TransactionScope(TransactionScopeOption.Required)) { dalOverWork.InsertOverWorkFlow(item.ItemID, OverWorkFlow); dalOverWork.UpdateOverWorkItemStatusByItemID(item.ItemID, requestStatus); item.Status = requestStatus; if (isChangeAdjust) { dalOverWork.UpdateOverWorkItemAdjustByItemID(item.ItemID, isAdjust, adjustHour); item.Adjust = isAdjust; } new UpdateAdjustRestByOverWork(item, overWork.Account.Id).Excute(); ts.Complete(); } nextOperator = overWorkDiyProcessUtility.GetNextOperator(overWork.DiyProcess, step, overWork.Account.Id); } } return(valide); }
/// <summary> /// /// </summary> /// <param name="overWorkItem"></param> /// <param name="beAdjustAccount">要调整的人</param> public OverWorkUpdateAdjust(OverWorkItem overWorkItem, Account beAdjustAccount) { _OverWorkItem = overWorkItem; _BeAdjustAccount = beAdjustAccount; _AdjustRule = new GetEmployeeAdjustRule().GetAdjustRuleByAccountID(beAdjustAccount.Id); }