Возврат: решение председателя — со-подпись на заявлении пайщика (не отдельный документ) #96

Merged
ant merged 2 commits from feat/mkt-return-chairman-cosign into marketplace2 2026-06-05 10:12:35 +00:00
Owner

Принятие гарантийного возврата (accretrn) оформляется второй подписью председателя КУ на том же заявлении пайщика (канон двухподписных актов), а не отдельным документом-решением. Удалённое рассмотрение и отказы — процедурные действия без подписи документа.

Контракт marketplace

  • return_request: убраны decision_remote / decision_visit; statement при accretrn перезаписывается версией с двумя подписями.
  • accretrn(… statement) требует обе подписи (verify_document_or_fail{orderer, chairman}); aprretrem/rejretrem/rejretrn больше не принимают документ.
  • Собран зелёным (marketplace.wasm).

cooptypes

  • IAprRetRem/IRejRetRem/IRejRetrn без decision; IAccRetrn.decisionstatement.

backend (controller)

  • сервис/DTO/резолвер: удалённые шаги и отказ без документа; accretrn принимает со-подписанное заявление (signed_statement).

standard p.mkt.return

  • registry_id 800→1104 (членская модель, приведено к коду).
  • Секция документов/подписей переписана на бизнес-язык: один документ — заявление с подписью пайщика и со-подписью председателя при принятии.

Follow-up (отдельный срез)

Чтобы приём заработал e2e: персистентность подписанного заявления в claim + экспозиция в claim-DTO + со-подпись в desktop OnSiteDecisionDialog + zeus regen. Требует новой колонки/миграции — выношу отдельной историей.

Принятие гарантийного возврата (`accretrn`) оформляется второй подписью председателя КУ на том же заявлении пайщика (канон двухподписных актов), а не отдельным документом-решением. Удалённое рассмотрение и отказы — процедурные действия без подписи документа. ## Контракт marketplace - `return_request`: убраны `decision_remote` / `decision_visit`; `statement` при `accretrn` перезаписывается версией с двумя подписями. - `accretrn(… statement)` требует обе подписи (`verify_document_or_fail{orderer, chairman}`); `aprretrem`/`rejretrem`/`rejretrn` больше не принимают документ. - Собран зелёным (`marketplace.wasm`). ## cooptypes - `IAprRetRem`/`IRejRetRem`/`IRejRetrn` без `decision`; `IAccRetrn.decision` → `statement`. ## backend (controller) - сервис/DTO/резолвер: удалённые шаги и отказ без документа; `accretrn` принимает со-подписанное заявление (`signed_statement`). ## standard p.mkt.return - `registry_id` 800→1104 (членская модель, приведено к коду). - Секция документов/подписей переписана на бизнес-язык: один документ — заявление с подписью пайщика и со-подписью председателя при принятии. ## Follow-up (отдельный срез) Чтобы приём заработал e2e: персистентность подписанного заявления в claim + экспозиция в claim-DTO + со-подпись в desktop `OnSiteDecisionDialog` + zeus regen. Требует новой колонки/миграции — выношу отдельной историей.
claude added 1 commit 2026-06-05 09:42:01 +00:00
Принятие гарантийного возврата (accretrn) оформляется второй подписью
председателя КУ на том же заявлении пайщика (канон двухподписных актов),
а не отдельным документом. Удалённое рассмотрение (aprretrem/rejretrem) и
отказ на осмотре (rejretrn) — процедурные действия без подписи документа.

Контракт:
- table return_request: убраны поля decision_remote / decision_visit;
  statement при accretrn перезаписывается версией с обеими подписями.
- accretrn принимает document2 statement, требует обе подписи
  (verify_document_or_fail{orderer, chairman}); aprretrem/rejretrem/rejretrn
  больше не принимают документ.
- собран зелёным (marketplace.wasm).

cooptypes: интерфейсы IAprRetRem/IRejRetRem/IRejRetrn без decision,
IAccRetrn.decision → statement.

backend: сервис/DTO/резолвер — удалённые шаги и отказ без документа,
accretrn принимает со-подписанное заявление (signed_statement).

standard p.mkt.return: registry 800→1104 (членская модель, = коду),
секция документов и подписи переписаны на бизнес-язык; один документ —
заявление с подписью пайщика и со-подписью председателя при принятии.

Follow-up (отдельный срез): персистентность подписанного заявления в claim
+ экспозиция в DTO + со-подпись в desktop OnSiteDecisionDialog + zeus regen.

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
claude added 1 commit 2026-06-05 09:56:39 +00:00
При подаче заявления на гарантийный возврат backend теперь сохраняет
подписанное пайщиком заявление (registry 1104) в claim — новая jsonb-колонка
marketplace_return_claim.statement (создаётся synchronize). Раньше документ
уходил только в цепь, и председателю было нечего со-подписывать.

- types/entity/typeorm/mapper/repo: поле statement (ISignedDocumentDomainInterface | null).
- submitReturnClaim сохраняет input.signed_statement в claim.
- новый метод getChairmanReturnSignablePayload + запрос
  marketplaceReturnClaimChairmanSignablePayload → DocumentAggregate
  {rawDocument + подпись пайщика}; председатель накладывает вторую подпись
  (signDocument(raw, chairman, 2, [document])) — канон APP-приёмки.
  Ownership: член КУ доставки (как в marketplaceReturnClaim).

Follow-up: desktop OnSiteDecisionDialog (со-подпись на приёме) + zeus regen
(generate-schema/generate-client/sdk build) — блокированы codegen-пайплайном.

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
ant approved these changes 2026-06-05 10:12:31 +00:00
ant merged commit 65c8ebd02e into marketplace2 2026-06-05 10:12:35 +00:00
Sign in to join this conversation.
No Reviewers
No Label
2 Participants
Notifications
Due Date
No due date set.
Dependencies

No dependencies set.

Reference: C9S/mono#96