code: def QA_SU_save_stock_xdxr(client=DATABASE, ui_log=None, ui_progress=None):
      
      stock_list = QA_fetch_get_stock_list().code.unique().tolist()
      # client.drop_collection('stock_xdxr')
      try:
  
          coll = client.stock_xdxr
          coll.create_index(
              [('code',
                pymongo.ASCENDING),
               ('date',
                pymongo.ASCENDING)],
              unique=True
          )
      except:
          client.drop_collection('stock_xdxr')
          coll = client.stock_xdxr
          coll.create_index(
              [('code',
                pymongo.ASCENDING),
               ('date',
                pymongo.ASCENDING)],
              unique=True
          )
      err = []
  
      def __saving_work(code, coll):
          QA_util_log_info(
              '##JOB02 Now Saving XDXR INFO ==== {}'.format(str(code)),
              ui_log=ui_log
          )
          try:
              coll.insert_many(
                  QA_util_to_json_from_pandas(QA_fetch_get_stock_xdxr(str(code))),
                  ordered=False
              )
  
          except:
  
              err.append(str(code))
  
      for i_ in range(len(stock_list)):
          QA_util_log_info(
              'The {} of Total {}'.format(i_,
                                          len(stock_list)),
              ui_log=ui_log
          )
          strLogInfo = 'DOWNLOAD PROGRESS {} '.format(
              str(float(i_ / len(stock_list) * 100))[0:4] + '%'
          )
          intLogProgress = int(float(i_ / len(stock_list) * 100))
          QA_util_log_info(
              strLogInfo,
              ui_log=ui_log,
              ui_progress=ui_progress,
              ui_progress_int_value=intLogProgress
          )
          __saving_work(stock_list[i_], coll)
docs: [summary]
  
      Keyword Arguments:
          client {[type]} -- [description] (default: {DATABASE})