From 0ad940121fc5252404b8f15e59cc66ed875b6917 Mon Sep 17 00:00:00 2001 From: msmsrep <113223770+msmsrep@users.noreply.github.com> Date: Wed, 23 Sep 2026 06:41:10 +0900 Subject: [PATCH 1/3] =?UTF-8?q?=E5=87=BA=E8=8D=B7=E5=88=A4=E5=AE=9A?= =?UTF-8?q?=E3=81=AE=E7=99=BB=E9=8C=B2=E3=83=BB=E6=89=BF=E8=AA=8D=E3=82=92?= =?UTF-8?q?=E3=82=B5=E3=83=BC=E3=83=93=E3=82=B9=E3=81=B8=E7=A7=BB=E3=81=97?= =?UTF-8?q?=E3=80=81=E5=87=BA=E8=8D=B7=E6=8C=87=E7=A4=BA=E3=81=AE=E7=95=AA?= =?UTF-8?q?=E5=8F=B7=E3=82=92=E6=8C=87=E5=AE=9A=E3=81=A7=E3=81=8D=E3=82=8B?= =?UTF-8?q?=E3=82=88=E3=81=86=E3=81=AB=E3=81=99=E3=82=8B?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit 実績CSVで出荷指示・出荷判定・出荷実行を取り込むための下準備。出荷判定の業務処理を ShipmentJudgmentsController から ShipmentJudgmentService へ移し、単票APIとCSV取込の 両方から呼べるようにした。ShippingService.CreateAsync は出荷番号を受け取れるようにし、 後続の行から指示を番号で指せるようにする(製造指図の OrderNo と同じ扱いで、 自動採番の接頭辞 SH で始まる番号と既存の番号は拒否する)。単票APIの振る舞いは変えない。 Co-Authored-By: Claude Opus 5.5 --- .../ShipmentJudgmentsController.cs | 60 +++++---------- .../Controllers/ShippingOrdersController.cs | 2 +- src/MesApp.Api/Localization/ApiText.en.resx | 9 +++ src/MesApp.Api/MesAppHost.cs | 1 + .../Services/ShipmentJudgmentService.cs | 74 +++++++++++++++++++ src/MesApp.Api/Services/ShippingService.cs | 27 ++++++- 6 files changed, 126 insertions(+), 47 deletions(-) create mode 100644 src/MesApp.Api/Services/ShipmentJudgmentService.cs diff --git a/src/MesApp.Api/Controllers/ShipmentJudgmentsController.cs b/src/MesApp.Api/Controllers/ShipmentJudgmentsController.cs index e7a49c7..767cd68 100644 --- a/src/MesApp.Api/Controllers/ShipmentJudgmentsController.cs +++ b/src/MesApp.Api/Controllers/ShipmentJudgmentsController.cs @@ -1,7 +1,5 @@ -using MesApp.Api.Localization; using System.Security.Claims; using MesApp.Api.Services; -using MesApp.Core.Abstractions; using MesApp.Core.Contracts.Common; using MesApp.Core.Contracts.Quality; using MesApp.Core.Entities; @@ -21,8 +19,7 @@ namespace MesApp.Api.Controllers; [Authorize] public class ShipmentJudgmentsController( MesAppDbContext db, - NumberingService numbering, - IAuditLogger auditLogger) : ControllerBase + ShipmentJudgmentService judgments) : ControllerBase { /// 出荷判定一覧(H-10-10-01) [HttpGet] @@ -53,35 +50,14 @@ public async Task> Get(int id, Cancellati public async Task> Create( ShipmentJudgmentCreateRequest request, CancellationToken ct) { - if (request.LotId is null && request.ShippingOrderId is null) + var outcome = await judgments.CreateAsync(request, User.FindFirstValue(ClaimTypes.NameIdentifier)!, ct); + if (outcome.Failed) { - return this.BadRequestProblem(ApiText.T("対象ロットIDまたは出荷指示IDを指定してください。")); + return ToProblem(outcome); } - if (request.LotId is int lotId && !await db.Lots.AnyAsync(l => l.Id == lotId, ct)) - { - return this.BadRequestProblem(ApiText.T("存在しないロットIDです。")); - } - if (request.ShippingOrderId is int shippingOrderId - && !await db.ShippingOrders.AnyAsync(s => s.Id == shippingOrderId, ct)) - { - return this.BadRequestProblem(ApiText.T("存在しない出荷指示IDです。")); - } - - var judgment = new ShipmentJudgment - { - JudgmentNo = await numbering.NextJudgmentNoAsync(ct), - LotId = request.LotId, - ShippingOrderId = request.ShippingOrderId, - Result = request.Result, - JudgedByUserId = User.FindFirstValue(ClaimTypes.NameIdentifier)!, - Note = request.Note, - }; - db.ShipmentJudgments.Add(judgment); - await db.SaveChangesAsync(ct); - await auditLogger.LogAsync("Quality", "ShipmentJudge", nameof(ShipmentJudgment), judgment.Id.ToString(), - detail: $"judgmentNo={judgment.JudgmentNo}, result={judgment.Result}", ct: ct); - var saved = await BaseQuery().FirstAsync(j => j.Id == judgment.Id, ct); - return CreatedAtAction(nameof(Get), new { id = judgment.Id }, ToResponse(saved)); + var id = outcome.Value!.Id; + var saved = await BaseQuery().FirstAsync(j => j.Id == id, ct); + return CreatedAtAction(nameof(Get), new { id }, ToResponse(saved)); } /// 判定承認(H-10-10-03) @@ -89,24 +65,22 @@ await auditLogger.LogAsync("Quality", "ShipmentJudge", nameof(ShipmentJudgment), [Authorize(Roles = MesRoleGroups.QaManage)] public async Task> Approve(int id, CancellationToken ct) { - var judgment = await db.ShipmentJudgments.FirstOrDefaultAsync(j => j.Id == id, ct); - if (judgment is null) - { - return NotFound(); - } - if (judgment.ApprovedAt is not null) + var outcome = await judgments.ApproveAsync(id, User.FindFirstValue(ClaimTypes.NameIdentifier), ct); + if (outcome.Failed) { - return this.ConflictProblem(ApiText.T("既に承認済みです。")); + return ToProblem(outcome); } - judgment.ApprovedByUserId = User.FindFirstValue(ClaimTypes.NameIdentifier); - judgment.ApprovedAt = DateTimeOffset.UtcNow; - await db.SaveChangesAsync(ct); - await auditLogger.LogAsync("Quality", "ShipmentJudgeApprove", nameof(ShipmentJudgment), id.ToString(), - detail: $"judgmentNo={judgment.JudgmentNo}", ct: ct); var saved = await BaseQuery().FirstAsync(j => j.Id == id, ct); return ToResponse(saved); } + private ActionResult ToProblem(Outcome outcome) => outcome.Kind switch + { + OutcomeError.NotFound => NotFound(), + OutcomeError.Conflict => this.ConflictProblem(outcome.Error), + _ => this.BadRequestProblem(outcome.Error), + }; + private IQueryable BaseQuery() => db.ShipmentJudgments.AsNoTracking() .Include(j => j.Lot) diff --git a/src/MesApp.Api/Controllers/ShippingOrdersController.cs b/src/MesApp.Api/Controllers/ShippingOrdersController.cs index 1c7fcdf..c006a88 100644 --- a/src/MesApp.Api/Controllers/ShippingOrdersController.cs +++ b/src/MesApp.Api/Controllers/ShippingOrdersController.cs @@ -55,7 +55,7 @@ public async Task> Get(int id, CancellationT public async Task> Create( ShippingOrderCreateRequest request, CancellationToken ct) { - var outcome = await shipping.CreateAsync(request, CurrentUserId, ct); + var outcome = await shipping.CreateAsync(request, shippingNo: null, CurrentUserId, ct); if (outcome.Failed) { return ToProblem(outcome); diff --git a/src/MesApp.Api/Localization/ApiText.en.resx b/src/MesApp.Api/Localization/ApiText.en.resx index 12ac27f..92ffb2d 100644 --- a/src/MesApp.Api/Localization/ApiText.en.resx +++ b/src/MesApp.Api/Localization/ApiText.en.resx @@ -1896,4 +1896,13 @@ Product '{1}', process '{2}' on production date {0:yyyy-MM-dd} already has a plan for work center '{3}', which overlaps with work center '{4}'. Plans with and without a work center, or for a parent and its child work center, cannot coexist because the plan-vs-actual view would count them twice. + + The shipment judgment ID does not exist. + + + Shipping number '{0}' cannot be specified because it overlaps the auto-numbering format ({1}...). + + + Shipping number '{0}' already exists. + diff --git a/src/MesApp.Api/MesAppHost.cs b/src/MesApp.Api/MesAppHost.cs index 141285a..4743996 100644 --- a/src/MesApp.Api/MesAppHost.cs +++ b/src/MesApp.Api/MesAppHost.cs @@ -85,6 +85,7 @@ public static WebApplication Build(string[] args) builder.Services.AddScoped(); builder.Services.AddScoped(); builder.Services.AddScoped(); + builder.Services.AddScoped(); builder.Services.AddScoped(); builder.Services.AddScoped(); builder.Services.AddScoped(); diff --git a/src/MesApp.Api/Services/ShipmentJudgmentService.cs b/src/MesApp.Api/Services/ShipmentJudgmentService.cs new file mode 100644 index 0000000..d6019d6 --- /dev/null +++ b/src/MesApp.Api/Services/ShipmentJudgmentService.cs @@ -0,0 +1,74 @@ +using MesApp.Api.Localization; +using MesApp.Core.Abstractions; +using MesApp.Core.Contracts.Quality; +using MesApp.Core.Entities; +using MesApp.Infrastructure; +using Microsoft.EntityFrameworkCore; + +namespace MesApp.Api.Services; + +/// +/// 出荷判定(H-10-10。判定(可/保留/特採)→承認の単段階承認)。 +/// 単票API(ShipmentJudgmentsController)と実績CSV取込(ActualCsvService)の両方から呼ぶ。 +/// 出荷実行のゲートの条件は に置く。 +/// 保存と監査ログまで行う。トランザクションは呼び出し側が張る。 +/// +public sealed class ShipmentJudgmentService( + MesAppDbContext db, + NumberingService numbering, + IAuditLogger auditLogger) +{ + /// 出荷判定(H-10-10-02。対象はロットまたは出荷指示) + public async Task> CreateAsync( + ShipmentJudgmentCreateRequest request, string userId, CancellationToken ct) + { + if (request.LotId is null && request.ShippingOrderId is null) + { + return Outcome.Invalid(ApiText.T("対象ロットIDまたは出荷指示IDを指定してください。")); + } + if (request.LotId is int lotId && !await db.Lots.AnyAsync(l => l.Id == lotId, ct)) + { + return Outcome.Invalid(ApiText.T("存在しないロットIDです。")); + } + if (request.ShippingOrderId is int shippingOrderId + && !await db.ShippingOrders.AnyAsync(s => s.Id == shippingOrderId, ct)) + { + return Outcome.Invalid(ApiText.T("存在しない出荷指示IDです。")); + } + + var judgment = new ShipmentJudgment + { + JudgmentNo = await numbering.NextJudgmentNoAsync(ct), + LotId = request.LotId, + ShippingOrderId = request.ShippingOrderId, + Result = request.Result, + JudgedByUserId = userId, + Note = request.Note, + }; + db.ShipmentJudgments.Add(judgment); + await db.SaveChangesAsync(ct); + await auditLogger.LogAsync("Quality", "ShipmentJudge", nameof(ShipmentJudgment), judgment.Id.ToString(), + detail: $"judgmentNo={judgment.JudgmentNo}, result={judgment.Result}", ct: ct); + return Outcome.Ok(judgment); + } + + /// 判定承認(H-10-10-03) + public async Task> ApproveAsync(int id, string? userId, CancellationToken ct) + { + var judgment = await db.ShipmentJudgments.FirstOrDefaultAsync(j => j.Id == id, ct); + if (judgment is null) + { + return Outcome.NotFound(ApiText.T("存在しない出荷判定IDです。")); + } + if (judgment.ApprovedAt is not null) + { + return Outcome.Conflict(ApiText.T("既に承認済みです。")); + } + judgment.ApprovedByUserId = userId; + judgment.ApprovedAt = DateTimeOffset.UtcNow; + await db.SaveChangesAsync(ct); + await auditLogger.LogAsync("Quality", "ShipmentJudgeApprove", nameof(ShipmentJudgment), id.ToString(), + detail: $"judgmentNo={judgment.JudgmentNo}", ct: ct); + return Outcome.Ok(judgment); + } +} diff --git a/src/MesApp.Api/Services/ShippingService.cs b/src/MesApp.Api/Services/ShippingService.cs index 04d9f21..dd6c5f3 100644 --- a/src/MesApp.Api/Services/ShippingService.cs +++ b/src/MesApp.Api/Services/ShippingService.cs @@ -23,9 +23,15 @@ public sealed class ShippingService( IBusinessDateService businessDate, IAuditLogger auditLogger) { - /// 出荷指示の作成(D-40-20-01) + /// 自動採番の出荷番号の接頭辞(手入力の番号と衝突させないため、手入力では使わせない) + public const string AutoShippingNoPrefix = "SH"; + + /// + /// 出荷指示の作成(D-40-20-01)。 + /// shippingNo を渡すとその番号で登録する(CSV取込で後続の出荷判定・出荷実行から指示を指すため。空なら自動採番) + /// public async Task> CreateAsync( - ShippingOrderCreateRequest request, string? userId, CancellationToken ct) + ShippingOrderCreateRequest request, string? shippingNo, string? userId, CancellationToken ct) { if (request.Lines.Count == 0) { @@ -37,9 +43,24 @@ public async Task> CreateAsync( return Outcome.Invalid(ApiText.T("存在しない品目IDが含まれています。")); } + if (string.IsNullOrWhiteSpace(shippingNo)) + { + shippingNo = await numbering.NextShippingNoAsync(ct); + } + else if (shippingNo.StartsWith(AutoShippingNoPrefix, StringComparison.OrdinalIgnoreCase)) + { + // 自動採番の連番は採番テーブルで管理しており、同じ形式の手入力番号があると後で衝突する + return Outcome.Invalid( + ApiText.T("出荷番号 '{0}' は自動採番の形式({1}〜)と重なるため指定できません。", shippingNo, AutoShippingNoPrefix)); + } + else if (await db.ShippingOrders.AnyAsync(s => s.ShippingNo == shippingNo, ct)) + { + return Outcome.Conflict(ApiText.T("出荷番号 '{0}' は既に存在します。", shippingNo)); + } + var order = new ShippingOrder { - ShippingNo = await numbering.NextShippingNoAsync(ct), + ShippingNo = shippingNo, Destination = request.Destination, PlannedDate = request.PlannedDate, CreatedByUserId = userId, From 37c1e959018f8cdd457ba7fb41e6ad9c6b19aa65 Mon Sep 17 00:00:00 2001 From: msmsrep <113223770+msmsrep@users.noreply.github.com> Date: Wed, 23 Sep 2026 06:49:46 +0900 Subject: [PATCH 2/3] =?UTF-8?q?=E5=AE=9F=E7=B8=BECSV=E3=81=A7=E5=87=BA?= =?UTF-8?q?=E8=8D=B7=E6=8C=87=E7=A4=BA=E3=83=BB=E5=87=BA=E8=8D=B7=E5=88=A4?= =?UTF-8?q?=E5=AE=9A=E3=83=BB=E5=87=BA=E8=8D=B7=E5=AE=9F=E8=A1=8C=E3=82=92?= =?UTF-8?q?=E5=8F=96=E3=82=8A=E8=BE=BC=E3=82=81=E3=82=8B=E3=82=88=E3=81=86?= =?UTF-8?q?=E3=81=AB=E3=81=97=E3=80=81=E3=82=B5=E3=83=B3=E3=83=97=E3=83=AB?= =?UTF-8?q?=E3=82=92=E8=B6=B3=E3=81=99?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit サンプルの実績で出荷だけが画面操作で、製造から出荷までをCSVだけではたどれなかった。 実績CSVに出荷指示 shipping-orders・出荷判定 shipment-judgments・出荷実行 shipments を追加する。 判定は品質保証、指示と実行は物流の権限なので、単票APIと取込の権限をそろえるため3種別に分けた。 - 出荷指示:出荷番号が同じ行を1件の指示にまとめる(1行=1品目。同じ品目は2行書けない)。 後続から番号で指すため出荷番号は必須の手入力で、自動採番の SH〜 は拒否する - 出荷判定:1行=1件。Approve=true で続けて承認する(ShipmentJudgmentService 経由) - 出荷実行:出荷番号が同じ行を1回の出荷にまとめ、ShippingService.ShipAsync を通す。 判定ゲートとロットの使用可否は単票APIと同じ判定で、満たさなければ全件取り消し サンプルは samples/actual-csv/13〜15(SMP-SH-001 は出荷完了まで、SMP-SH-002 は判定保留のまま)。 Spec.md 3.8節(改訂116)、CodeMap、サンプルの README、利用者ガイド(マスタ管理・サンプルで見る)を更新。 MES.md の D-40-20(出荷指示)・H-10-10(出荷判定)・D-40-30(出荷実行)に当たる。 Co-Authored-By: Claude Opus 5.5 --- Spec.md | 3 +- docs-dev/CodeMap.md | 4 +- docs/masters.md | 10 +- docs/walkthrough.md | 6 +- samples/actual-csv/13_shipping-orders.csv | 3 + samples/actual-csv/14_shipment-judgments.csv | 3 + samples/actual-csv/15_shipments.csv | 2 + samples/actual-csv/README.md | 9 +- src/MesApp.Api/Localization/ApiText.en.resx | 78 +++++++ src/MesApp.Api/Services/ActualCsvKinds.cs | 28 +++ .../Services/ActualCsvService.Shipping.cs | 220 ++++++++++++++++++ src/MesApp.Api/Services/ActualCsvService.cs | 7 +- src/MesApp.Api/Services/MasterCsvKinds.cs | 4 + tests/MesApp.Api.Tests/InventoryTests.cs | 65 ++++++ tests/MesApp.Api.Tests/MasterCsvTests.cs | 7 +- 15 files changed, 435 insertions(+), 14 deletions(-) create mode 100644 samples/actual-csv/13_shipping-orders.csv create mode 100644 samples/actual-csv/14_shipment-judgments.csv create mode 100644 samples/actual-csv/15_shipments.csv create mode 100644 src/MesApp.Api/Services/ActualCsvService.Shipping.cs diff --git a/Spec.md b/Spec.md index 23c567b..7e576fb 100644 --- a/Spec.md +++ b/Spec.md @@ -114,6 +114,7 @@ 改訂113: 2026-09-23(3.8節:生産計画をマスタCSVの種別 `production-plans` として出力・取込できるようにした(PLAN-04)。キーは製造日・品目コード・工程コード・作業区コード(空欄も1つのキー)で上書きし、ZIPの一括入出力にも含める。参照先・数量・キーの判定を `ProductionPlanPolicy` に移し、単票APIとCSV取込の両方から呼ぶ。取込の権限は単票と同じ `ProductionManage`) 改訂114: 2026-09-23(3.8節・5.2節:同じ製造日・品目・工程で、作業区の範囲が重なる生産計画(作業区なしと作業区あり、上位の段と配下の段)を併存させないようにした。予実は作業区違いの計画を合算するため、全体の計画と内訳の計画が並ぶと二重に数えていた。兄弟の作業区どうしは併存できる。判定は `ProductionPlanPolicy` に置き、単票API(409)とCSV取込(既存との間・ファイル内とも行エラー)の両方から呼ぶ。既に重なって登録されている計画はそのまま残る) 改訂115: 2026-09-23(3.8節・7.2節:生産計画をマスタの一括ZIPの取込・出力から外した(改訂113で含めていた)。生産計画はマスタではなく日々増える業務データで、全期間がZIPに入り、マスタを別環境へ移すと過去の計画まで付いていったため。取込の仕組み(キーで上書き)は引き続きマスタCSVのものを使う。計画のCSV出力は全件をやめ、一覧と同じ絞り込みの `api/production-plans/csv` を追加した。あわせて、3か月分の実績サンプルと同じ期間の生産計画のサンプル `samples/production-plans/` を追加し(`scripts/New-SampleBulkActuals.ps1` が乱数を使わず生成。実績の内容は変えない)、リリースに `samples-production-plans.csv` として添付する。利用者向けガイド(生産管理・ロールと権限など)に生産計画・予実の操作を追記) +改訂116: 2026-09-23(3.8節:実績CSVに出荷指示 `shipping-orders`・出荷判定 `shipment-judgments`・出荷実行 `shipments` を追加した。サンプルの実績で出荷だけが画面操作で、製造から出荷までをCSVだけではたどれなかった。判定と出荷で取込の権限が違うため3種別に分ける。出荷判定の登録・承認を `ShipmentJudgmentsController` から `ShipmentJudgmentService` へ移し、単票APIとCSV取込の両方から呼ぶ。出荷指示は後続のCSVから指すため出荷番号の手入力を許す(`SH〜` は自動採番用として拒否)。サンプル `samples/actual-csv/13〜15` を追加) 参考: みんなのMES(min-MES) https://min-mes.com/ / OSS: https://github.com/mihatama/open-mes-project --- @@ -324,7 +325,7 @@ AGV/AMR連携(D-50-20-02)・リサイクル管理(D-50-30-02)・VMI/外 - 監査ログ(実績訂正・検査訂正・マスタ変更等の変更履歴。7.6節) - **マスタのCSV一括入出力**:各マスタ(品目/MBOM/工順/工程/作業区/設備/設備の保全部品/治工具/ロケーション/検査項目・基準/**検査機・測定器**/工程管理項目/チェックリスト/作業手順書/勤務シフト/スキル・資格/ユーザー/ユーザーのスキル資格)のCSV出力・テンプレート出力・一括取込。取込はコード(自然キー)によるupsertで、他マスタはコードで参照する。文字コードはUTF-8/Shift_JISを自動判別し、出力はExcel互換(UTF-8 BOM+CRLF)。行単位で検証し、**1行でもエラーがあれば全件ロールバック**して行番号付きのエラー一覧を返す。反映せず検証のみ実行するモードを持つ。**参照されている状態のマスタを無効化できないという制約は、単票APIと同じ判定をCSV取込にも通す**(工順から参照中の作業手順書、在籍中の従業員が所属する直など)。片方にしか書かないとCSVから迂回できてしまうため、判定はポリシーへ集約する。なお**マスタの無効化は各マスタ画面から、再有効化はCSV取込の `IsActive` 列から**行う(全マスタ共通。画面に再有効化の導線は持たせていない) - **生産計画(`production-plans`)は取込の仕組みだけをこれに乗せる**。生産計画はマスタではなく日付を持つ業務データだが、改訂のたびに同じ計画を上書きしたいので、常に新規登録する実績CSVではなくキーで上書きするマスタCSVの取込を使う(A-30-10-01)。キーは `BusinessDate, ProductCode, ProcessCode, WorkCenterCode(任意)` で、同じキーなら計画数量(と `Note` 列があれば備考)を上書きし、無ければ追加する。**`WorkCenterCode` が空の行も1つのキーとして扱い**、同じ製造日・品目・工程の作業区なしの計画を上書きする(二重に追加しない)。計画数量は0以上。ファイル内で同じキーが複数行にあればエラー。取り込んだ後に同じ製造日・品目・工程で作業区の範囲が重なる行(既存の計画との間・ファイル内とも)もエラー。数量とキーの判定は単票API(`api/production-plans`)と共通の `ProductionPlanPolicy` に置く。取込の権限は単票の登録と同じ `ProductionManage`(種別の `WriteRoles`)。取り込み直しても変わらない行は更新日時を動かさない。**マスタではないので一括ZIPの取込・出力には含めない**(日々増えるデータを、マスタの移行や全件出力に巻き込まないため。ZIPに入っていれば取込を拒む)。取込は生産計画画面の計画登録タブから1ファイルずつ行い、出力は一覧と同じ絞り込み(製造日の期間・品目・工程・作業区)の `api/production-plans/csv` で行う -- **実績のCSV一括取込**:試験・移行・教育用に、実績(取引データ)をCSVで一括登録する(`api/actuals/csv/{kind}`。テンプレート出力と取込。対応種別は受入 `receiving`・製造指図 `manufacturing-orders`・段取り実績 `setup-records`・チェックリスト実施 `checklist-records`・部材投入 `consumptions`・生産実績 `production-records`・製造条件データ `data-records`・検査 `inspections`・作業時間 `work-time-records`・製造トラブル報告 `trouble-reports`・設備稼働記録 `equipment-logs`)。マスタCSVと同じく**1行でもエラーがあれば全件ロールバック**し、行番号付きのエラー一覧を返し、検証のみのモードを持つ。マスタCSVとの違いは次のとおり。①**取込は常に新規登録**で既存の実績を更新しない(実績の訂正は理由付きの訂正機能で行う)。②行ごとに**単票APIと同じ業務サービスを通す**(受入は `ReceivingService`、製造指図は `ManufacturingOrderService`、作業指示の実行記録は `WorkOrderExecutionService`、検査は `InspectionService`、作業時間・トラブル報告は `ShopFloorReportService`)——実績は在庫・ロット・状態履歴を連鎖して動かすため、行をエンティティへ直接写すと判定や監査ログが迂回される。③取込の権限は**種別ごとに単票APIと同じロールグループ**(受入は在庫・物流オペレーション)。④行は保存しながら進めるので、後の行は前の行の結果(登録済みロット番号の重複判定など)を前提にでき、検証のみも実際に登録してからロールバックする。他のマスタ・実績はIDではなくコード・番号で参照する。⑤**作業指示は「指図番号+工程順序」で指す**。自動採番の指図番号は取込前に分からないため、製造指図CSVに限り指図番号の手入力を許す(自動採番の形式 `MO〜` と重なる番号は、採番テーブルの連番と後で衝突するため拒否)。製造指図CSVは1行で登録・承認・工程展開まで進められるが、承認は省略できない(展開は承認済みの指図だけ)。⑥**実行記録の記録者は取込を実行したユーザー**とし、作業者を指定する列は持たない(他人名義の実績を作れると、記録者に意味が無くなる)。投入ロットはロット番号で、日時はオフセットの無い値を工場の時刻として読む。生産実績の直は開始日時で決まる。⑦**検査CSVは `InspectionKey` が同じ行を1件の検査指示にまとめる**。キーはファイルの中だけの名前でDBに残さない(検査指示番号は自動採番のままにし、後続のCSVから検査指示を指す必要も無いため)。まとまりに含まれる検査項目がその指示の対象になり、`Judge=true` なら実績に続けて総合判定する(ロットの状態反映・不合格時の不適合起票も単票APIと同じ) +- **実績のCSV一括取込**:試験・移行・教育用に、実績(取引データ)をCSVで一括登録する(`api/actuals/csv/{kind}`。テンプレート出力と取込。対応種別は受入 `receiving`・製造指図 `manufacturing-orders`・段取り実績 `setup-records`・チェックリスト実施 `checklist-records`・部材投入 `consumptions`・生産実績 `production-records`・製造条件データ `data-records`・検査 `inspections`・作業時間 `work-time-records`・製造トラブル報告 `trouble-reports`・設備稼働記録 `equipment-logs`・出荷指示 `shipping-orders`・出荷判定 `shipment-judgments`・出荷実行 `shipments`)。マスタCSVと同じく**1行でもエラーがあれば全件ロールバック**し、行番号付きのエラー一覧を返し、検証のみのモードを持つ。マスタCSVとの違いは次のとおり。①**取込は常に新規登録**で既存の実績を更新しない(実績の訂正は理由付きの訂正機能で行う)。②行ごとに**単票APIと同じ業務サービスを通す**(受入は `ReceivingService`、製造指図は `ManufacturingOrderService`、作業指示の実行記録は `WorkOrderExecutionService`、検査は `InspectionService`、作業時間・トラブル報告は `ShopFloorReportService`、出荷指示・出荷実行は `ShippingService`、出荷判定は `ShipmentJudgmentService`)——実績は在庫・ロット・状態履歴を連鎖して動かすため、行をエンティティへ直接写すと判定や監査ログが迂回される。③取込の権限は**種別ごとに単票APIと同じロールグループ**(受入は在庫・物流オペレーション)。④行は保存しながら進めるので、後の行は前の行の結果(登録済みロット番号の重複判定など)を前提にでき、検証のみも実際に登録してからロールバックする。他のマスタ・実績はIDではなくコード・番号で参照する。⑤**作業指示は「指図番号+工程順序」で指す**。自動採番の指図番号は取込前に分からないため、製造指図CSVに限り指図番号の手入力を許す(自動採番の形式 `MO〜` と重なる番号は、採番テーブルの連番と後で衝突するため拒否)。製造指図CSVは1行で登録・承認・工程展開まで進められるが、承認は省略できない(展開は承認済みの指図だけ)。⑥**実行記録の記録者は取込を実行したユーザー**とし、作業者を指定する列は持たない(他人名義の実績を作れると、記録者に意味が無くなる)。投入ロットはロット番号で、日時はオフセットの無い値を工場の時刻として読む。生産実績の直は開始日時で決まる。⑦**検査CSVは `InspectionKey` が同じ行を1件の検査指示にまとめる**。キーはファイルの中だけの名前でDBに残さない(検査指示番号は自動採番のままにし、後続のCSVから検査指示を指す必要も無いため)。まとまりに含まれる検査項目がその指示の対象になり、`Judge=true` なら実績に続けて総合判定する(ロットの状態反映・不合格時の不適合起票も単票APIと同じ)。⑧**出荷は指示・判定・実行の3種別に分ける**(判定は品質保証、指示と実行は物流の権限で、1種別にまとめると③を満たせない)。出荷指示CSVは出荷番号が同じ行を1件の指示(1行=1品目の明細。同じ品目を2行書けない)にまとめ、後続の判定・実行CSVから番号で指せるよう**出荷番号を必須の手入力**とする(⑤と同じ理由で自動採番の形式 `SH〜` と重なる番号は拒否)。出荷判定CSVは1行=1件の判定で、`Approve=true` なら続けて承認する。出荷実行CSVは出荷番号が同じ行を1回の出荷にまとめ、**承認済みの判定(可・特採)とロットの使用可否は単票APIと同じく出荷実行の処理で判定する**(判定の無い指示を含むファイルは全件取り消し) - **CSVのZIP一括取込・一括出力**:複数のCSVをまとめたZIPを1回で取り込む(マスタは `POST api/masters/csv/bundle`、実績は `POST api/actuals/csv/bundle`)。**ファイル名の昇順に取り込み、種別はファイル名の最初の「_」より後ろで決める**(`01_work-centers.csv` → `work-centers`。同じ種別を番号違いで複数入れてよい)。CSV以外のファイル(README.md等)は無視する。**全ファイルを1つのトランザクションで処理し、どれか1ファイルでもエラーがあれば全ファイルを取り消す**(後のファイルが前のファイルの登録結果を参照するのでファイルごとに保存はするが、途中まで反映された状態が残るとどこから取り込み直せばよいか分からなくなるため)。エラーが出たファイルより後は処理せず、未処理として名前を返す。**マスタと実績が混ざったZIPは受け付けない**(取込の権限も対象画面も異なるため、別のZIPにする)。取込には**ZIPに含まれる全種別の取込権限**が要り、1種別でも権限が無ければ何も取り込まない。種別が分からないファイルは取り込む前に拒否する。ZIP爆弾対策として、CSVの数・1ファイルと合計の展開後サイズに上限を設け、読みながら数えて超えたら打ち切る。一括出力(`GET api/masters/csv/bundle`)は全マスタを取り込む順の番号付きファイル名でZIPにし、そのまま一括取込に使える(参照を絞っている種別は権限が無ければ含めない。ユーザーはパスワードを出力しないため、新しいDBへ移すときはユーザー系のファイルに初期パスワードを書き足す)。実績の一括出力は持たない - バーコード/QRスキャン共通コンポーネント(ブラウザのカメラAPI or USB HIDリーダー入力) diff --git a/docs-dev/CodeMap.md b/docs-dev/CodeMap.md index 75e8274..7f92e40 100644 --- a/docs-dev/CodeMap.md +++ b/docs-dev/CodeMap.md @@ -60,7 +60,7 @@ | 受入・受入ロット採番 | D-10-10 | `ReceivingController.cs` `api/receiving` | `Core/Entities/Inventory.cs`: InventoryStock / InventoryTransaction
Production.cs: Lot | `/receiving` `Receiving.razor` | `Tests/InventoryTests.cs` | | 在庫オペレーション(照会・移動・調整・分割/統合・廃棄・期限) | D-10-30 / D-30-10 / D-40-40 | `InventoryController.cs` `api/inventory`
更新系(移動・調整・ステータス変更・分割・統合・振替・廃棄・返品・払出戻し)は `Api/Services/LotOperationService.cs`
在庫数量の増減そのものは `Api/Services/InventoryService.cs` | Inventory.cs: InventoryStock / InventoryTransaction | `/inventory` `Inventory.razor` | `Tests/InventoryTests.cs` | | 出庫・ピッキング・工程払出(FEFO自動引当) | D-20-10 / D-20-20 | `PickingOrdersController.cs` `api/picking-orders`
作成・実行・取消は `Api/Services/PickingService.cs` | Inventory.cs: PickingOrder / PickingLine | `/picking` `Picking.razor` | `Tests/InventoryTests.cs` | -| 出荷(出荷判定ゲート付き) | D-40 / H-10-10 | `ShippingOrdersController.cs` `api/shipping-orders`
作成・出荷実行・取消は `Api/Services/ShippingService.cs` | Inventory.cs: ShippingOrder / ShippingLine | `/shipping` `Shipping.razor`
`/print/shipping/{id}` `Print/ShippingSlip.razor` | `Tests/InventoryTests.cs` | +| 出荷(出荷判定ゲート付き) | D-40 / H-10-10 | `ShippingOrdersController.cs` `api/shipping-orders`
作成・出荷実行・取消は `Api/Services/ShippingService.cs`
CSV:実績CSVの種別 `shipping-orders`・`shipments`(`ActualCsvService.Shipping.cs`。出荷番号は手入力必須、`SH〜` は拒否)。サンプルは `samples/actual-csv/13`〜`15` | Inventory.cs: ShippingOrder / ShippingLine | `/shipping` `Shipping.razor`
`/print/shipping/{id}` `Print/ShippingSlip.razor` | `Tests/InventoryTests.cs` | | 棚卸(スナップショット→実棚→差異→確定) | D-50-10 | `StocktakesController.cs` `api/stocktakes`
作成・実棚登録・確定・取消は `Api/Services/StocktakeService.cs` | Inventory.cs: Stocktake / StocktakeLine | `/stocktakes` `Stocktakes.razor`
`/print/stocktake/{id}` `Print/StocktakeSheet.razor` | `Tests/InventoryTests.cs` | | ロケーション・棚番管理 | D-50-20-01 | `LocationsController.cs` `api/locations` | Masters.cs: Location(`WorkCenterId`=所属する資源。**段は問わない**) | `/masters` `Masters/LocationsTab.razor` | `Tests/MasterTests.cs` | | 倉庫業務進捗管理(**受入は対象外**。指示を持たないため) | D-50-30-07 | `InventoryController.cs` `api/inventory/warehouse-progress?from=&to=`(出庫ピッキング・出荷・在庫移動・棚卸。取消は数えない。期間は**製造日の半開区間**) | 新規エンティティなし(既存の指示を数え直す) | `/warehouse-operations` `Web/Pages/WarehouseOperations.razor` | `Tests/InventoryTests.cs` | @@ -93,7 +93,7 @@ | 業務 | MES No | API | エンティティ | 画面 | テスト | |:--|:--|:--|:--|:--|:--| -| 出荷判定(可/保留/特採・単段階承認) | H-10-10 | `ShipmentJudgmentsController.cs` `api/shipment-judgments` | Quality.cs: ShipmentJudgment | `/shipment-judgments` `ShipmentJudgments.razor`
`/print/shipment-judgment/{id}` `Print/ShipmentJudgmentDoc.razor` | `Tests/QualityTests.cs`
出荷ゲートは `InventoryTests.cs` | +| 出荷判定(可/保留/特採・単段階承認) | H-10-10 | `ShipmentJudgmentsController.cs` `api/shipment-judgments`
登録・承認は `Api/Services/ShipmentJudgmentService.cs`(単票APIと実績CSVの種別 `shipment-judgments` で共通) | Quality.cs: ShipmentJudgment | `/shipment-judgments` `ShipmentJudgments.razor`
`/print/shipment-judgment/{id}` `Print/ShipmentJudgmentDoc.razor` | `Tests/QualityTests.cs`
出荷ゲートは `InventoryTests.cs` | | ロットトレーサビリティ(前方・後方追跡) | H-30-10 | `TraceabilityController.cs` `api/traceability`(`/history` は製造・検査・在庫・状態・訂正・**設備稼働**の履歴を返す。製造行には作業者と**直**を並べる。文字列の組み立てはSQLに載せず取り出してから行う) | Production.cs: Lot
Execution.cs: MaterialConsumption
Maintenance.cs: EquipmentLog | `/traceability` `Traceability.razor`
`Web/Shared/TraceTree.razor` | `Tests/QualityTests.cs` | --- diff --git a/docs/masters.md b/docs/masters.md index 3346215..7ede9e7 100644 --- a/docs/masters.md +++ b/docs/masters.md @@ -305,20 +305,20 @@ CSVに登場しなかった親品目のMBOM・工順は変更されません。 ## 実績のCSV取込 {#actual-csv} -試験・移行・教育用に、**実績(受入・製造指図・段取り・チェックリスト・部材投入・生産実績・製造条件・検査・作業時間・トラブル報告・設備稼働記録)もCSVでまとめて登録できます**。 +試験・移行・教育用に、**実績(受入・製造指図・段取り・チェックリスト・部材投入・生産実績・製造条件・検査・作業時間・トラブル報告・設備稼働記録・出荷指示・出荷判定・出荷実行)もCSVでまとめて登録できます**。 メニューの **管理 → 実績CSV取込** を開き、種別ごとのパネルから取り込みます。 - 1件ずつ画面から登録したときと**同じチェック**を通ります(校正期限切れの検査機、理由の無い代替部品の投入、在庫不足などは取り込めません)。 在庫・ロットの状態・監査ログも同じように記録されます。 - **取込は常に新規登録**です。同じファイルを2回取り込むと、2回分の実績になります。 -- 作業指示は **指図番号+工程順序** で、投入・検査するロットは **ロット番号** で指します。 - 製造指図の指図番号と、後で投入するロットのロット番号は、CSVで指定しておいてください(自動採番の番号は取り込むまで分かりません)。 +- 作業指示は **指図番号+工程順序** で、投入・検査・出荷するロットは **ロット番号** で、出荷指示は **出荷番号** で指します。 + 製造指図の指図番号、後で投入するロットのロット番号、出荷指示の出荷番号は、CSVで指定しておいてください(自動採番の番号は取り込むまで分かりません)。 - **記録者は取り込んだユーザー**です。作業者を指定する列はありません。 -- 取り込める権限は、種別ごとに画面から登録するときと同じです(受入は物流、製造指図は生産管理、検査は品質管理 など)。 +- 取り込める権限は、種別ごとに画面から登録するときと同じです(受入・出荷指示・出荷実行は物流、製造指図は生産管理、検査は品質管理、出荷判定は品質保証 など)。 - 「1行でもエラーがあると全件取り消し」「検証のみ」はマスタのCSVと同じです。 - 画面の上の **ZIPで一括取込** で、複数のCSVを1回で取り込めます(ファイル名の順。1ファイルでもエラーがあればZIPの全ファイルを取り消し)。 -受入から検査まで一通りそろった**サンプル**が +受入から出荷まで一通りそろった**サンプル**が **[samples-actual-csv.zip](https://github.com/msmsrep/ParallelFactoryMES/releases/latest/download/samples-actual-csv.zip)** にあります (中身は [samples/actual-csv](https://github.com/msmsrep/ParallelFactoryMES/tree/main/samples/actual-csv))。 [サンプルCSV](#サンプルcsv) のマスタを取り込んだ後に、ファイル名の番号順に取り込んでください。 diff --git a/docs/walkthrough.md b/docs/walkthrough.md index b8e0855..a7fcd4c 100644 --- a/docs/walkthrough.md +++ b/docs/walkthrough.md @@ -13,7 +13,7 @@ next_title: マスタ管理

このページの内容は、そのまま手元で再現できます。 samples/master-csv と samples/actual-csv のCSVをそれぞれZIPにまとめ、 画面上部の ZIPで一括取込 から、マスタ、実績の順に取り込んでください。 -CSVに含まれない操作(完了承認・出荷など)は、最後の章にまとめてあります。

+CSVに含まれない操作(完了承認・検査承認など)は、最後の章にまとめてあります。

## 1. 全体の流れ {#overview} @@ -442,7 +442,7 @@ MBOMと工順の登録方法は、[マスタ管理の品目・MBOM・工順](mas
出荷管理。出荷を実行すると「出荷済」の数が増え、全明細がそろうと指示が「完了」になる
-出荷番号・判定書番号は採番した日で決まるので、写真の番号(SH20260922-0001 など)は取り込んだ日によって変わります。 +サンプルでは、出荷指示・出荷判定・出荷実行もCSV(`13`〜`15`)で入ります。出荷番号はCSVで指定した SMP-SH-001 ですが、判定書番号は採番した日で決まるので、取り込んだ日によって変わります。 詳しくは [物流・在庫管理の出荷管理](logistics.html) と [品質保証の出荷判定](assurance.html) をご覧ください。 --- @@ -503,7 +503,7 @@ FG1000-S001 の履歴タブ(製造・検査・在庫の記録)を開けば | 製造指図 | `02_manufacturing-orders.csv`(SMP-SF-001・SMP-FG-001 は展開済み、SMP-FG-002 は承認済み、SMP-FG-003 は未承認) | SMP-FG-002 の **工程展開** と **差立** | | 実行 | `03`〜`09`(段取り・点検・投入・出来高・製造条件) | 各作業指示の **製造完了承認**(pm001) | | 検査 | `10_inspections.csv`(3件。判定まで) | 各検査の **検査承認** | -| 出荷 | ― | **出荷指示**(サンプル商事株式会社・FG-1000 ×5)→ **出荷判定**(可)→ **承認** → **出荷実行**(FG1000-S001 から5台) | +| 出荷 | `13`〜`15`(出荷指示2件・出荷判定・出荷実行。SMP-SH-001 は出荷まで完了、SMP-SH-002 は判定が保留のまま) | SMP-SH-002 の出荷判定を「可」にして承認し、出荷実行してみる | | 追跡 | ― | トレーサビリティで `FG1000-S001` や `R3001-260901` を追跡 |
diff --git a/samples/actual-csv/13_shipping-orders.csv b/samples/actual-csv/13_shipping-orders.csv new file mode 100644 index 0000000..50f5d4b --- /dev/null +++ b/samples/actual-csv/13_shipping-orders.csv @@ -0,0 +1,3 @@ +ShippingNo,Destination,PlannedDate,ProductCode,Quantity +SMP-SH-001,サンプル商事株式会社,2026-10-16,FG-1000,5 +SMP-SH-002,サンプル工業株式会社,2026-10-30,FG-1000,3 diff --git a/samples/actual-csv/14_shipment-judgments.csv b/samples/actual-csv/14_shipment-judgments.csv new file mode 100644 index 0000000..329a535 --- /dev/null +++ b/samples/actual-csv/14_shipment-judgments.csv @@ -0,0 +1,3 @@ +ShippingNo,LotNumber,Result,Approve,Note +SMP-SH-001,FG1000-S001,Approved,true,完成品検査合格(グレードA)を確認 +SMP-SH-002,,Hold,false,納期調整中のため保留(出荷実行はできない) diff --git a/samples/actual-csv/15_shipments.csv b/samples/actual-csv/15_shipments.csv new file mode 100644 index 0000000..fa40f2c --- /dev/null +++ b/samples/actual-csv/15_shipments.csv @@ -0,0 +1,2 @@ +ShippingNo,LotNumber,LocationCode,Quantity +SMP-SH-001,FG1000-S001,WH-P01,5 diff --git a/samples/actual-csv/README.md b/samples/actual-csv/README.md index 4242b56..c649ed0 100644 --- a/samples/actual-csv/README.md +++ b/samples/actual-csv/README.md @@ -17,11 +17,14 @@ | 10 | `10_inspections.csv` | 検査 | 受入・工程内・完成品検査。`InspectionKey` が同じ行が1件の検査。測定値の自動判定と、定性項目の判定 | | 11 | `11_work-time-records.csv` | 作業時間 | 直接作業(作業指示あり)と間接作業 | | 12 | `12_trouble-reports.csv` | 製造トラブル報告 | 作業指示・設備に紐づく報告と、紐づかない安全の報告 | +| 13 | `13_shipping-orders.csv` | 出荷指示 | サンプル商事株式会社へ FG-1000 ×5(SMP-SH-001)と、別の出荷先へ ×3(SMP-SH-002) | +| 14 | `14_shipment-judgments.csv` | 出荷判定 | SMP-SH-001 は「可」で承認まで。SMP-SH-002 は「保留」のまま(出荷できないことを確かめる用) | +| 15 | `15_shipments.csv` | 出荷実行 | SMP-SH-001 を FG1000-S001 から5台出荷して完了にする | ## 取り込み方 画面上部の **ZIPで一括取込** に、このフォルダのCSVをまとめたZIPを渡せば1回で取り込めます。個別に取り込むときは、メニューの **管理 → 実績CSV取込** の種別ごとのパネルから取り込みます(受入は在庫・物流、製造指図は生産管理、 -段取り〜製造条件データと作業時間は現場記録、検査は品質管理の権限が必要。トラブル報告は誰でも取り込める)。種別はファイル名の `_` より後ろです +段取り〜製造条件データと作業時間は現場記録、検査は品質管理、出荷判定は品質保証、出荷指示・出荷実行は在庫・物流の権限が必要。トラブル報告は誰でも取り込める)。種別はファイル名の `_` より後ろです (`05_consumptions.csv` と `07_consumptions.csv` はどちらも `consumptions`)。 APIへ直接送ることもできます。 @@ -49,6 +52,10 @@ GET /api/actuals/csv/receiving/template … ヘッダーだけのCSV 生産実績は**開始日時で直を決める**ので、夜勤の実績は夜勤の時間帯に入る時刻にしてください。 - 実行記録・検査・作業時間・トラブル報告の**記録者は取り込んだユーザー**になります。 CSVで別の作業者の名前を書く列はありません(他人の名義で実績を作れないようにするため)。 +- **出荷指示は「出荷番号」で指します**。出荷判定・出荷実行のCSVから指せるよう、出荷指示CSVの `ShippingNo` は必須です + (`SH` で始まる番号は自動採番用のため指定できません)。出荷番号が同じ行は1件の指示・1回の出荷にまとまります。 +- 出荷実行には、その出荷指示を対象にした**承認済みの出荷判定(可・特採)**が要ります。判定の無い指示・保留の指示を + 出荷実行CSVに書くと、そのファイルは取り込めません。 - `DV-03`(校正期限切れ)を `DeviceCode` に書くと、その検査は取り込めません。 - 部材はバックフラッシュ(`Backflush=true`)でも消費できます。ただし代替部品は消費されない (主材料だけを引く)ので、代替部品を使ったときは投入CSVで理由とともに投入してください。 diff --git a/src/MesApp.Api/Localization/ApiText.en.resx b/src/MesApp.Api/Localization/ApiText.en.resx index 92ffb2d..7cca82f 100644 --- a/src/MesApp.Api/Localization/ApiText.en.resx +++ b/src/MesApp.Api/Localization/ApiText.en.resx @@ -1905,4 +1905,82 @@ Shipping number '{0}' already exists. + + Quantity (instructed quantity) is required. + + + Shipping number '{0}' has duplicate rows for product '{1}'. + + + Either ShippingNo (shipping number) or LotNumber (target lot number) is required. + + + Quantity (shipping quantity) is required. + + + Shipping order '{0}' is not registered (ShippingNo). + + + Shipping orders + + + Shipment judgments + + + Shipments + + + Shipping number + + + Destination + + + Planned shipping date + + + Instructed quantity + + + Shipping lot number + + + Source location code + + + Shipping quantity + + + Rows with the same number are grouped into one shipping order. Later shipment judgment and shipment CSVs refer to the order by this number. Numbers starting with SH are reserved for auto-numbering. + + + The value of the first row in the group is used. + + + yyyy-MM-dd. The value of the first row in the group is used. + + + A registered, active product code. The same product cannot appear on two rows of one order. + + + A registered shipping number (ShippingNo in the shipping order CSV). Shipping requires an approved judgment on the shipping order. + + + A registered lot number. At least one of this and ShippingNo is required. + + + Approved / Hold / SpecialAcceptance + + + true approves the judgment right after registering it. + + + A registered shipping number (ShippingNo in the shipping order CSV). Rows with the same number are shipped together. + + + A registered lot number of a product in the shipping order, in a usable state (normal and not expired). + + + A number greater than 0. Together with the quantity already shipped, it cannot exceed the instructed quantity. + diff --git a/src/MesApp.Api/Services/ActualCsvKinds.cs b/src/MesApp.Api/Services/ActualCsvKinds.cs index 982e89a..e5bf0f5 100644 --- a/src/MesApp.Api/Services/ActualCsvKinds.cs +++ b/src/MesApp.Api/Services/ActualCsvKinds.cs @@ -28,9 +28,13 @@ public static class ActualCsvKinds public const string WorkTimeRecords = "work-time-records"; public const string TroubleReports = "trouble-reports"; public const string EquipmentLogs = "equipment-logs"; + public const string ShippingOrders = "shipping-orders"; + public const string ShipmentJudgments = "shipment-judgments"; + public const string Shipments = "shipments"; private const string OrderNoNote = "登録済みの指図番号(製造指図CSVの OrderNo)"; private const string SequenceNote = "工順の工程順序。指図番号と合わせて作業指示を指す(展開済みであること)"; + private const string ShippingNoNote = "登録済みの出荷番号(出荷指示CSVの ShippingNo)"; private const string DateTimeNote = "yyyy-MM-dd HH:mm(工場の時刻)。+09:00 などのオフセット付きも可"; public static readonly List All = @@ -158,6 +162,30 @@ public static class ActualCsvKinds new("Sequence", "工程順序", false, "指図番号を書いたときは必須"), new("Note", "備考", false, null), ]), AnyRole), + new(new CsvKindInfo(ShippingOrders, "出荷指示", false, + [ + new("ShippingNo", "出荷番号", true, + "同じ番号の行を1件の出荷指示にまとめる。後続の出荷判定・出荷実行CSVから指示を指す。SHで始まる番号は自動採番用のため使えない"), + new("Destination", "出荷先", true, "まとまりの最初の行の値を使う"), + new("PlannedDate", "出荷予定日", false, "yyyy-MM-dd。まとまりの最初の行の値を使う"), + new("ProductCode", "品目コード", true, "登録済みで有効な品目コード。1件の指示に同じ品目を2行書けない"), + new("Quantity", "指示数量", true, "0より大きい数値"), + ]), MesRoleGroups.InventoryManage), + new(new CsvKindInfo(ShipmentJudgments, "出荷判定", false, + [ + new("ShippingNo", "出荷番号", false, ShippingNoNote + "。出荷実行には出荷指示を対象にした承認済みの判定が必要"), + new("LotNumber", "対象ロット番号", false, "登録済みのロット番号。ShippingNo と少なくともどちらかは必須"), + new("Result", "判定", true, "Approved(可)/ Hold(保留)/ SpecialAcceptance(特採)"), + new("Approve", "承認する", false, "true で判定の登録に続けて承認する"), + new("Note", "備考", false, null), + ]), MesRoleGroups.QaManage), + new(new CsvKindInfo(Shipments, "出荷実行", false, + [ + new("ShippingNo", "出荷番号", true, ShippingNoNote + "。同じ番号の行を1回の出荷にまとめる"), + new("LotNumber", "出荷ロット番号", true, "登録済みのロット番号。出荷指示に含まれる品目で、使える状態(正常・期限内)であること"), + new("LocationCode", "出荷元ロケーションコード", true, null), + new("Quantity", "出荷数量", true, "0より大きい数値。出荷済みと合わせて指示数量を超えられない"), + ]), MesRoleGroups.InventoryManage), ]; /// diff --git a/src/MesApp.Api/Services/ActualCsvService.Shipping.cs b/src/MesApp.Api/Services/ActualCsvService.Shipping.cs new file mode 100644 index 0000000..a0ab0d9 --- /dev/null +++ b/src/MesApp.Api/Services/ActualCsvService.Shipping.cs @@ -0,0 +1,220 @@ +using MesApp.Api.Localization; +using MesApp.Core.Contracts.Inventory; +using MesApp.Core.Contracts.Masters; +using MesApp.Core.Contracts.Quality; +using MesApp.Core.Entities; +using Microsoft.EntityFrameworkCore; + +namespace MesApp.Api.Services; + +// 実績CSVのうち出荷(D-40-20 出荷指示、H-10-10 出荷判定、D-40-30 出荷実行)。 +// 出荷判定は品質保証、指示と実行は物流の権限なので、1つの種別にまとめず3つに分ける(ActualCsvKinds) +public sealed partial class ActualCsvService +{ + /// + /// 出荷指示(D-40-20-01)。出荷番号が同じ行を1件の指示にまとめ、1行=1明細(品目)とする。 + /// 後続の出荷判定・出荷実行のCSVは指示を出荷番号で指すため、番号はここで確定させる + /// + private async Task ImportShippingOrdersAsync( + CsvTable table, List errors, string? userId, CancellationToken ct) + { + var productIds = await db.Products.AsNoTracking().Where(p => p.IsActive) + .ToDictionaryAsync(p => p.Code, p => p.Id, StringComparer.Ordinal, ct); + + var groups = table.Rows + .GroupBy(row => table.Value(row, "ShippingNo")) + .Select(g => g.ToList()) + .ToList(); + + var created = 0; + foreach (var group in groups) + { + var head = new CsvRowReader(table, group[0], errors); + var shippingNo = head.RequiredText("ShippingNo", 50); + var destination = head.RequiredText("Destination", 200); + var plannedDate = head.DateOrNull("PlannedDate", null); + if (head.Failed) + { + continue; + } + + var lines = new List(); + var failed = false; + foreach (var row in group) + { + var reader = new CsvRowReader(table, row, errors); + reader.RequiredText("ProductCode"); + var productId = reader.Reference("ProductCode", null, productIds, "有効な品目"); + var quantity = reader.NumberOrNull("Quantity", null, 0.000001m); + if (quantity is null && !reader.Failed) + { + reader.Fail(ApiText.T("Quantity(指示数量)は必須です。")); + } + // 出荷実行はロットの品目で明細を1つに決めて突き合わせるため、同じ品目の明細を2つ持たせない + if (productId is not null && lines.Any(l => l.ProductId == productId)) + { + reader.Fail(ApiText.T("出荷番号 '{0}' に品目 '{1}' の行が重複しています。", shippingNo, table.Value(row, "ProductCode"))); + } + if (reader.Failed) + { + failed = true; + continue; + } + lines.Add(new ShippingLineRequest(productId!.Value, quantity!.Value)); + } + if (failed) + { + continue; + } + + var outcome = await shipping.CreateAsync( + new ShippingOrderCreateRequest(destination, plannedDate, lines), shippingNo, userId, ct); + if (outcome.Failed) + { + FailRow(head, outcome.Error!); + continue; + } + created++; + } + return created; + } + + /// 出荷判定(H-10-10-02)。1行=1件の判定で、列の指定に応じて承認(H-10-10-03)まで進める + private async Task ImportShipmentJudgmentsAsync( + CsvTable table, List errors, string userId, CancellationToken ct) + { + var created = 0; + foreach (var row in table.Rows) + { + var reader = new CsvRowReader(table, row, errors); + var shippingNo = reader.Text("ShippingNo", null); + var lotNumber = reader.Text("LotNumber", null); + reader.RequiredText("Result"); + var result = reader.Enum("Result", ShipmentJudgmentResult.Hold, CsvEnumLabels.ShipmentJudgmentResults); + var approve = reader.Bool("Approve", false); + var note = reader.Text("Note", null, 1000); + if (shippingNo is null && lotNumber is null && !reader.Failed) + { + reader.Fail(ApiText.T("ShippingNo(出荷番号)と LotNumber(対象ロット番号)のどちらかは必須です。")); + } + // 前のファイル(出荷指示・工程展開)で作られた指示・ロットも指せるよう、行ごとにDBを引く + var shippingOrderId = await ResolveShippingOrderAsync(reader, shippingNo, ct); + int? lotId = null; + if (lotNumber is not null) + { + lotId = await db.Lots.Where(l => l.LotNumber == lotNumber) + .Select(l => (int?)l.Id).FirstOrDefaultAsync(ct); + if (lotId is null) + { + reader.Fail(ApiText.T("ロット '{0}' は登録されていません(LotNumber)。", lotNumber)); + } + } + if (reader.Failed) + { + continue; + } + + var outcome = await judgments.CreateAsync( + new ShipmentJudgmentCreateRequest(lotId, shippingOrderId, result, note), userId, ct); + if (outcome.Value is { } judgment && approve) + { + outcome = await judgments.ApproveAsync(judgment.Id, userId, ct); + } + if (outcome.Failed) + { + FailRow(reader, outcome.Error!); + continue; + } + created++; + } + return created; + } + + /// + /// 出荷実行(D-40-30)。出荷番号が同じ行を1回の出荷にまとめ、1行=1ロットの引落しとする。 + /// 出荷判定のゲートとロットの使用可否は単票APIと同じく が判定する + /// + private async Task ImportShipmentsAsync( + CsvTable table, List errors, string? userId, CancellationToken ct) + { + var locationIds = await db.Locations.AsNoTracking() + .ToDictionaryAsync(l => l.Code, l => l.Id, StringComparer.Ordinal, ct); + + var groups = table.Rows + .GroupBy(row => table.Value(row, "ShippingNo")) + .Select(g => g.ToList()) + .ToList(); + + var created = 0; + foreach (var group in groups) + { + var head = new CsvRowReader(table, group[0], errors); + var shippingNo = head.RequiredText("ShippingNo"); + var shippingOrderId = await ResolveShippingOrderAsync(head, shippingNo, ct); + if (head.Failed) + { + continue; + } + + var lines = new List(); + var failed = false; + foreach (var row in group) + { + var reader = new CsvRowReader(table, row, errors); + var lotNumber = reader.RequiredText("LotNumber"); + reader.RequiredText("LocationCode"); + var locationId = reader.Reference("LocationCode", null, locationIds, "ロケーション"); + var quantity = reader.NumberOrNull("Quantity", null, 0.000001m); + if (quantity is null && !reader.Failed) + { + reader.Fail(ApiText.T("Quantity(出荷数量)は必須です。")); + } + int? lotId = null; + if (lotNumber.Length > 0) + { + lotId = await db.Lots.Where(l => l.LotNumber == lotNumber) + .Select(l => (int?)l.Id).FirstOrDefaultAsync(ct); + if (lotId is null) + { + reader.Fail(ApiText.T("ロット '{0}' は登録されていません(LotNumber)。", lotNumber)); + } + } + if (reader.Failed) + { + failed = true; + continue; + } + lines.Add(new ShipLineRequest(lotId!.Value, locationId!.Value, quantity!.Value)); + } + if (failed) + { + continue; + } + + var outcome = await shipping.ShipAsync(shippingOrderId!.Value, new ShipExecuteRequest(lines), userId, ct); + if (outcome.Failed) + { + FailRow(head, outcome.Error!); + continue; + } + created++; + } + return created; + } + + /// 出荷番号→出荷指示ID(番号が空ならnull。見つからなければ行をエラーにする) + private async Task ResolveShippingOrderAsync(CsvRowReader reader, string? shippingNo, CancellationToken ct) + { + if (string.IsNullOrEmpty(shippingNo)) + { + return null; + } + var id = await db.ShippingOrders.Where(s => s.ShippingNo == shippingNo) + .Select(s => (int?)s.Id).FirstOrDefaultAsync(ct); + if (id is null) + { + reader.Fail(ApiText.T("出荷指示 '{0}' は登録されていません(ShippingNo)。", shippingNo)); + } + return id; + } +} diff --git a/src/MesApp.Api/Services/ActualCsvService.cs b/src/MesApp.Api/Services/ActualCsvService.cs index ea3bed0..8c58dec 100644 --- a/src/MesApp.Api/Services/ActualCsvService.cs +++ b/src/MesApp.Api/Services/ActualCsvService.cs @@ -27,13 +27,15 @@ namespace MesApp.Api.Services; /// 前の行を登録しないと判定できない条件があるため。 /// /// -public sealed class ActualCsvService( +public sealed partial class ActualCsvService( MesAppDbContext db, ReceivingService receiving, ManufacturingOrderService orders, WorkOrderExecutionService execution, InspectionService inspections, ShopFloorReportService reports, + ShippingService shipping, + ShipmentJudgmentService judgments, IBusinessDateService businessDate, IAuditLogger auditLogger) { @@ -71,6 +73,9 @@ private async Task ImportOneAsync( ActualCsvKinds.WorkTimeRecords => await ImportWorkTimeRecordsAsync(table, errors, userId!, ct), ActualCsvKinds.TroubleReports => await ImportTroubleReportsAsync(table, errors, userId!, ct), ActualCsvKinds.EquipmentLogs => await ImportEquipmentLogsAsync(table, errors, userId, ct), + ActualCsvKinds.ShippingOrders => await ImportShippingOrdersAsync(table, errors, userId, ct), + ActualCsvKinds.ShipmentJudgments => await ImportShipmentJudgmentsAsync(table, errors, userId!, ct), + ActualCsvKinds.Shipments => await ImportShipmentsAsync(table, errors, userId, ct), _ => throw new ArgumentOutOfRangeException(nameof(kind)), }; if (errors.Count == 0) diff --git a/src/MesApp.Api/Services/MasterCsvKinds.cs b/src/MesApp.Api/Services/MasterCsvKinds.cs index aa85aa6..cf9e31f 100644 --- a/src/MesApp.Api/Services/MasterCsvKinds.cs +++ b/src/MesApp.Api/Services/MasterCsvKinds.cs @@ -307,6 +307,10 @@ public static class CsvEnumLabels ("段取り", EquipmentLogStatus.Setup), ("故障", EquipmentLogStatus.Failure), ("アイドル", EquipmentLogStatus.Idle), ("待機", EquipmentLogStatus.Idle)); + public static readonly IReadOnlyDictionary ShipmentJudgmentResults = Build( + ("可", ShipmentJudgmentResult.Approved), ("保留", ShipmentJudgmentResult.Hold), + ("特採", ShipmentJudgmentResult.SpecialAcceptance), ("特別採用", ShipmentJudgmentResult.SpecialAcceptance)); + public static readonly IReadOnlyDictionary MakeOrBuys = Build( ("内製", MakeOrBuy.InHouse), ("外注", MakeOrBuy.Outsourced)); diff --git a/tests/MesApp.Api.Tests/InventoryTests.cs b/tests/MesApp.Api.Tests/InventoryTests.cs index ceac1fa..9849865 100644 --- a/tests/MesApp.Api.Tests/InventoryTests.cs +++ b/tests/MesApp.Api.Tests/InventoryTests.cs @@ -234,6 +234,71 @@ public async Task 在庫不足のピッキング指示は作成できない() Assert.Equal(HttpStatusCode.BadRequest, created.StatusCode); } + [Fact] + public async Task 出荷指示と出荷判定と出荷実行をCSVで取り込め_判定の無い出荷は全件取り消される() + { + using var factory = new ApiFactory(); + using var admin = await TestAuth.CreateAdminClientAsync(factory); + await Phase3TestData.SetupAsync(admin); + Assert.True((await Phase3TestData.ImportActualCsvAsync(admin, "receiving", + "ProductCode,Quantity,LocationCode,LotNumber\nFG-01,100,LOC-P,FG-LOT-1\n")).Succeeded); + const string orderHeader = "ShippingNo,Destination,PlannedDate,ProductCode,Quantity\n"; + const string shipHeader = "ShippingNo,LotNumber,LocationCode,Quantity\n"; + + // 自動採番の形式(SH〜)の番号と、1件の指示に同じ品目を2行書いたものは拒否し、正しい行も登録しない + var invalid = await Phase3TestData.ImportActualCsvAsync(admin, "shipping-orders", + orderHeader + + "CSV-SH-1,出荷先A,2026-10-16,FG-01,60\n" + + "SH20260101-0001,出荷先B,,FG-01,10\n" + + "CSV-SH-3,出荷先C,,FG-01,5\n" + + "CSV-SH-3,出荷先C,,FG-01,5\n"); + Assert.False(invalid.Succeeded); + Assert.Contains(invalid.Errors, e => e.Line == 3 && e.Message.Contains("SH20260101-0001")); + Assert.Contains(invalid.Errors, e => e.Line == 5 && e.Message.Contains("FG-01")); + + // 出荷番号が同じ行は1件の指示にまとまる(ここでは1行ずつ2件) + var orders = await Phase3TestData.ImportActualCsvAsync(admin, "shipping-orders", + orderHeader + "CSV-SH-1,出荷先A,2026-10-16,FG-01,60\nCSV-SH-2,出荷先B,,FG-01,10\n"); + Assert.True(orders.Succeeded); + Assert.Equal(2, orders.Created); + + // 判定の無い指示は出荷できず、在庫も動かない(単票APIと同じゲート) + var blocked = await Phase3TestData.ImportActualCsvAsync(admin, "shipments", shipHeader + "CSV-SH-1,FG-LOT-1,LOC-P,20\n"); + Assert.False(blocked.Succeeded); + Assert.Contains("H-10-10", Assert.Single(blocked.Errors).Message); + Assert.Equal(100m, await StockOfProductAsync(admin, "FG-01")); + + // 出荷判定の取込は単票の判定APIと同じ権限(品質保証)。物流は取り込めない + var kinds = await admin.GetFromJsonAsync>("/api/actuals/csv/kinds"); + Assert.Equal(MesRoleGroups.QaManage, kinds!.Single(k => k.Kind == "shipment-judgments").WriteRoles); + Assert.Equal(MesRoleGroups.InventoryManage, kinds!.Single(k => k.Kind == "shipments").WriteRoles); + const string judgmentCsv = "ShippingNo,LotNumber,Result,Approve,Note\nCSV-SH-1,FG-LOT-1,可,true,\nCSV-SH-2,,Hold,false,保留\n"; + using var logistics = await TestAuth.CreateUserClientAsync( + factory, admin, "logistics1", "Passw0rd123", MesRoles.Logistics); + Assert.Equal(HttpStatusCode.Forbidden, + (await Phase3TestData.PostActualCsvAsync(logistics, "shipment-judgments", judgmentCsv)).StatusCode); + var judged = await Phase3TestData.ImportActualCsvAsync(admin, "shipment-judgments", judgmentCsv); + Assert.True(judged.Succeeded); + Assert.Equal(2, judged.Created); + + // 保留の判定しか無い指示は出荷できない + var held = await Phase3TestData.ImportActualCsvAsync(logistics, "shipments", shipHeader + "CSV-SH-2,FG-LOT-1,LOC-P,10\n"); + Assert.False(held.Succeeded); + + // 出荷番号が同じ行は1回の出荷にまとまり、指示数量に達すると完了になる + var shipped = await Phase3TestData.ImportActualCsvAsync(logistics, "shipments", + shipHeader + "CSV-SH-1,FG-LOT-1,LOC-P,20\nCSV-SH-1,FG-LOT-1,LOC-P,40\n"); + Assert.True(shipped.Succeeded, string.Join(" / ", shipped.Errors.Select(e => e.Message))); + Assert.Equal(1, shipped.Created); + Assert.Equal(40m, await StockOfProductAsync(admin, "FG-01")); + using var scope = factory.Services.CreateScope(); + var db = scope.ServiceProvider.GetRequiredService(); + var order = await db.ShippingOrders.Include(s => s.Lines).SingleAsync(s => s.ShippingNo == "CSV-SH-1"); + Assert.Equal(ShippingOrderStatus.Completed, order.Status); + Assert.Equal(new DateOnly(2026, 10, 16), order.PlannedDate); + Assert.Equal(60m, Assert.Single(order.Lines).ShippedQuantity); + } + [Fact] public async Task 出荷指示から出荷実行で在庫が引き落とされ完了になる() { diff --git a/tests/MesApp.Api.Tests/MasterCsvTests.cs b/tests/MesApp.Api.Tests/MasterCsvTests.cs index 7933199..7c44af5 100644 --- a/tests/MesApp.Api.Tests/MasterCsvTests.cs +++ b/tests/MesApp.Api.Tests/MasterCsvTests.cs @@ -1315,7 +1315,12 @@ public async Task サンプルのマスタと実績をそれぞれZIPで一括 // 実績は同じ種別を番号違いで複数含む(05_consumptions と 07_consumptions) var actualResult = await PostBundleAsync(client, "actuals", actuals); Assert.True(actualResult.Succeeded, Describe(actualResult)); - Assert.Equal(12, actualResult.Files.Count); + Assert.Equal(15, actualResult.Files.Count); + // 出荷は判定を承認した SMP-SH-001 だけが出荷まで進み、保留の SMP-SH-002 は指示のまま残る + var shipping = (await client.GetFromJsonAsync>( + "/api/shipping-orders"))!.Items; + Assert.Equal(ShippingOrderStatus.Completed, shipping.Single(s => s.ShippingNo == "SMP-SH-001").Status); + Assert.Equal(ShippingOrderStatus.Instructed, shipping.Single(s => s.ShippingNo == "SMP-SH-002").Status); // マスタと実績が混ざったZIPはどちらの一括取込でも受け付けない var mixed = ZipFiles(("01_processes.csv", "Code,Name\nPR-99,検査\n"), ("02_receiving.csv", "ProductCode,Quantity,LocationCode\nRM-3001,1,WH-M01\n")); From e497446983352f635dc69076000d5dd8f54a78ed Mon Sep 17 00:00:00 2001 From: msmsrep <113223770+msmsrep@users.noreply.github.com> Date: Wed, 23 Sep 2026 06:52:10 +0900 Subject: [PATCH 3/3] =?UTF-8?q?=E3=82=B5=E3=83=B3=E3=83=97=E3=83=AB?= =?UTF-8?q?=E3=81=A7=E8=A6=8B=E3=82=8B=E8=A3=BD=E9=80=A0=E3=81=8B=E3=82=89?= =?UTF-8?q?=E5=87=BA=E8=8D=B7=E3=81=BE=E3=81=A7=E3=81=AE=E5=87=BA=E8=8D=B7?= =?UTF-8?q?=E3=81=AE=E7=94=BB=E9=9D=A2=E5=86=99=E7=9C=9F=E3=82=92=E6=92=AE?= =?UTF-8?q?=E3=82=8A=E7=9B=B4=E3=81=99?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit 出荷をサンプルCSV(13〜15)で入れるようにしたので、出荷判定・出荷管理の写真を サンプルを取り込んだ新しいDBで撮り直した。出荷番号が SMP-SH-001 になり、 判定が保留のまま残る SMP-SH-002 も写るため、代替テキストと説明を合わせた。 Co-Authored-By: Claude Opus 5.5 --- .../walkthrough/shipment-judgments.webp | Bin 42328 -> 48634 bytes docs/assets/walkthrough/shipping.webp | Bin 40778 -> 61864 bytes docs/walkthrough.md | 8 ++++---- 3 files changed, 4 insertions(+), 4 deletions(-) diff --git a/docs/assets/walkthrough/shipment-judgments.webp b/docs/assets/walkthrough/shipment-judgments.webp index 2c29c14b562b20f77159c4eb73100826f67f193a..810a5cb09e8eccd6e8f0b0fa0f748cb432efd5f5 100644 GIT binary patch literal 48634 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%0D3?}F>32EYm>h^EpUc?s;* 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 D{Av>( diff --git a/docs/assets/walkthrough/shipping.webp b/docs/assets/walkthrough/shipping.webp index e38a6b73d89c8d176233aa76fdd75686bcb7bd96..2a551f629b2bdc42a4b1f23628aa1a4e48c5d6ea 100644 GIT binary patch literal 61864 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⁢k+UhJz^d?RBNVG1Vf_NPhx;W0BZ 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 F@L#hN^$P$1 literal 40778 zcmbTdW0Y;tk|mtBZQD0(+qP{x^QLXvwr$(Coi}ZN_q|tL)zwwq{f$1q_Bdzk*n36H zm~+Nj<0wjqiVEfe0H}!w%B#w=6R`fhmQMo82BgXZ-2&n@U`P@tAu1}&cd}rJgMqZL z{dil#@F+NcLQlJY&otafUcoN2JN9kz$!e8j%SqcleDaQWWVq#SxtjhVUxxqYlh3`) zUF!DnBz*vUpL`#`f&YnpvD)r^p?~)2!{6|odhhUE{rUM3+8ceh``Z2a-rJq!+y41^ z9{IWa7`|Qq4*hYvZtZsa`jLnK(appE;@o{N{rY+Txf1KgkN%GTD*dqg)A}4M?hF5> z_lIxm$Hce&d&8UQ$9JD=$v5)H0|cimiGN#+|kzdHzstt09F#yX|oHo>GrT^=K7FJRMKcZ?tydrxnyI0aIvgdsD-LM}9&r>po12hiqT0azyA=F=O~P#BP7+mpZNUt+ z-9H;Njt~{)S}L4(B_uDkKpTrwI-$j=F<>K0+Giw9#_6omjnso6M+bCoI^LR7NgNMV z@V!DF`{bgV@`gAao+meHO)HW>fiA5=ih`T@<%BkKOK~k{mf~8@EF`oYSP5v`Fw=Xn z!s>>~sOJ5#rI$e_QZ8#_uIWz&O1q8=X{U0(Cl&tNTK$iF=2ia+y%&U-kupg|?kIKD z?Le}mENSm6))XeeR5NArFf?Ny_s=E6m>5qri)!vHQQ^?(8yfuHb6o5%_<>;s01$f%m`P zNX^_W+%G5J!W#=ZDhT-$<|mQwa_4IveXkF{Pbt$#SU6f6WY?si9nzFppz?bXYiT^k z^ymtr2W?EmQ_Ab%N^Dr9|4SjyjYULR|3rCAG^UrpW5GufPeFET;Z3{Q#o$f%r&4O~4&(C2+-l6(D+SDNK zFT%tblpULU5&Yj6eT~;6@$8S6St#okap2Xr#85bQHQg?-&CHcIo^3O{b^cm;L3r0I z7ebw$2_C9I8ZiuXd)$W!P-R}|Izfyk_bW(&?&~h5PI4}4quPLt2s25OPNgBciNoR*;kv;#}h&uHjE0nGV9iD9>xp=s2-=5ra z?$4_YtKp7Y$#M2T*AKS~VCXJvWSMj7V;q>zbM3BCldR;bA}E)Cl`LMMYG|}CxbPAo zNL$%Dq;=Q{$?9xjc)JbB{MN)W1#Db+i|Jwr+*&_Eg{I^B+sNy@AE^PyAlttRD8;a; z!$a9%44L~FO?Cmn4aXm5lHq;NB+ZfnWH60i;6S}Qt1OZEejd8N^`ZaL zeQdD)x|Nz8zUAbbAbyQzn1h*@H|&$KAe7*8FstRD*bYW{HqY#G`}kj?lea^TJCy1B z{ZB1g3c-Bkprrk)N`K?aHXayHw$ci-l&a-0v%hmg;()04>Hl)`uxk5Dqq_B=_NnlbepST!_Ti?4N1XcmnXswd0F;p(sj;!|NCz>Wb*0GbN{ zpzft1#cUfo@e|(EYNKT+3Fhg*(hz-b0bO~Er?n*!DWMCgT>qsHh}<>PSywUuuL|#! z)qnG_e>}BHd?{Sob6hSqpk(N`k_{*5BQ6OQ;6Hjhz_6k2FdN&7 zJ}&LqZh_H3F`hLE(5K(o1M(1z{#!8^tepKt_AT+Hmvhj>6W(Xim1csQ__%x4C}$6U zC{4W$K4a$7232`w)CQYcTRz89?_Uos5%a#2{FkBw@#QtL7>e{2D(JLTEk@CQU4WP^ z9V@MdKqdOFLYVSyj!pI?SByHW4uXooU;2%1@*p(?DIIX)-LiUm_p9b*L{Z3pRS=iq zTI87!1aY6ZB+gUbv|AGX6A=G^*&EvKYi_t) z9x$0h)m%nOyIt>-X|nY}sc;5c;|xd|$GU?XvsbqJO9`47Q~m@PFI5zV2RL{6pDv1j zDUZDQSe^e@)T!q!n&#io^(I0K|HRk73Ef|{ffNz^W%2uu)W2S z$d4YN{sg&|U3NTu8EC!DicIE*#;G$nHI*+SWk3A+FGBn;la_7vwHibUNUUQfxUA)v zwKnYvssL&dh+GPwra$laK6=^U7&btXjnoS$57Iu@#sX93fBXze055$_Q{d7OmGz>46l&Mkeh@VHK;F@pw%Jyi{;}@m`}R~QnZ?oM zbZAT!KF2EW8U|jA!M|7jU)J$|*ntnIcO&rTte-n6J3|8vKrjUVRYxF3?2z!{qp+0j zeil;ouKVZjyU?thA0oWO{`{JZ{VS6PWKMDQ)2@1eSdFFUl`#*3z*~B;B%x6S!d@5u>zgVLqom}2uT;oIa$6RMpCp2N| zKJYS?GC!H2%Gb(f7?CP^Uy`&zSs=z9`-Jmpx-mc^hs&c@Rz8zYJ2_eflT8qP~3D zM|^y@iTwW2ChGaALDc(80JXiBLE=MHNd-Q8?c_Np5HNh{L8_Nq8ao%lnqhC<9XHkg zmz)0?{m-4q-P-{Ggd)j%S9UhT6=H6d~ys(ObY5uQ6_ADti3fu>&ZrM0T*J#lddP<=*==N1tyCxdB7V!qsa z2-y|2mu<23+F6Z()6=Mi0cx~i#INV00jR5Cui?{>jPIyW_Uk0_?}Gm)zuUP{Z(Il3 zm}$hp3P`$M-79Cbf` z&1k%bDHLKJ_|n0J58Vo@sr*Ydmz@-FfeQCE-M?j(%F@mDwF5;E7mQ#Ky5Vb&+n++HA-2x2{#X*XbZ);+@4X=g4 z59zat7ccNu+y-N`S=K!ViyJ^IehH&qbqOes`mg#N@*X4m4k++rT|TWIHScQu1;f$m zYCf$S*tPZVQ7-g}SDuvY04CR!GrYv<3g%xPMc|hU z=wqjs?nS6J?82spVXgQ{UTX(o$d$0aK{R7h4EgEI{>ac+AK6|=V=~D0i2QaA9ncLl zu6Og;xmdl1=CrsVFnFw{82KTENsj_FVTu90w2Lb2Vzv3_Xbda9?11_&+bk5Y8_)R9 z3EG-m0c%7-cPg}+&rpb{OnkFqCFz|BvFp$|6uGz$2soV9@$cx|4PuKIEX}S!ifN2< zL{!6+KHvYwpk|-Y%+H#DB#jjT!z7A{AEaRmCF84vX2Ps{Q3lh@eQP|Wsv}jbl0Pok zL{tOOFBOHv2lyj~aw0G|!SD}o{$~{;yRJlBvw~~Sn$8Fu1x8eiXNw)ej{()|=jZKL z6XvUd*Fz{Z;cEc0cJ&F_@^e_2J^_F&d{6cK4?pwo@kp`fjbVz8G&r{pF^2jE!AA;J z|85Upa=M7I1!9IuhcE*xULG9>#n0|aQnLnUy1BbEykTgzny*JkKsual_-hm(bhn2I6XHkJr$?^W@J){4UmUe~#X_*Aq z{tvkY3u4iC&i;9xSZ}pMm___M9Wfd1Ekwy4mj7N>|Bp&+pD9PwGY{FuKp}m)K&rT8 z0XR|c*ahX8&Zyjwcf{UkVGQ_x*(oXT@B{e%YzBvT5!1io8`E^kvLt~DhiK0f^mG3i zd~Mk^XQ??;odn#n2LJ#7f}vIIF(&_fy)Z|^CIAC=wRet7z6sX{@tZT|=O6Tnn=kvp z=h@RRwX)>B@7XLkh4Uf$imw_}idqz9N|JyQw7v4>;TDWx0 zovLrxWK>6EU7P>q=XWbK2w<64z#_@=0U3&sl-1aBQo^^ zMiaPZ6)+-mOINeILc|}EMb?UD1>4EtL9#nMfYj!?3cH-^2zOdS8zrk*u21kgC+8AE z>m^@Qn*ICFMly>LH3m5Bo&fJ9OaQva$#pH2NWEBwBn2YUBy9 zyzt__VlN3TN<4l*QTS-Jy2r*Sxe_CV6* zt|4>-p2+@#v`xenD)h>?g1-0p<*_>h{saEZv`@R;ZKoLp+OHfSy=uMsee68te261# zZc*FyELr_t`$3cnNTWbbo-&EARk{+*z`+L6)b$3dcwo;C4#J3G`zKI*<`Kb0dW3x*J-JJzT+Oc~H+*qy zs7uMauN>}Sr>;FnV&^Drfu+NVHgKB8xIIKSRL&C;>TGDAs=bP< z3-($v?fU~z9Ts|Rr<2&%{G$(w8YN%B9YZVSS2i6XA>)G=X*qdHu4WvazuTZ`Rt@Su z3LMb8N_dd18#*2~@8Q+|A{zj+QIXa?aKRDv@fGO!IO~Yv_UT?2rP*4*cRD>4i_hbTy2Ff^3wwgNAVbksvh@~#O%{E91^H5m+1^zQ4hM0&rM!YE$#Z)5 z7i<1{LufOsWmbZYKfy>1MJp>pH@cg{A#mg4>ng3N%ToGm%zOgg7dlkGd9FK&f z4I7dEhO8zg-5l$CD2#J@3sbe5wV+_)*F+`M{P*6%$LfZ915yn|nK-UnC$-%ft8QwH zHK@f0uTPxY)@9_8FAtI7Nyu%x*cp(wFPl!@(GspuBX6o?BkSF;+~9Zu-uUNAsb*3_ z3^BUZbms|c`ZslDo59o#Bwz&EPIgiLM*>n+UusZ2UBz;SqI7zFZ|OFk8oYBc-Ru)) z1PZS&{Rh@-6Z)T__lsp2MTD0)FSc1R`ux5XzChD2??1m0+_=AqTmSN)a1X&Ae_(obnni)^tiX+G)8X z;V>7z zSB(NF@|Y`(%i@Y961CXzJjt{MO|g)(YWSM3wUrz~Npy@i4WucxKU}h#Z(fm{lF0!X z?}Gdsl`;_X_VRhhngSMtba5gi5w2qq9!W4L;%zkk3e}I2>DAiCQ^Avbyo;5>YD>r# zgOpK-tc6zq>f`lTup(e+lynjNr?~6TZjmp{BUlMOA)JMbZOT?fR)v%hmN!K~+3(eA zBZM-S$v*DhN?OEdr|`Ft8@PgqzDqQPX>?R zwnTgOZT&;84dV(`lW5xH)nX zo!YGZT5)tE9={KkvJ&GrR+WK@`ZT#P+M zJeQ{X`?3_m9rI5aMOH?EQv}V#!6L{sw7f+HSLO4ND!JEq-Fb6r!5wqs@mph}&1<8q zz1=FgDgT7E%7s_E4&=m-Z1+lnp*slzSv%PPP;OcteKwDaow)3^v$mHgj_O~1)sM7k zP$roK;VGSIyv3)+cCLu!&f(k^-9m`vkjm8;)>lG}88F&Lj7*P!24!~(24q$&RM*y*<~2VnH)0^0yCNu8f)D`ZQFkIc1eA5z={DTWi}Jp z?-G*55D5gUXtc299G@=2^t=<8nSVzmP9F+(D(5NY$#Gs>l+Hmti4&QN59lI1O#BvV zYMHsIJTup^)S{2-I_Qft*|wwwY@nVGgE~!P{!lRq)f|UxWn9Q3SHYew>zu` zy)ni=m((|GmR?q0^qE9XUNvN1hoTK*+v^q-k%;2#p}7YPZno>L-^GKYdB7>MvO@+FaMOFR*svn6m@$1!`*nW!hryaq@ zLChXS%@}ROgd0OFD|k0;J5sDa)beYiaA9M~I z;>g?#7J=X!&O)uGAd$}^|D94qk6s##On8?o?@BGO?katt<8+u8sf{Y^YqIb3o2?zX zSI62Z=1NRKh6{SY<~O;a(ng?xs?%ZA#lyFO1`~X}PG8MDnVv{D(YDe7_+mhHaSE8k ziQLDTzoU==jfTJ?OmZsqJCj3$cErmLF7h&pSbMXP-*SS(`bfFbrb?uaI4)=4AYdw3;&xyql0LAb^rFt)bUO;PMOw)nL9{q!zGx@LfC5z=B zJXkMet(Kb@66|#y0m|eS!Mn?9{~Rg5Hm->N?Ku12wy8+nS4|n$kUg459F*5uWgaax z=dPdxPw9ZG$1Fy~4ylCRerqAqjx$y2on(n(x3#GKyAHl(RXSFt@}7{T2uw%reJUT* zKC|s_eb*Q}gA06yz1s11!b9<-CYCr7w4#Zn4Q2TSL6!aD51xQZt}r!+vH{g-Lm!z-$O-jo>L#fApsZ=flW2e}RmO5~Q6CA>(2M7!@K&I~zjA zL<#)*fBgx;3`(_Us2wHx>(klmhl8`(o~GT9lxP-sgPWV^_^ z{~rkY_YdBRo5^M8uLu(5q=uln6-2I)!CG)Ip=bT}Qt%PC=A);3O=#bsFZx4*Ux2hI zgPv^%yBO;MWeH}|MMEx|Bl;6d36^viAPPDdt9Q%5Q&|Gpt?DMY>2 zW~qVdJGczkAuJ8$sLnyqWkm4?=*sKW*=ja##u=r|ma!(IEC z!fhFT6zbX-Qk^n+q7nqP;Tdo`mx2vT`{)Jfiz2CteUkJ(MWEn6LdI~?S~Y_#LCQ>3 zZKM=gAFKGRE+MwF+6U#GUs00OYf%GOWSe}e6N>e&5z(~=M=_Kc$g50HA*bYWja{HO zM0yOPU=n29+El|uT6xS3oA;&q-KOmhazx4l)rqw47Qy4~$9G7U+3B0nBgdI3Ks0ex zgKBYl%h2#({RG#k@)9b3Z~ez=+}vWyPZ)K~F4l2UgRj=mMfDa(i;b+FgBthLqOnvh zdc^0Z{q+k9vaC=+;8WHPLlVUv!-f5kuh__mO<&9;MWv{3^nKtiw<88O9hl#bsJ(1K zKnyV>ZO*eqmu?48?sN4Ao=Os0~0L4$Mx2lHW%-wOaaOBp6M}~U|CC$chw`5 z7UPZ!TnyNzsiDUJI(F@=w3fa3V=~xtv_Jy%01l-X^!2L-)aWCNxB6h899AW~C%*^zQ<1 z7C#@X`_9~1C&keM4k2sP?E{p%WaOls-5xCO&U;~tl%P5Fmu*5A;*{MybVQbRap8!P zic^kId&>A^Y`d{$niI*{*+K8z9cz3aRcf*@x3K}Uj?k*TBkf>|Z0u(Wsta*S6sTXJFkNF%z3n)yfM#Za{q%cpupKZPn-ux4qe1=EIY6_WGlB+| zQfyI&5D>D*`&Fn+W&dnjhBss6yqy;8294%QcLcZgV=zx$w+oB+Bd%B(m%Z?`H#SR} z1bvt?j^xY(W1sQ^Levs2Lu0w@2i+yS=NOENx02NDUQsC2#%jg(@g?^c*bz%vgl?!p zM^A(No8st20MOVA8gD=lLQx(?Gs;{%>YihYGuyzqNhedSNyza{t5X7YFNTjqZw0cH z0?0%wqodLrKV%4mNTMOWbKM?=%0w6(p&)zM4%l@n0IE49F}FvaHEjn&y9Imb3jE%Fbj2bAu-ebMl|nytiqI|h@P2W{ zz8u{$qgP}(E)6lf4A;P!XQs8`z8;-SJCs>8rROfi!eP-r)(%il8^ax4yIK|8`dTQ( z+?J%>qeyh^s$OiD96WwGWuuH;3>a!9OIU~u6+!XuD)6rhzz8V6a``g5kk(x|&B~(1 zY9`1^bt~gGkz%r_8VMsv4*LPrFx|&@acZuq^^X-{`shd|ZF<5OWI#%jDToK>GJ9%{ zK{_Qvry(ngKOgICCm_C;cSt;`-dTI}N<3HNk|Pwj=XKmME(efo^=5!-w~VK^ZJg4c z@OvXl370H$vq!^=ne%8qgRg*!|~<4 zf<6)|AHdz7D7eU$dlI`~6t9dYN%|7~usUn10822@pp~^5-<+yq<1GaRV;8gawyTb!Uu z?g8Gxsfhv;x!lw>b~3zt2Uo~AsapRzSFgxcbT~F{i$TA-?=%0z?&TbPRI~Xiz9^Vt z^y8O>Bxma05PBuB)4@J52S-5(9M#B9m}KuMT};`{F^tQ#$hr05f89>YTM5%@uwn*O zXCT+ZRsiea@h_#=rDcu_RXny zt>4?eaY7Nr98X}y{N+j^@qxe^9 zSmbJvJwcGTQhr=#rAxdFvR(pd)NUebxDJQ?N^KRzwL|M^lqzS&^yL9iCn>XnDh0?= zv#sbjDYD2u6B5sA)=xn|K`E=9pCo=MZmI4XONA~{f>6*PUht^KMl_G%%7S8KU8UN|dSId-z0* zbXjX@qD5LrGGnbhL^EPnvT191-J2sM~ z!p7UWOk<*kWGUZ&CRi9H{bL!4y6|^2ZWt&CKv|J>=72RKUd3gvKB%t8-d-d~Ll~PO z?1uCv)I#(;K)-B7WYjQ2D+7{~FnNUOfK0h`bs2SBx3mgxU0Su{%s?!zUjaft@oj*$ z4q;!g`sB0tL(_6axK*szHDhv6YV{~px}pysVGLl9A=B4qu#dh}ZMrgYC??j_l8z9I zeQNRq;^qzBdi=vyf5 zT)vDVUTA?x<%S5Vp)vO@F=~d*v1x39J4elRwm^GJ;s+#E5?;| zQaIe!Imbdw30>FBDlBL0qx}&G&MvNMtZ&;0n%H^nyvm4qlX7^G%l) z9(wXyKqgQ=;wqNw>iKdcJ{7EEIILV}qgvkNMY$%*3+ESfE*_eb8TibZ(?+iYnSXS)6E zLMVMm9TZ4}O;6RREm(Vv6yoP&nBU(dLB+MOUm>z6pU_ivN{r~!-wRn8K(4I;nk!F2 z6fH@gtCuBNDL+36dMLnsE?vE{9r6Bwb}ssGke0MO2oJwM z3Ts{z2oAa)4t~5dW@EJEo#eqt_5j6Wjz<+T4HoxKkUsTl$UDs{9rW-96bXloGy5#` zP2^XyuqxCE)-y-SP0+3k3{zL2)cnc=1$h_wOs;T7MDx3`M|9ut&pS^&dAniiB8d&R zEFLEIhcQ;p7o+vbh>Ye=8r;xaLP^n(`kyn0O6&uog?5o<)*4|)N|t^TsoUisxI`KT z+S({^_uyCwW2`!k&z)v>5piI>AZA{@ym~+XKTYoL>82mSV@u4U!rxAJTe=115j5fr zYCZ*(Xm>TK(Himg;a|oiHs{50yu${`JM;$^VtF;QEd^+y_Mk4N(#VeJWIqptHTo)> z#}i!~tBoIbR;DwIDMmC@PmkjzzK#_FoP>AWm>7Sk1H3C8;7uVSQt0Hx;Bs4kN(jb|oo2CfWDwT(RL(Ww@p_(GOjl{z=$NYEbTQ&9l4`IC6r<<(G5+2rT8sK_bVsHcBi&LJO)jSeG& z71Ca4%&8j4hF&M!$ytD(1>6T*j;Q`58bU6MA8Yw3tr(3Bl1lUwEbldeHJxT$utTgA zJ`*9+64)&~Ihd~O>{gJgQW(X{=XC|2zxq2s+h>ln*iajW#Q#G+~*DB*D~G4o5X574tD zNW`7n3AfH`=DOnL*E)4qU~pv&>|9451#oa99__>Q81O9U!E5{WQCBe7Cx2At6x9h5 z(P=mh!?S??r^%~6cjK*sX3|G{kVD>h13)-eU))fZfBc3vr46C+TFw%AiOkG4{w#YsNjFu=2 z@x)~fQ52gKhC}IFWcI}{Oe_D;#MYYPx7?%HxC@J1pm;YIALNv4>-9O74R-5->#k4m zCl!#&XbuBuzuwh#CO?@#5SVNv%y8^AL4MXc+3e`t0pnpmwbF1T%sKac;mn~?(OY=~*li}`kuwu3P(~!coPs$w z;=iv{j*2!?$DaYqp*?@Nc^O(bR27QZK<--r0E9~JY;Lt8c6oW<+;GKR`zOB03JC;V ziv&jr@EKh*^H6JZ;XA{jPy%X2CYVI>5dyaw3oVE0X!m*g-xhy4YjVwR(@1LZlbRbN zIxFy@i*@61iUC&7hu)eTcQH5f({iEMK9>@p`g?*i32~JU5f-GRVHy55W4ZaQuQI9i z31+Zw%AlSww^@99hn7sIu*roj6+8u)YkwsMLb7SBPlQUCtrS=@H5^OR`>wP)MnrZa zJc)zAA7_ZvC>gX>6sWy!eCE3f+}(xRGaHrmQ7%7C$F=up2){`u(=UkqI=qA%8-TTjTp`UqNW z35EL!ehM535r%)eC6D^%SiO$yOT! zd*g3ngYf!W;1)o^bWGldvc{!9Y6C0H6gvJz&s2zJ3eEC_FUo*tsBD=Jv1C?mHWgLS zilt$xRvYmcw@gmK83w&#c-MT#ef1=}FJxWRQq~>c$g8`8y53xIKFcpX-R1#|ls783 zL&5a%#($4xl+nTvx~A4&B!bp$i-o_eD0ysS+1^#YpanKv;j6V0iinzIVts;c-Uz89 z{mivB`37GI3w*U+7NMbT z2cDJLcaU<+gXlZxs_+Ny0f#NR25^A*MIETcN+n{+tzP^uf6Sp zH}i;BeCHPCu)^(}ipR5C`uo?U?YYjK5|v-T`*JWe-!Mi1YzTBlW_MnNk)rvTch@9_ zUUUwrBs-4nO518QwFYLG`PD$f>16cXC{T!``svcy8diX4Lg8yc{{{}X_MZ8C84k3qZv`*&H@Q|M!ReA+Z z!e^uBMAV1Jywx0Fk#lVyH&%rXBpXcaU-YZ@NG;^WsjA?zHlgDjHEWu1^S`p3FXa|k z0I-MCM9YE)@#2f$oy*EI(U8)TNxOf*N=M6e<95&J^FXXtN9La}XqC`LE9Kz=DHw;) zcF3Em4|g_87l(Cr8tHH+M3!;gObsjIAS^hxR3lq?zh~waL`BdlEA)a>cQxQ-KaSdM zZLd>u?J%v51R3zY7cdj=j>j1*L$034aT)e;b$(_ZKPnn4f3Z%0h;?-*wZ`?@t4hRS znZwu*ojg&?*#Zlle2uA$o(0H6H>m6bRANjLgEM*TqgUgCo*_7g0b8Q%@xL`1A zs~1xeY%o%C7hnXWN2h!%0WioMv!)Ce{@BN6tr@#0)|v=P| zCISIs>Kz(cB6w371Mdl=9c7RG zp1%*2e#IA@Tl>sVn~^7N$mXS$=4unJ3pF1QwNLW3Sds#n00lK{n4`!1I0oxU&s-$i zha1a@7Th4fsgD`qh+Dt_W6DJfGbE+ZrZ}EtKd%!x8V|{y~WsLQr5SP*bjQ z#%*nH>D**!hNTLR?x+4aD#tt5^V$TX3KnjkL0MzIg~MR*xvvx5a)E`WyKsmITCW7FMkydr_LSWwT*cAIwI@wOwh22aKTjL07dx;GUsYkX~{ zTWPv49kxJ&!#-kGF8yMV%(?^riJ?d30W6XELtUg1^Oon70he1E%7d7(qjtL^UL{X@ zAw|1K{D)<$RKfzgR$Nwl^W7bby4^=G*v?9_gBqgYn%sqCR!t8xJs=-o5MHGC3BZ8!>Gtk~~`wM;stNSMD>YWkH_a|*rXJKnSqa$GT-V^(nCkn<%u*39YVDjyH5uZF+ zh(9(OIqaWt1v+D3E}K%X{EY5wktyTWAa*b#Utw0UyEhJs&E%ToRk*zO+~9q7V1$-{ zZd=b@)>T{D@I1z$FJd%Ybh)Z&@81Wi2LD7~IlW6)R93b(Q0R6CMgH&=Cg>F*42aH=~3G!(%Wy@3=+b1%-!l~L|mX=}kUk;dfrVf?FDji-m$ zJ>I7%b|ef;>8Zy}3aXNAJaMFV=4EfPlF%i)jS@KFVY30OLHX(XKM{B#V8Xg=(M%3=v zI9;!ylEbV=VoO~q--bE@NHp=ReO zz2z+j?c7AnYztrkab(wfSmz_5p0;#K?s^np0~(JPeNxn=a((^@s(~;>Do1xFRE2hX zu53oIwS6Z+rqG3QEeT~Ld`bL>15~;`c>V5}!jA3%;bXKwgE$KyHw;~;uQkm&H{*d9 zo9UFNgysN&r)QfPrGkQ;$*T$PW**ker;uPW-3bg~!5nz36?Z55raHmX-lo~AaT-dD zWT+@OKTq3h2|mFK{Ry7{w+M|PV)5a1#-G#cueq`=#}2I}yN$d3?A|F9p(9f)hTvp& z0mkJJ1krfGAl#*B3iUmA{De*!9Y2yEF7#ug3`fb}GK?&O@UC6dA1ipSyvey%S7XQa z=;x9)AgJJ0kuO14j_$<3Bs z?nUyUK{3uPStjNdV3XP~z%*uk4&ovJKw%96!&qvg4&m>s` zKzSM(wZb!79M5E6yhw*2WyJ+HQoA%k%$i8CFBL&)>@1e_v%zez)x=g{cowBSwu^yI z(l+(nlY13DxzBI*>O4kv-*zJvK~v{;Qe|J*10S~1fED^#ZCu)o1(JkI;;uvYG}#Ux zmJnGW&>A|@QMWQ5eOb`K(XU+s*$hwhliRW6iTrygF6hfr)r6Q10S8kiA$Mb{mz#<~ zwDw(QFM3w?X&AxzrVs;)Z!&AEee^uV+1l2a_++Fh=B_WL3#}g`vjZ%fg^^TscESqjr#4*M?Ic~ z>;RLOt6XEuaRf8H;b^&VBT41vlNS+dYc;JRf}Yk~xojCRJ3ma7Yw~u$ALuK-2Hp`% z0YUYMBM6&=zP;fmAl| zlaU(iyXIfLze^fSJbxKIF(ZA+REYN}FJ}dT+coC~k9aXJ6;^9qCsa4N^L6&*@OXyDfN+(l_B4>&>P_iqP$aC1e&C`r9r zFq1N5R2AdAT7~p8aiSPP$8-?+H7!#qNio%ISbh4j0oX>m6V3v37jqG?ay$aya&tVw zXW)Qi5Hj@-0YssHyR=)LYFrLu(F4#hGr0{@SJYo2^aBe33cI)dQ7&zn6+>&7i-F?t zH(Ny8cx(`bjONxb#_}NbJPa`vZsy6ik%6Ttdl>&Cgk>7V#1cXoID<($ZGs77b(L}AUmvLo-^TVisY2StG%JoiRsWlKN+R82QBTBkd z(x4@OX`_6Bd>w_>8f^mZ#WA@Xz@F6Tt-r_8h;r=pt+2sUS*y#gg_HnG5zu!706#RshE0kh6;pW16eNh z_V zoC_C^pme4xqx-qBSam~r+3jVn_W*BTf@R-LE87h=bN3Lt*T5?NftVttn|2;5IK7aSCZ%f z9p171C}Mm?%*|0`v}@S&xOC<0I~ zTT5_x<>X77MKLj!2&!+jK= z|CRE_X~8u{&C+BQhlvCHBr9rl?UJYDj#{cyA}gA8QCM(DhnrUfseZ^AFoy^yWrsqS z9+iu(J^`q=Bu#in6)1&KW#Qw0DcnkrYI~M)adKXS+YZwKX6Y61XI>Nb;I}hcbX?s# zWTp;72x&KE3yK(mGpC>P1Z~*LE=K4;0Ohd&$h7C|7O8KtxcNQDpU^M#%%{WPBYF`# z2U?S}9`Z$-=>5jQO=)R>gDiB>mR^-_d9L3n2vsGebz9|t2Z9P8m9R#}DtpCiQH-&; ztOcJYh5kS(U0JnHBJgg(XSl!ndv$hWwJ*ss8fBEX;%A)U4G;cGfbkX^{OB5q#`v@K zIQ$L0M%?v3tcP(QX{nD~Q6^he>D=qpBY43vwm0_BlQt3g;YGuun-G;3Pj}&q8feL7 zxS~)M$j(cJuF`u46+$mdO{_Cr@Y_B$*v)&5BCQOlFnA<9um{yuiF-s zKv+}zpjZoH@qW5D@6Gk>F+n<>8H8ijcAX%TRT%s~-v+RVw(oUKHY>U09&UVF) zLg2_4XRR3fcw^Eg{ilcJC){e=-A8sxf2Q%L8}JXJ$%zYxgReM#3|10^T9X2}Z|7(|6s zd+0n^B#FKnQ{WlK=5p>yba-?^m0Toiy}ze>6`yV;5oRw5OYh1$%~2g)rIe62R{p$K zr_+p7)gPV{x^vE)1^9Px3g>~SqgAmvIR=P>I`6L-Iu(6_*`pU=nuUp=6bScexX{z~ zmPm>Sdh#M3jD2o8;|`FPwZ{19uN+#I`#YF706uPJ-LM9WmVs$(dNx(N>frE%ohU&e z_xgcvn^TuuC?IE20fDz6JOM924|txuWKi|8#umG0t&@}sMyS(!I9G1pOgkW3ug0(~ z<*c1T%2K+}Vz`)Kg*I;mFXS2QRQVwRA9~T}-NE{9h~XZxC#8Q2I;Q{WZRkVkCzlCY z;h4ev0!=PoFu0qjD82Ql19PVe=$$--L}13Gi%O<3Ly_bVkK6n1-XlC#-6IA{-`t|3XY*Rfl<=Vg{x9#!mq7p!N*ByeVP& zDDISr^^mn*YCK!NUc*7k*-2ib*;Zf-I{ynm&uXo0-O7Ka%t3gps5ZGb{3}ueVUVgG zDz6A^G zv_urFfaex=e$q%#Ql2kehUZO13!Bmw#OtQ<@^Jls=K*3D16z@rh#$Do*kaGKk{gI4{)CeDLNlP zNaMI_?#ub_kjIU|f}ykE?LxZloWh9rA4|)k-Nwd;yd2@JRVR|;uf>6>=zmFgV5Z~! zh(+Pi5FQTSFSZ0}7soij|?BRgtJyyqM)x zAJecINj14wkG~0iYfcoSCWuSZkvpW_`-B!YL%J(*~3Pm#=M&vwgQ z+12+OK9n4z@7sYD&j$_F-Pq**_Nm3Qd5c$_t8xuwK@FS_%-l+USN*GAvSZD3(B9w< zSsMDBT8(_cF>~t6c3ou7=%)q*l zS|&Xi&~83nZ83lG2z1 zA(bpmf&=livsbC4V7rC|^An^LujIf*!ZEa0WpD=7g=SyOZIMCj6ks_k?KsQ8-}2{{4i zpy3`YXDMkLhrT4Ag+jNr!I1)>rbK_5>iDF%Bqc>hvIm0+A9(QI>B$6 z@Ctu$#V7keBplK}Vh}^L_2x3sBuU5UAD+PaEPV#4L&AWZSH6pUkg4&1OklMp6NV6o z{yGu4+CIv&nqPt#+5YQ!wpMiLIsP9~pJ=rDG_u-~y5_@og~Km%1-l}-LAYT{WQ@si z&WGkgdVXe-p=!iR!na?ix)IX~UDA!ws)hSjwF*-QFd&Dr^(6aswxW0_z4T(vBt_wH zWd%JI(qU#nTc{WCrsCSzFWA|R@PprQS1_i# z*||$tB2AknSj3n*#Ew&)dPa=&XvWEVHXKEi0kGpq$Sy%zLZWT~eEPfFoJbrBd}+IW zBF+M_j$TXF!sR&a_1Gz`T3k z3A?wx%s6|V`Ama;%{^XZE5^!`DBfpsEI?4DwM&6saT?{_D{G8a(`+h_`ZxiRhoZQY zW9Zm&q=WlTL=3&XPsX#Pq;HzL&Ai@)4z1Phn^Q=UFo(8mgX;VD(hPPd)l|sC5s1Rnd97$*M1mny;&k@(~}gGE!mN|=?8X%-l?p` z{2K3)N~cEm+JRk8ys=G=dxdBFx2pAT1gPMen->r6vWG}?f5wQvt!PxGj|9QopHXV6 zR9jz7wm9qq53?*Zb6Adl^85;oQ)$;q`@0uq&`=I53{`7r>*asE5~IPwTxt|I*w#VU zH^q)31#O?iDlm4ror0yqfux$y zA)n=c@T$c)Fb3g-fEEw_p%_BKcgV&GU8mE~6(<^hWMSLIArrFplcsUj%AsiZjL!h1 zk}E?rg)1{k25>sP^LrF>*Xg2gMlRZ2o`a~($SDGE<|@q(8YYtrP?uG_#Ojp3fCl_7 zCluO9V{R(|^l;WfRxnvdx!zLGF;TH|8{fDi1J781ms(egUEavt7ywB~a zz9)N)-Pc`O1D^C%=w4$&Kus&^3BdFNdZVgMKm{r}@!#W&4=zAOl;m46+!THldc4hW zG*p!;yv~y#clI6F-g)zlV(5JFFd?XEBZa|@L?B=*pln8|w!6m4&jp0PJSQ40G16d9 zf09@!0u=SJ{5iK`em|eC-c?tW=%u!@F6SU-42AM3THO(yR(ayk01wYuJE`ISF=+0_ z39az|S&?mv+%^B>p~>FR`zW=Ix^?#Vt8F)5LaqzT%?Je|ssDFG9%EP7dj@pw&Ar}N zy!C0lo2EAw)FW~p3}CP897DQwyr>k+gDPzC6joq^h%H$tI}(Soe+I26{+NqX@{^gd zlTqm{L z7D^o(Z8C-j*XPSTa^g+~S$LtPJs9*Po**OPUOiN0svfrH>;AmRGhoZFd-~i! z4cjV;DDpGfe2pBmf{><^2TL9oHpJk}S;njgG15$kwIG9!gTy~w6n$%Rpgt&m=8YRk z6#K!3ViS*JljkHQ@QaG-t+{|A*38{fl^2QBRyE>n`PbvG0`6#DIVe3IkvKr^*5tt0 z%JO8sVsy4XO%$CJm}PLorS`m9*N!IcIQqM33XwRyiEa?0-M?k9qZ8>=p5i@@D~wr4M7YqGw^WNz%t>jSOLUq~#KhMRg#e23fG_VITclTV!X^t45S_*EfQYSXI za}V0ZX3_0NVzG9&{ztpQvJ58Wnv%x%HOwE5E!M7{<+D}hF&bg_CDZOlL?F(j%dg_Z z=>bus2pFplX_ZgS2)+IFo(*o#yETE9I?Z^4tZHb#6%%F`^r&~+QjU#`L0P{8;D%#@ zSb9axH_QW~;ao-xqUAMD7KfwaQC6FTA8wV&6)%BCDVcJ`&K_aMHy-c+SLMvnJD5N!g<~ zVVCbZ$eHPvIHihWOKc8&?kz%Yw?#(wi10f1v>>2H5VsKMmD{XZVP!hSg=d5ehP6Lm zE?!*#rc{EECv+<~p@rhXxXV>o-MZZA($4#GICUMwz*aW!?ah0!otTp?!TU4KR@c5y z$dD^H>h4xXQEsc~9+SnC^RF3TZ25|5IFII_hU8qkavCW^Q129OY-I8`ej|jTJp>M>Tuo!WDi!O7YeTT z(b=w@zu(?YEC2Mo?L+Opsn9ISGeQwotv#XJAHiynV)*2;(r9yd838yOI5^(KTL2DUL1AGsS z0DxF0b-}TP(pIiOayV12KV7;Ek*GKD~Ccn_x)u@!b>UqQ-D0{ZV_yPZF#_3 z`<3Pr;WiQ$xmd^xa(y-0Y+IyrSpI7CDynamCX{J~15`J(m1z#vY9p*QsknbZ;`79$ zZoagTqeR(7CBCVbNdNe`N%uP1gcW&{v`84i`u=QPdQN0xavBcMG++}+E$D9BDe@Eq z>?&R8ONqii6j3K{>jiW(a5C8f^&$=~Nz|#uogYZd4eY)}m$EKJOUVdj8+|JHZ3WW2 zZj17m1777f4w-(%fK}6d$?N`Am)z|n5d+Sf&KQL@f2d)@G|0iwN%Fj60jm8Ej37)5 zNKh|#8d{Mtk4;qqx`MT!`5eOj6MVInmr}obU411Tg!_K9<@Xx*$TF#Im5o$UmCSMY zw@piz>KC)R+IQF|YY3>ug2E6=tRhLuKY7k8VG0Cy%+s z*!^~$Jw!x`f(>;pl}hcl#phEY8_1g%cB`Hj+hJUAP=O%;01&;-$n2@eDm8h9S*#=! za4mZ{briTB%HEvf7vrwROx(JZg8om5*xKzOmr@$FD}2$!*on6nkC>^?XhY;HQR;9g z!M!;nV?WUPi+5Fh>PJN!@xDl^h+YY!{j$<5e7aLllVIZugeys!Po*PV*&|_G4O=yF z@nG9JKY`KPOgamG?y#HDPy*BFcUB5V^@6Bs36&7|HEbo>`M9}$pFS9Ph9v#7+t>P2 z4|?Ece6#7$6zFpK>e?ziiFh(nO6Al-V6Zu}1Q5?h3TgT1Pj8qfi(s{WeeI?Y9+M>p2jVc!< zcBNi+h7n0|2ZVjXWeKx_(kkuc*;LzkNOV}twVuLM>n`Us`N#L;Rzeq*-fy(0P zAgc}n8E(iL zQiv>*zz)kl8UNKp1cQRS6I!|++z%VbD$1CujbWA|8I1L=b z3N;gqc4Qv*env81ps@hja=x+2qXBWYXqO2x-n!=S7xILIGPwPXME{(d3AB|K@{Pmg zsg%ASoWLEO*pG?Z={=QaA0_a6W{F{J2E;|(;Vcf^g~5ysgc*Wqa9~L!x=BeW8$Xb8 zdhp>=pPdc6@A1?W2lb4*Le9T*p^v(9Q|oWKIsj)!e&3uN+J4AJl?(y^(vNfi0H__e zY3hHo?w6Ab#APL%?z9F}C{ll(ZqFDalwDfUQgoRcgpx2Tm3H8{Z{mCN0!HInjzyUNtZr!IKPg|LZ5Szdfy8A)@ z`118YSpplUt8_rmg|h0OW1S33esHwC`Brug;5KA$z0M==p$rd|KN>WBAIwi|C>ed{ zCha~xYdgM=5|juA;mkuc{$Tc(#AGa+ddyR@5)U`dsUqviDQjOA@CgAbW#EJfP+nxr zs`R1U$DW@%d3^f_Su9=n0ElI~ce z^^%KkSRQ3qahLy(sl=W70!c0)9?jlg^>yNkW|d;wyWx;lV~X^LSf^4&2r{eD5uOcH zR;`q=seC-YZ7Ad7$Hk5)-N#QUt3}n`HlqQ9;|+nDKw^l@sk5k5rUhW0U)E{k{C44g zJh$h)ggf!-S{d2}GC@lw3g7s!9a~(Ugf_0Z78?ZRBc8#r^c+tD!*|}jx3mDWtOnNC zjwDwTltu4aDc6B41uHYA3U3XkiNb1Kl0SeUFz%lBSZ43CR`xbm<0<>>UNBIhl?T-PXNrWIOse|z*;i9RUnFGhoUbzG)Jh$K>-{fjM07q`9T}N zj3V0R)?g0snYi`2%8Mgim=CZqA?{#wk3aEV1?7m+x4_CProN zsm3++I@I@KU2Fsw4a|(oiy}+LZ<{+KKoh0KCK$K3f+D1S2KpUcSo8i&Rhe^=EhC@r{9d%D8W4Dq*|$(Z zKFx!&wNl~-Pn1?UisDiHPg8v+Ocmctpw9G9D@_YKab@X<56kZ~8{$b^)PmLIqi^D$ zk^G4(%>}+|#z<)Fq!-`9&|Z0CwPl03jJF6~cEw2o@)lxY!sxx2X?HsZ=$XEDN6tEg z{n1xQ`GF@oXbqr0cY3Tpg!1<0SCk*Xp>b~Z#&J6|of6kMC7-QJn&^mLrSjXa56LSG z7_Dj6x_Cc7^1%12F}nI~f)~nwahgW17S@msDE$S@DQZZ;$q*ar*8W}hmZLDX@C&pC z&W8O`Hbg^TmTJ9g!}0ohG)^fN!`q#Fk{^VDkHv8MuIE05A065}7Kpo?q#gEK$(hld zOdj%i(%qG9N)TK?4kb4=seKa<%7zNO%I0Ng`Xe<5m{W*Ghi7*<9;p(NiQLKVM{JD# z_n1zV?3<-9SupkYImO%*&KQbE4^JALdm~*`MbUBL^VRIPX+hBOl#o)>5P`)lx{2BevSa+3V|z? zO&d7b)&)+(!63JgB(!}H?gg!U+&mcOeYPo9vIep~s#@#)Ot~H$s{h2^Dst%xKqDS$ zJz4Hl#Ibt9Y1kaP$YWSL=d8-?MD42pM1E$;hBJ?L;wOnQg`_2|a+B0XJMAh@OLC4* z%)|#uh{J8n8t;Mo^^&saf<=~^t)Xi;o+peCv>82$$OO4yg&tPfjXYl3xpDR;w&8` z2Ynq;I1hv#LPxGHO53L=@M1J!&c-ys)L6T9g8KXAUf4XE{vUyoZVuB6>ZEGbnblah zwo|ZCx|`V>K3U64$9hraw^lP4w<>X2V*lVtAIP`l#|qH+>@%f=BdL&hn28=O)8v{9 zsC}v0_Vu!mDd{S8XBuL-VGA*hwrWx7Z%L@>gp?AC&*TaIbbE7>F`e*)9u@f2g(Pbn z66E)HQPI%_Xg}m-WP(CIMX*0GaiF=Y!y$|J2BZ7kb3V%Y#o$T@cHQDJEHFIBc zG9usZmZ~S`g)pRXNBi8Y-h45_!7f@rmUypy%ifIL{*`LuKH>fRFQNfbG5`Q*8<7#8 zOYJNs&##uE`;wZ-`w3nrU!D8~<%fIBRBLz)&|DkuLS%>f#Jp>Gtf3%?B{1;e7}0dV z9PR-yK>V6Z@{v6hEf^R~hqbsDs4^!Q2=jw6V?cf-z;!T}QNifYNY|>Bs8`W$3 zCg2j(DvQC4kHQ-+r3Td2$MT%LY^m7%^osrw4svLAoHR95 z0gT~&_lPXLp9nGAf01ka@D{cg#hADkr>AW8u~h{~Bx^Y*VB z*%M}r<5t=tOt}r)S2ptHkfwE1vlU=TjnRi;<5t|5wAQt1fro7pLwF>dgVwbTuX-fu z_m1f;vK+13Qj4X-&WOIu#!kN2zd8T$_Vu}LLTf9|2G8#}?r85e(YGSf`Z1lOKCI0k z6J?6zerZ5hD@h8HS)vgvjv#~NRuE>7T8?46>}Gvpb1!OPgkWQ`{7p?&{Alk%{hCVT z6Mog0?>H*;bhOi*cQ&C0*E{Tb6q5}4;D@D(YQyJe9b~#tsHH3MRK6o<7g~kO0%=tO zl)0!6l8x|fG?+YX1c?zGv_ujL#i!h56r*+SX0n^ElrhNg|LB^KW9tHHe!2D44P;!{_g?Oo##KXMvvfD(WcU4yV{ImBlaIp z98{AeNq)^Iny~~@A=y*KidxGztEowfPH=mp-(HOX{{uyuy!h>ZswKiQiK@mbB2 zpUtB3F`7jiAR;jb3Oz(*v{YqD|>?Y4Y=?ypsUqr-TE453#la0Iyms#&!-GrJc*vi`e zG3*e~gIO}hGid|mI8J*VyfP)&h-N8qPEccOL{#-?Y{kE02_tC4r>rYkN#PE&9-Dy} z%E=sBVN>IiHe);>l4+o8s{wO9orF{Qxv2QlUCS?^!}D9)YHtE=XDEn~4Gsx~mYUQ} z^FwQOwQ~^(MhI+XE@)-!gJ*zcxBb)YtWpFBF;@ApE*!G--NA5efLKmO(ZxNAFmr^; z?k;(s&y3?Jn!TZktzI%b*{f@(U%9BD*sy2*L#$q`|4kc^65)bbQeIy_G@h^uLJQ!q zkC8WG0HGOK-xTHU0-R>R>tAnVau1RvS?`7$!N#?x)`hBwPZrAfN+~Jys@Lq?c_CqR zSEq4%E0u3FB6mji%S-efOO0{_G-l=#2XHvC)P^Q-?AO(GDbwj*m1pgirtO}o0DC7= zo_J*V^hrO#LD@{~#x*f{?@9}@w$b8ajQs=EdkfI$f$HM^g#X}Z|EC}85(q8)$rYEJ zzv@>d3~l;@gS^RJTz8zkMn(4Md1Tb%jA~v1_vI1Y-!dm%9E4v57_H3yY3Q*IE`h;E zO}D0hKY2w!W^qKoE39NOTs7*8p>Hx(q;#_xfnOj@q7AZC-o_V#nC_(IDt>Sy*^388 zv9{`VtrpBc{ND=+Zd|-}9LD{Ov48nFq*37Ed=M(ZOX(NWO@_$0KBLFmk>4RBuj@>&5DB@o=exC4sa9J$!@#pSm1`||P$}j(> z^-Sye1~y$Td~O^vX4dJ64VY=lFnAyYpIb*f$^H38gAG@XUeSOlXkg2*)ms@P_l}mK zgtD;l|7~6Xz#2I9B=-MgD-*t3eaGLv+E&9GP=6EjB|ol(eR^S7{|9mMczJ?cL7pH_ zkVnX4a$pw4Jd*?Y5^Xc=Pr)js@hX6}z%M7~Z{{ zb_tK?0y@InY(|Yb-mVWE`Slx3h#RL>fAePmkJS8%6HJ35rd(DDui6XPLfvjcMi9E! zB_vsX!{o#`Sn@}GVXYeM=%=KGTdiZ{6bx&Q%7+R!$^M_=H9nr6=y)n*q8L$LGv+(i z!>pVcX_9>O^oI^bz=*qVX%@Ilt%QX{l>g7a zM2EZ^lC58N=>DT2f&F}G(ds+ksreZF<@tq@SK>NhKkWmH+>a^4cj)F+X1r8$87q2D zC)h37Zl}pn7L3cvgSjjLqeK_JS^M;CO(%)(+aLvZ2$E7tOFHcb7Q()gO2E`ohuaRO z2?0cES$))DBAe~tAMu2MUM>Tb>0^Ibs_P5E(sB1?MvDbZG3bE*TOa^%>RJ$1%u2rc zGnBa5AC1Khv?9m?LNR!Y!|BCUW`wk_JQdF2>Z>motD(Y&x%opf0x5KI=H{O7MZ9fD zdW}Bupm`BDkmg{UCyB;C5VCMmimJiQu02K}&DssBE8_#2J&@?J3l~o;s=CInfDV+S zk0%VF<|Le(jbd5<7xEkT9}%2{6c@<5-SQ0pgSGBnbkOc$8`MRRSYpRH)SF`MJ#EYB zV;r2ZpyQ1#q+*F6m#C1$D*I4_azU^Pnp@Y84j$-406t55k{-@&K|~N8C+7I?MFodk zUf*efOs{?GBhYj53W?M$hUQA6QX2@QMyqih$f`d(srbH&=OXiqhzoqZkJjp z%1z6~zE#1-RjP@8u@5@lvDArXpTfC-ups<;H_X(OjKVTbXAN5k)ln%^>kyj0^RZQ& zW_`ooMX+4bOVt~AAIFAhxcVMa z=;%eSk1)jnL~Fw{>iMshKDgIl_th0m?rEQCq+e2TI(<@@2@Msz2#evUVrSP4aP8rn{AkZX$!mBqCjbeHgs5V9SPD8`_j{mh94TP(29086gj6dW7D z8-kS-J~KK;IdZ*LN6^jaM2=Risy9-9&Q7(M_|TgUfmo*q_p4Dtx}94(Kd$+Bowi(m z|FuuyF1{ zkp%-h?bwxiHOLQVGO}aFM_7dzHL%_C59r6j?9LGks1QQnjQ6CmBx6UWk;7aFt;pE9 z{G?Tz!|(J}vs3>Gz6WUx$=1XQ*>-U>AWkIM?Rz`|g?1M2Eyvd=O#GiO4TlS2gW0lk z<8R~bRJNC7evz~jr6bKRmLI&=OXn^l%T|-t-n5n zxC++hQz51pf=QIYwUwj+S(aCvdY{At0t z9>S00UF{usuPknbT`lmjR=D;Ks8EF7;ZX%G`>n~`U~7kRstGEQ*v&UjruKUGE!j6z z3`)mfS{|vl`ahnHG>iBWZ`B_7l0b_AEINrTU5BeU|I@SXOMngjKj(N-V^|Y9(u||b zyyGY8RDQ=P_gB6{Zw0`sVVzKmnsV$|8ag4^Q-XOpcD4LLDvxg^%~Y)$~)-L1Yd zuL}ehkG=hb1{IU%?O`Mf*-9_aHZ@}-gs&t9o5w<+;1H}o>jK;MJG`*QB3RXOB}yLw zz}j!=SitW`g@nb?0s>MD6{dBl?UmUQDs9Lr0-SoTJ+Qp$~t?aqoV&$ zAn|bG=k=7Y!$u6o5t4ck>lGQaFY{($TcveL6DA%2jJZ&C(wPfzQndnz%Y~130vx#J z^JkbY&!`$CZGzza`)T3pyi1#9=)$*c^w+_Ek*F6+-4Be;Vnw<@ZQTD0y?o4J3q8Dy z{MB8q$gucG2QIYLg@-ME`Q9(;X_5!(Hdn?A84?7@X&UHVP`KwbpJNOa)rq$ptC z7aXjn4P#o$3(ZBCi=>D%@!|#YuttNWpBvyaEsDFb28;JaC05F$k=GJk&P(_>dLD~h zEBV`2bgbke2#Q& zXmhBP`8;10AclL3B`*^_*`We++&#W_b+fo&B|@DZkV$@*xX;voTcl6@G z@*R|ARy!5!yUl0ca9Mq9Gzk<=x9J{f^s!f;t&B|?_ks0c6lDr<4kYmHPKb}JGE~4Z zyQk3P`Ro9boBcC%LZYRL4uXLNaEE^@2_~dX+*dSr=NMp%^Pte;Q+iS~!9dmzNRjx+ zH!)KO=Zg0GLbb~-KC!1P0)H4)w`h~)2Sz#d`*JTs_ zbir!Z41XQ$^osP|QlvT4kMYBupYRx4q{Sw9mVRYwf9wfY@J270OuQ{ENDj?~w|>z% z*XM}W8jEcF?_M}UE0EA1SlJ@Cl-v<)fcaaY$dQ$;y?*cpJ!m90+T{l+wiDP5ll;YO zPd{sNBeuBIAnq`27tOL;%|`nRa~80vF++2S2>7-IRY-LSv|&NBu`bO((5L@7RlDcG@|G>bgJHr3EYy!>2Oq{PFA2VsdO#bwE zJE;&KtA9^I=dFmBh>-?9hNQ>Vq4mOtCa0Lj2Oh6O2IDSww5!#fdq49y7nd}Z2;#3| z{zxI_(JAL$Omo#igs}Yt@2`tb`C>qSmW}r8-6iTVLQ5PDXs0|goVXcRAWcB&cbzSu zlnzNfqDR`k(S38$p`4_!nPNl7vC{~j{uoL+j?u*G1A2b7;lc?5;TNEDpjzkJL!>rL zl*7qujjhMAuuDg54{rmCCd$0hdKyNSd0NwfVy@*nqRm?SNo7G|h1^h{UZ>YG5H0mc zD{Et{?pr!>)y4h|Bxs1914B=4%E9Gl4>@*}>SjA=GLaI^wx+wax@%CzQtA%;lwr;T zqL0XfuMme`%_urr6ETyZv+CurO5vQ$016NZtx|v~vbM0jf#?XCGp9yVUncCUXN=V= z`n3EV(97=}Ud9b#I~p*QWSmqFpTK%-h>cfOWc6JKJ9lC=l6+b_$#IC`{WCI=w0jSP zvG~Y{Q&7IFdM-DY`RMuerg3zmu2u5~VWL&r0U5|dN~pCel>Qregnuw7o$~p00Zih< zp8@Wp0v&k?j zD52M_MC>v-tA(#{eD~~vwmHO1Ddio9;wR*z_Z!_@9HNfEAoiVLa~dA8WmM>+(yT!7 zzJSSHOdxg&dQK$6#=C2o&&C3{HNH4|ti#Qv=;_8i2k;98nQ*e-ZrUDG^51>T`S+RF ziY;2LT?Hj$C2<%5OpowROKnNlc@zmz*IN0J1ruJ=8&{5Z9P$c@#CmS%v-oHH&6YFz(Y2Y2&3OY?lIe?U#u>;^i~im=$~U9h6R zxBcOCd#@Y=yx$#ks3vKPxQa-xI!Uu|0p%1rk$=qtqG<`(itE3ojw`C}$Tn1{%%yRm zD*R4G#Hk8+7_G)Y`Jd+D#q(NvOdm~ELt%Xnr3W|wbP-%chxpqXb+0dSV7fZWPZ3$; zGkvld7E79`(QW~}<fppCr(EPKj++9DwR3}$S?R}pMN~jD3qk9n>*qWd-HgY(b6Dg$ zlbv1B9=hSv8>#zb@ejiN`f-FLNqrMU`l?#ZzT6-R&Gr!n-_xoBhfh-uR~K8!UM`ck zwYGN@dI3(f-xC|fmx;zPCmjD~91e3{i3j@H)w4jmPr#2l1~CGMqOm?)xEZBc_5L={*l8wOTfb28{%)5 zPc}V<-$AYt-xGis%6c8UN1N+=r;#g#jn2;$Fl45f%GgZ;6H0G}-` z19yobT1Y?{Z0h3`b((e_y$B^cOyeN!CU^S?f*A@<=GO!kODrdR3|CYxS`?&N^AcbE zE1k{XL!yWf3@|{E2GTGPHBHsM1GBhYv>qVTNVjI^5b6@~OEZ_OI?X~;*zlX9tYoTb zyG&EmXxgCAjL>LCbXZc*m%VWdG^U#hy<`B)Xi3sSmjN>B?8>MY)p{whjUu83!SQlJ zEF1e_iTTg6KhPu>J?`)mGUEFzYl|ftCM7EcHcv&8=%HL#a5t$J$1Lm&4l*nI??e1FRYI>dr zWwQ_9S3jj;jbAU7GBnN1ARg|l8ZrNsFE~P|s>w6e^GPkFB@2&QUx~zhUJ*pVhNO9- zBl>MFe#bg6_f5L2l2B|Z^Z-vaq2y2j7};YyZ7F9=jzAJy%?uI=ljrbmw2FzkKO z_ntQv=N3D%wbF_)j1XMw1rjE`ARgB=GxSt|Nebz7nyj~j&FyR5FERPy0q|ZcOS%21 z1$_ms?4Nc2II-s(4cvuIX};MjQXpH4Onq=mcgC8|dBF9B;rl}G&wt0dwg~Cl==x*i}v{HpY zFs432P*|WfV6alwS<-4gcKI_=6WaGmk?aj1=2`*^{i~ZEsG{OW#>Xp#rs5eQBj7E5 z)y3@SK$Fq&<8X*PzIm+l#CVenaJ>+FK{eOd`)OTKH$X|wnF)xV%?J@LQ!yrd)T@A} zGbx$&@R6Xz*OsSVrJY0vcrbXbIzz`UJoCfV^;_qHoXwby5BN!k$4+R=6^?IUIDzakAM@a(P);*u|(8Wa4mW4#PS|TqJ^P%ObbJk zIiI(6R*H#>t0gQD)&ELiXyp@ho2~Fia?DO|8p;qkG+||e3ShB`4lgNiAhN10iLjbb z#H5S*6#xKvDuDn-=glzEk^C00C5;Y4@0wa%lBWZH52JzY&c6trVVOTGcsrFGv%TWH zq!*C{DDzQM9e#shY4arzVMQ@r<8+oU#8a3^VDjcWpTTv zWUhzC$kN~40Q-Kb-D&}I*2{E?y7V&kR16=RQcpu+WLHSsAo2CY>Ea^~kWK^A!q;8KC9Yg5yrwzJBr=ixCjg z_5tb0BA>7nlzJMM)ye4O;7dfA|4#;kgxQ*6917ZN&;M=)xK<3T3f2?bD^;pkgRwRY z*bv9YI|u#@NKmV0Vcowtbc~FTjAA~N>h@bTCR203NeQQh5e9Q!#0a;ucL7!mc%;Re z>MVG|v1=qG1uQIWHQ((4qip0qnf%qW9;r;=*z~=?)^!LeAI7z5erkCI(X*GO#AQ_@ zJhaZUzryP!oRrHNC*3Uv!yQ%`EJ8M|?U3eb!G=k51B2brVJ&1Kd(1GfOOt;S0K5!d z50m)v7bNS}pakTe`P`d`g0PfXKIQ759 zW+pF=j5IIW1)Bky<*m-}w^Ku4?c4ObhUE65^_B+!l3;YP9BloJ5Lo+8MfE(>( zrS|sf=W@h6wvAS&{3YR9X0Ty#^J~12EveL0*#hJ=uiOWY*sJ5z&zNp z@w+bFk#NPbqW<%112Pvuo6E99vTI~wWyV~8wS$cmCQ11r_9jM~C5UgzYaY8E*^hr9 zHFmydG#|=N?jposy3E5kW9J_>_$u;4zQX@8H+wcU&mM5vi{{d}1gq zqtBJ|bpMXZTU4MYL;x{nYVWkd82-Ni1RMM0v?Pt1v3r$Ya~_NWgN(44l5X#7aSHCn z|G1t*Ky&vb;S=1#B>nJGro4>15YuDd#3zm$i_Tb?1}}Fipy;Y@pYqm<^G%1`v=#j+ z@(o^3>fx^wN7vq#i%n7~11WwhbJ!ILan>wUI+NLDlj4!s3<&WZQl~+yqSvj7m|?(G zgE#OAKR@j_6Q_F#caRESMJjwXSYNLd7c=oJiekCFjWWMdAlyGp<0I9)Es=igR{(l- zB`%b&o#Zy62WHanBw%Z{S0< za$tE+0#@_9qPK(?e;K)cqNd?g`l)yAjt zOo41bd{Guyy~elA;tjcEWNp*KOg_go0NtG)XZJ~MG0?(M`$O(3o^uIT(A1d>+@x)w zCCWwvTf}kl<;NQM-%IvnSW~fm-lO<0K@p(^5`YNb-CY$*Yf zh^Rp%w$XWllu?A!w=b6;hVC-${^8H}LM2YF`Rp-H$YdO#%1dR-KIzSCN;>Y!QsJW&95 z;BoZB4uxx0#N3-K_S4fvLSod?F86=UEudEqu)yFl7dj%YRQ*kFg!a4)m+!ZbSD!n~ zMD(N0$-Z{{;3wu!bw?!2-Dn%SOZc(5q}@(jDRlrPryM_niLkH@jyzgk{|)uvUO-b( zt8>1FK>Vr+u#^`DQ(kSw)vjQU$3iw0r0_EMLNvFSYn4w>{&O@`-e{F25FfH-A?_mw z^iDP)$!f=i_3Gm~TLFJeQ*%+C;IOq;@tSA2#cPS)qjh0p zM$9rz!?aNjUEnyT29zuuDXmTDt*af(^*ne~kHCak2B^Nrvg)D3-FS{?H7~3{oH(|& zu)gD0J+}y9pEpXEVx4bGzB$E3@5OuvXs8MCXhq-;0_k4bZ{Jw4w+vykDxEaw=%v-U z)~(tI?;=s2P1)3P6?Xn$%}Gyvb+xdXCflT$kVl8ENiuedDCMiwa6^2xpoWZ0av7Go ze%-Sl^&lTGTdNU|kJh=(t?Wr|q~Ie(i7k?soE7VIi{twMPk|s%4T5JdNVmMpMv%xf zb#wn$?uQvx^6%_64LH{ppar|f5HS(-et86s7M+25JRx)cy?hvm}2bw=C`$}n6(zbeNlIOLw$2|mC$ZHWbl6V#d+`Uz6W;CXa+$C3?b{h0Y%8hK zD08OD`8(@Ag}s%k<6Y#r{Ww3u00N(ger>D3F=RD)Thy4P_a?Ed@g&1~9p*)nT+;1agjP^A;ivhh>YR%6+oCJ;6 zvSLiJ?B6<+uOqk;=>+$up?EJY?~~?#=QX7IN5P4#t$l0q8R>GW)rlM1y#5Y-jrmEV zfXz$7XpUaMS>4WRG<|KO|mpSDq`DcX_hkQx>F-Otc+-%#5PtlPppD80oUBrrO})!)onc;37eFx7)^1~ z#|og}fdLa|uYTx7IXQl$A$+M2Y|T*V!kd2l3z8v0UO^dLSnjF`)RjDxa`~NCn&Sjv z#Dw*~U#|9J@lF>N?;Vg?Oj#K>FH8&vTlo)`yW?rGdSoOl2$gat)Foh_m$mYXIfu{c z6+9^FGmPHMjz4a%5u70fi&ZVu+Jr{G*7nKnv6@-(0TQA&QA&KZAVftaTrrnp(H#>% zmQmKhsI`sH%@|-t zb^_Ju$cmQ1v&qTO;tJ2ORMsa1At*gd_v1+dUBN~=NIwC!e1lu`eaPcReZNcdR(GKh zJbHE!TM0>ssHZ_nfp)82QjqnXRi8DhsolB4o*du2Nvk&dI`smB86c)484LHebe;Ji zm|Mb7avcBYGVim+ZlakEP;gqFQ=PISu&xqjN?`Ut@U6HruVKZ5)UEG9&ppd>vU{`8 zZ80r$n|MioGEvIhc&;9vO*+2L)+j_4PgRLL5YDARA}X?8lFFoUsAY>gik8wf&BQ6t zz`0J0s)jJ+Q;iP}ywDOuQW*eDMQ1;VR{?uh7u3iGN zoW=RQ#&UYs%eenoiuY2`4LB73CXfQ>o&6 zn;O!&nUfevG5`y>dH0utqqQFSweaaR+x7l34Ll#8{&h#U8Z|=A$+Y%}V{1!Q$o6mV zulF+R2g~{#k0kCfj>87C$lr>)I;eBx_5L4&=;W6>QIt-_0|>Fyy1WC*he(vw-IfYx zX(Ynyuf(ZUWFf-?ZA>S;d#Iz02MnGDyE{zG4irIM`V%W^&yioAe(HkXGuSdM_E+kH`?l{XuGR_ zJXn}i`dvsPGl?^9)&r}@D>-b2y`(ReX|pM{b)&9Xq6Ad8ZmDZ_>Xx@|sb~s3*!7s2 zI&B+RbK$jzJ{wyC-yl&eCb#1NH9QRUxjK2CLh_tNo3u%)^A&A*^AeNL_4rwSpgT#nZ zbsAgR?lNjNbeWV*ycV~zp-P&rX^s7B`uTEJUztSAu3C=jA${F%9am%RIht;ebbHNh z0aEbtfl^~RG?yRDCe9sVX{eB<{u5js{gd5IAZ~oRhXR4x8O=Gkdl-*EQRdy1qqiAa zJ8`Cy2No+Uc&f5u-ewjV}Z6`P!k~s zgFv5TgB)MI;joz1cv7WY$Anl{eS@kcb~#WT@&xyT;yPykIuqKDBNDw`VDSp7=Cwl{$$pA-Rdyo0)bPes=n&g52=~>uw@WolV~TFp;xVtY76|GujX$y}W& zE9mG{MP~wjZ4Mi7A%4Ys)K47kX~hi$hL}PQzwxE&u>ERCobA6T&18UwAy?v21XBCG z?Y&WbixPC1onkgRF`s2F-&~#@(}7PALOiDND!)n_8NqrRGANI-DnC*G5@w9a{uH}Q z<#eA+Q+9-g&BvZ^qAmgSMHbye23GgS=4R4&>Bk5^FmDf>(0T001VZ2r#!Or>ruzHbTg4*;tS( z6IGH)o%}M&3$7ceWdG_O4LS0c20ojpE4fot4gVx)S(D+bb?~V?cTlS??t-sWlLaF% zAY2vTD}&kqbEZEUbK8b#1Fq}p9go)@UTl!cOPk?np>8Ec+5}uWOctNJdi)hK-!y`j z4Q&HD;eN%6L_$&><`*s=FpWRR{H+j{)RwuJtq?1$cN)9g6xub*7$MuP3)4@4%(Kyf z(EbD_{g{vl!>`m2m|_UBz^1pxz(_+7TVlcS3*_Dcbd}>|<;@N+D)xY}E?<`c0m=CI zhs0Ln+qp=`&HVPl6oI){7$#949)Z46buDlBJvPLBYjfe*2Sg2Wke~!RRK`0+wHmxj z%z8o}jn=OM>T2&=zr+JZm+IxsR{-E`W_+i#D=pzM%Q~`?5>-6%@LK&24M)C304J$? z4@)5E^hzJ}F;fcZnxBT_A4UN%TOMQ~svW0qr$|+poq|{_xVif~!++!vknBP9A%n0y z*Z4i(`*ov`OG@*Qx0hv_&tBUu`o3a`ItB?BC-XvZp-5`Jg^5#Eu0Y6l zA&@i9b-2alEP+*PYkYUeN1vC|!&zObNVi9a(Xh}^4mFt!awHmYwb*5;3+^&yB4qWU z2kE7nb)II=bCase!L{isy29vY&zavVK#3?nX*zPa^#hk71ua1YpR#bJPtALTF+x(S zd!GaksqUSicA8?(R0>ZnfE8lOMq84u?0jWq<5t=xS>#jZZkOzkM2?HfOJ@ywSmgrX z=zPKXjyS&Qel0pPwK^;v<~6IPce2@=qi=&$zM*f~`+CbWWmw}IFPRIgt2ikMQW9T? zgb34RkZB2HH1MmIz|{ioFk26s7+@&tPnj)+aBFbhHUxuJ!OZ*zXQA zXez>NACFVeCQH8IQs;%b^?^E==koEoVrYo2T#F0CX-38 z+9+~|N2M$i>BzXS^J9K3&-#h^;5&(A!$-qlOP>#b>e9;BOQ4pDXR;AEDy z&oy49!dq%MvPu&!E>|_?;_}~@X&6wMe{@)W*ng`` zS}i??o1ES_uP1&Y@`TwGGjQ7%V_*$NQkyg!bnTGI8YqwQ>{(l9bRR;fH4F_GS8N{v zEv^pH&tFj1h|pg$a?ITa9_P6X5j~)lh<^N*dC zbCgeMf~tKml@+woz>Kcgrdnsk3v@(As+69w0Jjl?y6zG8$By0qxI{*0HuojBVx%{J zM}VJW<*oUPLUO!PJ=TkTGMy>rKVwgsC|mw5uSQ6PyeeWBSLyUSHL|pY*=e!wWVovG zucP1f_J*{su$Kf|W3L?sbcg5V&(_y|{7h)Yq0B0t{3B}j!D{Dsuyf=mT4jKqQUD5_ z3Yj`a^RErCTfwei6U3|&&bbp^2edkiL$%-}-alqozZVcW#OwK8Rn5TKzV-w%j}5gH zT}9sQ?dM1i&QK;8qN@{w|H)T0#-ULPpO7GyfA#J8G-asBUs?O$NZGBSVbYT8cO(n% z0;@3K)#C^O60KjFOE_KZ|H8c04Tt4`iakEhfiRGhuOPSG%z$>Bbjrt9hTfhT7tzn8 z+mbgtf253r%j^U_tT*$(9L45ieXp0zbR&3Ax^L|Ys#qgMGx%dgke=rD`~<1n|^LVUsMfV@Z8-aEqvt` z44-N~(c9$)U*|6icSa2QvH{(h7SUD1`X^Ebm>dFd#niu-jeqpCw{!{|1x{WN!0Ao2 zJj;ee(vq6LIrVMdT8s-0>g)L~Y7szuv98;FaOtkr)$1_x{8r;PmmprQF1ACT6>#m} zzsEHPIHZncp@=W6{D`qCtjiDsPf|1o94VebuhK8kndToyYa79GCx#w4tgt=Rw;-YO+1iA*PB7 zmhJj*PkS0#3lDgHvm4h*M=$^Y032l`eTzyq6-U$u{l27sXRqS|A@r(!oWCEGzRq8S z$L9e|%1FNXDkQ}pu7&)S9Lz6p7x;n+*@ZG-0^E0_F^G-Qw*p@hw+!cvxl(vGZ@>Tm z00HgsO#jEl0|lsbumF)sl#aTfFn~*(nEywEL4Hf6NMTN|WS#|U_t6o(a(c>%T8bqH zq)4@-h?9Xkv-wcwDx*s;adg!YgFE79emcL=)olWwHJ!K2yQ?}*W3E^Sra+Q_#_UAl zv#A}ESOj4WTLV$`CA#a%jV`4gHFY#@*S#S*NVZ*@6f|~MET2*OU#MwKrtZi%p|R>H zTcy7|rVoO`PYQF}a~p?UKO=cSqkQ9S_mx+PjLwK#%Ae4VqF1&PT1eL6dU24^o3ukd z;rL2$V>(T^H1|BnVyuYVd8eyuMfcS%g-$}M3GFK1m*J`!$v)1bpE(7LO@}mt;2x6N z_8EU0in+D5gIQhX3yj1eSQG%&7=hQ)Zk5$h=No3#7(c<62jWY_@?|~_FGe^0)-3;( zA&9%ZFi{cQ`>&k6|M;-?tDsZ}L9`~NFV)a02(k2?Z`{bsMKPryjsdOc?yZp-YP1Y| zXZ{e7k?p*68%Ne{MxhUrlarH^larH^larH^larH^lPT>bxSWP;p@GG;hWWdoIfla= zb#=yc=%_G7B(~L?K7(z8PrTOJk;R(00Z?@!3TNH^KvKTzHU?W@4|cmTwTDCUw;pU!^8-M@mu>=6&5 z3JD8~R_Ug$3sBYxCs@|R{TuvCrrOB$nmaIHz3(iFCCm<&+jMuK->*@V8pluUlfZF z==)XxGnLRN000000000M9w5Cpi2GieCbRu%P2UhtLHk~JM{opg{ZRLsUO6?soQxwX zKcZ#ncEDSu9_-;s)+>=f0000005?~efB#(on|LF}{emgb@_xnJ_~xKJeaY&P$krnn z>V6w0hhej~p0i6hw)QL3zMY|o*IO!((#_1uehVeZbtJOisC|#sj5qi<9fTeL;@2*j z^z(Cn_DT;n(B)#^Qfp!DLiK3unt!catKRqZQ1vZBx;)ex(NxUE+2~V(IM0VSPmjEF z$%LjzFZ)*+1BAwd{}8_*LYpzTR)ck<1)H||WycVr*!egc_`Q4MvHWXl0U&w2oFCw? zG&-JuwFEiIKsI1_Zds4^Bh3S(dWT^@GIGvbUSc$oux7Aly6-v!?rcsn9|-&#VnDSa za0Lm=hbD-nFXTBi?8+_ZQ9)drTd!YR4`wxvLuz%NgB2&s^=X~}0`@2kQRbOwCQVCg zoht;BO5YLpj%ne883y40!xgj*N2p)`0000004sjB8H2#U+kyQzRndl=_`P)qkld23 zi>^|Iu_<0a){=5LlPjL%Aa;Eck}jfUdPr8d)9G
-出荷判定画面。SH20260922-0001 と FG1000-S001 を対象にした判定「可」が承認済で並んでいる -
出荷判定。対象の出荷指示とロットを選び、判定を登録して承認する
+出荷判定画面。SMP-SH-001 と FG1000-S001 を対象にした判定「可」が承認済、SMP-SH-002 の判定「保留」が未承認で並んでいる +
出荷判定。対象の出荷指示とロットを選び、判定を登録して承認する。サンプルでは SMP-SH-002 を「保留」のままにしてある
-出荷管理画面。サンプル商事株式会社あての出荷指示が完了になり、FG-1000 が指示数5・出荷済5になっている -
出荷管理。出荷を実行すると「出荷済」の数が増え、全明細がそろうと指示が「完了」になる
+出荷管理画面。サンプル商事株式会社あての SMP-SH-001 が完了(FG-1000 指示数5・出荷済5)、サンプル工業株式会社あての SMP-SH-002 が指示のままになっている +
出荷管理。出荷を実行すると「出荷済」の数が増え、全明細がそろうと指示が「完了」になる。SMP-SH-002 は判定が保留なので、出荷実行を押しても止まる
サンプルでは、出荷指示・出荷判定・出荷実行もCSV(`13`〜`15`)で入ります。出荷番号はCSVで指定した SMP-SH-001 ですが、判定書番号は採番した日で決まるので、取り込んだ日によって変わります。