Commit caa8801e authored by pengxiong's avatar pengxiong

编辑报告

parent 6bc337fc
...@@ -128,6 +128,7 @@ def edit_report(args): ...@@ -128,6 +128,7 @@ def edit_report(args):
type = args.get('type') type = args.get('type')
ifa_id = args.get('ifa_id') ifa_id = args.get('ifa_id')
report_data = args.get('report_data') report_data = args.get('report_data')
pdf_name = str(uuid.uuid4()) + '.pdf'
res = [] res = []
with TAMP_SQL(tamp_diagnose_app_engine) as tamp_diagnose_app: with TAMP_SQL(tamp_diagnose_app_engine) as tamp_diagnose_app:
tamp_diagnose_session = tamp_diagnose_app.session tamp_diagnose_session = tamp_diagnose_app.session
...@@ -155,9 +156,67 @@ def edit_report(args): ...@@ -155,9 +156,67 @@ def edit_report(args):
'report_data': report_data, 'report_data': report_data,
'update_time': datetime.datetime.now() 'update_time': datetime.datetime.now()
}) })
if r > 0: pid = os.fork()
return True if pid == 0:
return False with TAMP_SQL(tamp_diagnose_app_engine) as tamp_diagnose_app:
tamp_diagnose_session = tamp_diagnose_app.session
hold_report = tamp_diagnose_session.query(HoldReport).filter(and_(
HoldReport.id == id,
HoldReport.ifa_id == ifa_id,
))
hold_diagnose_report = tamp_diagnose_session.query(HoldDiagnoseReport).filter(and_(
HoldDiagnoseReport.id == id,
HoldDiagnoseReport.ifa_id == ifa_id,
))
periodic_report = tamp_diagnose_session.query(PeriodicReport).filter(and_(
PeriodicReport.id == id,
PeriodicReport.ifa_id == ifa_id,
))
if type == 1:
res = hold_report
elif type == 2:
res = hold_diagnose_report
elif type == 3:
res = periodic_report
if not res:
return False
res.update({
'update_status': 1,
'update_time': datetime.datetime.now()
})
try:
dt = DataIntegrate(ifa_id=ifa_id, customer_id=res[0].customer_id, pdf_name=pdf_name, type=type)
dt.render_data(data=json.loads(report_data))
except:
pass
with TAMP_SQL(tamp_diagnose_app_engine) as tamp_diagnose_app:
tamp_diagnose_session = tamp_diagnose_app.session
hold_report = tamp_diagnose_session.query(HoldReport).filter(and_(
HoldReport.id == id,
HoldReport.ifa_id == ifa_id,
))
hold_diagnose_report = tamp_diagnose_session.query(HoldDiagnoseReport).filter(and_(
HoldDiagnoseReport.id == id,
HoldDiagnoseReport.ifa_id == ifa_id,
))
periodic_report = tamp_diagnose_session.query(PeriodicReport).filter(and_(
PeriodicReport.id == id,
PeriodicReport.ifa_id == ifa_id,
))
if type == 1:
res = hold_report
elif type == 2:
res = hold_diagnose_report
elif type == 3:
res = periodic_report
if not res:
return False
res.update({
'file': pdf_name,
'update_status': 2,
'update_time': datetime.datetime.now()
})
return True
def make_report(args): def make_report(args):
...@@ -187,13 +246,13 @@ def make_report(args): ...@@ -187,13 +246,13 @@ def make_report(args):
tamp_diagnose_session.add(report_record) tamp_diagnose_session.add(report_record)
tamp_diagnose_session.flush() tamp_diagnose_session.flush()
record_id = report_record.id record_id = report_record.id
# pid = os.fork() pid = os.fork()
if 0 == 0: if pid == 0:
# try: try:
dt = DataIntegrate(ifa_id=ifa_id, customer_id=customer_id, pdf_name=pdf_name, type=type) dt = DataIntegrate(ifa_id=ifa_id, customer_id=customer_id, pdf_name=pdf_name, type=type)
dt.render_data(data=report_data) dt.render_data(data=report_data)
# except: except:
# pass pass
with TAMP_SQL(tamp_diagnose_app_engine) as tamp_diagnose_app: with TAMP_SQL(tamp_diagnose_app_engine) as tamp_diagnose_app:
tamp_diagnose_session = tamp_diagnose_app.session tamp_diagnose_session = tamp_diagnose_app.session
hold_report = tamp_diagnose_session.query(HoldReport).filter(and_( hold_report = tamp_diagnose_session.query(HoldReport).filter(and_(
...@@ -221,6 +280,5 @@ def make_report(args): ...@@ -221,6 +280,5 @@ def make_report(args):
'update_status': 2, 'update_status': 2,
'update_time': datetime.datetime.now() 'update_time': datetime.datetime.now()
}) })
return True
else: else:
return True return {'record_id': record_id}
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment