示例#1
0
        // GET: specifiedTimeTreasury
        /// <summary>
        /// 畫面初始
        /// </summary>
        /// <returns></returns>
        public ActionResult Index()
        {
            SpecifiedTimeTreasurySearchViewModel searchModel = new SpecifiedTimeTreasurySearchViewModel();
            var dt = DateTime.Today;

            searchModel.vAPLY_DT_S = dt.ToString("yyyy/MM/dd");
            searchModel.vAPLY_DT_E = dt.ToString("yyyy/MM/dd");
            Cache.Invalidate(CacheList.SpecifiedTimeTreasurySearchData);
            Cache.Set(CacheList.SpecifiedTimeTreasurySearchData, searchModel);
            ViewBag.opScope = GetopScope("~/SpecifiedTimeTrea/");
            var data = SpecifiedTimeTreasury.GetTreaItem();

            Dictionary <string, object> attr =
                new Dictionary <string, object>();

            attr.Add("class", "forclick");
            //作業類型1
            ViewBag.workType1 = Extension.CheckBoxString("WorkType1", data.Item1, attr, 1).Replace('\'', '\"');
            //作業類型2
            ViewBag.workType2 = Extension.CheckBoxString("WorkType2", data.Item2, null, 1).Replace('\'', '\"');
            //作業類型3
            ViewBag.workType3 = Extension.CheckBoxString("WorkType3", data.Item3, null, 1).Replace('\'', '\"');
            //作業類型4
            ViewBag.workType4 = Extension.CheckBoxString("WorkType4", data.Item4, null, 1).Replace('\'', '\"');
            //內文編號(EmailId)
            ViewBag.emailId = data.Item5;
            //目前使用者
            ViewBag.cUserId = AccountController.CurrentUserId;
            return(View());
        }
示例#2
0
        /// <summary>
        /// 查詢
        /// </summary>
        /// <param name="data"></param>
        /// <returns></returns>
        public List <SpecifiedTimeTreasurySearchDetailViewModel> GetSearchDetail(SpecifiedTimeTreasurySearchViewModel data)
        {
            List <SpecifiedTimeTreasurySearchDetailViewModel> result = new List <SpecifiedTimeTreasurySearchDetailViewModel>();

            if (!data.vAPLY_DT_S.Any() || !data.vAPLY_DT_E.Any()) // 無查詢日期
            {
                return(result);
            }
            using (TreasuryDBEntities db = new TreasuryDBEntities())
            {
                DateTime?_vAPLY_DT_S = TypeTransfer.stringToDateTimeN(data.vAPLY_DT_S);
                DateTime?_vAPLY_DT_E = TypeTransfer.stringToDateTimeN(data.vAPLY_DT_E).DateToLatestTime();

                List <string> notShowList = new List <string>();
                notShowList.Add("D1001");
                notShowList.Add("D1002");
                notShowList.Add("D1003");

                var _data = db.TREA_OPEN_REC.AsNoTracking()
                            .Where(x => x.OPEN_TREA_TYPE == "2")                                                                    //開庫類型: 2.指定時間開庫
                            .Where(x => x.CREATE_DT >= _vAPLY_DT_S, _vAPLY_DT_S != null)                                            //申請日期(起)
                            .Where(x => x.CREATE_DT <= _vAPLY_DT_E, _vAPLY_DT_E != null)                                            //申請日期(迄)
                            .Where(x => x.TREA_REGISTER_ID == data.vTREA_REGISTER_ID, !data.vTREA_REGISTER_ID.IsNullOrWhiteSpace()) //工作單號
                            .OrderBy(x => x.CREATE_DT);

                var _item = db.TREA_ITEM.AsNoTracking()
                            .Select(x => new { x.ITEM_ID, x.ITEM_DESC }).ToList();

                var _query =
                    _data.Join(db.SYS_CODE.AsNoTracking().Where(x => x.CODE_TYPE == "APPR_STATUS"),
                               x => x.APPR_STATUS, z => z.CODE, (x, z) => new { open = x, sysCode = z })
                    .AsEnumerable()
                    .Select((x, index) => new SpecifiedTimeTreasurySearchDetailViewModel()
                {
                    vINDEX            = (index + 1).ToString(),
                    vCREATE_DT        = x.open.CREATE_DT?.ToString("yyyy/MM/dd"),
                    vTREA_REGISTER_ID = x.open.TREA_REGISTER_ID,
                    vAPLY_STATUS      = x.sysCode.CODE_VALUE,
                    vOPEN_TREA_REASON = "取" +
                                        string.Join("及", x.open.OPEN_TREA_REASON.Split(';').ToList()
                                                    .Where(z => !notShowList.Contains(z))
                                                    .Select(z => _item.FirstOrDefault(y => y.ITEM_ID == z)?.ITEM_DESC)
                                                    .Where(z => z != null)
                                                    ),
                    vOPEN_TREA_TIME      = x.open.OPEN_TREA_TIME,
                    vMEMO                = x.open.MEMO,
                    vOPEN_TREA_DATE      = x.open.OPEN_TREA_DATE.ToString("yyyy/MM/dd"),
                    vOPEN_TREA_REASON_ID = x.open.OPEN_TREA_REASON,
                    vEXEC_TIME_B         = x.open.EXEC_TIME_B,
                    vEXEC_TIME_E         = x.open.EXEC_TIME_E,
                    vCREATE_UID          = x.open.CREATE_UID,
                    vAPLY_STATUS_ID      = x.open.APPR_STATUS,
                    vAPPR_UID            = x.open.APPR_UID
                });

                result.AddRange(_query);
            }
            return(result);
        }
示例#3
0
        public JsonResult Search(SpecifiedTimeTreasurySearchViewModel searchModel)
        {
            MSGReturnModel <string> result = new MSGReturnModel <string>();

            result.RETURN_FLAG = false;
            result.DESCRIPTION = Ref.MessageType.not_Find_Any.GetDescription();
            Cache.Invalidate(CacheList.SpecifiedTimeTreasurySearchData);
            Cache.Set(CacheList.SpecifiedTimeTreasurySearchData, searchModel);
            var datas = SpecifiedTimeTreasury.GetSearchDetail(searchModel);

            if (datas.Any())
            {
                Cache.Invalidate(CacheList.SpecifiedTimeTreasurySearchDetailViewData);
                Cache.Set(CacheList.SpecifiedTimeTreasurySearchDetailViewData, datas);
                result.RETURN_FLAG = true;
            }
            return(Json(result));
        }
示例#4
0
        public MSGReturnModel <List <SpecifiedTimeTreasurySearchDetailViewModel> > CancelApplyData(SpecifiedTimeTreasuryCancelViewModel data, string currentUserId, SpecifiedTimeTreasurySearchViewModel searchData)
        {
            var result = new MSGReturnModel <List <SpecifiedTimeTreasurySearchDetailViewModel> >();

            result.RETURN_FLAG = false;
            result.DESCRIPTION = Ref.MessageType.update_Fail.GetDescription();
            string logStr = string.Empty; //log

            //bool 登入者與申請者為同一人
            if (data.vCREATE_UID == currentUserId)
            {
                if (data.vAPLY_STATUS_ID == ((int)Ref.ApplyStatus._1).ToString() || data.vAPLY_STATUS_ID == ((int)Ref.ApplyStatus._3).ToString())
                {
                    using (TreasuryDBEntities db = new TreasuryDBEntities())
                    {
                        var _data = db.TREA_OPEN_REC.FirstOrDefault(x => x.TREA_REGISTER_ID == data.vTREA_REGISTER_ID);
                        //統一取系統時間
                        DateTime dt = DateTime.Now;
                        if (_data != null)
                        {
                            if (_data.APPR_UID == null)
                            {
                                db.TREA_OPEN_REC.Remove(_data);
                            }
                            else
                            {
                                _data.APPR_STATUS     = "4";
                                _data.LAST_UPDATE_UID = currentUserId;
                                _data.LAST_UPDATE_DT  = dt;
                            }

                            logStr += _data.modelToString(logStr);

                            var validateMessage = db.GetValidationErrors().getValidateString();
                            if (validateMessage.Any())
                            {
                                result.DESCRIPTION = validateMessage;
                            }
                            else
                            {
                                try
                                {
                                    db.SaveChanges();

                                    if (data.vAPPR_UID == null)
                                    {
                                        result.DESCRIPTION = Ref.MessageType.delete_Success.GetDescription();
                                        #region LOG
                                        //新增LOG
                                        Log log = new Log();
                                        log.CFUNCTION = "取消覆核(作廢)";
                                        log.CACTION   = "D";
                                        log.CCONTENT  = logStr;
                                        LogDao.Insert(log, currentUserId);
                                        #endregion
                                    }
                                    else
                                    {
                                        result.DESCRIPTION = Ref.MessageType.update_Success.GetDescription();;
                                        #region LOG
                                        //新增LOG
                                        Log log = new Log();
                                        log.CFUNCTION = "取消覆核";
                                        log.CACTION   = "U";
                                        log.CCONTENT  = logStr;
                                        LogDao.Insert(log, currentUserId);
                                        #endregion
                                    }

                                    result.RETURN_FLAG = true;
                                }
                                catch (DbUpdateException ex)
                                {
                                    result.DESCRIPTION = ex.exceptionMessage();
                                }
                            }
                        }
                        else
                        {
                            result.DESCRIPTION = Ref.MessageType.not_Find_Audit_Data.GetDescription();
                        }
                    }
                }
                else
                {
                    result.DESCRIPTION = Ref.MessageType.parameter_Error.GetDescription();
                }
            }
            if (result.RETURN_FLAG)
            {
                result.Datas = GetSearchDetail(searchData);
            }
            return(result);
        }
示例#5
0
        /// <summary>
        /// 修改申請覆核
        /// </summary>
        /// <param name="data"></param>
        /// <param name="currntUserId">目前使用者ID</param>
        /// <param name="searchData"></param>
        /// <returns></returns>
        public MSGReturnModel <List <SpecifiedTimeTreasurySearchDetailViewModel> > UpdateApplyData(SpecifiedTimeTreasuryUpdateViewModel data, string currentUserId, SpecifiedTimeTreasurySearchViewModel searchData)
        {
            var result = new MSGReturnModel <List <SpecifiedTimeTreasurySearchDetailViewModel> >();

            result.RETURN_FLAG = false;
            result.DESCRIPTION = Ref.MessageType.update_Fail.GetDescription();
            string logStr = string.Empty; //log

            //bool 登入者與申請者為同一人
            if (data.vCREATE_UID == currentUserId)
            {
                using (TreasuryDBEntities db = new TreasuryDBEntities())
                {
                    var _data = db.TREA_OPEN_REC.FirstOrDefault(x => x.TREA_REGISTER_ID == data.vTREA_REGISTER_ID);
                    //統一取系統時間
                    DateTime dt = DateTime.Now;
                    if (_data != null)
                    {
                        _data.EXEC_TIME_B      = data.vEXEC_TIME_B;
                        _data.EXEC_TIME_E      = data.vEXEC_TIME_E;
                        _data.OPEN_TREA_TIME   = data.vOPEN_TREA_TIME;
                        _data.MEMO             = data.vMEMO;
                        _data.OPEN_TREA_REASON = string.Join(";", data.vOPEN_TREA_REASON_ID.ToArray());
                        _data.APPR_STATUS      = "1";
                        _data.LAST_UPDATE_UID  = currentUserId;
                        _data.LAST_UPDATE_DT   = dt;

                        logStr += _data.modelToString(logStr);

                        var validateMessage = db.GetValidationErrors().getValidateString();
                        if (validateMessage.Any())
                        {
                            result.DESCRIPTION = validateMessage;
                        }
                        else
                        {
                            try
                            {
                                db.SaveChanges();

                                #region LOG
                                //新增LOG
                                Log log = new Log();
                                log.CFUNCTION = "修改申請";
                                log.CACTION   = "U";
                                log.CCONTENT  = logStr;
                                LogDao.Insert(log, currentUserId);
                                #endregion

                                result.RETURN_FLAG = true;
                                result.DESCRIPTION = Ref.MessageType.update_Success.GetDescription();
                            }
                            catch (DbUpdateException ex)
                            {
                                result.DESCRIPTION = ex.exceptionMessage();
                            }
                        }
                    }
                    else
                    {
                        result.DESCRIPTION = Ref.MessageType.not_Find_Audit_Data.GetDescription();
                    }
                }
            }
            if (result.RETURN_FLAG)
            {
                result.Datas = GetSearchDetail(searchData);
            }
            return(result);
        }
示例#6
0
        /// <summary>
        /// 新增申請覆核
        /// </summary>
        /// <param name="data"></param>
        /// <param name="currentUserId">目前使用者ID</param>
        /// <returns></returns>
        public MSGReturnModel <List <SpecifiedTimeTreasurySearchDetailViewModel> > InsertApplyData(SpecifiedTimeTreasuryApplyViewModel data, string currentUserId, SpecifiedTimeTreasurySearchViewModel searchData)
        {
            var result = new MSGReturnModel <List <SpecifiedTimeTreasurySearchDetailViewModel> >();

            result.RETURN_FLAG = false;
            result.DESCRIPTION = Ref.MessageType.Apply_Audit_Fail.GetDescription();
            string logStr = string.Empty; //log

            using (TreasuryDBEntities db = new TreasuryDBEntities())
            {
                var _data = db.TREA_OPEN_REC
                            .Add(MappingTableForInsert(data, currentUserId));

                logStr += _data.modelToString(logStr);

                var validateMessage = db.GetValidationErrors().getValidateString();
                if (validateMessage.Any())
                {
                    result.DESCRIPTION = validateMessage;
                }
                else
                {
                    try
                    {
                        db.SaveChanges();
                        #region LOG
                        //新增LOG
                        Log log = new Log();
                        log.CFUNCTION = "申請覆核";
                        log.CACTION   = "C";
                        log.CCONTENT  = logStr;
                        LogDao.Insert(log, currentUserId);
                        #endregion
                        result.RETURN_FLAG = true;
                        result.DESCRIPTION = Ref.MessageType.Apply_Audit_Success.GetDescription();;
                    }
                    catch (DbUpdateException ex)
                    {
                        result.DESCRIPTION = ex.exceptionMessage();
                    }
                }

                if (result.RETURN_FLAG)
                {
                    result.Datas = GetSearchDetail(searchData);
                }
            }
            return(result);
        }