Exemple #1
0
        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);
        }
Exemple #2
0
 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;
     }
 }
Exemple #3
0
 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;
     }
 }
Exemple #4
0
 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;
     }
 }
Exemple #5
0
 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;
     }
 }
Exemple #6
0
        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);
        }