Пример #1
0
 def add_new_asset_info(self, data):
     try:
         self.begin()
         asset_info_model = AssetInfoModel()
         self.add_value_to_info(asset_info_model, data)
         asset_info_model.asset_id = str(data['asset_id']).upper()
         asset_info_model.up_time = get_now_date()
         asset_info_model.create_time = get_now_date()
         self.session.add(asset_info_model)
         self.commit()
         return True, u'添加固定资产成功!'
     except Exception as e:
         error_msg = 'add_new_asset_info error: %s', str(e)
         LOG.error(error_msg)
         return False, u'添加固定资产失败!'
Пример #2
0
 def construct_and_add_batch_operate_info(self, params, rtx_id):
     operInfos = []
     for param in params:
         asset_type = param['asset_type']
         operInfo = {}
         before_field = {}
         after_field = {}
         excel_en_list = AssetInfoUtils().input_excel_en_list()
         flag = False
         for name in excel_en_list:
             if asset_type in macList():  # 记录MAC地址
                 if name in set(type_info_en_list()).difference(set(assetInfoMacEnlist())):
                     continue
             elif asset_type in vpnList():
                 if name in set(type_info_en_list()).difference(set(assetInfoVpnEnlist())):
                     continue
             elif asset_type in wireList():
                 if name in set(type_info_en_list()).difference(set(assetInfoWireEnlist())):
                     continue
             else:
                 if name in type_info_en_list():
                     continue
             before_field[name] = ''
             after_field[name] = param[name]
         operInfo['before_field'] = before_field
         operInfo['after_field'] = after_field
         operInfo['asset_id'] = param['asset_id']
         operInfo['oper_type'] = '批量入库'
         operInfo['operator'] = rtx_id
         operInfo['text'] = ''
         operInfo['oper_time'] = get_now_date()
         operInfos.append(operInfo)
     OperationInfoDal().add_batch_oper_infos(operInfos)
Пример #3
0
 def add_actual_phone_batch_datas(self, actual_asset_infos):
     new_asset_infos = []
     cds = ConstructDictService()
     for asset_info in actual_asset_infos:
         # 上面数据全部校验,如果有一个值有错误,之前的全部都不入库
         # 这里为了批量入库需要转一下,和数据库字段一致
         asset_info['asset_type_id'] = asset_info['asset_type']
         asset_info['device_state_id'] = asset_info['device_state']
         asset_info['store_place_id'] = asset_info['store_place']
         asset_info['in_out_reason_id'] = asset_info['in_out_reason']
         asset_info['store_state_id'] = asset_info['store_state']
         asset_info['up_time'] = get_now_date()
         asset_info['update_time'] = get_now_date()
         asset_info['create_time'] = get_now_date()
         new_asset_infos.append(asset_info)
     ret, msg = AssetPhoneInfoDal().add_batch_asset_phone_infos(new_asset_infos)
     return ret, msg
Пример #4
0
 def store_old_consume_data(self, data):
     try:
         # 从哪个库出
         assetConsumeInfo = self.get_actual_asset_by_type_model_place(
             data["asset_type"],
             data["model"],
             data["store_place1"],
             1)
         if assetConsumeInfo:
             self.begin()
             assetConsumeInfo.in_num -= int(data["out_num"])
             assetConsumeInfo.out_num += int(data["out_num"])
             assetConsumeInfo.update_time = get_now_date()
             self.commit()
         info = None
         if data['usage'] == '办公':
             # info = self.get_actual_asset_by_type_model_place(
             #     data["asset_type"],
             #     data["model"],
             #     data["store_place2"],
             #     2)
             data['store_state'] = 2
         else:
             info = self.get_actual_asset_by_type_model_place(
                 data["asset_type"],
                 data["model"],
                 data["store_place2"],
                 1)
             data['store_state'] = 1
         if info:
             self.begin()
             assetConsumeInfo.in_num += int(data["out_num"])
             assetConsumeInfo.update_time = get_now_date()
             self.commit()
         else:
             data['store_place'] = data['store_place2']
             data['device_state'] = 1
             newInfo = self.add_new_asset_consume_model(data, data['store_state'], data['out_num'])
             self.begin()
             self.session.add(newInfo)
             self.commit()
         return True
     except Exception as _ex:
         LOG.error("error occured while store_old_consume_data: %s" % str(_ex))
         return False
Пример #5
0
 def add_new_asset_phone_model(self, data):
     assetPhoneInfo = AssetPhoneInfoModel()
     assetPhoneInfo.remark = data["remark"]
     assetPhoneInfo.user_name = data["user_name"]
     assetPhoneInfo.asset_type_id = data["asset_type"]
     assetPhoneInfo.store_place_id = data["store_place"]
     assetPhoneInfo.device_state_id = data['device_state']
     assetPhoneInfo.store_state_id = data['store_state']
     assetPhoneInfo.in_out_reason_id = data['in_out_reason']
     assetPhoneInfo.phone_no = data['phone_no']
     assetPhoneInfo.update_time = get_now_date()
     return assetPhoneInfo
Пример #6
0
 def store_new_phone_data(self, data):
     try:
         self.begin()
         assetPhoneInfo = self.add_new_asset_phone_model(data)
         assetPhoneInfo.update_time = get_now_date()
         self.session.add(assetPhoneInfo)
         self.commit()
         return True, u'添加电话号码成功!'
     except Exception as _ex:
         error_msg = "error occured while store_new_phone_data: %s" % str(_ex)
         LOG.error(error_msg)
         return False, u'添加电话号码失败!'
Пример #7
0
 def add_new_asset_consume_model(self, data, store_state, consume_num):
     assetConsumeInfo = AssetConsumeInfoModel()
     assetConsumeInfo.in_num = int(consume_num)
     assetConsumeInfo.remark = data["remark"]
     assetConsumeInfo.user_name = data["user_name"]
     assetConsumeInfo.asset_type_id = data["asset_type"]
     assetConsumeInfo.model_id = data["model"]
     assetConsumeInfo.store_place_id = data["store_place"]
     assetConsumeInfo.device_state_id = data['device_state']
     assetConsumeInfo.in_out_reason_id = data['in_out_reason']
     assetConsumeInfo.store_state_id = store_state
     assetConsumeInfo.update_time = get_now_date()
     assetConsumeInfo.out_num = 0
     return assetConsumeInfo
Пример #8
0
 def add_oper_batch_datas(self, oper_asset_infos, operator):
     oper_infos = []
     for asset_info in oper_asset_infos:
         data = {}
         data['asset_id'] = asset_info['asset_id']
         data['oper_time'] = get_now_date()
         data['oper_type'] = '新增入库'
         data['operator'] = operator
         data['text'] = ''
         data['before_field'] = ''
         data['after_field'] = asset_info
         oper_infos.append(data)
     oid = OperationInfoDal()
     oid.add_batch_oper_infos(oper_infos)
Пример #9
0
    def store_old_consume_in_data(self, data):
        try:
            self.begin()
            assetConsumeInfo = self.get_actual_asset_by_type_model_place(
                data["asset_type"],
                data["model"],
                data["store_place"],
                1)
            if assetConsumeInfo:
                assetConsumeInfo.in_num += int(data["c_in_num"])
                assetConsumeInfo.remark = data["remark"]
                assetConsumeInfo.update_time = get_now_date()
                self.commit()
            else:
                assetConsumeInfo = self.add_new_asset_consume_model(
                    data, 1, data["c_in_num"])
                self.session.add(assetConsumeInfo)
                self.commit()
            self.begin()
            assetInfo = self.get_asset_type_model_user_name_num(data["asset_type"], data["model"],
                                                                data["old_user_name"], 2)
            if data["c_in_num"] == data["in_num_c"]:  # 全部回收,直接删掉。
                if assetInfo is not None:
                    self.session.delete(assetInfo)
                    self.commit()
            else:
                assetInfo.in_num -= int(data["c_in_num"])
                assetInfo.out_num += int(data["c_in_num"])
                assetInfo.update_time = get_now_date()
                self.commit()

            return True, assetConsumeInfo.id
        except Exception as _ex:
            error_msg = "error occured while store_old_consume_in_data: %s" % str(_ex)
            LOG.error(error_msg)
            return False, -1
Пример #10
0
 def add_value_to_info(self, asset_info_model, data):
     asset_info_model.asset_type_id = data['asset_type']
     asset_info_model.model_id = data['model']
     value = str(data['sn'])
     if value:
         value = value.upper()
     asset_info_model.sn = value
     asset_info_model.user_name = str(data['user_name']).lower()
     asset_info_model.store_place_id = data['store_place']
     asset_info_model.store_state_id = data['store_state']
     asset_info_model.device_state_id = data['device_state']
     asset_info_model.in_out_reason_id = data['in_out_reason']
     asset_info_model.update_time = get_now_date()
     asset_info_model.remark = data['remark']
     asset_info_model.type_info = data['type_info']
     return asset_info_model
Пример #11
0
 def update_asset_consume_info_by_id(self, data):
     try:
         self.begin()
         assetInfoModel = self.get_consume_asset_info_sql(data['user_name']).first()
         if assetInfoModel is not None:
             assetInfoModel.device_state_id = data['device_state']
             assetInfoModel.store_place_id = data['store_place']
             assetInfoModel.store_state_id = data['store_state']
             assetInfoModel.in_out_reason_id = data['in_out_reason']
             assetInfoModel.remark = data['remark']
             assetInfoModel.user_name = data['user_name']
             assetInfoModel.update_time = get_now_date()
             self.commit()
         return True, 'update consume_info succeed!'
     except Exception, _ex:
         LOG.error('update_asset_consume_info_by_id error[%s]', str(_ex))
         return False, 'update consume_info failed!'
Пример #12
0
 def update_asset_info_by_id(self, data):
     try:
         self.begin()
         assetInfoModel = self.get_asset_info_by_id(data['asset_id'])
         if assetInfoModel is not None:
             assetInfoModel.device_state_id = data['device_state']
             assetInfoModel.store_place_id = data['store_place']
             assetInfoModel.store_state_id = data['store_state']
             assetInfoModel.in_out_reason_id = data['in_out_reason']
             assetInfoModel.remark = data['remark']
             assetInfoModel.user_name = data['user_name']
             assetInfoModel.update_time = get_now_date()
             self.commit()
         return True, u'变更已有库存数据成功,资产编号为' + data['asset_id']
     except Exception, _ex:
         LOG.error('update_asset_info_by_id error[%s]', str(_ex))
         return False, u'变更已有库存数据失败,资产编号为' + data['asset_id']
Пример #13
0
 def update_asset_phone_info_out(self, data):
     try:
         self.begin()
         print data
         print data['remark']
         assetInfoModel = self.get_phone_asset_info_sql(data['phone_no']).first()
         if assetInfoModel is not None:
             assetInfoModel.store_place_id = data['store_place']
             assetInfoModel.in_out_reason_id = data['in_out_reason']
             assetInfoModel.remark = data['remark']
             assetInfoModel.store_state_id = data['store_state']
             assetInfoModel.user_name = ''
             assetInfoModel.update_time = get_now_date()
             self.commit()
         return True, u'已有电话号码出库成功!'
     except Exception, _ex:
         LOG.error('update_asset_phone_info_out error[%s]', str(_ex))
         return False, u'已有电话号码出库失败!'
Пример #14
0
 def construct_and_add_phone_batch_operate_info(self, params, rtx_id):
     operInfos = []
     for param in params:
         operInfo = {}
         before_field = {}
         after_field = {}
         excel_en_list = AssetInfoUtils().input_phone_excel_en_list()
         flag = False
         for name in excel_en_list:
             before_field[name] = ''
             after_field[name] = param[name]
         operInfo['before_field'] = before_field
         operInfo['after_field'] = after_field
         operInfo['asset_id'] = param['phone_no']
         operInfo['oper_type'] = '批量入库'
         operInfo['operator'] = rtx_id
         operInfo['text'] = ''
         operInfo['oper_time'] = get_now_date()
         operInfos.append(operInfo)
     OperationInfoDal().add_batch_oper_infos(operInfos)
Пример #15
0
 def store_new_consume_data(self, data):
     try:
         self.begin()
         assetConsumeInfo = self.get_actual_asset_by_type_model_place(
             data["asset_type"],
             data["model"],
             data["store_place"],
             1)
         if assetConsumeInfo:
             assetConsumeInfo.in_num = data["in_num"]
             assetConsumeInfo.remark = data["remark"]
             assetConsumeInfo.user_name = data["user_name"]
             assetConsumeInfo.update_time = get_now_date()
             self.commit()
         else:
             assetConsumeInfo = self.add_new_asset_consume_model(
                 data, 1, data["in_num2"])
             self.session.add(assetConsumeInfo)
             self.commit()
         return True, assetConsumeInfo.id
     except Exception as _ex:
         error_msg = "error occured while store_new_consume_data: %s" % str(_ex)
         LOG.error(error_msg)
         return False, -1
Пример #16
0
 def add_asset_info(self, assetInfoModel):
     assetInfoModel.create_time = get_now_date()
     assetInfoModel.update_time = get_now_date()
     self.session.add(assetInfoModel)
Пример #17
0
        finally:
            connection.close()
        return True, 'add_batch_oper_infos succeed'


if __name__ == '__main__':
    # postgresql://hr_user:S@[email protected]:5432/hrcore_v2
    engine = create_engine('postgres://*****:*****@localhost/itdb', echo=True)
    connection = engine.connect()
    Session = sessionmaker(bind=engine)
    session = Session()
    crud = Crud(session)
    operInfos = []
    for i in range(2):
        operInfo = {}
        operInfo['before_field'] = {}
        # params['after_field']
        after_field = {}
        # after_field[i] = i
        after_field["aa"] = '2'
        after_field["cc"] = '3'
        operInfo['after_field'] = after_field
        operInfo['asset_id'] = 'asset_id'
        operInfo['oper_type'] = '批量入库'
        operInfo['operator'] = 'zhenqing.wang'
        operInfo['text'] = ''
        operInfo['oper_time'] = get_now_date()
        operInfos.append(operInfo)
    crud.add_batch_oper_infos(operInfos)
    session.commit()