/// <summary>
        /// 批量插入和更新
        /// </summary>
        /// <param name="lotEntityList"></param>
        /// <param name="insertlotEntityList"></param>
        /// <returns></returns>
        public ReturnResult UpdateLogAndInsertTracking(List<LotMoEntity> lotEntityList, List<LotMoEntity> insertlotEntityList)
        {
            ReturnResult result = new ReturnResult();// {  Status=false};
            result = DeleteTracking(lotEntityList);
            if (result.Status)
            {
                List<KeyValuePair<string, List<OracleParameter>>> strSqlList = new List<KeyValuePair<string, List<OracleParameter>>>();
                string strUpdate = string.Format(@"UPDATE SFISM4.R_WIP_LOT_MO_LOG_T SET LOT_NUMBER=:LOT_NO,JOB_STATUS='2' WHERE MO=:MO_ORDER");
                foreach (var entity in lotEntityList)
                {
                    DBParameter dbParameter = new DBParameter();
                    dbParameter.Clear();
                    dbParameter.Add(":LOT_NO", OracleDbType.Varchar2, entity.LOT_NO);
                    dbParameter.Add(":MO_ORDER", OracleDbType.Varchar2, entity.MO_ORDER);
                   
                    strSqlList.Add(new KeyValuePair<string, List<OracleParameter>>(strUpdate, dbParameter.GetParameters()));
                }

                string strInsert = string.Format(@"INSERT INTO  SFISM4.R_WIP_LOT_TRACKING_T 
                (LOT_NUMBER,
                LINE_NAME,
                STATION_NAME,
                IN_STATION_TIME ,
                MATERIAL_STATION_NAME,
                MATERIAL_IN_STATION_TIME ,
                LOT_SEQ,
                CREATE_TIME,
                SHIFT)
                VALUES
                (:LOT_NUMBER,
                :LINE_NAME,
                :STATION_NAME,
                SYSDATE,
                :MATERIAL_STATION_NAME,
                SYSDATE ,
                :LOT_SEQ,
                TO_DATE(:CREATE_TIME,'YYYY/MM/DD'),
                :SHIFT)");

                foreach (var insertEntity in insertlotEntityList)
                {
                    DBParameter udbParameter = new DBParameter();
                    udbParameter.Clear();
                    udbParameter.Add(":LOT_NUMBER", OracleDbType.Varchar2, insertEntity.LOT_NO);
                    udbParameter.Add(":LINE_NAME", OracleDbType.Varchar2, insertEntity.LINE_NAME);
                    udbParameter.Add(":STATION_NAME", OracleDbType.Varchar2, "0");
                    udbParameter.Add(":MATERIAL_STATION_NAME", OracleDbType.Varchar2, "0");
                    udbParameter.Add(":LOT_SEQ", OracleDbType.Varchar2, insertEntity.LOT_SEQ);
                    udbParameter.Add(":CREATE_TIME", OracleDbType.Varchar2, insertEntity.CREATE_TIME);
                    udbParameter.Add(":SHIFT", OracleDbType.Varchar2, insertEntity.SHIFT);
                    strSqlList.Add(new KeyValuePair<string, List<OracleParameter>>(strInsert, udbParameter.GetParameters()));
                }

                try
                {
                    result = dbHander.ExecuteNonQueryBatchSql(strSqlList);
                    result.Status = true;
                }
                catch (Exception ex)
                {
                    result.Status = false;
                    result.Message = ex.Message;
                    this.logHandler.Error(MethodBase.GetCurrentMethod().Name, "Call UpdateLogAndInsertTracking Fail: " + ex.Message);
                }
            }
            return result;

        }