Esempio n. 1
0
        public int AddOverTime(OverTimeVoucher overtime, ref string errMsg)
        {
            ccode = voucherService.GetNewCode("TM03", "JB");
            int record = Convert.ToInt32(overTimeService.GetNewRecord());
            List <OverTimeVoucherBody> bodyList = overtime.body;

            overtime.head.VoucherID           = ccode;
            overtime.head.VoucherCode         = ccode;
            overtime.head.cExamineApproveType = 2;
            overtime.head.bAuditFlag          = 0;
            overtime.head.cStatus             = 0;
            overtime.head.iRecordId           = record + 1;

            if (overtime.head.iComputeType == "3")
            {
                overtime.head.dJbDate         = Convert.ToDateTime(bodyList[0].dBeginTime).ToString("yyyy-MM-dd");
                overtime.head.dBeginTime      = Convert.ToDateTime(bodyList[0].dBeginTime).TimeOfDay.ToString();
                overtime.head.dEndTime        = Convert.ToDateTime(bodyList[0].dEndTime).TimeOfDay.ToString();
                overtime.head.dDutyTime       = Convert.ToDateTime(bodyList[0].dBeginTime).TimeOfDay.ToString();
                overtime.head.dOffTime        = Convert.ToDateTime(bodyList[0].dEndTime).TimeOfDay.ToString();
                overtime.head.iBeginCardAhead = 150;
                overtime.head.iEndCardForward = 150;
                overtime.head.nManHours       = (Convert.ToDateTime(bodyList[0].dEndTime) - Convert.ToDateTime(bodyList[0].dBeginTime)).Hours.ToString();
            }
            else if (overtime.head.iComputeType == "1")
            {
                overtime.head.dJbDate         = bodyList[0].dJbDate;
                overtime.head.dBeginTime      = "";
                overtime.head.dEndTime        = "";
                overtime.head.dDutyTime       = "";
                overtime.head.dOffTime        = "";
                overtime.head.iBeginCardAhead = 0;
                overtime.head.iEndCardForward = 0;
                overtime.head.nManHours       = bodyList[0].nManHours;
            }
            overtime.head.dCreatTime = DateTime.Now.ToString("yyyy-MM-dd HH:mm:dd");
            overtime.head.vReason    = bodyList[0].vReason;
            overtime.head.vRemark    = bodyList[0].vRemark;

            for (int q = 0; q < bodyList.Count; q++)
            {
                string       person = bodyList[q].cPsn_Num;
                HRPersonInfo info   = voucherService.getPersonInfo(person, ref errMsg);
                overtime.head.cDept_num  = info.depCode;
                bodyList[q].cCreator     = overtime.head.cCreator;
                bodyList[q].cCreatorNum  = overtime.head.cCreatorNum;
                bodyList[q].JobNumber    = info.jobNum;
                bodyList[q].VoucherID    = ccode;
                bodyList[q].uRecordId    = Guid.NewGuid().ToString();
                bodyList[q].iComputeType = overtime.head.iComputeType;
                if (overtime.head.iComputeType == "3")
                {
                    bodyList[q].dDutyTime      = Convert.ToDateTime(bodyList[q].dBeginTime).TimeOfDay.ToString();
                    bodyList[q].dOffTime       = Convert.ToDateTime(bodyList[q].dEndTime).TimeOfDay.ToString();
                    bodyList[q].dJbDate        = Convert.ToDateTime(bodyList[q].dBeginTime).ToString("yyy-MM-dd");
                    bodyList[q].nOvertimeHours = (Convert.ToDateTime(bodyList[q].dEndTime) - Convert.ToDateTime(bodyList[q].dBeginTime)).TotalHours.ToString();
                    bodyList[q].nManHours      = (Convert.ToDateTime(bodyList[q].dEndTime) - Convert.ToDateTime(bodyList[q].dBeginTime)).TotalHours.ToString();
                    bodyList[q].nSubOVTime     = "0";
                    bodyList[q].dBeginTime     = Convert.ToDateTime(bodyList[q].dBeginTime).AddMinutes(-150).TimeOfDay.ToString();
                    bodyList[q].dEndTime       = Convert.ToDateTime(bodyList[q].dEndTime).AddMinutes(150).TimeOfDay.ToString();
                    bodyList[q].cTimeUseless1  = overtime.head.cTimeUseless1;
                    bodyList[q].cTimeUseless2  = overtime.head.cTimeUseless2;
                }
                else if (overtime.head.iComputeType == "1")
                {
                    bodyList[q].dJbDate        = bodyList[q].dJbDate;
                    bodyList[q].dBeginTime     = "";
                    bodyList[q].dEndTime       = "";
                    bodyList[q].dDutyTime      = "";
                    bodyList[q].dOffTime       = "";
                    bodyList[q].nSubOVTime     = "0";
                    bodyList[q].nManHours      = bodyList[q].nManHours;
                    bodyList[q].nOvertimeHours = bodyList[q].nManHours;
                }
                bodyList[q].dCreatTime          = DateTime.Now.ToString("yyyy-MM-dd HH:mm:dd");
                bodyList[q].uOverTimeCode       = Guid.NewGuid().ToString();
                bodyList[q].cExamineApproveType = 2;
                bodyList[q].bAuditFlag          = 0;
                bodyList[q].cStatus             = 0;
                bodyList[q].iRowNo = q;

                bodyList[q].vJbCode       = overtime.head.vJbCode;
                bodyList[q].rFreeCardMode = overtime.head.rFreeCardMode;
                bodyList[q].rDealType     = overtime.head.rDealType;
            }

            string headSql = overTimeService.getHeadSql(overtime.head);
            string bodySql = overTimeService.getBodySql(overtime.body);
            int    a       = voucherService.excuteSql(headSql);
            int    b       = 0;
            int    c       = 0;

            if (a == 1)
            {
                b = voucherService.excuteSql(bodySql);
            }
            if (b >= 1)
            {
                c = voucherService.UpdateMaxCode("TM03");
            }

            int i = a + b + c;

            return(i);
        }
Esempio n. 2
0
        public HttpResponseMessage AddOverTime(string token, string json)
        {
            string        errMsg  = "";
            ReturnMessage msg     = new ReturnMessage();
            ReceiveLog    receive = new ReceiveLog();

            receive.uuid          = Guid.NewGuid();
            receive.receiveData   = json;
            receive.interfaceCode = "OverTime";
            receive.interfaceDesc = "加班单新增";
            receive.op            = "add";

            try
            {
                vouMag = (VoucherManager)HttpContext.Current.Application.Get(token);

                if (vouMag == null)
                {
                    msg.Success = false;
                    msg.Msg     = "参数token无效或已过期";
                    msg.Code    = 500;
                }
                else
                {
                    ReceiveLogManager logManager = new ReceiveLogManager(vouMag.UFDataConnstringForNet);
                    logManager.AddReceiveLog(receive, ref errMsg);
                    OverTimeManager overTimeMag = new OverTimeManager(vouMag.UFDataConnstringForNet);
                    OverTimeVoucher overTime    = (OverTimeVoucher)JsonConvert.DeserializeObject(json, typeof(OverTimeVoucher));
                    int             i           = overTimeMag.AddOverTime(overTime, ref errMsg);
                    if (i >= 3)
                    {
                        //msg.Success = true;
                        //dynamic c = new { code = overTimeMag.ccode };
                        //msg.Data = JsonConvert.SerializeObject(c);
                        //msg.Code = 200;
                        //msg.Msg = "新增成功";
                        int q = overTimeMag.auditOverTime(overTimeMag.ccode, overTime.head, ref errMsg);
                        if (q >= 2)
                        {
                            msg.Success = true;
                            msg.Code    = 200;
                            dynamic c = new { code = overTimeMag.ccode };
                            msg.Data = JsonConvert.SerializeObject(c);
                            msg.Msg  = "审核成功";
                        }
                        else
                        {
                            msg.Success = false;
                            msg.Code    = 500;
                            msg.Msg     = "审核失败:" + errMsg;
                        }
                    }
                    else
                    {
                        msg.Success = false;
                        msg.Code    = 500;
                        msg.Msg     = "新增失败" + errMsg;
                    }
                    receive = logManager.getReturnDesc(receive, msg);
                    logManager.UpdateReceiveLog(receive, ref errMsg);
                }

                HttpContext.Current.Application.Remove(vouMag.GetGUID);
                string str = msg.ToJson();
                return(new HttpResponseMessage {
                    Content = new StringContent(str, Encoding.GetEncoding("UTF-8"), "application/json")
                });
            }
            catch (Exception ex)
            {
                msg.Success = false;
                msg.Code    = 500;
                msg.Msg     = ex.Message.ToString();
                string str = msg.ToJson();
                return(new HttpResponseMessage {
                    Content = new StringContent(str, Encoding.GetEncoding("UTF-8"), "application/json")
                });
            }
        }