mns-scheduler 1.1.5.5__tar.gz → 1.1.5.8__tar.gz

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.

Potentially problematic release.


This version of mns-scheduler might be problematic. Click here for more details.

Files changed (140) hide show
  1. {mns_scheduler-1.1.5.5 → mns_scheduler-1.1.5.8}/PKG-INFO +1 -1
  2. {mns_scheduler-1.1.5.5 → mns_scheduler-1.1.5.8}/mns_scheduler/company_info/base/sync_company_base_info_api.py +10 -2
  3. {mns_scheduler-1.1.5.5 → mns_scheduler-1.1.5.8}/mns_scheduler/finance/sync_financial_report_service_api.py +39 -3
  4. {mns_scheduler-1.1.5.5 → mns_scheduler-1.1.5.8}/mns_scheduler/hk/hk_company_info_sync_service_api.py +32 -1
  5. {mns_scheduler-1.1.5.5 → mns_scheduler-1.1.5.8}/mns_scheduler/zt/zt_pool/ths_zt_pool_sync_api.py +2 -0
  6. {mns_scheduler-1.1.5.5 → mns_scheduler-1.1.5.8}/mns_scheduler/zz_task/data_sync_task.py +1 -1
  7. {mns_scheduler-1.1.5.5 → mns_scheduler-1.1.5.8}/mns_scheduler.egg-info/PKG-INFO +1 -1
  8. {mns_scheduler-1.1.5.5 → mns_scheduler-1.1.5.8}/setup.py +1 -1
  9. {mns_scheduler-1.1.5.5 → mns_scheduler-1.1.5.8}/README.md +0 -0
  10. {mns_scheduler-1.1.5.5 → mns_scheduler-1.1.5.8}/mns_scheduler/2014-2015-test/2014_2015_chg_statistics.py +0 -0
  11. {mns_scheduler-1.1.5.5 → mns_scheduler-1.1.5.8}/mns_scheduler/2014-2015-test/__init__.py +0 -0
  12. {mns_scheduler-1.1.5.5 → mns_scheduler-1.1.5.8}/mns_scheduler/__init__.py +0 -0
  13. {mns_scheduler-1.1.5.5 → mns_scheduler-1.1.5.8}/mns_scheduler/big_deal/__init__.py +0 -0
  14. {mns_scheduler-1.1.5.5 → mns_scheduler-1.1.5.8}/mns_scheduler/big_deal/ths_big_deal_sync.py +0 -0
  15. {mns_scheduler-1.1.5.5 → mns_scheduler-1.1.5.8}/mns_scheduler/company_info/__init__.py +0 -0
  16. {mns_scheduler-1.1.5.5 → mns_scheduler-1.1.5.8}/mns_scheduler/company_info/base/__init__.py +0 -0
  17. {mns_scheduler-1.1.5.5 → mns_scheduler-1.1.5.8}/mns_scheduler/company_info/clean/__init__.py +0 -0
  18. {mns_scheduler-1.1.5.5 → mns_scheduler-1.1.5.8}/mns_scheduler/company_info/clean/company_info_clean_api.py +0 -0
  19. {mns_scheduler-1.1.5.5 → mns_scheduler-1.1.5.8}/mns_scheduler/company_info/constant/__init__.py +0 -0
  20. {mns_scheduler-1.1.5.5 → mns_scheduler-1.1.5.8}/mns_scheduler/company_info/constant/company_constant_data.py +0 -0
  21. {mns_scheduler-1.1.5.5 → mns_scheduler-1.1.5.8}/mns_scheduler/company_info/de_list_stock/__init__.py +0 -0
  22. {mns_scheduler-1.1.5.5 → mns_scheduler-1.1.5.8}/mns_scheduler/company_info/de_list_stock/de_list_stock_service.py +0 -0
  23. {mns_scheduler-1.1.5.5 → mns_scheduler-1.1.5.8}/mns_scheduler/company_info/remark/__init__.py +0 -0
  24. {mns_scheduler-1.1.5.5 → mns_scheduler-1.1.5.8}/mns_scheduler/company_info/remark/company_remark_info_sync.py +0 -0
  25. {mns_scheduler-1.1.5.5 → mns_scheduler-1.1.5.8}/mns_scheduler/concept/__init__.py +0 -0
  26. {mns_scheduler-1.1.5.5 → mns_scheduler-1.1.5.8}/mns_scheduler/concept/clean/__init__.py +0 -0
  27. {mns_scheduler-1.1.5.5 → mns_scheduler-1.1.5.8}/mns_scheduler/concept/clean/kpl_concept_clean_api.py +0 -0
  28. {mns_scheduler-1.1.5.5 → mns_scheduler-1.1.5.8}/mns_scheduler/concept/clean/ths_concept_clean_api.py +0 -0
  29. {mns_scheduler-1.1.5.5 → mns_scheduler-1.1.5.8}/mns_scheduler/concept/ths/__init__.py +0 -0
  30. {mns_scheduler-1.1.5.5 → mns_scheduler-1.1.5.8}/mns_scheduler/concept/ths/common/__init__.py +0 -0
  31. {mns_scheduler-1.1.5.5 → mns_scheduler-1.1.5.8}/mns_scheduler/concept/ths/common/ths_concept_sync_common_api.py +0 -0
  32. {mns_scheduler-1.1.5.5 → mns_scheduler-1.1.5.8}/mns_scheduler/concept/ths/common/ths_concept_update_common_api.py +0 -0
  33. {mns_scheduler-1.1.5.5 → mns_scheduler-1.1.5.8}/mns_scheduler/concept/ths/detaill/__init__.py +0 -0
  34. {mns_scheduler-1.1.5.5 → mns_scheduler-1.1.5.8}/mns_scheduler/concept/ths/detaill/ths_concept_detail_api.py +0 -0
  35. {mns_scheduler-1.1.5.5 → mns_scheduler-1.1.5.8}/mns_scheduler/concept/ths/sync_new_index/__init__.py +0 -0
  36. {mns_scheduler-1.1.5.5 → mns_scheduler-1.1.5.8}/mns_scheduler/concept/ths/sync_new_index/sync_ths_concept_new_index_api.py +0 -0
  37. {mns_scheduler-1.1.5.5 → mns_scheduler-1.1.5.8}/mns_scheduler/concept/ths/update_concept_info/__init__.py +0 -0
  38. {mns_scheduler-1.1.5.5 → mns_scheduler-1.1.5.8}/mns_scheduler/concept/ths/update_concept_info/sync_one_concept_all_symbols_api.py +0 -0
  39. {mns_scheduler-1.1.5.5 → mns_scheduler-1.1.5.8}/mns_scheduler/concept/ths/update_concept_info/sync_one_symbol_all_concepts_api.py +0 -0
  40. {mns_scheduler-1.1.5.5 → mns_scheduler-1.1.5.8}/mns_scheduler/db/__init__.py +0 -0
  41. {mns_scheduler-1.1.5.5 → mns_scheduler-1.1.5.8}/mns_scheduler/db/col_move_service.py +0 -0
  42. {mns_scheduler-1.1.5.5 → mns_scheduler-1.1.5.8}/mns_scheduler/db/db_status.py +0 -0
  43. {mns_scheduler-1.1.5.5 → mns_scheduler-1.1.5.8}/mns_scheduler/db/real_time_task_check.py +0 -0
  44. {mns_scheduler-1.1.5.5 → mns_scheduler-1.1.5.8}/mns_scheduler/db/script/__init__.py +0 -0
  45. {mns_scheduler-1.1.5.5 → mns_scheduler-1.1.5.8}/mns_scheduler/db/script/col_move_script.py +0 -0
  46. {mns_scheduler-1.1.5.5 → mns_scheduler-1.1.5.8}/mns_scheduler/debt/__init__.py +0 -0
  47. {mns_scheduler-1.1.5.5 → mns_scheduler-1.1.5.8}/mns_scheduler/debt/kzz_bond_info_sync.py +0 -0
  48. {mns_scheduler-1.1.5.5 → mns_scheduler-1.1.5.8}/mns_scheduler/dt/__init__.py +0 -0
  49. {mns_scheduler-1.1.5.5 → mns_scheduler-1.1.5.8}/mns_scheduler/dt/stock_dt_pool_sync.py +0 -0
  50. {mns_scheduler-1.1.5.5 → mns_scheduler-1.1.5.8}/mns_scheduler/finance/__init__.py +0 -0
  51. {mns_scheduler-1.1.5.5 → mns_scheduler-1.1.5.8}/mns_scheduler/finance/em_financial_asset_liability_sync_service_api.py +0 -0
  52. {mns_scheduler-1.1.5.5 → mns_scheduler-1.1.5.8}/mns_scheduler/finance/em_financial_profit_sync_service_api.py +0 -0
  53. {mns_scheduler-1.1.5.5 → mns_scheduler-1.1.5.8}/mns_scheduler/finance/finance_common_api.py +0 -0
  54. {mns_scheduler-1.1.5.5 → mns_scheduler-1.1.5.8}/mns_scheduler/hk/__init__.py +0 -0
  55. {mns_scheduler-1.1.5.5 → mns_scheduler-1.1.5.8}/mns_scheduler/hk/hk_industry_info_sync_service_api.py +0 -0
  56. {mns_scheduler-1.1.5.5 → mns_scheduler-1.1.5.8}/mns_scheduler/irm/__init__.py +0 -0
  57. {mns_scheduler-1.1.5.5 → mns_scheduler-1.1.5.8}/mns_scheduler/irm/api/__init__.py +0 -0
  58. {mns_scheduler-1.1.5.5 → mns_scheduler-1.1.5.8}/mns_scheduler/irm/api/sh_stock_sns_sse_info_api.py +0 -0
  59. {mns_scheduler-1.1.5.5 → mns_scheduler-1.1.5.8}/mns_scheduler/irm/api/sz_stock_sns_sse_info_api.py +0 -0
  60. {mns_scheduler-1.1.5.5 → mns_scheduler-1.1.5.8}/mns_scheduler/irm/stock_irm_cninfo_service.py +0 -0
  61. {mns_scheduler-1.1.5.5 → mns_scheduler-1.1.5.8}/mns_scheduler/k_line/__init__.py +0 -0
  62. {mns_scheduler-1.1.5.5 → mns_scheduler-1.1.5.8}/mns_scheduler/k_line/clean/__init__.py +0 -0
  63. {mns_scheduler-1.1.5.5 → mns_scheduler-1.1.5.8}/mns_scheduler/k_line/clean/daily/__init__.py +0 -0
  64. {mns_scheduler-1.1.5.5 → mns_scheduler-1.1.5.8}/mns_scheduler/k_line/clean/daily/daily_k_line_clean_common_service.py +0 -0
  65. {mns_scheduler-1.1.5.5 → mns_scheduler-1.1.5.8}/mns_scheduler/k_line/clean/daily/daily_k_line_service.py +0 -0
  66. {mns_scheduler-1.1.5.5 → mns_scheduler-1.1.5.8}/mns_scheduler/k_line/clean/k_line_info_clean_impl.py +0 -0
  67. {mns_scheduler-1.1.5.5 → mns_scheduler-1.1.5.8}/mns_scheduler/k_line/clean/k_line_info_clean_task.py +0 -0
  68. {mns_scheduler-1.1.5.5 → mns_scheduler-1.1.5.8}/mns_scheduler/k_line/clean/week_month/__init__.py +0 -0
  69. {mns_scheduler-1.1.5.5 → mns_scheduler-1.1.5.8}/mns_scheduler/k_line/clean/week_month/normal_week_month_k_line_service.py +0 -0
  70. {mns_scheduler-1.1.5.5 → mns_scheduler-1.1.5.8}/mns_scheduler/k_line/clean/week_month/sub_new_week_month_k_line_service.py +0 -0
  71. {mns_scheduler-1.1.5.5 → mns_scheduler-1.1.5.8}/mns_scheduler/k_line/hot_stocks/__init__.py +0 -0
  72. {mns_scheduler-1.1.5.5 → mns_scheduler-1.1.5.8}/mns_scheduler/k_line/hot_stocks/recent_hot_stocks_clean_service.py +0 -0
  73. {mns_scheduler-1.1.5.5 → mns_scheduler-1.1.5.8}/mns_scheduler/k_line/sync/__init__.py +0 -0
  74. {mns_scheduler-1.1.5.5 → mns_scheduler-1.1.5.8}/mns_scheduler/k_line/sync/bfq_k_line_sync.py +0 -0
  75. {mns_scheduler-1.1.5.5 → mns_scheduler-1.1.5.8}/mns_scheduler/k_line/sync/daily_week_month_line_sync.py +0 -0
  76. {mns_scheduler-1.1.5.5 → mns_scheduler-1.1.5.8}/mns_scheduler/k_line/test/__init__.py +0 -0
  77. {mns_scheduler-1.1.5.5 → mns_scheduler-1.1.5.8}/mns_scheduler/k_line/test/k_line_info_clean_his_data.py +0 -0
  78. {mns_scheduler-1.1.5.5 → mns_scheduler-1.1.5.8}/mns_scheduler/kpl/__init__.py +0 -0
  79. {mns_scheduler-1.1.5.5 → mns_scheduler-1.1.5.8}/mns_scheduler/kpl/selection/__init__.py +0 -0
  80. {mns_scheduler-1.1.5.5 → mns_scheduler-1.1.5.8}/mns_scheduler/kpl/selection/index/__init__.py +0 -0
  81. {mns_scheduler-1.1.5.5 → mns_scheduler-1.1.5.8}/mns_scheduler/kpl/selection/index/sync_best_choose_his_index.py +0 -0
  82. {mns_scheduler-1.1.5.5 → mns_scheduler-1.1.5.8}/mns_scheduler/kpl/selection/index/sync_best_choose_index.py +0 -0
  83. {mns_scheduler-1.1.5.5 → mns_scheduler-1.1.5.8}/mns_scheduler/kpl/selection/symbol/__init__.py +0 -0
  84. {mns_scheduler-1.1.5.5 → mns_scheduler-1.1.5.8}/mns_scheduler/kpl/selection/symbol/sync_best_choose_symbol.py +0 -0
  85. {mns_scheduler-1.1.5.5 → mns_scheduler-1.1.5.8}/mns_scheduler/kpl/selection/total/__init__.py +0 -0
  86. {mns_scheduler-1.1.5.5 → mns_scheduler-1.1.5.8}/mns_scheduler/kpl/selection/total/sync_kpl_best_total_sync_api.py +0 -0
  87. {mns_scheduler-1.1.5.5 → mns_scheduler-1.1.5.8}/mns_scheduler/lhb/__init__.py +0 -0
  88. {mns_scheduler-1.1.5.5 → mns_scheduler-1.1.5.8}/mns_scheduler/lhb/stock_lhb_sync_service.py +0 -0
  89. {mns_scheduler-1.1.5.5 → mns_scheduler-1.1.5.8}/mns_scheduler/open/__init__.py +0 -0
  90. {mns_scheduler-1.1.5.5 → mns_scheduler-1.1.5.8}/mns_scheduler/open/sync_one_day_open_data_to_db_service.py +0 -0
  91. {mns_scheduler-1.1.5.5 → mns_scheduler-1.1.5.8}/mns_scheduler/risk/__init__.py +0 -0
  92. {mns_scheduler-1.1.5.5 → mns_scheduler-1.1.5.8}/mns_scheduler/risk/compliance/__init__.py +0 -0
  93. {mns_scheduler-1.1.5.5 → mns_scheduler-1.1.5.8}/mns_scheduler/risk/compliance/undisclosed_annual_report_api.py +0 -0
  94. {mns_scheduler-1.1.5.5 → mns_scheduler-1.1.5.8}/mns_scheduler/risk/financial/__init__.py +0 -0
  95. {mns_scheduler-1.1.5.5 → mns_scheduler-1.1.5.8}/mns_scheduler/risk/financial/annual_report_audit_check_api.py +0 -0
  96. {mns_scheduler-1.1.5.5 → mns_scheduler-1.1.5.8}/mns_scheduler/risk/financial/net_assets_check_api.py +0 -0
  97. {mns_scheduler-1.1.5.5 → mns_scheduler-1.1.5.8}/mns_scheduler/risk/financial/profit_income_check_api.py +0 -0
  98. {mns_scheduler-1.1.5.5 → mns_scheduler-1.1.5.8}/mns_scheduler/risk/financial/stock_equity_mortgage_check_api.py +0 -0
  99. {mns_scheduler-1.1.5.5 → mns_scheduler-1.1.5.8}/mns_scheduler/risk/financial_report_risk_check_api.py +0 -0
  100. {mns_scheduler-1.1.5.5 → mns_scheduler-1.1.5.8}/mns_scheduler/risk/major_violations/__init__.py +0 -0
  101. {mns_scheduler-1.1.5.5 → mns_scheduler-1.1.5.8}/mns_scheduler/risk/major_violations/register_and_investigate_stock_sync_api.py +0 -0
  102. {mns_scheduler-1.1.5.5 → mns_scheduler-1.1.5.8}/mns_scheduler/risk/self/__init__.py +0 -0
  103. {mns_scheduler-1.1.5.5 → mns_scheduler-1.1.5.8}/mns_scheduler/risk/self/wei_pan_stock_api.py +0 -0
  104. {mns_scheduler-1.1.5.5 → mns_scheduler-1.1.5.8}/mns_scheduler/risk/test/__init__.py +0 -0
  105. {mns_scheduler-1.1.5.5 → mns_scheduler-1.1.5.8}/mns_scheduler/risk/test/fix_blask_list.py +0 -0
  106. {mns_scheduler-1.1.5.5 → mns_scheduler-1.1.5.8}/mns_scheduler/risk/transactions/__init__.py +0 -0
  107. {mns_scheduler-1.1.5.5 → mns_scheduler-1.1.5.8}/mns_scheduler/risk/transactions/transactions_check_api.py +0 -0
  108. {mns_scheduler-1.1.5.5 → mns_scheduler-1.1.5.8}/mns_scheduler/self_choose/__init__.py +0 -0
  109. {mns_scheduler-1.1.5.5 → mns_scheduler-1.1.5.8}/mns_scheduler/self_choose/ths_self_choose_service.py +0 -0
  110. {mns_scheduler-1.1.5.5 → mns_scheduler-1.1.5.8}/mns_scheduler/trade/__init__.py +0 -0
  111. {mns_scheduler-1.1.5.5 → mns_scheduler-1.1.5.8}/mns_scheduler/trade/auto_ipo_buy_api.py +0 -0
  112. {mns_scheduler-1.1.5.5 → mns_scheduler-1.1.5.8}/mns_scheduler/trade/auto_login/__init__.py +0 -0
  113. {mns_scheduler-1.1.5.5 → mns_scheduler-1.1.5.8}/mns_scheduler/trade/auto_login/trader_auto_service.py +0 -0
  114. {mns_scheduler-1.1.5.5 → mns_scheduler-1.1.5.8}/mns_scheduler/trade/auto_sell_service_api.py +0 -0
  115. {mns_scheduler-1.1.5.5 → mns_scheduler-1.1.5.8}/mns_scheduler/trade/sync_position_api.py +0 -0
  116. {mns_scheduler-1.1.5.5 → mns_scheduler-1.1.5.8}/mns_scheduler/trade/task/__init__.py +0 -0
  117. {mns_scheduler-1.1.5.5 → mns_scheduler-1.1.5.8}/mns_scheduler/trade/task/trader_task_service.py +0 -0
  118. {mns_scheduler-1.1.5.5 → mns_scheduler-1.1.5.8}/mns_scheduler/zb/__init__.py +0 -0
  119. {mns_scheduler-1.1.5.5 → mns_scheduler-1.1.5.8}/mns_scheduler/zb/stock_zb_pool_sync.py +0 -0
  120. {mns_scheduler-1.1.5.5 → mns_scheduler-1.1.5.8}/mns_scheduler/zt/__init__.py +0 -0
  121. {mns_scheduler-1.1.5.5 → mns_scheduler-1.1.5.8}/mns_scheduler/zt/connected_boards/__init__.py +0 -0
  122. {mns_scheduler-1.1.5.5 → mns_scheduler-1.1.5.8}/mns_scheduler/zt/connected_boards/zt_five_boards_sync_api.py +0 -0
  123. {mns_scheduler-1.1.5.5 → mns_scheduler-1.1.5.8}/mns_scheduler/zt/export/__init__.py +0 -0
  124. {mns_scheduler-1.1.5.5 → mns_scheduler-1.1.5.8}/mns_scheduler/zt/export/export_kcx_high_chg_open_data_to_excel.py +0 -0
  125. {mns_scheduler-1.1.5.5 → mns_scheduler-1.1.5.8}/mns_scheduler/zt/high_chg/__init__.py +0 -0
  126. {mns_scheduler-1.1.5.5 → mns_scheduler-1.1.5.8}/mns_scheduler/zt/high_chg/sync_high_chg_pool_service.py +0 -0
  127. {mns_scheduler-1.1.5.5 → mns_scheduler-1.1.5.8}/mns_scheduler/zt/high_chg/sync_high_chg_real_time_quotes_service.py +0 -0
  128. {mns_scheduler-1.1.5.5 → mns_scheduler-1.1.5.8}/mns_scheduler/zt/open_data/__init__.py +0 -0
  129. {mns_scheduler-1.1.5.5 → mns_scheduler-1.1.5.8}/mns_scheduler/zt/open_data/kcx_high_chg_open_data_sync.py +0 -0
  130. {mns_scheduler-1.1.5.5 → mns_scheduler-1.1.5.8}/mns_scheduler/zt/script/__init__.py +0 -0
  131. {mns_scheduler-1.1.5.5 → mns_scheduler-1.1.5.8}/mns_scheduler/zt/script/kcx_high_chg_open_his_data_handle.py +0 -0
  132. {mns_scheduler-1.1.5.5 → mns_scheduler-1.1.5.8}/mns_scheduler/zt/script/sync_high_chg_pool_his_data.py +0 -0
  133. {mns_scheduler-1.1.5.5 → mns_scheduler-1.1.5.8}/mns_scheduler/zt/script/sync_now_higt_chg_zt.py +0 -0
  134. {mns_scheduler-1.1.5.5 → mns_scheduler-1.1.5.8}/mns_scheduler/zt/zt_pool/__init__.py +0 -0
  135. {mns_scheduler-1.1.5.5 → mns_scheduler-1.1.5.8}/mns_scheduler/zt/zt_pool/em_zt_pool_sync_api.py +0 -0
  136. {mns_scheduler-1.1.5.5 → mns_scheduler-1.1.5.8}/mns_scheduler/zz_task/__init__.py +0 -0
  137. {mns_scheduler-1.1.5.5 → mns_scheduler-1.1.5.8}/mns_scheduler.egg-info/SOURCES.txt +0 -0
  138. {mns_scheduler-1.1.5.5 → mns_scheduler-1.1.5.8}/mns_scheduler.egg-info/dependency_links.txt +0 -0
  139. {mns_scheduler-1.1.5.5 → mns_scheduler-1.1.5.8}/mns_scheduler.egg-info/top_level.txt +0 -0
  140. {mns_scheduler-1.1.5.5 → mns_scheduler-1.1.5.8}/setup.cfg +0 -0
@@ -1,3 +1,3 @@
1
1
  Metadata-Version: 2.1
2
2
  Name: mns-scheduler
3
- Version: 1.1.5.5
3
+ Version: 1.1.5.8
@@ -401,7 +401,12 @@ def get_recent_year_income(symbol, company_info_type, exist_company_df):
401
401
  em_stock_profit = mongodb_util.descend_query(query, db_name_constant.EM_STOCK_PROFIT, 'REPORT_DATE', 1)
402
402
  if data_frame_util.is_not_empty(em_stock_profit):
403
403
  company_info_type['operate_profit'] = list(em_stock_profit['OPERATE_PROFIT'])[0]
404
- company_info_type['total_operate_income'] = list(em_stock_profit['TOTAL_OPERATE_INCOME'])[0]
404
+ total_operate_income = list(em_stock_profit['TOTAL_OPERATE_INCOME'])[0]
405
+ # 金融机构大多收入计入在这个字段中
406
+ if total_operate_income == 0:
407
+ total_operate_income = list(em_stock_profit['OPERATE_INCOME'])[0]
408
+
409
+ company_info_type['total_operate_income'] = total_operate_income
405
410
  else:
406
411
  company_info_type['operate_profit'] = 0
407
412
  company_info_type['total_operate_income'] = 0
@@ -420,5 +425,8 @@ if __name__ == '__main__':
420
425
  # 300293
421
426
  # sync_company_base_info(None)
422
427
  # new_company_info_update()
423
- sync_company_base_info(None)
428
+ query = {"total_operate_income": 0}
429
+ un_report_company_info = mongodb_util.find_query_data(db_name_constant.COMPANY_INFO, query)
430
+ symbol_list = list(un_report_company_info['symbol'])
431
+ sync_company_base_info(symbol_list)
424
432
  # group_by_industry()
@@ -17,6 +17,7 @@ import mns_scheduler.risk.financial_report_risk_check_api as financial_report_ri
17
17
  import mns_common.utils.data_frame_util as data_frame_util
18
18
  import mns_scheduler.finance.finance_common_api as finance_common_api
19
19
  import mns_scheduler.risk.compliance.undisclosed_annual_report_api as undisclosed_annual_report_api
20
+
20
21
  mongodb_util = MongodbUtil('27017')
21
22
 
22
23
 
@@ -60,6 +61,8 @@ def sync_financial_report():
60
61
  sync_asset_liability_report(period_time, sync_time, period)
61
62
  # 未出报告check
62
63
  undisclosed_annual_report_api.un_disclosed_report_check(sync_time, now_year, period, period_time)
64
+ # 新股或者未出报告的
65
+ sync_miss_report(sync_time)
63
66
 
64
67
 
65
68
  # 同步资产表
@@ -82,7 +85,7 @@ def sync_asset_liability_report(period_time, sync_time, period):
82
85
 
83
86
  # 年报审核
84
87
  financial_report_risk_check_api.financial_report_check(new_asset_df, period_time, period,
85
- db_name_constant.EM_STOCK_ASSET_LIABILITY)
88
+ db_name_constant.EM_STOCK_ASSET_LIABILITY)
86
89
 
87
90
  except Exception as e:
88
91
  logger.error("同步资产表异常:{},{},{}", symbol, period_time, e)
@@ -104,10 +107,43 @@ def sync_profit_report(period_time, sync_time, period):
104
107
 
105
108
  # 年报审核
106
109
  financial_report_risk_check_api.financial_report_check(new_profit_df, period_time,
107
- period, db_name_constant.EM_STOCK_PROFIT)
110
+ period, db_name_constant.EM_STOCK_PROFIT)
108
111
  except Exception as e:
109
112
  logger.error("同步利润表异常:{},{},{}", symbol, period_time, e)
110
113
 
111
114
 
115
+ def sync_miss_report(sync_time):
116
+ query = {"total_operate_income": 0}
117
+ un_report_company_info = mongodb_util.find_query_data(db_name_constant.COMPANY_INFO, query)
118
+ for un_report_one in un_report_company_info.itertuples():
119
+ try:
120
+ symbol = un_report_one.symbol
121
+ new_profit_df = em_financial_profit_sync_service_api.get_em_profit_api(symbol)
122
+ if data_frame_util.is_empty(new_profit_df):
123
+ continue
124
+ new_profit_df['sync_time'] = sync_time
125
+
126
+ new_profit_df['symbol'] = symbol
127
+ mongodb_util.insert_mongo(new_profit_df, db_name_constant.EM_STOCK_PROFIT)
128
+
129
+ new_asset_df = em_financial_asset_liability_sync_service_api.get_em_asset_liability_api(symbol)
130
+ # 负债比
131
+ new_asset_df['liability_ratio'] = round(
132
+ new_asset_df['TOTAL_LIABILITIES'] * 100 / new_asset_df['TOTAL_ASSETS'],
133
+ 2)
134
+ new_asset_df['sync_time'] = sync_time
135
+ if data_frame_util.is_empty(new_asset_df):
136
+ continue
137
+ new_asset_df['symbol'] = symbol
138
+ mongodb_util.insert_mongo(new_asset_df, db_name_constant.EM_STOCK_ASSET_LIABILITY)
139
+
140
+ except Exception as e:
141
+ logger.error("同步财报补偿任务异常:{},{},{}", symbol, e)
142
+
143
+
112
144
  if __name__ == '__main__':
113
- sync_financial_report()
145
+ now_date = datetime.now()
146
+ now_year = now_date.year
147
+ now_month = now_date.month
148
+ sync_time_test = now_date.strftime('%Y-%m-%d %H:%M:%S')
149
+ sync_miss_report(sync_time_test)
@@ -10,8 +10,11 @@ import akshare as ak
10
10
  import mns_common.constant.db_name_constant as db_name_constant
11
11
  from mns_common.db.MongodbUtil import MongodbUtil
12
12
  from functools import lru_cache
13
+ import mns_common.api.hk.ths_hk_company_info_api as ths_hk_company_info_api
14
+ import pandas as pd
13
15
 
14
16
  mongodb_util = MongodbUtil('27017')
17
+ from loguru import logger
15
18
 
16
19
 
17
20
  # 获取陆股通的列表
@@ -35,6 +38,14 @@ def get_em_cookie():
35
38
  return cookie
36
39
 
37
40
 
41
+ @lru_cache(maxsize=None)
42
+ def get_ths_cookie():
43
+ query = {"type": "ths_cookie"}
44
+ stock_account_info = mongodb_util.find_query_data(db_name_constant.STOCK_ACCOUNT_INFO, query)
45
+ cookie = list(stock_account_info['cookie'])[0]
46
+ return cookie
47
+
48
+
38
49
  # https://quote.eastmoney.com/center/gridlist.html#hk_stocks
39
50
  def sync_hk_company_info():
40
51
  cookie = get_em_cookie()
@@ -64,7 +75,27 @@ def sync_hk_company_info():
64
75
 
65
76
  hk_real_time_df.fillna(0, inplace=True)
66
77
  mongodb_util.remove_all_data(db_name_constant.COMPANY_INFO_HK)
67
- mongodb_util.save_mongo(hk_real_time_df, db_name_constant.COMPANY_INFO_HK)
78
+ for stock_one in hk_real_time_df.itertuples():
79
+ try:
80
+ symbol = stock_one.symbol
81
+ ths_cookie = get_ths_cookie()
82
+ company_hk_df = ths_hk_company_info_api.get_hk_company_info(symbol, ths_cookie)
83
+
84
+ company_hk_df.rename({
85
+ "industry": "industry_detail",
86
+ "list_date": "list_date_str",
87
+ })
88
+
89
+ hk_real_time_one_df = hk_real_time_df.loc[hk_real_time_df['symbol'] == symbol]
90
+
91
+ company_hk_df = company_hk_df.set_index(['symbol'], drop=True)
92
+ hk_real_time_one_df = hk_real_time_one_df.set_index(['symbol'], drop=False)
93
+ company_hk_df = pd.merge(company_hk_df, hk_real_time_one_df, how='outer',
94
+ left_index=True, right_index=True)
95
+
96
+ mongodb_util.save_mongo(company_hk_df, db_name_constant.COMPANY_INFO_HK)
97
+ except BaseException as e:
98
+ logger.error("同步港股公司信息异常:{},{}", symbol, e)
68
99
 
69
100
 
70
101
  if __name__ == '__main__':
@@ -230,6 +230,8 @@ if __name__ == '__main__':
230
230
  # trade_date = '2024-08-01'
231
231
  # zt_df = ths_zt_pool(trade_date, None)
232
232
  # save_ths_zt_pool(zt_df, trade_date)
233
+ trade_date = '2024-09-30'
234
+ zt_df = ths_zt_pool(trade_date, None)
233
235
 
234
236
  query = {"$and": [{'_id': {"$gte": '2013-07-04'}}, {'_id': {"$lte": '2015-04-30'}}]}
235
237
  # query = {"$and": [{'_id': {"$gte": '2024-07-24'}}, {'_id': {"$lte": '2024-08-01'}}]}
@@ -477,7 +477,7 @@ blockingScheduler.add_job(self_choose_stock_task, 'cron', hour='17,22', minute='
477
477
  blockingScheduler.add_job(sync_financial_report_task, 'cron', hour='17', minute='30')
478
478
 
479
479
  # 同步港股公司和行业信息
480
- blockingScheduler.add_job(sync_hk_company_industry_info, 'cron', hour='09,19', minute='10')
480
+ blockingScheduler.add_job(sync_hk_company_industry_info, 'cron', hour='08,19', minute='10')
481
481
 
482
482
  print('定时任务启动成功')
483
483
  blockingScheduler.start()
@@ -1,3 +1,3 @@
1
1
  Metadata-Version: 2.1
2
2
  Name: mns-scheduler
3
- Version: 1.1.5.5
3
+ Version: 1.1.5.8
@@ -2,7 +2,7 @@ from setuptools import setup, find_packages
2
2
 
3
3
  setup(
4
4
  name='mns-scheduler',
5
- version='1.1.5.5',
5
+ version='1.1.5.8',
6
6
  packages=find_packages(),
7
7
  install_requires=[], # 如果有依赖项,可以在这里列出
8
8
  )