public override void Run(Context ctx, Schedule schedule) { SQLStatement = base.GetStatement(PayableSQLObject.Payable); opearteList = GetOpearteList(PayableSQLObject.Payable); if (connectionToRemoteDatabase().Sucessd) { ExcuteDataBaseResult excuteDataBaseResult = base.remoteExcuteDataBase.excuteStatement(SQLStatement, connectionToRemoteDatabase().Sqlconn); payableSaveInfoObjList = handleData <PayableInfoSaveObject>(excuteDataBaseResult.Ds); } else { //打印 } if (LoginAPI(model)) { Dictionary <string, Result> statusMap = new Dictionary <string, Result>(); foreach (PayableInfoSaveObject payableSaveInfoObject in payableSaveInfoObjList) { InvokeReturnHandle <InvokeResult> callResult = InvokeAPI(opearteList, payableSaveInfoObject, InvokeCloudAPI.Login(model), ctx, formID, model); statusMap.Add(payableSaveInfoObject.Model.FBillNo, callResult.CustomOpearteObject.Result); } List <string> getUpdateSQLStatements = new SQLStatement(model).getUpdateSQLStatement(model, statusMap); SqlConnection Sqlconn = connectionToRemoteDatabase().Sqlconn; foreach (string UpdateSQLStatement in getUpdateSQLStatements) { updateMiddleDataBase(UpdateSQLStatement, model, "t_kf_payable", Sqlconn); } } }
private Dictionary <string, UpdateFields> getUpdateFields(string model, ExcuteDataBaseResult dataResult) { Dictionary <string, UpdateFields> updateFieldMap = new Dictionary <string, UpdateFields>(); if (string.Equals(CustomerSQLObject.Customer, model, StringComparison.CurrentCultureIgnoreCase)) { for (int i = 0; i < dataResult.Ds.Tables[0].Rows.Count; i++) { CustomerUpdateFields customerUpdateFields = new CustomerUpdateFields(); customerUpdateFields.FName = dataResult.Ds.Tables[0].Rows[i]["FName"].ToString(); string key = dataResult.Ds.Tables[0].Rows[i]["FNumber"].ToString(); updateFieldMap.Add(key, customerUpdateFields); } } if (string.Equals(SupplierSQLObject.Supplier, model, StringComparison.CurrentCultureIgnoreCase)) { for (int i = 0; i < dataResult.Ds.Tables[0].Rows.Count; i++) { SupplierUpdateFields supplierUpdateFields = new SupplierUpdateFields(); supplierUpdateFields.FName = dataResult.Ds.Tables[0].Rows[i]["FName"].ToString(); supplierUpdateFields.FopenBankName = dataResult.Ds.Tables[0].Rows[i]["FopenBankName"].ToString(); supplierUpdateFields.FbankCode = dataResult.Ds.Tables[0].Rows[i]["FbankCode"].ToString(); string key = dataResult.Ds.Tables[0].Rows[i]["FNumber"].ToString(); updateFieldMap.Add(key, supplierUpdateFields); } } return(updateFieldMap); }
public override void Run(Context ctx, Schedule schedule) { //1从中间表中获取当前需要调用的模块的SQL // 1.2.连接中间数据库 // 1.3.获取数据 //2.调用Kingdee登录API //3.调用客户API //4.反写中间数据库 //5.关闭数据库连接 SQLStatement = GetStatement(CustomerSQLObject.Customer); opearteList = GetOpearteList(CustomerSQLObject.Customer); //修改的单独处理 BussnessModify customerModify = new BussnessModify(); customerModify.excuteSQL(model, connectionToRemoteDatabase(), ctx); if (connectionToRemoteDatabase().Sucessd) { ExcuteDataBaseResult excuteDataBaseResult = base.remoteExcuteDataBase.excuteStatement(SQLStatement, connectionToRemoteDatabase().Sqlconn); customSaveInfoObjList = handleData <CustomInfoSaveObject>(excuteDataBaseResult.Ds); if (!closeConnetction(connectionToRemoteDatabase().Sqlconn)) { //打印关闭连接 BussnessLog.WriteBussnessLog("", "数据库操作错误", model + "中间表取数后,关闭数据库连接失败! 请联系系统管理员!"); return; } } else { if (!closeConnetction(connectionToRemoteDatabase().Sqlconn)) { BussnessLog.WriteBussnessLog("", "数据库操作错误", model + "中间表取数前打开数据库连接失败! 请联系系统管理员!"); return; } } Dictionary <string, Result> statusMap = new Dictionary <string, Result>(); if (LoginAPI(model)) { foreach (CustomInfoSaveObject customSaveInfoObj in customSaveInfoObjList) { InvokeReturnHandle <InvokeResult> callResult = InvokeAPI(opearteList, customSaveInfoObj, InvokeCloudAPI.Login(model), ctx, formID, model); statusMap.Add(customSaveInfoObj.Model.Fnumber, callResult.CustomOpearteObject.Result); } List <string> getUpdateSQLStatements = new SQLStatement(model).getUpdateSQLStatement(model, statusMap); SqlConnection Sqlconn = connectionToRemoteDatabase().Sqlconn; foreach (string UpdateSQLStatement in getUpdateSQLStatements) { updateMiddleDataBase(UpdateSQLStatement, model, "t_kf_customer", Sqlconn); } if (!closeConnetction(Sqlconn)) { BussnessLog.WriteBussnessLog("", "数据库操作错误", model + "中间表数据更新后,关闭数据库连接失败! 请联系系统管理员!"); return; } } }
public override void Run(Context ctx, Schedule schedule) { //VoucherNumbers.Add("记", "PRE001"); //VoucherNumbers.Add("现收", "PRE002"); //VoucherNumbers.Add("现付", "PRE003"); //VoucherNumbers.Add("转", "PRE004"); //VoucherNumbers.Add("银收", "PZZ1"); //VoucherNumbers.Add("银付", "PZZ2"); SQLStatement = base.GetStatement(VouchSQLObject.Voucher); opearteList = GetOpearteList(VouchSQLObject.Voucher); if (connectionToRemoteDatabase().Sucessd) { ExcuteDataBaseResult excuteDataBaseResult = base.remoteExcuteDataBase.excuteStatement(SQLStatement, connectionToRemoteDatabase().Sqlconn); voucherSaveInfoObjList = handleData <VoucherInfoSaveObject>(excuteDataBaseResult.Ds); if (!closeConnetction(connectionToRemoteDatabase().Sqlconn)) { //打印关闭连接 BussnessLog.WriteBussnessLog("", "数据库操作错误", model + "中间表取数后,关闭数据库连接失败! 请联系系统管理员!"); return; } } else { if (!closeConnetction(connectionToRemoteDatabase().Sqlconn)) { //打印关闭连接 BussnessLog.WriteBussnessLog("", "数据库操作错误", model + "中间表取数前打开数据库连接失败! 请联系系统管理员!"); return; } } if (LoginAPI(model)) { Dictionary <string, Result> statusMap = new Dictionary <string, Result>(); foreach (VoucherInfoSaveObject voucherSaveInfoObj in voucherSaveInfoObjList) { InvokeReturnHandle <InvokeResult> callResult = InvokeAPI(opearteList, voucherSaveInfoObj, InvokeCloudAPI.Login(model), ctx, formID, model); statusMap.Add(voucherSaveInfoObj.Model.FVOUCHERGROUPNO, callResult.CustomOpearteObject.Result); } List <string> getUpdateSQLStatements = new SQLStatement(model).getUpdateSQLStatement(model, statusMap); SqlConnection Sqlconn = connectionToRemoteDatabase().Sqlconn; foreach (string UpdateSQLStatement in getUpdateSQLStatements) { updateMiddleDataBase(UpdateSQLStatement, model, "t_kf_voucher", Sqlconn); } if (!closeConnetction(Sqlconn)) { BussnessLog.WriteBussnessLog("", "数据库操作错误", model + "中间表数据更新后,关闭数据库连接失败! 请联系系统管理员!"); return; } } }
public bool updateMiddleDataBase(string updateSQLStatement, string model, string tableName, SqlConnection Sqlconn) { BussnessLog.WriteBussnessLog("", "测试打印", "update=" + updateSQLStatement); ExcuteDataBaseResult excuteDataBaseResult = remoteExcuteDataBase.excuteStatement(updateSQLStatement, Sqlconn); if (!excuteDataBaseResult.Sucessd) { BussnessLog.WriteBussnessLog("", "更新中间数据库", "更新中间数据库,表=" + tableName + "错误, 操作模块=" + model); return(false); } return(true); }
public override void Run(Context ctx, Schedule schedule) { SQLStatement = base.GetStatement(SupplierSQLObject.Supplier); opearteList = GetOpearteList(SupplierSQLObject.Supplier); //修改的单独处理 BussnessModify customerModify = new BussnessModify(); customerModify.excuteSQL(model, connectionToRemoteDatabase(), ctx); if (connectionToRemoteDatabase().Sucessd) { ExcuteDataBaseResult excuteDataBaseResult = base.remoteExcuteDataBase.excuteStatement(SQLStatement, connectionToRemoteDatabase().Sqlconn); supplierSaveInfoObjList = handleData <SupplierInfoSaveObject>(excuteDataBaseResult.Ds); if (!closeConnetction(connectionToRemoteDatabase().Sqlconn)) { //打印关闭连接 BussnessLog.WriteBussnessLog("", "数据库操作错误", model + "中间表取数后,关闭数据库连接失败! 请联系系统管理员!"); return; } } else { BussnessLog.WriteBussnessLog("", "数据库操作错误", model + "中间表取数前打开数据库连接失败! 请联系系统管理员!"); return; } if (LoginAPI(model)) { Dictionary <string, Result> statusMap = new Dictionary <string, Result>(); foreach (SupplierInfoSaveObject supplierSaveInfoObj in supplierSaveInfoObjList) { InvokeReturnHandle <InvokeResult> callResult = (InvokeReturnHandle <InvokeResult>)(object) InvokeAPI(opearteList, supplierSaveInfoObj, InvokeCloudAPI.Login(model), ctx, formID, model); statusMap.Add(supplierSaveInfoObj.Model.Fnumber, callResult.CustomOpearteObject.Result); } List <string> getUpdateSQLStatements = new SQLStatement(model).getUpdateSQLStatement(model, statusMap); // ExcuteDataBaseResult excuteDataBaseResult = remoteExcuteDataBase.excuteStatement(updateSQLStatement, connectionToRemoteDatabase().Sqlconn); SqlConnection Sqlconn = connectionToRemoteDatabase().Sqlconn; foreach (string UpdateSQLStatement in getUpdateSQLStatements) { updateMiddleDataBase(UpdateSQLStatement, model, "t_kf_supplier", Sqlconn); } if (!closeConnetction(Sqlconn)) { //打印关闭连接信息 BussnessLog.WriteBussnessLog("", "数据库操作错误", model + "中间表数据更新后,关闭数据库连接失败! 请联系系统管理员!"); return; } } }
public override void Run(Context ctx, Schedule schedule) { SQLStatement = base.GetStatement(ReceivableSQLObject.Receivable); opearteList = GetOpearteList(ReceivableSQLObject.Receivable); if (connectionToRemoteDatabase().Sucessd) { ExcuteDataBaseResult excuteDataBaseResult = base.remoteExcuteDataBase.excuteStatement(SQLStatement, connectionToRemoteDatabase().Sqlconn); receivableSaveInfoObjList = handleData <ReceivableInfoSaveObject>(excuteDataBaseResult.Ds); if (!closeConnetction(connectionToRemoteDatabase().Sqlconn)) { //打印关闭连接 BussnessLog.WriteBussnessLog("", "数据库操作错误", model + "中间表取数后,关闭数据库连接失败! 请联系系统管理员!"); return; } } else { if (!closeConnetction(connectionToRemoteDatabase().Sqlconn)) { //打印关闭连接 BussnessLog.WriteBussnessLog("", "数据库操作错误", model + "中间表取数前打开数据库连接失败! 请联系系统管理员!"); return; } } if (LoginAPI(model)) { Dictionary <string, Result> statusMap = new Dictionary <string, Result>(); foreach (ReceivableInfoSaveObject receivableInfoSaveObject in receivableSaveInfoObjList) { InvokeReturnHandle <InvokeResult> callResult = InvokeAPI(opearteList, receivableInfoSaveObject, InvokeCloudAPI.Login(model), ctx, formID, model); statusMap.Add(receivableInfoSaveObject.Model.FBillNo, callResult.CustomOpearteObject.Result); } List <string> getUpdateSQLStatements = new SQLStatement(model).getUpdateSQLStatement(model, statusMap); SqlConnection Sqlconn = connectionToRemoteDatabase().Sqlconn; foreach (string UpdateSQLStatement in getUpdateSQLStatements) { updateMiddleDataBase(UpdateSQLStatement, model, "t_kf_receivable", Sqlconn); } if (!closeConnetction(Sqlconn)) { BussnessLog.WriteBussnessLog("", "数据库操作错误", model + "中间表数据更新后,关闭数据库连接失败! 请联系系统管理员!"); return; } } }
public void excuteSQL(string model, ConnectionResult result, Context ctx) { BussnessLog.WriteBussnessLog("", model + "更新", "开始更新"); if (string.Equals(CustomerSQLObject.Customer, model, StringComparison.CurrentCultureIgnoreCase)) { SQLStatement = "SELECT FNUMBER,FNAME FROM T_KF_CUSTOMER WHERE FSTATUS = 3"; UpdateSQLStatement = "UPDATE T_BD_CUSTOMER_L SET FNAME = '{0}' WHERE FCUSTID = (SELECT FCUSTID FROM T_BD_CUSTOMER WHERE FNUMBER = '{1}')"; UpdateSQLStatementList.Add(UpdateSQLStatement); } if (string.Equals(SupplierSQLObject.Supplier, model, StringComparison.CurrentCultureIgnoreCase)) { SQLStatement = "SELECT FNUMBER,FNAME,FOPENBANKNAME,FBANKCODE FROM T_KF_SUPPLIER WHERE FSTATUS = 3"; UpdateSQLStatement1 = " UPDATE T_BD_SUPPLIER_L SET FNAME = '{0}' WHERE FSUPPLIERID IN (SELECT FSUPPLIERID FROM T_BD_SUPPLIER WHERE FNUMBER='{1}')"; UpdateSQLStatement2 = " UPDATE T_BD_SUPPLIERBANK SET FBANKCODE = '{0}' WHERE FSUPPLIERID IN (SELECT FSUPPLIERID FROM T_BD_SUPPLIER WHERE FNUMBER='{1}')"; UpdateSQLStatement3 = "UPDATE T_BD_SUPPLIERBANK_L SET FOPENBANKNAME = '{0}' WHERE FBANKID IN (SELECT FBANKID FROM T_BD_SUPPLIER T1 LEFT JOIN T_BD_SUPPLIERBANK T2 ON T1.FSUPPLIERID = T2.FSUPPLIERID WHERE T1.FNUMBER ='{1}')"; UpdateSQLStatementList.Add(UpdateSQLStatement1); UpdateSQLStatementList.Add(UpdateSQLStatement2); UpdateSQLStatementList.Add(UpdateSQLStatement3); } RemoteExcuteDataBase dbOjbect = new RemoteExcuteDataBase(DataBaseInfo.IP, DataBaseInfo.database, DataBaseInfo.userid, DataBaseInfo.password); ExcuteDataBaseResult dataResult = dbOjbect.excuteStatement(SQLStatement, result.Sqlconn); if (dataResult.Ds.Tables[0].Rows.Count <= 0) { BussnessLog.WriteBussnessLog("", model + "更新", "无字段需要更新"); return; } //取数 Dictionary <string, UpdateFields> updateMap = getUpdateFields(model, dataResult); //更新金蝶数据库 if (updateKingDeeDataBase(model, UpdateSQLStatementList, updateMap, ctx)) { //更新中间表数据库 updateMiddleDataBase(model, dataResult, result, dbOjbect); BussnessLog.WriteBussnessLog("", model + "更新", "更新金蝶数据库成功!"); } //关闭 //if (dbOjbect.closeConnection(result.Sqlconn)) //{ // BussnessLog.WriteBussnessLog("", model + "更新", "更新结束,关闭数据库连接成功!"); //} //else { // BussnessLog.WriteBussnessLog("", model + "更新", "更新结束,关闭数据库连接失败!"); //} }
public void updateMiddleDataBase(string model, ExcuteDataBaseResult dataResult, ConnectionResult result, RemoteExcuteDataBase dbOjbect) { if (string.Equals(CustomerSQLObject.Customer, model, StringComparison.CurrentCultureIgnoreCase)) { foreach (string s in CustomerFnunbers) { SQLStatement = "UPDATE T_KF_CUSTOMER SET FSTATUS = 1, FResultMessage=' ', FLASTUPDATETIME='{0}' WHERE FNUMBER = '{1}'"; string mSQL = string.Format(SQLStatement, System.DateTime.Now, s); ExcuteDataBaseResult excuteResult = dbOjbect.excuteStatement(mSQL, result.Sqlconn); if (!excuteResult.Sucessd) { BussnessLog.WriteBussnessLog("", model + "更新", "更新中间表失败! fnumber=" + s); } else { BussnessLog.WriteBussnessLog("", model + "更新", "更新中间表成功!"); } } } if (string.Equals(SupplierSQLObject.Supplier, model, StringComparison.CurrentCultureIgnoreCase)) { foreach (string s in SupplierFnumbers) { SQLStatement = "UPDATE T_KF_SUPPLIER SET FSTATUS = 1, FResultMessage=' ', FLastUpdateTime = '{0}' WHERE FNUMBER = '{1}'"; string mSQL = string.Format(SQLStatement, System.DateTime.Now, s); ExcuteDataBaseResult excuteResult = dbOjbect.excuteStatement(mSQL, result.Sqlconn); if (!excuteResult.Sucessd) { BussnessLog.WriteBussnessLog("", model + "更新", "更新中间表失败! fnumber = " + s); } else { BussnessLog.WriteBussnessLog("", model + "更新", "更新中间表成功!"); } } } }