Ejemplo n.º 1
0
def add_achievement():
    valid, form = parsing_form('addAchievementForm')
    if not valid:
        return reply(success=False, message='参数错误', error_code=const.PARAM_ERR)
    res_device = utils.is_code_exist(Device, form['device_code'])
    if not res_device[0]:
        return reply(success=False,
                     message='设备不存在',
                     error_code=const.PARAM_ILLEGAL)
    if not utils.is_code_exist(Member, form['member_code'])[0]:
        return reply(success=False,
                     message='成员不存在',
                     error_code=const.PARAM_ILLEGAL)
    device = res_device[1].first()
    device_achievement_data = {
        'device_code': form['device_code'],
        'member_code': form['member_code'],
        'department_id': device.department_id,
        'manufacturer_date': form['manufacturer_date'],
        'achievement_description': form['achievement_description'],
        'patent_description': form['patent_description'],
        'paper_description': form['paper_description'],
        'competition_description': form['competition_description'],
        'achievement_remark': form['achievement_remark'],
        'record_status': const.RECORD_NORMAL,
    }
    res = utils.add_by_data(Achievement, device_achievement_data)
    return reply(success=res[0], message=res[1], error_code=res[2])
Ejemplo n.º 2
0
def add_device():
    valid, form = parsing_form('addDeviceForm')
    if not valid:
        return reply(success=False, message='参数错误', error_code=const.PARAM_ERR)

    if utils.is_code_exist(Device, form['code'])[0]:
        return reply(success=False,
                     message='该设备编码已存在',
                     error_code=const.PARAM_ILLEGAL)

    if not utils.is_id_exist(Department, form['department_id'])[0]:
        return reply(success=False,
                     message='该部门不存在',
                     error_code=const.PARAM_ILLEGAL)

    if not utils.is_id_exist(Manufacturer, form['manufacturer_id'])[0]:
        return reply(success=False,
                     message='该生产厂家不存在',
                     error_code=const.PARAM_ILLEGAL)

    device_data = {
        'code': form['code'],
        'name': form['name'],
        'model': form['model'],
        'brand': form['brand'],
        'tag_code': form['tag_code'],
        'description': form['description'],
        'status': const.DEVICE_RETURNED,
        'manufacturer_date': form['manufacturer_date'],
        'manufacturer_id': form['manufacturer_id'],
        'department_id': form['department_id'],
        'record_status': const.RECORD_NORMAL,
    }
    res = utils.add_by_data(Device, device_data)
    return reply(success=res[0], message=res[1], error_code=res[2])
Ejemplo n.º 3
0
def return_device():
    valid, form = parsing_form('returnDeviceForm')
    if not valid:
        return reply(success=False, message='参数错误', error_code=const.PARAM_ERR)

    res_device = utils.is_code_exist(Device, form['device_code'])
    if not res_device[0]:
        return reply(success=False, message='该设备不存在', error_code=const.PARAM_ILLEGAL)
    device = res_device[1].first()
    if device.status != const.DEVICE_RENTED:
        return reply(success=False, message='该设备未被借出', error_code=const.PARAM_ILLEGAL)

    device_rented = DeviceRent.query.filter_by(
        device_code=form['device_code'],
        status=const.DEVICE_RENTED,
        record_status=const.RECORD_NORMAL
    )
    cnt = device_rented.count()
    if cnt < 1:
        return reply(success=False, message='无此设备正在外借记录', error_code=const.UNKNOWN_ERR)
    if cnt > 1:
        return reply(success=False, message='内部数据错误,请联系管理员', error_code=const.UNKNOWN_ERR)

    res_member = utils.is_code_exist(Member, form['returner_member_code'])
    if not res_member[0]:
        return reply(success=False, message='该归还成员不存在', error_code=const.PARAM_ILLEGAL)
    member = res_member[1].first()
    update_info = {
        'status': const.DEVICE_RETURNED,
    }
    if not utils.update_by_data(res_device[1], update_info, False)[0]:
        return reply(success=False, message='设备状态修改失败', error_code=const.UNKNOWN_ERR)

    device_return_data = {
        'status': const.DEVICE_RETURNED,
        'returner_member_code': form['returner_member_code'],
        'returner_department_id': member.department_id,
        'real_return_date': form['return_date'],
        'return_remark': form['return_remark'],
    }
    res = utils.update_by_data(device_rented, device_return_data, True)

    return reply(success=res[0], message=res[1], error_code=res[2])
Ejemplo n.º 4
0
def rent_device():
    valid, form = parsing_form('rentDeviceForm')
    if not valid:
        return reply(success=False, message='参数错误', error_code=const.PARAM_ERR)
    res_device = utils.is_code_exist(Device, form['device_code'])
    if not res_device[0]:
        return reply(success=False, message='该设备不存在', error_code=const.PARAM_ILLEGAL)
    device = res_device[1].first()
    if device.status != const.DEVICE_RETURNED:
        return reply(success=False, message='该设备已被借出', error_code=const.PARAM_ILLEGAL)

    res_member = utils.is_code_exist(Member, form['borrower_member_code'])
    if not res_member[0]:
        return reply(success=False, message='该成员不存在', error_code=const.PARAM_ILLEGAL)
    member = res_member[1].first()
    update_info = {
        'status': const.DEVICE_RENTED,
    }
    if not utils.update_by_data(res_device[1], update_info, False)[0]:
        return reply(success=False, message='设备状态修改失败', error_code=const.UNKNOWN_ERR)

    device_rent_data = {
        'device_code': form['device_code'],
        'device_department_id': device.department_id,
        'status': const.DEVICE_RENTED,
        'borrower_member_code': form['borrower_member_code'],
        'borrower_department_id': member.department_id,
        'borrow_date': form['borrow_date'],
        'borrow_remark': form['borrow_remark'],
        'expect_return_date': form['expect_return_date'],
        # default
        'returner_member_code': '',
        'returner_department_id': 0,
        'real_return_date': form['expect_return_date'],
        'return_remark': '',
        'record_status': const.RECORD_NORMAL,
    }
    res = utils.add_by_data(DeviceRent, device_rent_data)
    return reply(success=res[0], message=res[1], error_code=res[2])
Ejemplo n.º 5
0
def add_department():
    valid, form = parsing_form('addDepartmentForm')
    if not valid:
        return reply(success=False, message='参数错误', error_code=const.PARAM_ERR)

    if utils.is_code_exist(Department, form['code'])[0]:
        return reply(success=False,
                     message='该部门已存在',
                     error_code=const.PARAM_ILLEGAL)
    department_data = {
        'code': form['code'],
        'name': form['name'],
        'record_status': const.RECORD_NORMAL,
    }
    res = utils.add_by_data(Department, department_data)
    return reply(success=res[0], message=res[1], error_code=res[2])
Ejemplo n.º 6
0
def add_member():
    valid, form = parsing_form('addMemberForm')
    if not valid:
        return reply(success=False, message='参数错误', error_code=const.PARAM_ERR)

    if utils.is_code_exist(Member, form['code'])[0]:
        return reply(success=False,
                     message='该成员编码已存在',
                     error_code=const.PARAM_ILLEGAL)

    if not utils.is_id_exist(Department, form['department_id'])[0]:
        return reply(success=False,
                     message='该部门不存在',
                     error_code=const.PARAM_ILLEGAL)

    member_data = {
        'code': form['code'],
        'name': form['name'],
        'department_id': form['department_id'],
        'record_status': const.RECORD_NORMAL,
    }
    res = utils.add_by_data(Member, member_data)
    return reply(success=res[0], message=res[1], error_code=res[2])