public cea_tb OfGetCeaModel(string pCea01) { DataRow drCea = null; cea_tb rtnModel = null; try { drCea = OfGetCeaDr(pCea01); if (drCea == null) { return(null); } rtnModel = drCea.ToItem <cea_tb>(); return(rtnModel); } catch (Exception ex) { throw ex; } }
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; } }
public List <Result> OfGenVoucher(vw_carb350 pModel, string pSecurityString, UserInfo pLoginInfo) { List <Result> rtnResultList = null; Result result = null; string selectSql = ""; string strQueryRange = "", strQuerySingle = ""; List <SqlParameter> sqlParmList = null; DataTable dtSource = null; List <QueryInfo> queryInfoList; QueryInfo queryModel; cea_tb ceaModel = null; cfa_tb cfaModel = null; gea_tb geaModel = null; DataRow drGea = null; int chkCnts = 0; try { _loginInfo = pLoginInfo; //區分應收及收款處理 rtnResultList = new List <Result>(); if (pModel.gea03 == 0) { result = new Result(); result.Key1 = ""; result.Message = "類別未輸入!"; return(rtnResultList); } if (pModel.gea03 == 1) //應收 { selectSql = @" SELECT cea_tb.* FROM cea_tb INNER JOIN gea_tb ON cea01=gea01 AND gea02='AR' AND gea03=1 AND gea04=1 WHERE ceaconf='Y' AND ISNULL(cea29,'')='' "; } else { selectSql = @" SELECT cfa_tb.* FROM cfa_tb INNER JOIN gea_tb ON cfa01=gea01 AND gea02='AR' AND gea03=2 AND gea04=1 WHERE cfaconf='Y' AND ISNULL(cfa12,'')='' "; } sqlParmList = new List <SqlParameter>(); queryInfoList = new List <QueryInfo>(); #region range 處理 if (!GlobalFn.varIsNull(pModel.gea01)) { queryModel = new QueryInfo(); queryModel.TableName = "gea_tb"; queryModel.ColumnName = "gea01"; queryModel.ColumnType = "string"; queryModel.Value = pModel.gfa01; queryInfoList.Add(queryModel); } if (!GlobalFn.varIsNull(pModel.ceasecg)) { queryModel = new QueryInfo(); if (pModel.gea03 == 1) //應收 { queryModel.TableName = "cea_tb"; queryModel.ColumnName = "ceasecg"; } else { queryModel.TableName = "cfa_tb"; queryModel.ColumnName = "cfasecg"; } queryModel.ColumnType = "string"; queryModel.Value = pModel.ceasecg; queryInfoList.Add(queryModel); } sqlParmList = new List <SqlParameter>(); strQueryRange = WfGetQueryString(queryInfoList, out sqlParmList); #endregion #region single處理 if (!GlobalFn.varIsNull(pModel.gea05_s)) { sqlParmList.Add(new SqlParameter("@gea05_s", pModel.gea05_s)); strQuerySingle += string.Format(" AND gea05>=@gea05_s"); } if (!GlobalFn.varIsNull(pModel.gea05_e)) { sqlParmList.Add(new SqlParameter("@gea05_e", pModel.gea05_e)); strQuerySingle += string.Format(" AND gea05<=@gea05_e"); } #endregion selectSql = string.Concat(selectSql, strQueryRange, strQuerySingle, pSecurityString); //加入權限處理 dtSource = OfGetDataTable(selectSql, sqlParmList.ToArray()); if (dtSource == null || dtSource.Rows.Count == 0) { return(null); } foreach (DataRow drTemp in dtSource.Rows) { result = new Result(); rtnResultList.Add(result); if (pModel.gea03 == 1) //應收 { ceaModel = drTemp.ToItem <cea_tb>(); sqlParmList = new List <SqlParameter>(); sqlParmList.Add(new SqlParameter("@gea01", ceaModel.cea01)); sqlParmList.Add(new SqlParameter("@gea03", pModel.gea03)); } else { cfaModel = drTemp.ToItem <cfa_tb>(); sqlParmList = new List <SqlParameter>(); sqlParmList.Add(new SqlParameter("@gea01", cfaModel.cfa01)); sqlParmList.Add(new SqlParameter("@gea03", pModel.gea03)); } selectSql = @"SELECT * FROM gea_tb WHERE gea01=@gea01 AND gea02='AR' AND gea03=@gea03 AND gea04=1 "; drGea = OfGetDataRow(selectSql, sqlParmList.ToArray()); if (drGea == null) { result.Message = "查無分錄底稿!"; continue; } geaModel = drGea.ToItem <gea_tb>(); result.Key1 = geaModel.gea01; if (geaModel.gea08 != geaModel.gea09) { result.Message = "借貸不平衡!"; continue; } if (pModel.gea03 == 1) //應收 { if (OfGenGfa(pModel, ceaModel, geaModel, result) == false) { continue; } } else //收款沖帳 { if (OfGenGfa(pModel, cfaModel, geaModel, result) == false) { continue; } } result.Success = true; } return(rtnResultList); } catch (Exception ex) { throw ex; } }
public List <Result> OfGenGeaByCea(string pCea01, UserInfo pLoginInfo) { List <Result> rtnResultList = null; Result result = null; cea_tb ceaModel = null; List <ceb_tb> cebList = null; string sqlSelect = ""; List <SqlParameter> sqlParmList = null; CarBLL boCar = null; StpBLL boStp = null; BasBLL boBas = null; DataTable dtGea = null, dtGeb = null; DataRow drGea = null, drGeb = null; decimal gea08 = 0, gea09 = 0; int i; baa_tb baaModel = null; gba_tb gbaModel = null; cba_tb cbaModel = null; try { rtnResultList = new List <Result>(); boBas = new BasBLL(this.OfGetConntion()); boBas.TRAN = this.TRAN; boCar = new CarBLL(this.OfGetConntion()); boCar.TRAN = this.TRAN; boStp = new StpBLL(this.OfGetConntion()); boStp.TRAN = this.TRAN; baaModel = boBas.OfGetBaaModel(); if (baaModel == null || GlobalFn.varIsNull(baaModel.baa04)) { result = new Result(); result.Key1 = pCea01; result.Message = "查無本國幣別!"; rtnResultList.Add(result); return(rtnResultList); } ceaModel = boCar.OfGetCeaModel(pCea01); if (ceaModel == null) { result = new Result(); result.Key1 = pCea01; result.Message = "查無此應收單號!"; rtnResultList.Add(result); return(rtnResultList); } if (ceaModel.ceaconf != "N") { result = new Result(); result.Key1 = pCea01; result.Message = "應收帳款非未確認狀態!"; rtnResultList.Add(result); return(rtnResultList); } cbaModel = boCar.OfGetCbaModel(ceaModel.cea21); if (cbaModel == null) { result = new Result(); result.Key1 = pCea01; result.Message = "查無應收科目類別資料!"; rtnResultList.Add(result); return(rtnResultList); } if (GlobalFn.varIsNull(cbaModel.cba05)) { result = new Result(); result.Key1 = pCea01; result.Message = "查無銷項稅額科目!"; rtnResultList.Add(result); return(rtnResultList); } cebList = boCar.OfGetCebList(pCea01); if (cebList == null || cebList.Count == 0) { result = new Result(); result.Key1 = pCea01; result.Message = "應收帳款無單身資料!"; rtnResultList.Add(result); return(rtnResultList); } //新增底稿單頭 this.OfCreateDao("gea_tb", "*", ""); sqlSelect = "SELECT * FROM gea_tb WHERE 1<>1 "; dtGea = this.OfGetDataTable(sqlSelect); drGea = dtGea.NewRow(); drGea["gea01"] = ceaModel.cea01; //底稿單號 drGea["gea02"] = "AR"; //系統別 drGea["gea03"] = 1; //1.應收 2.收款 drGea["gea04"] = 1; //AR 固定為1 drGea["gea05"] = ceaModel.cea02; //同帳款日期 drGea["gea06"] = DBNull.Value; //傳票號碼 drGea["gea07"] = DBNull.Value; //傳票日期 drGea["gea08"] = ceaModel.cea15t; //借方金額 var ceb09t_tot = cebList.Sum(p => p.ceb09t); drGea["gea09"] = ceb09t_tot; //貸方金額 drGea["gea10"] = DBNull.Value; //保留 drGea["gea11"] = DBNull.Value; //保留 drGea["gea12"] = DBNull.Value; //保留 drGea["geaprno"] = 0; drGea["geacomp"] = pLoginInfo.CompNo; drGea["geacreu"] = pLoginInfo.UserNo; drGea["geacreg"] = pLoginInfo.DeptNo; drGea["geacred"] = OfGetNow(); drGea["geamodu"] = DBNull.Value; drGea["geamodg"] = DBNull.Value; drGea["geamodd"] = DBNull.Value; drGea["geasecu"] = pLoginInfo.UserNo; drGea["geasecg"] = pLoginInfo.GroupNo; dtGea.Rows.Add(drGea); if (this.OfUpdate(dtGea) == -1) { result = new Result(); result.Key1 = pCea01; result.Message = "新增分錄底稿單頭失敗!"; rtnResultList.Add(result); return(rtnResultList); } //新增底稿單身 this.OfCreateDao("geb_tb", "*", ""); sqlSelect = "SELECT * FROM geb_tb WHERE 1<>1 "; dtGeb = this.OfGetDataTable(sqlSelect); //借方帶單頭應收帳款 //用本幣匯總成一筆來加總 drGeb = dtGeb.NewRow(); i = 1; drGeb = dtGeb.NewRow(); drGeb["geb01"] = ceaModel.cea01; //底稿單頭 drGeb["geb02"] = "AR"; drGeb["geb03"] = 1; //1.應收 2.收款 drGeb["geb04"] = 1; //AR 固定為1 drGeb["geb05"] = i; //項次 drGeb["geb06"] = ceaModel.cea22; //會計科目-待補入 drGeb["geb07"] = ""; //摘要 drGeb["geb08"] = DBNull.Value; //部門 if (!GlobalFn.varIsNull(ceaModel.cea22)) { gbaModel = OfGetGbaModel(ceaModel.cea22); if (gbaModel != null && gbaModel.gba09 == "Y") { drGeb["geb08"] = ceaModel.cea05; } } drGeb["geb09"] = 1; //借貸 1.借 2.貸 drGeb["geb10"] = ceaModel.cea15t; //本幣金額(稅) //幣別均以本幣處理 drGeb["geb11"] = baaModel.baa04; //原幣幣別(帶入本幣幣別) drGeb["geb12"] = ceaModel.cea12; //匯率 drGeb["geb13"] = ceaModel.cea15t; //原幣金額(稅) drGeb["geb14"] = ceaModel.cea03; //客戶編號 drGeb["geb15"] = boStp.OfGetSca03(ceaModel.cea03); //客戶簡稱 drGeb["geb16"] = DBNull.Value; //保留 drGeb["geb17"] = DBNull.Value; //保留 drGeb["geb18"] = DBNull.Value; //保留 drGeb["geb19"] = DBNull.Value; //保留 drGeb["geb20"] = DBNull.Value; //保留 drGeb["geb21"] = DBNull.Value; //保留 drGeb["gebcomp"] = pLoginInfo.CompNo; drGeb["gebcreu"] = pLoginInfo.UserNo; drGeb["gebcreg"] = pLoginInfo.DeptNo; drGeb["gebcred"] = OfGetNow(); drGeb["gebmodu"] = DBNull.Value; drGeb["gebmodg"] = DBNull.Value; drGeb["gebmodd"] = DBNull.Value; dtGeb.Rows.Add(drGeb); //處理貸方未稅明細資料 foreach (ceb_tb cebModel in cebList) { i++; drGeb = dtGeb.NewRow(); drGeb["geb01"] = cebModel.ceb01; //底稿單頭 drGeb["geb02"] = "AR"; drGeb["geb03"] = 1; //1.應收 2.收款 drGeb["geb04"] = 1; //AR 固定為1 drGeb["geb05"] = i; //項次 drGeb["geb06"] = cebModel.ceb10; //會計科目 drGeb["geb07"] = ""; //摘要 drGeb["geb08"] = DBNull.Value; //部門 if (!GlobalFn.varIsNull(cebModel.ceb10)) { gbaModel = OfGetGbaModel(cebModel.ceb10); if (gbaModel != null && gbaModel.gba09 == "Y") { drGeb["geb08"] = ceaModel.cea05; } } drGeb["geb09"] = 2; //借貸 1.借 2.貸 drGeb["geb10"] = cebModel.ceb09; //本幣金額(未稅) drGeb["geb11"] = ceaModel.cea10; //原幣幣別 drGeb["geb12"] = ceaModel.cea12; //匯率 drGeb["geb13"] = cebModel.ceb07; //原幣金額 drGeb["geb14"] = ceaModel.cea03; //客戶編號 drGeb["geb15"] = boStp.OfGetSca03(ceaModel.cea03); //客戶簡稱 drGeb["geb16"] = DBNull.Value; //保留 drGeb["geb17"] = DBNull.Value; //保留 drGeb["geb18"] = DBNull.Value; //保留 drGeb["geb19"] = DBNull.Value; //保留 drGeb["geb20"] = DBNull.Value; //保留 drGeb["geb21"] = DBNull.Value; //保留 drGeb["gebcomp"] = pLoginInfo.CompNo; drGeb["gebcreu"] = pLoginInfo.UserNo; drGeb["gebcreg"] = pLoginInfo.DeptNo; drGeb["gebcred"] = OfGetNow(); drGeb["gebmodu"] = DBNull.Value; drGeb["gebmodg"] = DBNull.Value; drGeb["gebmodd"] = DBNull.Value; dtGeb.Rows.Add(drGeb); } //貸方再補一筆稅額 //用本幣匯總成一筆來加總 drGeb = dtGeb.NewRow(); i++; drGeb = dtGeb.NewRow(); drGeb["geb01"] = ceaModel.cea01; //底稿單頭 drGeb["geb02"] = "AR"; drGeb["geb03"] = 1; //1.應收 2.收款 drGeb["geb04"] = 1; //AR 固定為1 drGeb["geb05"] = i; //項次 drGeb["geb06"] = cbaModel.cba05; //會計科目 drGeb["geb07"] = ""; //摘要 drGeb["geb08"] = DBNull.Value; //部門 if (!GlobalFn.varIsNull(cbaModel.cba05)) { gbaModel = OfGetGbaModel(cbaModel.cba05); if (gbaModel != null && gbaModel.gba09 == "Y") { drGeb["geb08"] = ceaModel.cea05; } } drGeb["geb09"] = 2; //借貸 1.借 2.貸 var taxTotal = cebList.Sum(x => x.ceb09t - x.ceb09); drGeb["geb10"] = taxTotal; //本幣金額(稅) //幣別均以本幣處理 drGeb["geb11"] = baaModel.baa04; //原幣幣別(帶入本幣幣別) drGeb["geb12"] = ceaModel.cea12; //匯率 drGeb["geb13"] = taxTotal; //原幣金額(稅) drGeb["geb14"] = ceaModel.cea03; //客戶編號 drGeb["geb15"] = boStp.OfGetSca03(ceaModel.cea03); //客戶簡稱 drGeb["geb16"] = DBNull.Value; //保留 drGeb["geb17"] = DBNull.Value; //保留 drGeb["geb18"] = DBNull.Value; //保留 drGeb["geb19"] = DBNull.Value; //保留 drGeb["geb20"] = DBNull.Value; //保留 drGeb["geb21"] = DBNull.Value; //保留 drGeb["gebcomp"] = pLoginInfo.CompNo; drGeb["gebcreu"] = pLoginInfo.UserNo; drGeb["gebcreg"] = pLoginInfo.DeptNo; drGeb["gebcred"] = OfGetNow(); drGeb["gebmodu"] = DBNull.Value; drGeb["gebmodg"] = DBNull.Value; drGeb["gebmodd"] = DBNull.Value; dtGeb.Rows.Add(drGeb); if (this.OfUpdate(dtGeb) == -1) { result = new Result(); result.Key1 = pCea01; result.Message = "新增分錄底稿單身失敗!"; rtnResultList.Add(result); return(rtnResultList); } return(rtnResultList); } catch (Exception ex) { throw ex; } }
/// <summary> /// 產生分錄底稿 來源為應收帳款 /// </summary> /// <param name="pCarb350Model"></param> /// <param name="pCeaModel"></param> /// <param name="pGeaModel"></param> /// <param name="pResult"></param> /// <returns></returns> private bool OfGenGfa(vw_carb350 pCarb350Model, cea_tb pCeaModel, gea_tb pGeaModel, Result pResult) { string selectSql = "", updateSql = ""; List <SqlParameter> sqlParmList = null; GlaBLL boGla = null; BasBLL boBas = null; DataTable dtGfa = null, dtGfb = null; DataRow drGfa = null, drGfb = null; string gfa01 = "", gfa01New = ""; DateTime? gfa02; string errMsg = ""; int year = 0, period = 0; List <geb_tb> gebList = null; cac_tb cacModel = null; //應收單別 int chkCnts = 0; try { boGla = new GlaBLL(OfGetConntion()); boGla.TRAN = this.TRAN; boBas = new BasBLL(OfGetConntion()); boBas.TRAN = this.TRAN; boGla.OfCreateDao("gfa_tb", "*", ""); selectSql = @"SELECT * FROM gfa_tb WHERE 1<>1"; dtGfa = boGla.OfGetDataTable(selectSql); drGfa = dtGfa.NewRow(); if (!GlobalFn.varIsNull(pCarb350Model.gfa01)) { gfa01 = pCarb350Model.gfa01; } else { //以應收單別設定的來拋轉 cacModel = OfGetCacModel(pCeaModel.cea01); if (cacModel == null) { pResult.Key1 = pCeaModel.cea01; pResult.Message = "取得應收單別失敗!"; return(false); } if (GlobalFn.varIsNull(cacModel.cac10)) { pResult.Key1 = pCeaModel.cea01; pResult.Message = "未設定應收拋轉總帳單別,請先至單別資料設定!"; return(false); } gfa01 = cacModel.cac10; } if (!GlobalFn.varIsNull(pCarb350Model.gfa02)) { gfa02 = pCarb350Model.gfa02; } else { gfa02 = pGeaModel.gea05; } errMsg = ""; if (boBas.OfGetAutoNo(gfa01, ModuleType.gla, (DateTime)gfa02, out gfa01New, out errMsg) == false) { pResult.Key1 = pCeaModel.cea01; pResult.Message = errMsg; return(false); } drGfa["gfa01"] = gfa01New; drGfa["gfa02"] = gfa02; drGfa["gfa03"] = pGeaModel.gea08; drGfa["gfa04"] = pGeaModel.gea09; drGfa["gfa05"] = ""; //備註 drGfa["gfa06"] = pGeaModel.gea02; //來源碼-系統別 drGfa["gfa07"] = pGeaModel.gea01; //來源單號 if (boGla.OfGetGlaYearPeriod(Convert.ToDateTime(gfa02), out year, out period) == false) { pResult.Message = "取得會計年度失敗!"; return(false); } drGfa["gfa08"] = year; drGfa["gfa09"] = period; drGfa["gfa10"] = DBNull.Value; //保留 drGfa["gfa10"] = DBNull.Value; //保留 drGfa["gfa11"] = DBNull.Value; //保留 drGfa["gfa12"] = DBNull.Value; //保留 drGfa["gfa13"] = DBNull.Value; //保留 drGfa["gfa14"] = DBNull.Value; //保留 drGfa["gfa15"] = DBNull.Value; //保留 drGfa["gfa16"] = DBNull.Value; //保留 drGfa["gfa17"] = DBNull.Value; //保留 drGfa["gfa18"] = DBNull.Value; //保留 drGfa["gfa19"] = DBNull.Value; //保留 drGfa["gfa20"] = DBNull.Value; //保留 drGfa["gfaprno"] = 0; drGfa["gfaconf"] = "N"; drGfa["gfaconu"] = DBNull.Value; drGfa["gfapost"] = "N"; drGfa["gfaposd"] = DBNull.Value; drGfa["gfaposu"] = DBNull.Value; drGfa["gfacomp"] = _loginInfo.CompNo; drGfa["gfacreu"] = _loginInfo.UserNo; drGfa["gfacreg"] = _loginInfo.DeptNo; drGfa["gfacred"] = OfGetNow(); drGfa["gfamodu"] = DBNull.Value; drGfa["gfamodg"] = DBNull.Value; drGfa["gfamodd"] = DBNull.Value; drGfa["gfasecu"] = _loginInfo.UserNo; drGfa["gfasecg"] = _loginInfo.GroupNo; dtGfa.Rows.Add(drGfa); if (boGla.OfUpdate(dtGfa) == -1) { pResult.Key1 = pGeaModel.gea01; pResult.Message = "新增傳票單頭失敗!"; return(false); } gebList = boGla.OfGetGebList(pGeaModel.gea01, pGeaModel.gea02, pGeaModel.gea03, pGeaModel.gea04); if (gebList == null || gebList.Count == 0) { pResult.Key1 = pGeaModel.gea01; pResult.Message = "查無分錄底稿單身資料!"; return(false); } boGla.OfCreateDao("gfb_tb", "*", ""); selectSql = @"SELECT * FROM gfb_tb WHERE 1<>1"; dtGfb = boGla.OfGetDataTable(selectSql); foreach (geb_tb gebModel in gebList.OrderBy(p => p.geb05)) { drGfb = dtGfb.NewRow(); drGfb["gfb01"] = gfa01New; //傳票編號 drGfb["gfb02"] = gebModel.geb05; //項次 drGfb["gfb03"] = gebModel.geb06; //科目編號 drGfb["gfb04"] = gebModel.geb07; //摘要 drGfb["gfb05"] = gebModel.geb08; //部門 drGfb["gfb06"] = gebModel.geb09; //借貸別 drGfb["gfb07"] = gebModel.geb10; //本幣金額 drGfb["gfb08"] = gebModel.geb11; //原幣幣別 drGfb["gfb09"] = gebModel.geb12; //匯率 drGfb["gfb10"] = gebModel.geb13; //原幣金額 drGfb["gfb11"] = DBNull.Value; //保留 drGfb["gfb12"] = DBNull.Value; //保留 drGfb["gfb13"] = DBNull.Value; //保留 drGfb["gfb14"] = DBNull.Value; //保留 drGfb["gfb15"] = DBNull.Value; //保留 drGfb["gfb16"] = DBNull.Value; //保留 drGfb["gfb17"] = DBNull.Value; //保留 drGfb["gfb18"] = DBNull.Value; //保留 drGfb["gfb19"] = DBNull.Value; //保留 drGfb["gfb20"] = DBNull.Value; //保留 drGfb["gfbcomp"] = _loginInfo.CompNo; drGfb["gfbcreu"] = _loginInfo.UserNo; drGfb["gfbcreg"] = _loginInfo.DeptNo; drGfb["gfbcred"] = OfGetNow(); drGfb["gfbmodu"] = DBNull.Value; drGfb["gfbmodg"] = DBNull.Value; drGfb["gfbmodd"] = DBNull.Value; dtGfb.Rows.Add(drGfb); } if (boGla.OfUpdate(dtGfb) == -1) { pResult.Key1 = pGeaModel.gea01; pResult.Message = "新增傳票單身失敗!"; return(false); } updateSql = @"UPDATE cea_tb SET cea29=@cea29 WHERE cea01=@cea01 "; sqlParmList = new List <SqlParameter>(); sqlParmList.Add(new SqlParameter("@cea29", gfa01New)); sqlParmList.Add(new SqlParameter("@cea01", pCeaModel.cea01)); chkCnts = OfExecuteNonquery(updateSql, sqlParmList.ToArray()); if (chkCnts != 1) { pResult.Key1 = pGeaModel.gea01; pResult.Message = "更新應收帳款失敗!"; return(false); } updateSql = @"UPDATE gea_tb SET gea06=@gea06, gea07=@gea07 WHERE gea01=@gea01 AND gea02=@gea02 AND gea03=@gea03 AND gea04=@gea04 "; sqlParmList = new List <SqlParameter>(); sqlParmList.Add(new SqlParameter("@gea06", gfa01New)); sqlParmList.Add(new SqlParameter("@gea07", gfa02)); sqlParmList.Add(new SqlParameter("@gea01", pGeaModel.gea01)); sqlParmList.Add(new SqlParameter("@gea02", pGeaModel.gea02)); sqlParmList.Add(new SqlParameter("@gea03", pGeaModel.gea03)); sqlParmList.Add(new SqlParameter("@gea04", pGeaModel.gea04)); chkCnts = OfExecuteNonquery(updateSql, sqlParmList.ToArray()); if (chkCnts != 1) { pResult.Key1 = pGeaModel.gea01; pResult.Message = "更新應收帳款失敗!"; return(false); } return(true); } catch (Exception ex) { pResult.Key1 = pCeaModel.cea01; pResult.Message = ex.Message; pResult.Exception = ex; throw; } }