Esempio n. 1
0
        protected override bool WfFormCheck()
        {
            vw_glab312 masterModel = null;
            string     msg         = "";

            try
            {
                masterModel = DrMaster.ToItem <vw_glab312>();
                if (GlobalFn.varIsNull(masterModel.gfa08))
                {
                    msg = "會計年度不可為空白!";
                    WfShowErrorMsg(msg);
                    errorProvider.SetError(ute_gfa08, msg);
                    return(false);
                }

                if (GlobalFn.varIsNull(masterModel.gfa09))
                {
                    msg = "期數不可為空白!";
                    WfShowErrorMsg(msg);
                    errorProvider.SetError(ute_gfa09, msg);
                    return(false);
                }
                return(true);
            }
            catch (Exception ex)
            {
                throw ex;
            }
        }
Esempio n. 2
0
        /// <summary>
        /// 刪除此會計期間內的相關內容
        /// 1.會計期間餘額檔 gbh_tb
        /// 2.每日餘額檔 gbi_tb
        /// 3.部門餘額檔 gbj_tb
        /// </summary>
        /// <param name="glab311Model"></param>
        /// <returns></returns>
        private bool WfUpdatePostRelation(vw_glab311 glab311Model, vw_glab312 glab312Model)
        {
            string updateSql = "";
            List <SqlParameter> sqlParmList = null;

            try
            {
                //更新會計期間餘額檔
                updateSql   = @"UPDATE gbh_tb
                        SET gbh04=0,gbh05=0,gbh06=0,gbh07=0
                        WHERE gbh02=@gbh02
                            AND gbh03=@gbh03
                        ";
                sqlParmList = new List <SqlParameter>();
                sqlParmList.Add(new SqlParameter("@gbh02", glab312Model.gfa08));
                sqlParmList.Add(new SqlParameter("@gbh03", glab312Model.gfa09));
                BoGlab311.OfExecuteNonquery(updateSql, sqlParmList.ToArray());

                //更新每日餘額檔
                updateSql   = @"UPDATE gbi_tb
                        SET gbi03=0,gbi04=0,gbi05=0,gbi06=0
                        WHERE gbi02 between @gbi02_s AND @gbi02_e
                        ";
                sqlParmList = new List <SqlParameter>();
                sqlParmList.Add(new SqlParameter("@gbi02_s", glab311Model.gfa02_s));
                sqlParmList.Add(new SqlParameter("@gbi02_e", glab311Model.gfa02_e));
                BoGlab311.OfExecuteNonquery(updateSql, sqlParmList.ToArray());

                //更新部門餘額檔
                updateSql   = @"UPDATE gbj_tb
                        SET gbj05=0,gbj06=0,gbj07=0,gbj08=0
                        WHERE gbj03=@gbj03
                            AND gbj04=@gbj04
                        ";
                sqlParmList = new List <SqlParameter>();
                sqlParmList.Add(new SqlParameter("@gbj03", glab312Model.gfa08));
                sqlParmList.Add(new SqlParameter("@gbj04", glab312Model.gfa09));
                BoGlab311.OfExecuteNonquery(updateSql, sqlParmList.ToArray());

                return(true);
            }
            catch (Exception ex)
            {
                throw ex;
            }
        }
Esempio n. 3
0
        protected override bool WfExecute()
        {
            vw_glab311    glab311Model = null;
            vw_glab312    glab312Model = null;
            int           chkCnts = 0;
            StringBuilder sbResult = null;
            DateTime      dtStart, dtEnd;

            try
            {
                glab312Model = DrMaster.ToItem <vw_glab312>();
                glab311Model = new vw_glab311();
                if (BoGlab311.OfGetGlaYearPeriod(Convert.ToInt16(glab312Model.gfa08), Convert.ToInt16(glab312Model.gfa09),
                                                 out dtStart, out dtEnd) == false)
                {
                    WfShowErrorMsg("無法取得期數區間,請檢核!");
                    return(false);
                }
                glab311Model.gfa02_s = dtStart;
                glab311Model.gfa02_e = dtEnd;

                //取得交易物件
                BoMaster.TRAN  = BoMaster.OfGetConntion().BeginTransaction();
                BoGlab311.TRAN = BoMaster.TRAN;
                if (WfUpdatePostRelation(glab311Model, glab312Model) == false)
                {
                    return(false);
                }
                var resultList = BoGlab311.OfGlab311Post(glab311Model, "Y", "", "", LoginInfo);

                if (resultList == null || resultList.Count == 0)
                {
                    WfShowBottomStatusMsg("無可過帳資料!");
                    BoGlab311.TRAN.Rollback();
                    return(true);
                }

                chkCnts = resultList.Where(p => p.Success == false).Count();
                if (chkCnts > 0)
                {
                    BoGlab311.TRAN.Rollback();
                    sbResult = new StringBuilder();
                    sbResult.AppendLine(string.Format("執行失敗!"));
                    sbResult.AppendLine(string.Format("過帳傳票筆數【{0}】 成功:【{1}】  失敗【{2}】",
                                                      resultList.Count,
                                                      resultList.Count - chkCnts,
                                                      chkCnts
                                                      ));
                    sbResult.AppendLine();
                    sbResult.AppendLine(string.Format("錯誤內容如下"));
                    sbResult.AppendLine("====================================");
                    foreach (Result result in resultList.Where(p => p.Success == false))
                    {
                        sbResult.AppendLine(string.Format("key1:【{0}】 錯誤訊息:【{1}】", result.Key1, result.Message));
                    }
                    WfShowErrorMsg(sbResult.ToString());
                    return(false);
                }
                BoMaster.TRAN.Commit();
                return(true);
            }
            catch (Exception ex)
            {
                if (BoMaster.TRAN != null)
                {
                    BoMaster.TRAN.Rollback();
                }
                throw ex;
            }
        }