コード例 #1
0
ファイル: FrmCarb351.cs プロジェクト: allen660412/YRERP
        protected override bool WfPickClickOnEditMode(object sender, string pColName, DataRow pDr)
        {
            vw_carb351 masterModel = null;

            try
            {
                MessageInfo messageModel = new MessageInfo();
                switch (pColName.ToLower())
                {
                case "gea01":           //底稿單號
                    messageModel.StrMultiColumn = "cea01";
                    messageModel.IntMaxRow      = 999;
                    messageModel.StrWhereAppend = " gfa06='AR' AND gfaconf='N' ";
                    WfShowPickUtility("p_gfa", messageModel);
                    if (messageModel.Result == System.Windows.Forms.DialogResult.OK)
                    {
                        pDr[pColName] = messageModel.StrMultiRtn;
                    }
                    break;
                }

                return(true);
            }
            catch (Exception ex)
            {
                throw ex;
            }
        }
コード例 #2
0
ファイル: FrmCarb351.cs プロジェクト: allen660412/YRERP
        protected override bool WfExecute()
        {
            vw_carb351    masterModel = null;
            int           chkCnts     = 0;
            StringBuilder sbResult    = null;

            try
            {
                //取得交易物件
                BoMaster.TRAN  = BoMaster.OfGetConntion().BeginTransaction();
                BoCarb351.TRAN = BoMaster.TRAN;

                masterModel = DrMaster.ToItem <vw_carb351>();
                var securityString = WfGetSecurityString();
                var resultList     = BoCarb351.OfUndoGenVoucher(masterModel, securityString, LoginInfo);

                if (resultList == null || resultList.Count == 0)
                {
                    BoCarb351.TRAN.Rollback();
                    WfShowBottomStatusMsg("無可拋轉還原傳票資料!");
                    return(false);
                }

                chkCnts = resultList.Where(p => p.Success == false).Count();
                if (chkCnts > 0)
                {
                    BoCarb351.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;
            }
        }
コード例 #3
0
ファイル: FrmCarb351.cs プロジェクト: allen660412/YRERP
        protected override bool WfFormCheck()
        {
            vw_carb351 masterModel = null;
            string     msg         = "";

            try
            {
                masterModel = DrMaster.ToItem <vw_carb351>();
                if (GlobalFn.varIsNull(masterModel.gfa01))
                {
                    msg = "傳票傳票單別不可為空白!";
                    WfShowErrorMsg(msg);
                    errorProvider.SetError(ute_gfa01, msg);
                    return(false);
                }

                if (GlobalFn.varIsNull(masterModel.gfa02_s))
                {
                    msg = "傳票起日不可為空白!";
                    WfShowErrorMsg(msg);
                    errorProvider.SetError(ute_gfa01, msg);
                    return(false);
                }

                if (GlobalFn.varIsNull(masterModel.gfa02_e))
                {
                    msg = "傳票迄日不可為空白!";
                    WfShowErrorMsg(msg);
                    errorProvider.SetError(ute_gfa01, msg);
                    return(false);
                }
                return(true);
            }
            catch (Exception ex)
            {
                throw ex;
            }
        }
コード例 #4
0
        public List <Result> OfUndoGenVoucher(vw_carb351 pModel, string pSecurityString, UserInfo pLoginInfo)
        {
            List <Result>       rtnResultList = null;
            string              selectSql = "";
            string              updateGea = "", updateCea = "", updateCfa = "";
            string              deleteGfa = "", deleteGfb = "";
            string              strQueryRange = "", strQuerySingle = "";
            List <SqlParameter> sqlParmList = null;
            DataTable           dtGfa       = null;
            List <QueryInfo>    queryInfoList;
            QueryInfo           queryModel;
            cea_tb              ceaModel = null;
            gfa_tb              gfaModel = null;
            DataRow             drGea    = null;
            int    chkCnts = 0;
            string cac04   = "";

            try
            {
                _loginInfo = pLoginInfo;

                selectSql = @"
                            SELECT * FROM gfa_tb
                            WHERE gfa06='AR' AND gfaconf='N'
                        ";
                updateCea = @"UPDATE cea_tb 
                            SET cea29=NULL
                            WHERE cea29=@gfa01
                            ";
                updateCfa = @"UPDATE cfa_tb 
                            SET cfa12=NULL
                            WHERE cfa12=@gfa01
                            ";
                updateGea = @"UPDATE gea_tb 
                            SET gea06=NULL,
                                gea07=NULL
                            WHERE gea06=@gfa01
                            ";
                deleteGfa = @"DELETE FROM gfa_tb WHERE gfa01=@gfa01 ";
                deleteGfb = @"DELETE FROM gfb_tb WHERE gfb01=@gfb01 ";

                sqlParmList   = new List <SqlParameter>();
                queryInfoList = new List <QueryInfo>();

                #region range 處理
                if (!GlobalFn.varIsNull(pModel.gfa01))
                {
                    queryModel            = new QueryInfo();
                    queryModel.TableName  = "gfa_tb";
                    queryModel.ColumnName = "gfa01";
                    queryModel.ColumnType = "string";
                    queryModel.Value      = pModel.gfa01;
                    queryInfoList.Add(queryModel);
                }

                sqlParmList   = new List <SqlParameter>();
                strQueryRange = WfGetQueryString(queryInfoList, out sqlParmList);
                #endregion

                #region single處理
                if (!GlobalFn.varIsNull(pModel.gfa02_s))
                {
                    sqlParmList.Add(new SqlParameter("@gfa02_s", pModel.gfa02_s));
                    strQuerySingle += string.Format(" AND gfa02>=@gfa02_s");
                }
                if (!GlobalFn.varIsNull(pModel.gfa02_e))
                {
                    sqlParmList.Add(new SqlParameter("@gfa02_e", pModel.gfa02_e));
                    strQuerySingle += string.Format(" AND gfa02<=@gfa02_e");
                }
                #endregion

                selectSql = string.Concat(selectSql, strQueryRange, strQuerySingle, pSecurityString);       //加入權限處理
                dtGfa     = OfGetDataTable(selectSql, sqlParmList.ToArray());
                if (dtGfa == null || dtGfa.Rows.Count == 0)
                {
                    return(null);
                }

                rtnResultList = new List <Result>();
                foreach (DataRow drGfa in dtGfa.Rows)
                {
                    gfaModel = drGfa.ToItem <gfa_tb>();
                    var result = new Result();
                    rtnResultList.Add(result);

                    //更新應收帳款或是收款沖帳
                    sqlParmList = new List <SqlParameter>();
                    sqlParmList.Add(new SqlParameter("@gfa01", gfaModel.gfa01));
                    chkCnts = OfExecuteNonquery(updateCea, sqlParmList.ToArray());
                    if (chkCnts < 0)
                    {
                        result.Key1    = gfaModel.gfa01;
                        result.Message = "更新應收帳款失敗!";
                        continue;
                    }
                    else if (chkCnts == 0)    //更新收款單
                    {
                        sqlParmList = new List <SqlParameter>();
                        sqlParmList.Add(new SqlParameter("@gfa01", gfaModel.gfa01));
                        chkCnts = OfExecuteNonquery(updateCfa, sqlParmList.ToArray());
                        if (chkCnts == 0)
                        {
                            result.Key1    = gfaModel.gfa01;
                            result.Message = "查無收款單可更新!";
                            continue;
                        }
                        else if (chkCnts <= 0)
                        {
                            result.Key1    = gfaModel.gfa01;
                            result.Message = "更新收款單失敗!";
                            continue;
                        }
                    }


                    //更新分錄底稿
                    sqlParmList = new List <SqlParameter>();
                    sqlParmList.Add(new SqlParameter("@gfa01", gfaModel.gfa01));
                    if (OfExecuteNonquery(updateGea, sqlParmList.ToArray()) < 0)
                    {
                        result.Key1    = gfaModel.gfa01;
                        result.Message = "更新分錄底稿失敗!";
                        continue;
                    }
                    //刪除傳票單身
                    sqlParmList = new List <SqlParameter>();
                    sqlParmList.Add(new SqlParameter("@gfb01", gfaModel.gfa01));
                    if (OfExecuteNonquery(deleteGfb, sqlParmList.ToArray()) < 0)
                    {
                        result.Key1    = gfaModel.gfa01;
                        result.Message = "刪除傳票單身失敗!";
                        continue;
                    }

                    //刪除傳票單頭
                    sqlParmList = new List <SqlParameter>();
                    sqlParmList.Add(new SqlParameter("@gfa01", gfaModel.gfa01));
                    if (OfExecuteNonquery(deleteGfa, sqlParmList.ToArray()) < 0)
                    {
                        result.Key1    = gfaModel.gfa01;
                        result.Message = "刪除傳票單頭失敗!";
                        continue;
                    }

                    result.Key1    = gfaModel.gfa01;
                    result.Success = true;
                }


                return(rtnResultList);
            }
            catch (Exception ex)
            {
                throw ex;
            }
        }