Example #1
0
        /// <summary>
        /// FSL_INDENT_PREPARE表
        /// </summary>
        /// <returns></returns>
        public void GetAndInsertFIPData()
        {
            Log.LoadInfo("GetAndInsertFIPData Function Start");
            string        updateCmd = @"update FSL_INDENT_PREPARE set send_status = '1' , RECEIVETIME = sysdate where send_status = '0'";
            string        selectCmd = @"select * from FSL_INDENT_PREPARE  where SEND_STATUS = '0'";
            StringBuilder insertCmd = new StringBuilder(@"insert  into D_MDM_INDENT_PREPARE values (");

            try
            {
                PVConn = new OracleConnection(PVServiceConn);
                Log.LoadInfo("Open PVServiceConn success");
                PVConn.Open();
                PVtrans = PVConn.BeginTransaction();
                OracleCommand             cmd     = new OracleCommand(selectCmd, PVConn);
                OracleDataReader          reader  = cmd.ExecuteReader();
                List <FSL_INDENT_PREPARE> fipList = new List <FSL_INDENT_PREPARE>();
                //将取出的数据加到list中
                while (reader.Read())
                {
                    FSL_INDENT_PREPARE fip = new FSL_INDENT_PREPARE();
                    #region FSL_INDENT_PREPARE结构
                    fip.INDENT_CODE     = string.IsNullOrEmpty(reader["INDENT_CODE"].ToString()) ? "" : reader["INDENT_CODE"].ToString();
                    fip.PREPARE_CODE    = string.IsNullOrEmpty(reader["PREPARE_CODE"].ToString()) ? "" : reader["PREPARE_CODE"].ToString();
                    fip.NET_CODE        = string.IsNullOrEmpty(reader["NET_CODE"].ToString()) ? "" : reader["NET_CODE"].ToString();
                    fip.SEND_STATUS     = string.IsNullOrEmpty(reader["SEND_STATUS"].ToString()) ? "" : reader["SEND_STATUS"].ToString();
                    fip.PARTS_CODE      = string.IsNullOrEmpty(reader["PARTS_CODE"].ToString()) ? "" : reader["PARTS_CODE"].ToString();
                    fip.PART_NUM        = string.IsNullOrEmpty(reader["PART_NUM"].ToString()) ? "" : reader["PART_NUM"].ToString();
                    fip.PREPARE_CODE    = string.IsNullOrEmpty(reader["PREPARE_CODE"].ToString()) ? "" : reader["PREPARE_CODE"].ToString();
                    fip.PARTS_NAME      = string.IsNullOrEmpty(reader["PARTS_NAME"].ToString()) ? "" : reader["PARTS_NAME"].ToString();
                    fip.INDENT_TYPE     = string.IsNullOrEmpty(reader["INDENT_TYPE"].ToString()) ? "" : reader["INDENT_TYPE"].ToString();
                    fip.PVAUDITING_TIME = string.IsNullOrEmpty(reader["PVAUDITING_TIME"].ToString()) ? "" : reader["PVAUDITING_TIME"].ToString();
                    fip.PREPARE_TIME    = string.IsNullOrEmpty(reader["PREPARE_TIME"].ToString()) ? "" : reader["PREPARE_TIME"].ToString();
                    fip.YS_FS           = string.IsNullOrEmpty(reader["YS_FS"].ToString()) ? "" : reader["YS_FS"].ToString();
                    fip.STORAGE_PLACE   = string.IsNullOrEmpty(reader["STORAGE_PLACE"].ToString()) ? "" : reader["STORAGE_PLACE"].ToString();
                    fip.OUT_CKCODE      = string.IsNullOrEmpty(reader["OUT_CKCODE"].ToString()) ? "" : reader["OUT_CKCODE"].ToString();
                    fip.END_CODE        = string.IsNullOrEmpty(reader["END_CODE"].ToString()) ? "" : reader["END_CODE"].ToString();
                    #endregion
                    fipList.Add(fip);
                }
                Log.LoadInfo("Get FSL_INDENT_PREPARE data over, try to update data");
                //将数据更新
                cmd = new OracleCommand(updateCmd, PVConn);
                int deleteCount = cmd.ExecuteNonQuery();
                if (deleteCount != fipList.Count)
                {
                    Log.LoadInfo("Rollback");
                    PVtrans.Rollback();
                }
                else
                {
                    Log.LoadInfo("Update FSL_INDENT_PREPARE data over, try to copy data");
                    int count = 0;
                    //将list中的数据插入本地数据库中
                    SVCConn = new OracleConnection(ScvConn);
                    SVCConn.Open();
                    Log.LoadInfo("Open SVCConn success");
                    SCVtrans = SVCConn.BeginTransaction();
                    if (fipList.Count > 0)
                    {
                        foreach (var fip in fipList)
                        {
                            insertCmd.Append("'").Append(fip.INDENT_CODE).Append("','").Append(fip.PREPARE_CODE).Append("','").Append(fip.NET_CODE).Append("','").Append(fip.PARTS_CODE).Append("','").Append(fip.PARTS_NAME).Append("','").Append(fip.PART_NUM).Append("','").Append(fip.INDENT_TYPE).Append("',").Append(ConverterTool.DateConverter(fip.PVAUDITING_TIME)).Append(",").Append(ConverterTool.DateConverter(fip.PREPARE_TIME)).Append(",'").Append(fip.YS_FS).Append("','").Append(fip.STORAGE_PLACE).Append("','").Append(fip.OUT_CKCODE).Append("','").Append(fip.END_CODE).Append("','").Append("0").Append("')");
                            cmd = new OracleCommand(insertCmd.ToString(), SVCConn);
                            int insertCount = cmd.ExecuteNonQuery();
                            count = count + insertCount;
                            insertCmd.Clear();
                            insertCmd.Append(@"insert  into D_MDM_INDENT_PREPARE values (");
                        }
                    }
                    if (count != fipList.Count || count == 0)
                    {
                        PVtrans.Rollback();
                        SCVtrans.Rollback();
                        if (count != 0)
                        {
                            Log.LoadInfo("Rollback");
                        }
                    }
                    else
                    {
                        SCVtrans.Commit();
                        PVtrans.Commit();
                        Log.LoadInfo("Commit");
                        foreach (var item in fipList)
                        {
                            Log.LoadInfo("Item END_CODE:" + item.END_CODE + " INDENT_CODE:" + item.INDENT_CODE + " INDENT_TYPE:" + item.INDENT_TYPE + " NET_CODE:" + item.NET_CODE + " PART_NUM:" + item.PART_NUM + " PREPARE_CODE:" + item.PREPARE_CODE + " OUT_CKCODE:" + item.OUT_CKCODE + " PARTS_CODE:" + item.PARTS_CODE + " PARTS_NAME:" + item.PARTS_NAME + " PREPARE_TIME:" + item.PREPARE_TIME + " PVAUDITING_TIME:" + item.PVAUDITING_TIME + " STORAGE_PLACE:" + item.STORAGE_PLACE + " YS_FS:" + item.YS_FS + " excuted");
                        }
                    }
                }
            }
            catch (Exception ex)
            {
                if (PVtrans != null)
                {
                    PVtrans.Rollback();
                }
                if (SCVtrans != null)
                {
                    SCVtrans.Rollback();
                }
                Log.LoadInfo("Expection! Rollback");
                Log.LoadInfo("GetAndInsertFIPData Error, " + ex);
                Console.WriteLine("GetAndInsertFIPData Error, " + ex.Message);
            }
            finally
            {
                if (PVConn != null)
                {
                    PVConn.Dispose();
                }
                if (SVCConn != null)
                {
                    SVCConn.Dispose();
                }
                Log.LoadInfo("GetAndInsertFIPData Function End");
            }
        }
Example #2
0
        /// <summary>
        /// FSL_PREPARE_STATUS表
        /// </summary>
        /// <returns></returns>
        public void GetAndInsertFPSData()
        {
            Log.LoadInfo("GetAndInsertFPSData Function Start");
            string        updateCmd = @"update FSL_PREPARE_STATUS set send_status = '1' , RECEIVETIME = sysdate where send_status = '0'";
            string        selectCmd = @"select * from FSL_PREPARE_STATUS  where SEND_STATUS = '0'";
            StringBuilder insertCmd = new StringBuilder(@"insert  into D_MDM_PREPARE_STATUS values (");

            try
            {
                PVConn = new OracleConnection(PVServiceConn);
                PVConn.Open();
                Log.LoadInfo("Open PVServiceConn success");
                PVtrans = PVConn.BeginTransaction();
                OracleCommand             cmd     = new OracleCommand(selectCmd, PVConn);
                OracleDataReader          reader  = cmd.ExecuteReader();
                List <FSL_PREPARE_STATUS> fpsList = new List <FSL_PREPARE_STATUS>();
                //将取出的数据加到list中
                while (reader.Read())
                {
                    FSL_PREPARE_STATUS fps = new FSL_PREPARE_STATUS();
                    #region FSL_PREPARE_STATUS结构
                    fps.PREPARE_CODE     = string.IsNullOrEmpty(reader["PREPARE_CODE"].ToString()) ? "" : reader["PREPARE_CODE"].ToString();
                    fps.FACTPREPARE_TIME = string.IsNullOrEmpty(reader["FACTPREPARE_TIME"].ToString()) ? "" : reader["FACTPREPARE_TIME"].ToString();
                    fps.SEND_STATUS      = string.IsNullOrEmpty(reader["SEND_STATUS"].ToString()) ? "" : reader["SEND_STATUS"].ToString();
                    fps.FACTOUT_TIME     = string.IsNullOrEmpty(reader["FACTOUT_TIME"].ToString()) ? "" : reader["FACTOUT_TIME"].ToString();
                    #endregion
                    fpsList.Add(fps);
                }
                Log.LoadInfo("Get FSL_PREPARE_STATUS data over, try to update data");
                //将数据更新
                cmd = new OracleCommand(updateCmd, PVConn);
                int deleteCount = cmd.ExecuteNonQuery();
                if (deleteCount != fpsList.Count)
                {
                    Log.LoadInfo("Rollback");
                    PVtrans.Rollback();
                }
                else
                {
                    Log.LoadInfo("Update FSL_PREPARE_STATUS data over, try to copy data");
                    int count = 0;
                    SVCConn = new OracleConnection(ScvConn);
                    //将list中的数据插入本地数据库中
                    SVCConn.Open();
                    Log.LoadInfo("Open SVCConn success");
                    SCVtrans = SVCConn.BeginTransaction();
                    if (fpsList.Count > 0)
                    {
                        foreach (var fps in fpsList)
                        {
                            insertCmd.Append("'").Append(fps.PREPARE_CODE).Append("',").Append(ConverterTool.DateConverter(fps.FACTPREPARE_TIME)).Append(",").Append(ConverterTool.DateConverter(fps.FACTOUT_TIME)).Append(",'").Append("0").Append("')");
                            cmd = new OracleCommand(insertCmd.ToString(), SVCConn);
                            int insertCount = cmd.ExecuteNonQuery();
                            count = count + insertCount;
                            insertCmd.Clear();
                            insertCmd.Append(@"insert  into D_MDM_PREPARE_STATUS values (");
                        }
                    }
                    if (count != fpsList.Count || count == 0)
                    {
                        PVtrans.Rollback();
                        SCVtrans.Rollback();
                        if (count != 0)
                        {
                            Log.LoadInfo("Rollback");
                        }
                    }
                    else
                    {
                        SCVtrans.Commit();
                        PVtrans.Commit();
                        Log.LoadInfo("Commit");
                        foreach (var item in fpsList)
                        {
                            Log.LoadInfo("Item FACTOUT_TIME:" + item.FACTOUT_TIME + " FACTPREPARE_TIME:" + item.FACTPREPARE_TIME + " PREPARE_CODE:" + item.PREPARE_CODE + " excuted");
                        }
                    }
                }
            }
            catch (Exception ex)
            {
                if (PVtrans != null)
                {
                    PVtrans.Rollback();
                }
                if (SCVtrans != null)
                {
                    SCVtrans.Rollback();
                }
                Log.LoadInfo("Expection! Rollback");
                Log.LoadInfo("GetAndInsertFPSData Error, " + ex);
                Console.WriteLine("GetAndInsertFPSData Error, " + ex.Message);
            }
            finally
            {
                if (PVConn != null)
                {
                    PVConn.Dispose();
                }
                if (SVCConn != null)
                {
                    SVCConn.Dispose();
                }
                Log.LoadInfo("GetAndInsertFPSData Function End");
            }
        }