Example #1
0
        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);
                }
            }
        }
Example #2
0
        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);
        }
Example #3
0
        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;
                }
            }
        }
Example #4
0
        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;
                }
            }
        }
Example #5
0
        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);
        }
Example #6
0
        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;
                }
            }
        }
Example #8
0
        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 + "更新", "更新结束,关闭数据库连接失败!");
            //}
        }
Example #9
0
 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 + "更新", "更新中间表成功!");
             }
         }
     }
 }