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'添加固定资产失败!'
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)
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
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
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
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'添加电话号码失败!'
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
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)
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
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
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!'
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']
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'已有电话号码出库失败!'
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)
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
def add_asset_info(self, assetInfoModel): assetInfoModel.create_time = get_now_date() assetInfoModel.update_time = get_now_date() self.session.add(assetInfoModel)
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()