/// <summary> /// 领导审核修改加班单据 /// </summary> /// <param name="overTime">出差单据数据集</param> /// <param name="roleType">角色类型</param> /// <param name="error">错误信息</param> /// <returns>成功返回True,失败返回False</returns> public bool UpdateOverTimeBill(HR_OvertimeBill overTime, string roleType, out string error) { error = ""; DepotManagementDataContext dataContxt = CommentParameter.DepotDataContext; dataContxt.Connection.Open(); dataContxt.Transaction = dataContxt.Connection.BeginTransaction(); try { var result = from a in dataContxt.HR_OvertimeBill where a.ID == overTime.ID select a; if (result.Count() != 1) { error = "信息有误,请查证后再操作!"; return(false); } HR_OvertimeBill bill = result.Single(); List <string> list = new List <string>(); DataTable dt = GlobalObject.DatabaseServer.QueryInfo("select * from HR_OvertimePersonnel where billID=" + bill.ID); for (int i = 0; i < dt.Rows.Count; i++) { list.Add(dt.Rows[i]["WorkID"].ToString()); } bill.BillStatus = overTime.BillStatus; switch (roleType) { case "部门主管审批": bill.DeptDirector = overTime.DeptDirector; bill.DeptDirectorSignatureDate = overTime.DeptDirectorSignatureDate; break; case "分管领导审批": bill.Leader = overTime.Leader; bill.LeaderSignatureDate = overTime.LeaderSignatureDate; bill.Authorize = overTime.Authorize; bill.VerifyHours = overTime.VerifyHours; bill.RealHours = overTime.RealHours; break; case "部门负责人审批": bill.DeptPrincipal = overTime.DeptPrincipal; bill.DeptPrincipalSignatureDate = overTime.DeptPrincipalSignatureDate; bill.Authorize = overTime.Authorize; bill.VerifyHours = overTime.VerifyHours; bill.RealHours = overTime.RealHours; break; case "人力资源": bill.HR_Signature = overTime.HR_Signature; bill.HR_SignatureDate = overTime.HR_SignatureDate; break; case "确认加班完成情况": bill.Verifier = overTime.Verifier; bill.VerifyFinish = overTime.VerifyFinish; bill.VerifyHours = overTime.VerifyHours; bill.VerifySignaturDate = overTime.VerifySignaturDate; bill.RealHours = Convert.ToDouble(overTime.VerifyHours); break; default: break; } dataContxt.SubmitChanges(); if (GlobalObject.GeneralFunction.StringConvertToEnum <OverTimeBillStatus>(bill.BillStatus) == OverTimeBillStatus.已完成) { ITimeExceptionServer service = ServerModuleFactory.GetServerModule <ITimeExceptionServer>(); service.OperationTimeException_Replenishments(dataContxt, bill.ID.ToString(), CE_HR_AttendanceExceptionType.加班); } dataContxt.Transaction.Commit(); return(true); } catch (Exception ex) { dataContxt.Transaction.Rollback(); error = ex.Message; return(false); } }