public List <Result> OfGenGeaByCfa(string pCfa01, UserInfo pLoginInfo) { List <Result> rtnResultList = null; Result result = null; cfa_tb cfaModel = null; List <cfb_tb> cfbList = 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; baa_tb baaModel = 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 = pCfa01; result.Message = "查無本國幣別!"; rtnResultList.Add(result); return(rtnResultList); } cfaModel = boCar.OfGetCfaModel(pCfa01); if (cfaModel == null) { result = new Result(); result.Key1 = pCfa01; result.Message = "查無此收款沖帳單號!"; rtnResultList.Add(result); return(rtnResultList); } if (cfaModel.cfaconf != "N") { result = new Result(); result.Key1 = pCfa01; result.Message = "收款沖帳單非未確認狀態!"; rtnResultList.Add(result); return(rtnResultList); } cfbList = boCar.OfGetCfbList(pCfa01); if (cfbList == null || cfbList.Count == 0) { result = new Result(); result.Key1 = pCfa01; 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"] = cfaModel.cfa01; //底稿單號 drGea["gea02"] = "AR"; //系統別 drGea["gea03"] = 2; //1.應收 2.收款 drGea["gea04"] = 1; //AR 固定為1 drGea["gea05"] = cfaModel.cfa02; //同帳款日期 drGea["gea06"] = DBNull.Value; //傳票號碼 drGea["gea07"] = DBNull.Value; //傳票日期 drGea["gea08"] = cfaModel.cfa10; //借方金額--本幣 drGea["gea09"] = cfaModel.cfa11; //貸方金額--本幣 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 = pCfa01; result.Message = "新增分錄底稿單頭失敗!"; rtnResultList.Add(result); return(rtnResultList); } //新增底稿單身 this.OfCreateDao("geb_tb", "*", ""); sqlSelect = "SELECT * FROM geb_tb WHERE 1<>1 "; dtGeb = this.OfGetDataTable(sqlSelect); //處理貸方資料 foreach (cfb_tb cfbModel in cfbList) { drGeb = dtGeb.NewRow(); drGeb["geb01"] = cfbModel.cfb01; //底稿單頭 drGeb["geb02"] = "AR"; drGeb["geb03"] = 2; //1.應收 2.收款 drGeb["geb04"] = 1; //AR 固定為1 drGeb["geb05"] = cfbModel.cfb02; //項次 drGeb["geb06"] = cfbModel.cfb11; //會計科目 drGeb["geb07"] = ""; //摘要 drGeb["geb08"] = cfbModel.cfb13; //部門 drGeb["geb09"] = cfbModel.cfb03; //借貸 1.借 2.貸 drGeb["geb10"] = cfbModel.cfb03; //本幣金額(未稅) drGeb["geb11"] = cfbModel.cfb07; //原幣幣別 drGeb["geb12"] = cfbModel.cfb08; //匯率 drGeb["geb13"] = cfbModel.cfb09; //原幣金額 drGeb["geb14"] = cfaModel.cfa03; //客戶編號 drGeb["geb15"] = boStp.OfGetSca03(cfaModel.cfa03); //客戶簡稱 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 = pCfa01; result.Message = "新增分錄底稿單身失敗!"; rtnResultList.Add(result); return(rtnResultList); } return(rtnResultList); } catch (Exception ex) { throw ex; } }