Актуализирована информация по базе данных, обновлена статусная схема маршрутов.
Статусная схема храниться в формате Visio 2019 и увидеть ее можно тут. В формате PNG ниже.
Обновленная Схема базы данных тут.
Читать далее «Обновление»Рассказываю сложные вещи простыми словами
Актуализирована информация по базе данных, обновлена статусная схема маршрутов.
Статусная схема храниться в формате Visio 2019 и увидеть ее можно тут. В формате PNG ниже.
Обновленная Схема базы данных тут.
Читать далее «Обновление»Информация актуальна для пилотной версии МРСК ЦиП на 08.10.2020
В пилотной версии МРСК ЦиП информация может быть импортирована в следующие таблицы:
Примечание: информацию по таблицам можно посмотреть тут
Информация о точках учета должна храниться в таблице dbo.ed_registr_pts. Здесь может храниться любая информация, но при этом должны быть заполнены следующие поля:
Информация о показаниях храниться в двух таблица:
Первичные показания должны быть загружены в систему в обе таблицы, так как генерация показания для новых обходов производится на основе предыдущих данных.
-- пример наличия первичных показаний
INSERT INTO dbo.ed_input_meter_readings(f_point, n_value_prev, d_date_prev, n_digit, f_time_zone, f_registr_pts, n_tariff)
VALUES ('b17c5973-615c-49c6-976f-7a491a41a160', null, null, 5.0, 2, '028d65a4-3621-408b-af0a-230242f41702', 1); -- создано показание с тарифом 1 и показанием "Сутки"
INSERT INTO dbo.ed_output_meter_readings(fn_meter_reading, fn_point, fn_route, fn_user_point, n_value, d_date)
VALUES ('394fb071-7d9f-4c13-ada6-3c45b0f1643b', 'b17c5973-615c-49c6-976f-7a491a41a160', 'c68b1a77-0a13-4c05-bc3e-c2504868f0ac', '547c39bd-d171-4cae-bf64-c30fae16210a', null, '2020-05-01');
Алгоритм обработки показаний тут.
Работая с JSON в postgresql заметил следующие момент:
select t.value::uuid
from json_array_elements_text('["e7ded0cd-12dd-47f5-a75b-192376291e83"]'::json) as t;
select (t.value #>> '{id}')::uuid
from json_array_elements('[{"id": "e7ded0cd-12dd-47f5-a75b-192376291e83"}]'::json) as t;
Две команды возвращают одинаковый результат, но разными способами.
IF (select count(*) from json_array_elements(_users)) > 0 THEN
-- select * from dbo.cf_arm_cd_points(1, 5, 1, null, 4);
raise notice '%', _users;
-- обходчики выбраны и находим все маршруты за текущую дату
RETURN QUERY select * from dbo.cf_arm_cd_points((select array_to_json(array_agg(row_to_json(t))) #>> '{id}'
from (select r.id
from core.cd_userinroutes as uir
INNER JOIN core.cd_routes as r ON r.id = uir.f_route
where uir.b_main = true and uir.f_user IN (
select (t.value #>> '{f_user}')::integer from json_array_elements(_users) as t
) and _d_date >= r.d_date_start and (core.cf_old_date(r.d_date_end) or core.cf_old_date(r.d_extended))) as t)::json, now()::date);
END IF;
Для приложений dotnet применяется следующий механизм настройки виртуального каталога:
public void Configure(IApplicationBuilder app, IWebHostEnvironment env)
{
...
app.UseDefaultFiles("/tfs/dev")
.UseStaticFiles("/tfs/dev")
.UsePathBase("/tfs/dev");
...
}
server {
server_name vnext-bot.appcode.pw;
client_max_body_size 2M;
location / {
try_files $uri $uri/ @proxy;
}
location ~* {
proxy_pass http://127.0.0.1:5000;
proxy_set_header Host $host;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_set_header X-Forwarded-Host $server_name;
}
...
}
Статьи:
https://groosha.gitbook.io/telegram-bot-lessons/extra/multiple_bots_2
Задача: создать бота, разместить на собственном сервере и зарегистрировать его.
Среда: Windows 10 с IDE Visual Studio 2019 Community.
Язык программирования: C#
Установите шаблон BotBuilderVSIX.vsix, который вы скачали при выполнении предварительных требований.
В Visual Studio создайте проект бота с использованием шаблона эхо-бота на основе Bot Framework версии 4 и .NET Core 3.1. Выберите тип проекта AI Bots (Боты (ИИ)), чтобы отображались только шаблоны ботов.
Читать далее «Создание бота при помощи SDK Bot Framework 4»<ru.mobnius.core.ui.component.signature.SignatureField android:id="@+id/control_signature" android:layout_width="match_parent" android:layout_height="wrap_content" app:signatureLabel="Подпись потребителя" android:layout_marginTop="@dimen/indent_small" app:layout_constraintTop_toBottomOf="@id/control_notice"/>
public class ControlMeterReadingsFragment extends BaseFormFragment implements OnSignatureListener {
private SignatureField mSignatureField;
...
@Override
public View onCreateView(@NonNull LayoutInflater inflater, @Nullable ViewGroup container, @Nullable Bundle savedInstanceState) {
mSignatureField = view.findViewById(R.id.control_signature);
mSignatureField.setOnSignatureListener(this);
if(savedInstanceState != null) {
updateSignature(savedInstanceState.getString(Names.SIGNATURE), false);
}
...
}
@Override
public void onClickSignature(int mode, String signature) {
Intent intent = new Intent(getContext(), SignatureActivity.class);
intent.putExtra(OnSignatureListener.MODE_NAME, mode);
intent.putExtra(OnSignatureListener.TITLE, "Подпись потребителя");
switch (mode) {
case OnSignatureListener.ADD:
startActivityForResult(intent, SignatureActivity.SIGNATURE_REQUEST_CODE);
break;
case OnSignatureListener.UPDATE:
intent.putExtra(OnSignatureListener.IMAGE, signature);
startActivityForResult(intent, SignatureActivity.SIGNATURE_REQUEST_CODE);
break;
case OnSignatureListener.REMOVE:
confirmDialog(new DialogInterface.OnClickListener() {
@Override
public void onClick(DialogInterface dialog, int which) {
// таким образом очищаем содержимое
updateSignature(null, true);
}
});
break;
}
}
При выполнении сценариев в Power Shell может возникать следующая ошибка
Import-Module : Невозможно загрузить файл C:\Program Files\WindowsPowerShell\Modules\Az.Resources\2.5.1\Az.Resources.ps m1, так как выполнение сценариев отключено в этой системе. Для получения дополнительных сведений см. about_Execution_Po licies по адресу https:/go.microsoft.com/fwlink/?LinkID=135170. строка:1 знак:1 Import-Module Az.Resources
Чтобы обойти это нужно:
Проверяем наличие установленной версии dotnet

Если dotnet не установлен, то устанавливаем его согласно инструкции https://docs.microsoft.com/en-us/dotnet/core/install/linux-ubuntu
Читать далее «Запуск dotnet приложений на Ubuntu»