public JsonResult InsertOutgoingManage(string OutMan, string OutgoingFormJson, string OutgoingJson)
        {
            List <OutgoingEventModel> OutgoingList = null;

            OutgoingFormModel OutgoingForm = null;

            try
            {
                OutgoingList = JsonConvert.DeserializeObject <List <OutgoingEventModel> >(OutgoingJson);
                OutgoingForm = JsonConvert.DeserializeObject <OutgoingFormModel>(OutgoingFormJson);


                //CheckOutDatetime(OutgoingForm.SDate, OutgoingForm.STime,true);


                //檢查預約日期合不合法 , 若不合法 報錯!
                for (int i = 0; i < OutgoingList.Count; i++)
                {
                    CheckOutDatetime(OutgoingForm.SDate, OutgoingList[i].OutTime, true);//驗證時間是否
                    OutgoingList[i].OutTime = OutgoingList[i].OutTime.Replace(":", "");



                    CheckOutDatetime(OutgoingForm.SDate, OutgoingList[i].GoOutTime, true);//驗證時間是否
                    OutgoingList[i].GoOutTime = OutgoingList[i].GoOutTime.Replace(":", "");
                }



                EmpModel EMP = ModelFactory.GetOutMan(OutMan);


                OutgoingForm.OutMan        = EMP.EmployeeNo;
                OutgoingForm.OutManCompany = EMP.Company;
                OutgoingForm.RecordMan     = LoginUserInfo.UserId;
                OutgoingForm.SDate         = OutgoingForm.SDate.Replace("-", "");
                //OutgoingForm.STime = OutgoingForm.STime.Replace(":", "");



                if (ModelFactory.InsertOutgoing(OutgoingForm, OutgoingList, "AM"))
                {
                    return(Json("1"));//代表已經處裡完
                }
                else
                {
                    return(Json("失敗!"));//失敗
                }
            }
            catch (Exception ex)
            {
                return(Json(ex.Message));
            }
            catch
            {
                return(Json("系統發生錯誤"));
            }
        }
Beispiel #2
0
        public JsonResult InsertOutgoing(AppOutgoingModel AppOutgoing)
        {
            JsonresultModel ResultModel = new JsonresultModel();

            try
            {
                //檢查時間格式 是否正確
                CheckOutDatetime(AppOutgoing.SDate, AppOutgoing.STime);
                CheckOutDatetime(AppOutgoing.SDate, AppOutgoing.GoOutTime);



                OutgoingFormModel         OutgoingForm = new OutgoingFormModel();
                List <OutgoingEventModel> OutgoingList = new List <OutgoingEventModel>();


                //************************************
                OutgoingForm.OutMan         = AppOutgoing.OutMan;
                OutgoingForm.OutManCompany  = AppOutgoing.OutManCompany;
                OutgoingForm.RecordMan      = AppOutgoing.OutMan;//記錄人 等於 申請人
                OutgoingForm.SDate          = AppOutgoing.SDate;
                OutgoingForm.STime          = AppOutgoing.STime;
                OutgoingForm.OutDescription = "";



                OutgoingList.Add(new OutgoingEventModel()
                {
                    Location       = System.Web.HttpUtility.UrlDecode(AppOutgoing.Location),
                    CustomerName   = System.Web.HttpUtility.UrlDecode(AppOutgoing.CustomerName),
                    OutDescription = System.Web.HttpUtility.UrlDecode(AppOutgoing.OutDescription),
                    OutTime        = OutgoingForm.STime.Replace(":", ""),
                    GoOutTime      = AppOutgoing.GoOutTime.Replace(":", ""),
                    Equipment      = "1", //App
                });



                OutgoingForm.SDate = OutgoingForm.SDate.Replace("-", "");



                OutgoingModelFactory ModelFactory = new OutgoingModelFactory();


                if (ModelFactory.InsertOutgoing(OutgoingForm, OutgoingList, "A"))
                {
                    ResultModel.Result = "1";
                    return(Json(ResultModel, JsonRequestBehavior.AllowGet));//代表已經處裡完
                }
                else
                {
                    ResultModel.Result   = "0";
                    ResultModel.ErrorMsg = "新增外出失敗";
                    return(Json(ResultModel, JsonRequestBehavior.AllowGet));
                }
            }
            catch (Exception ex)
            {
                ResultModel.Result   = "0";
                ResultModel.ErrorMsg = ex.Message;
                return(Json(ResultModel, JsonRequestBehavior.AllowGet));
            }
            catch
            {
                ResultModel.Result   = "0";
                ResultModel.ErrorMsg = "系統發生錯誤";
                return(Json(ResultModel, JsonRequestBehavior.AllowGet));
            }
        }
Beispiel #3
0
        /// <summary>
        /// 新增出勤紀錄
        /// </summary>
        /// <param name="OutgoingForm"></param>
        /// <param name="OutgoingList"></param>
        /// <param name="OutgoingStatus">A或AM(補登)</param>
        /// <returns></returns>
        public bool InsertOutgoing(OutgoingFormModel OutgoingForm, List <OutgoingEventModel> OutgoingList, string OutgoingStatus)
        {
            //OutgoingList
            DbTransaction objTrans = DbAccess.CreateDbTransaction();


            try
            {
                DataTable dt = DbAccess.ExecuteDataTable("SELECT ISNULL(MAX(OutId),@NewId) as NewOutId FROM Outgoing WHERE OutMan=@OutMan AND OutId LIKE @OutId",
                                                         new DbParameter[] {
                    DataAccess.CreateParameter("NewId", DbType.String, DateTime.Now.ToString("yyyyMMdd000")),
                    DataAccess.CreateParameter("OutId", DbType.String, DateTime.Now.ToString("yyyyMMdd") + "%"),
                    DataAccess.CreateParameter("OutMan", DbType.String, OutgoingForm.OutMan),
                }
                                                         );


                decimal NewId = decimal.Parse(dt.Rows[0]["NewOutId"].ToString());
                NewId++;



                //賦予更新時間
                string UpdateDate          = DateTime.Now.ToString("yyyyMMdd");
                string UpdateTime          = DateTime.Now.ToString("HHmmss");
                string CheckUpdateDateTime = DateTime.Now.AddMinutes(-10).ToString("yyyyMMddHHmm");


                for (int i = 0; i < OutgoingList.Count(); i++)
                {
                    if (OutgoingList[i].Equipment == null || OutgoingList[i].Equipment == "")
                    {
                        OutgoingList[i].Equipment = "";
                    }



                    DbAccess.ExecuteNonQuery("INSERT INTO Outgoing (OutId,OutDate,OutTime,RecordMan,OutMan,Location,CustomerName,Status,UpdateDate,UpdateTime,Company,OutDescription,GoOutTime,Equipment,CheckUpdateDateTime) VALUES (@OutId,@OutDate,@OutTime,@RecordMan,@OutMan,@Location,@CustomerName,@Status,@UpdateDate,@UpdateTime,@Company,@OutDescription,@GoOutTime,@Equipment,@CheckUpdateDateTime) ", objTrans,
                                             new DbParameter[] {
                        DataAccess.CreateParameter("OutId", DbType.String, NewId.ToString()),
                        DataAccess.CreateParameter("OutDate", DbType.String, OutgoingForm.SDate.ToString()),
                        DataAccess.CreateParameter("OutTime", DbType.String, OutgoingList[i].OutTime.ToString()), //更改外出時間
                        DataAccess.CreateParameter("RecordMan", DbType.String, OutgoingForm.RecordMan.ToString()),
                        DataAccess.CreateParameter("OutMan", DbType.String, OutgoingForm.OutMan.ToString()),
                        DataAccess.CreateParameter("Location", DbType.String, OutgoingList[i].Location.ToString()),
                        DataAccess.CreateParameter("CustomerName", DbType.String, OutgoingList[i].CustomerName.ToString()),
                        DataAccess.CreateParameter("Status", DbType.String, OutgoingStatus.ToString()),//A或AM
                        DataAccess.CreateParameter("UpdateDate", DbType.String, UpdateDate),
                        DataAccess.CreateParameter("UpdateTime", DbType.String, UpdateTime),
                        DataAccess.CreateParameter("Company", DbType.String, OutgoingForm.OutManCompany.ToString()),
                        DataAccess.CreateParameter("OutDescription", DbType.String, OutgoingForm.OutDescription.ToString()),
                        DataAccess.CreateParameter("GoOutTime", DbType.String, OutgoingList[i].GoOutTime.ToString()),
                        DataAccess.CreateParameter("Equipment", DbType.String, OutgoingList[i].Equipment.ToString()),
                        DataAccess.CreateParameter("CheckUpdateDateTime", DbType.String, CheckUpdateDateTime),
                    });
                    NewId++;
                }


                objTrans.Commit();

                return(true);
            }
            catch
            {
                objTrans.Rollback();
                return(false);
            }
            finally
            {
                if (objTrans != null)
                {
                    objTrans.Dispose();
                }
            }
        }