public int auditLeave(string ccode, LeaveVoucherHead head, ref string errMsg) { int i = service.auditHead(ccode, head, ref errMsg); if (i == 1) { int q = service.auditBody(ccode, head, ref errMsg); i = i + q; } return(i); }
public int auditBody(string ccode, LeaveVoucherHead head, ref string errMsg) { try { string sql = "update hr_tm_Leave set bAuditFlag='1',cAuditor = '" + head.cAuditBy + "',dAuditTime = convert(nvarchar(19), GETDATE(), 120) where cVoucherId = '" + ccode + "' "; return(db.ExecuteSql(sql)); } catch (Exception ex) { errMsg = ex.Message.ToString(); throw; } }
public int auditHead(string ccode, LeaveVoucherHead head, ref string errMsg) { try { string sql = "update hr_tm_LeaveMain set cStatus='2',dAuditOn=convert(nvarchar(19),GETDATE(),120),cAuditBy='" + head.cAuditBy + "' where cVoucherId ='" + ccode + "'"; return(db.ExecuteSql(sql)); } catch (Exception ex) { errMsg = ex.Message.ToString(); throw; } }
public int InsertHead(LeaveVoucherHead head, string barcode, ref string errMsg) { try { string sql = " insert into hr_tm_LeaveMain (cExamineApproveType,cAuditBy,cCode,cCreateBy,cCurrentAuditor,cDepCode,cDepName,cLeaveType,cModifyBy,cStatus,cSubmitBy,cSysBarCode,cVoucherCode,cVoucherId,dAuditOn,dBeginDate, dCreateOn,dEndDate,dModifyOn,dSubmitOn,PK_hr_tm_LeaveMain,rLeaveTimeType,vLeaveReason,vRemark)"; sql += "values('2','','TM110','" + head.cMaker + "','','" + head.cDepCode + "','" + head.cDepName + "','" + head.cLeaveType + "','','0','','" + barcode + "','" + head.cVoucherCode + "','" + head.cVoucherCode + "',null,'" + head.dBeginDate + "',getdate(), '" + head.dEndDate + "',null,null,'" + head.pk_hr_tm_LeaveMain + "','" + head.rLeaveTimeType + "','" + head.vLeaveReason + "','" + head.vRemark + "')"; return(db.ExecuteSql(sql));; } catch (Exception ex) { errMsg = ex.Message.ToString(); throw; } }
public int InsertBody(LeaveVoucherHead head, LeaveVoucherBody body, HRPersonInfo info, string barcode, int row, decimal leaveHours, ref string errMsg) { try { string cSysBarCode = barcode + "|" + (row + 1).ToString(); string year = DateTime.Today.ToString("yyyy"); string sql = " insert into hr_tm_Leave (cExamineApproveType,cDepCode,cDepName,cDutyClass,cLeaveType,cPsn_Num,cSysBarCode,cVoucherId,dBeginDate,dEndDate,nDeductedTime,dPlanEndDate,irowno, IsDeducted,nActualLeaveHours,nActualLeaveTime,PK_hr_tm_Leave,rLeaveStatus,rLeaveTimeType,vLeaveReason,vLeaveUnit,vRemark,vRestPeriod,vTerminateReason) "; sql += "values ('2','" + info.depCode + "','" + info.depName + "','" + info.dutyClass + "','" + head.cLeaveType + "','" + body.cPersonCode + "','" + cSysBarCode + "','" + head.cVoucherCode + "','" + body.dBeginDate + "','" + body.dEndDate + "','0','" + body.dEndDate + "', " + row + ",0," + leaveHours + "," + body.nActualLeaveTime + ",'" + body.pk_hr_tm_Leave + "','0','" + head.rLeaveTimeType + "','" + body.vLeaveReason + "', " + body.vLeaveUnit + ",'" + body.vRemark + "','" + year + "','')"; return(db.ExecuteSql(sql)); } catch (Exception ex) { errMsg = ex.Message.ToString(); throw; } }
public int addLeave(LeaveVoucher leave, ref string errMsg) { LeaveVoucherHead head = leave.head; string voucherCode = service.getNewCode(); ccode = voucherCode; int row = 0; string barcode = "||TM110|" + voucherCode; head.cVoucherCode = voucherCode; List <LeaveVoucherBody> lstBody = leave.body; HRPersonInfo info = service.getPersonInfo(lstBody[0].cPersonCode, ref errMsg); if (lstBody.Count == 1) { head.cDepCode = info.depCode; head.cDepName = info.depName; head.vLeaveReason = lstBody[0].vLeaveReason; head.vRemark = lstBody[0].vRemark; } head.pk_hr_tm_LeaveMain = Guid.NewGuid().ToString(); head.dBeginDate = Convert.ToDateTime(lstBody[0].dBeginDate).ToString("yyyy-MM-dd HH:mm:dd"); head.dEndDate = Convert.ToDateTime(lstBody[0].dEndDate).ToString("yyyy-MM-dd HH:mm:dd"); List <PersonDayResult> personDayResults = service.getPersonDayResult(lstBody); int headdata = service.InsertHead(head, barcode, ref errMsg); if (headdata > 0) { row = row + headdata; int q = service.updateMaxCode(); row = row + q; for (int i = 0; i < lstBody.Count; i++) { //TimeSpan ts1 = new TimeSpan(Convert.ToDateTime(lstBody[i].dBeginDate).Ticks); //TimeSpan ts2 = new TimeSpan(Convert.ToDateTime(lstBody[i].dEndDate).Ticks); //TimeSpan ts = ts1.Subtract(ts2).Duration(); //int day = ts.Days; //int hours = ts.Hours; //获取当前人员排班 List <PersonDayResult> curPersonDay = personDayResults.Where(num => num.cPsn_Num == lstBody[i].cPersonCode).ToList(); int day = curPersonDay.Count; if (day > 1) { } else { TimeSpan ts1 = new TimeSpan(Convert.ToDateTime(lstBody[i].dBeginDate).Ticks); TimeSpan ts2 = new TimeSpan(Convert.ToDateTime(lstBody[i].dEndDate).Ticks); TimeSpan ts = ts1.Subtract(ts2).Duration(); int hours = ts.Hours; //decimal hours = getLeaveHours(lstBody[i].dBeginDate, lstBody[i].dEndDate); if (hours <= 4) { lstBody[i].LeaveHours = 4; lstBody[i].vLeaveUnit = 2; lstBody[i].nActualLeaveTime = 0.5M; } if (hours > 4 && hours < 8) { lstBody[i].LeaveHours = hours; lstBody[i].vLeaveUnit = 1; lstBody[i].nActualLeaveTime = hours; } } //decimal hours = service.getLeaveHours(lstBody[i].dBeginDate, lstBody[i].dEndDate, // lstBody[i].cPersonCode); decimal hoursForLeave = lstBody[i].LeaveHours; lstBody[i].pk_hr_tm_Leave = Guid.NewGuid().ToString(); int bodydata = service.InsertBody(head, lstBody[i], info, barcode, i, hoursForLeave, ref errMsg); if (bodydata > 0) { row = bodydata + row; } } } return(row); }