def repairs(): """ 添加设备维修任务 :return: """ if request.method == 'GET': data = db_session.query(Repair).all() return json.dumps({ 'code': '10001', 'message': '操作成功', 'data': data }, cls=AlchemyEncoder, ensure_ascii=False) if request.method == 'POST': json_data = request.values data = Repair(EquipmentCode=json_data.get('EquipmentCode'), No=get_no(json_data.get('ApplyTime')), Worker=current_user.Name, ApplyTime=json_data.get('ApplyTime'), FaultExpound=json_data.get('FaultExpound')) equipment = db_session.query(Equipment).filter_by( EquipmentCode=json_data.get('EquipmentCode')).first() equipment.Status = '待接单' db_session.add_all([data, equipment]) db_session.commit() db_session.close() return json.dumps({ 'code': '10000', 'message': '操作成功' }, cls=AlchemyEncoder, ensure_ascii=False)
def repair_tasks(p): """ 更新维修任务表的状态 :param p: 更改工单状态 :return: """ if p == 'jiedan': json_data = request.values data = db_session.query(Repair).filter_by( No=json_data.get('No')).first() data.Status = '维修中' data.ReceiveWorker = current_user.Name data.ReceiveTime = json_data.get('Time') equipment = db_session.query(Equipment).filter_by( EquipmentCode=json_data.get('EquipmentCode')).first() equipment.Status = '维修中' db_session.add_all([data, equipment]) db_session.commit() db_session.close() return json.dumps({ 'code': '10001', 'message': '操作成功' }, cls=AlchemyEncoder, ensure_ascii=False) if p == 'over': json_data = request.values data = db_session.query(Repair).filter_by( No=json_data.get('No')).first() task_data = RepairTask(EquipmentCode=data.EquipmentCode, No=data.No, Status='维修完成', Worker=data.Worker, ReceiveWorker=data.ReceiveWorker, Content=json_data.get('Content'), ApplyTime=data.ApplyTime, ReceiveTime=data.ReceiveTime, EndTime=json_data.get('EndTime')) equipment = db_session.query(Equipment).filter_by( EquipmentCode=json_data.get('EquipmentCode')).first() equipment.Status = '运行中' db_session.add_all([task_data, equipment]) db_session.delete(data) db_session.commit() db_session.close() return json.dumps({ 'code': '10001', 'message': '操作成功' }, cls=AlchemyEncoder, ensure_ascii=False)
def keep_plans(): """保养计划""" try: json_data = request.get_json() # equipments = ['XXF-2', 'XXF-1', 'PYF-1'] equipments = json_data.get('EquipmentCode') if len(equipments) == 1: equipment_code = equipments[0] else: equipment_code = ' '.join(equipments) work_time = add_date(json_data.get('WeekTime'), json_data.get('StartTime')) work_type = json_data.get('Type') week_time = '单次' if work_type == '单次' else json_data.get('WeekTime') data = KeepPlan(EquipmentCode=equipment_code, No=get_no(json_data.get('ApplyTime')), Worker=current_user.Name, ApplyTime=json_data.get('ApplyTime'), Type=json_data.get('Type'), StartTime=json_data.get('StartTime'), Describe=json_data.get('Describe'), WorkTime=work_time, WeekTime=week_time) db_session.add(data) db_session.commit() db_session.close() return json.dumps({ 'code': '10001', 'message': '操作成功' }, cls=AlchemyEncoder, ensure_ascii=False) except Exception as e: logger.error(e) insertSyslog("error", "保养计划表添加错误:" + str(e), current_user.Name) return json.dumps({ 'code': '20002', 'message': str(e) }, cls=AlchemyEncoder, ensure_ascii=False)
def keep_tasks(): """保养任务表""" try: query_data = db_session.query(KeepPlan).filter_by(Status='待保养').all() if request.method == 'GET': # 每页多少条 limit = int(request.values.get('limit', '5')) # 当前页 offset = int(request.values.get('offset', '1')) for item in query_data: q = db_session.query(KeepTask).filter_by(No=item.No).first() if not q and get_time_stamp(item.WorkTime): data = KeepTask(EquipmentCode=item.EquipmentCode, No=item.No, Worker=item.Worker, Status=item.Status, ApplyTime=item.ApplyTime, StartTime=item.StartTime, WorkTime=item.WorkTime, WeekTime=item.WeekTime, Type=item.Type) db_session.add(data) db_session.commit() # if item.Type == '单次': # pass # db_session.delete(item) # db_session.commit() data = db_session.query(KeepTask).order_by( KeepTask.ApplyTime.desc()).limit(limit).offset( (offset - 1) * limit) total = db_session.query(KeepTask).count() return json.dumps( { 'code': '10001', 'message': '操作成功', 'data': { 'rows': data.all(), 'total': total } }, cls=AlchemyEncoder, ensure_ascii=False) if request.method == 'POST': json_data = request.values no = json_data.get('No') end_time = json_data.get('EndTime') content = json_data.get('Content') item = db_session.query(KeepTask).filter_by(No=no).first() data = KeepRecord(EquipmentCode=item.EquipmentCode, No=no, Worker=item.Worker, Status='已完成', Type=item.Type, KeepWorker=current_user.Name, ApplyTime=item.ApplyTime, StartTime=item.StartTime, Describe=item.Describe, Content=content, WeekTime=item.WeekTime, EndTime=end_time) db_session.delete(item) db_session.commit() keep_plan = db_session.query(KeepPlan).filter_by(No=no).first() if keep_plan and keep_plan.Type == '周期': keep_plan.WorkTime = add_date(keep_plan.WeekTime, keep_plan.WorkTime) db_session.add_all([data, keep_plan]) db_session.commit() db_session.close() return json.dumps({ 'code': '10001', 'message': '操作成功' }, cls=AlchemyEncoder, ensure_ascii=False) else: db_session.delete(keep_plan) db_session.add(data) db_session.commit() db_session.close() return json.dumps({ 'code': '10001', 'message': '操作成功' }, cls=AlchemyEncoder, ensure_ascii=False) except Exception as e: logger.error(e) insertSyslog("error", "保养任务表修改错误:" + str(e), current_user.Name) return json.dumps({ 'code': '20002', 'message': str(e) }, cls=AlchemyEncoder, ensure_ascii=False)
def schedule_lqt(): """排班日程""" try: if request.method == 'GET': data = db_session.query(Schedulelqt).filter_by( energystrategyCode=request.values.get('code')).all() return json.dumps({ 'code': '20001', 'message': '成功', 'data': data }, cls=AlchemyEncoder, ensure_ascii=False) if request.method == 'POST': new_start = request.values.get('start_time') new_end = request.values.get('end_time') code = request.values.get('energystrategyCode') query_list = db_session.query(Schedulelqt).filter_by( energystrategyCode=code).all() if query_list: for item in query_list: if count_time(item.enablestarttime, item.enableendtime, new_start, new_end) != 'yes': return json.dumps({ 'code': '20003', 'message': '工作时间设置出现冲突' }) data = Schedulelqt(enablestarttime=new_start, enableendtime=new_end, comment=request.values.get('comment'), energystrategyCode=code, lqt1_allowrun=request.values.get('lqt1'), lqt2_allowrun=request.values.get('lqt2')) db_session.add(data) db_session.commit() db_session.close() return json.dumps({'code': '20001', 'message': '设置成功'}) else: data = Schedulelqt(enablestarttime=new_start, comment=request.values.get('comment'), energystrategyCode=request.values.get( 'energystrategyCode'), enableendtime=new_end, lqt1_allowrun=request.values.get('lqt1'), lqt2_allowrun=request.values.get('lqt2')) db_session.add(data) db_session.commit() db_session.close() return json.dumps({'code': '20001', 'message': '设置成功'}) if request.method == 'DELETE': items = request.values.get('ID').split(',') for item in items: data = db_session.query(Schedulelqt).filter_by( ID=int(item)).first() db_session.delete(data) db_session.commit() return json.dumps({'code': '20001', 'message': '删除成功'}) if request.method == 'PUT': new_start = request.values.get('start_time') new_end = request.values.get('end_time') query_data = db_session.query(Schedulelqt).filter_by( ID=request.values.get('ID')).first() code = request.values.get('energystrategyCode') query_list = db_session.query(Schedulelqt).filter_by( energystrategyCode=code).all() results = [] for i in query_list: if i.ID != query_data.ID: results.append(i) if results: for item in results: if count_time(item.enablestarttime, item.enableendtime, new_start, new_end) != 'yes': return json.dumps({ 'code': '20003', 'message': '工作时间设置出现冲突' }) query_data.enablestarttime = new_start query_data.enableendtime = new_end query_data.comment = request.values.get('comment') query_data.lqt1_allowrun = request.values.get('lqt1') query_data.lqt2_allowrun = request.values.get('lqt2') db_session.add(query_data) db_session.commit() db_session.close() return json.dumps({'code': '20001', 'message': '设置成功'}) else: query_data.enablestarttime = new_start query_data.enableendtime = new_end query_data.comment = request.values.get('comment') query_data.lqt1_allowrun = request.values.get('lqt1') query_data.lqt2_allowrun = request.values.get('lqt2') db_session.add(query_data) db_session.commit() db_session.close() return json.dumps({'code': '20001', 'message': '设置成功'}) except Exception as e: logger.error(e) insertSyslog("error", "工时安排设置出错:" + str(e), current_user.Name) return json.dumps({ 'code': '20002', 'message': str(e) }, cls=AlchemyEncoder, ensure_ascii=False)
def DataHistorySelect(): ''' 历史数据曲线 ''' if request.method == 'GET': data = request.values try: json_str = json.dumps(data.to_dict()) if len(json_str) > 10: begin = data.get('begin') end = data.get('end') variable = data.get('variable') Name = data.get('Name') if begin and end: div = {} dic = [] dir = [] die = [] if Name == "提取": sql = "SELECT [SampleTime]," + format( variable ) + " FROM [BK].[dbo].[DataHistory] WHERE SampleTime BETWEEN '" + format( begin) + "' AND '" + format(end) + "' order by ID" re = db_session.execute(sql).fetchall() db_session.close() for i in re: t = str(i[0].strftime("%Y-%m-%d %H:%M:%S")) v = i[1] if not v: v = "" r = i[2] if not r: r = "" dir.append([t, v]) dic.append([t, r]) div["WD"] = dic div["YL"] = dir elif Name == "浓缩": sql = "SELECT [SampleTime]," + format( variable ) + " FROM [BK].[dbo].[DataHistory] WHERE SampleTime BETWEEN '" + format( begin) + "' AND '" + format(end) + "' order by ID" re = db_session.execute(sql).fetchall() db_session.close() for i in re: t = str(i[0].strftime("%Y-%m-%d %H:%M:%S")) v = i[1] if not v: v = "" r = i[2] if not r: r = "" e = i[3] if not e: e = "" dic.append([t, v]) dir.append([t, r]) die.append([t, e]) div["YL"] = dic div["MD"] = dir div["WD"] = die return json.dumps(div, cls=AlchemyEncoder, ensure_ascii=False) except Exception as e: print(e) logger.error(e) insertSyslog("error", "路由:/DataHistorySelect,历史数据曲线获取Error:" + str(e), current_user.Name)