Ejemplo n.º 1
0
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)
Ejemplo n.º 2
0
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)
Ejemplo n.º 3
0
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)
Ejemplo n.º 4
0
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)
Ejemplo n.º 5
0
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)
Ejemplo n.º 6
0
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)