yst_job.py 3.0 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586878889909192939495
  1. #!/usr/bin/env python3
  2. # -*- coding: utf-8 -*-
  3. from datetime import datetime
  4. from sqlalchemy.orm import Session
  5. from utils import *
  6. from utils.redis_util import *
  7. from models import *
  8. from exceptions import *
  9. from database import get_local_db
  10. from extensions import logger
  11. import traceback
  12. def daiban_proc():
  13. try:
  14. with get_local_db() as db:
  15. logger.info(datetime.now())
  16. check_qyjcxx_ok(db)
  17. check_qyyjya_ok(db)
  18. check_yjylzj_ok(db)
  19. # db.query(YstQyjcxxEntity).update({"update_time": datetime.now()})
  20. # db.commit()
  21. # db.query(YstQyyjyaEntity).update({"update_time": datetime.now()})
  22. # db.commit()
  23. # db.query(YstYjylzjEntity).update({"update_time": datetime.now()})
  24. # db.commit()
  25. except Exception as e:
  26. traceback.print_exc()
  27. # 企业基础信息
  28. def check_qyjcxx_ok(db: Session):
  29. sxmc = '应急企业基础信息'
  30. rows = db.query(YstQyjcxxEntity).filter(YstQyjcxxEntity.status == 88).all()
  31. for row in rows:
  32. update_yst_status(row, 2, sxmc, db)
  33. rows = db.query(YstQyjcxxEntity).filter(YstQyjcxxEntity.status == 99).all()
  34. for row in rows:
  35. update_yst_status(row, 3, sxmc, db)
  36. # 应急预案上报
  37. def check_qyyjya_ok(db: Session):
  38. sxmc = '应急预案上报'
  39. rows = db.query(YstQyyjyaEntity).filter(YstQyyjyaEntity.status == 88).all()
  40. for row in rows:
  41. update_yst_status(row, 2, sxmc, db)
  42. rows = db.query(YstQyyjyaEntity).filter(YstQyyjyaEntity.status == 99).all()
  43. for row in rows:
  44. update_yst_status(row, 3, sxmc, db)
  45. # 应急演练总结
  46. def check_yjylzj_ok(db: Session):
  47. sxmc = '应急演练总结'
  48. rows = db.query(YstYjylzjEntity).filter(YstYjylzjEntity.status == 88).all()
  49. for row in rows:
  50. update_yst_status(row, 2, sxmc, db)
  51. rows = db.query(YstYjylzjEntity).filter(YstYjylzjEntity.status == 99).all()
  52. for row in rows:
  53. update_yst_status(row, 3, sxmc, db)
  54. def update_yst_status(row: any, status:int, sxmc: str, db: Session):
  55. sfzh = row.sfzh
  56. bzid = row.bzid
  57. if status == 2:
  58. row.status = status
  59. row.updateTime = datetime.now()
  60. db.commit()
  61. jdsm = '茂名市应急管理局审核通过您所递交的申请材料。'
  62. process_entity = YstProcessEntity(bzid=bzid, sfzh=sfzh, zt=1, ztsm='审核通过', jdsm=jdsm, djsj=unixstamp())
  63. db.add(process_entity)
  64. db.commit()
  65. jdsm = f"您的{sxmc}办理申请已成功办结。"
  66. process_entity = YstProcessEntity(bzid=bzid, sfzh=sfzh, zt=4, ztsm='已办结', jdsm=jdsm, djsj=unixstamp()+1)
  67. db.add(process_entity)
  68. db.commit()
  69. if status == 3:
  70. row.status = 3
  71. row.updateTime = datetime.now()
  72. db.commit()
  73. jdsm = '茂名市应急管理局已驳回您所递交的申请材料。'
  74. process_entity = YstProcessEntity(bzid=bzid, sfzh=sfzh, zt=9, ztsm='已驳回', jdsm=jdsm, djsj=unixstamp())
  75. db.add(process_entity)
  76. db.commit()