Conversation
- Spring Boot 4.0 + Java 25 によるモノリスアプリケーション構築 - Hexagonal Architecture(ポート&アダプタ)パターン採用 - H2 デモ環境セットアップ(H2ConsoleConfig による明示的サーブレット登録) - PostgreSQL 16 本番環境対応(Flyway マイグレーション) - GitHub Actions CI/CD ワークフロー追加 - Heroku Container デプロイ設定 - Gulp タスク(docker-pms, schemaspy-pms, heroku-pms, test:pms:backend) - Husky pre-commit フック追加 - Nix 開発環境設定 Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
命名規則を他のスクリプト(schemaspy-fas.js, schemaspy-pms.js)と統一
- apps/sms/README.md: 販売管理システムのドキュメント - apps/fas/README.md: 財務会計システムのドキュメント - docs/article/project-setup-instruction.md: 新システム追加時の再利用可能な手順書
- プロジェクトセットアップ手順書をナビゲーションに追加 - PMS デモデプロイを追加 - FAS/PMS の SchemaSpy ER図リンクを追加 - docs/article/deploy-pms.md を新規作成
chapter23.md に基づき、全 12 マスタのドメインモデル、リポジトリインターフェース、 MyBatis 実装、統合テストを TDD で実装。 - Unit, Item, Bom, WorkCalendar, Location, Supplier ドメインモデル - Department, Staff, Process, ProcessRoute, UnitPrice, Defect ドメインモデル - 全リポジトリの CRUD 操作と検索機能 - H2/PostgreSQL 両対応の TypeHandler (品目区分、日付区分、場所区分、取引先区分) - databaseId による SQL 方言対応 - 再帰 CTE による BOM 展開機能 Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
- schema.sql: AUTO_INCREMENT を GENERATED BY DEFAULT AS IDENTITY に変更 - schema.sql: H2 互換のため外部キー制約を削除 - data.sql: 新スキーマに合わせたデータ構造に更新 - BomRepositoryImplTest: @SuppressWarnings("PMD.BigIntegerInstantiation") 追加 - WorkCalendarRepositoryImplTest: @SuppressWarnings 追加 Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
- 品目マスタ: 品目名→品名、有効開始日→適用開始日、ID追加 - 単位マスタ: 単位記号カラムを追加 - 担当者マスタ: 複合キー(担当者コード、適用開始日)に変更 - 場所マスタ: 場所種類→場所区分(ENUM)に変更 - ENUM 型定義を追加(品目区分、日付区分、場所区分、取引先区分) - 不足テーブル追加(カレンダ、取引先、工程、工程表、単価、欠点) - ApplicationTest にスモークテスト追加(再発防止) - chapter23.md をパッケージ構成と実装に同期
基準生産計画、オーダ、所要、引当の4テーブルとリポジトリを追加: - V2 マイグレーション: PostgreSQL ENUM 型を含む計画テーブル - ドメインモデル: MasterProductionSchedule, Order, Requirement, Allocation - ENUM: PlanStatus, OrderType, AllocationType と TypeHandler - リポジトリ: 4 つのインターフェースと実装 - Mapper XML: H2/PostgreSQL databaseId 対応 - テスト: 4 リポジトリの統合テスト
- ドメインモデル: PurchaseOrder, PurchaseOrderDetail, Receiving, Inspection, Acceptance - ENUM: PurchaseOrderStatus (発注ステータス), ReceivingType (入荷受入区分) - TypeHandler: PostgreSQL ENUM 型の変換処理 - Repository: 各エンティティの CRUD 操作 - Mapper XML: H2/PostgreSQL 両対応 (databaseId による分岐) - V3 マイグレーション: 購買管理テーブル群の作成 - テスト: 全リポジトリ実装のインテグレーションテスト
- エラーメッセージを日本語に修正 (PurchaseOrderStatus, ReceivingType) - MiscellaneousItem のフィールド名を実装に合わせて修正 - Inspection から未実装の results フィールドを削除 - Mapper パッケージ名とファイルパスコメントを修正 - 全 Mapper XML を H2/PostgreSQL 両対応の databaseId 分岐に更新 - findById, findAll 等のメソッドを追加 - updateStatus パラメータを id に修正
支給データ、支給明細データ、消費データ、消費明細データの エンティティとリポジトリを実装。 - V4 マイグレーションで支給/消費テーブルを追加 - SupplyType (有償支給/無償支給) ENUM と TypeHandler を実装 - H2/PostgreSQL 両対応の MyBatis databaseId 実装 - Repository インテグレーションテストを追加 - demo/schema.sql を同期
- パッケージ名を com.example.pms に更新 - TypeHandler/Mapper パスを infrastructure.out.persistence に修正 - エンティティに @NoArgsConstructor, @AllArgsConstructor を追加 - Mapper XML に H2/PostgreSQL databaseId 分岐を追加
作業指示、完成実績、検査結果、工数実績の管理機能を追加 - V5 マイグレーション: 作業指示ステータス ENUM と関連テーブル - ドメインモデル: WorkOrder, WorkOrderDetail, CompletionResult, InspectionResult, LaborHours, WorkOrderStatus - TypeHandler: WorkOrderStatusTypeHandler - Repository/Mapper: 5種のリポジトリとMapper XML (H2/PostgreSQL対応) - テスト: 全リポジトリのIntegrationテスト - ドキュメント: chapter27.md を実装と同期
- 在庫管理テーブル (V6 マイグレーション) を追加 - ドメインモデル: Stock, Warehouse, Issue, IssueInstruction, Stocktaking, StockAdjustment - リポジトリインターフェースと MyBatis 実装 - StocktakingStatusTypeHandler で ENUM 変換 - H2/PostgreSQL 両対応の Mapper XML - 9 リポジトリの統合テスト
- Stock/Stocktaking エンティティに version フィールド追加 - V7 マイグレーションでバージョンカラムを追加 - StockRepository に increase/decrease/adjust メソッド追加 - StockMapper.xml に楽観ロック対応 SQL 追加 - Stocktaking/Issue Mapper に nested ResultMap 追加 - demo/schema.sql を同期
- Stock 楽観ロックテスト追加(increase/decrease/adjust) - WorkOrder 楽観ロックテスト追加(updateCompletionQuantities) - Stocktaking リレーションテスト追加(WithDetails) - Issue リレーションテスト追加(WithDetails) - WorkOrder/CompletionResult/LaborHours に version フィールド追加 - V8 マイグレーションで工程管理テーブルにバージョンカラム追加
- Supply, SupplyDetail, Consumption, ConsumptionDetail に version フィールド追加 - SupplyDetail に consumedQuantity, remainingQuantity フィールド追加 - findBySupplyNumberWithDetails, findByConsumptionNumberWithDetails メソッド追加 - MyBatis nested ResultMap で親子リレーション取得を実装 - V9 マイグレーションでバージョンカラム追加
- SupplyRepositoryImplTest にリレーション取得テストを追加 - ConsumptionRepositoryImplTest にリレーション取得テストを追加 - 楽観ロックのデフォルトバージョン検証テストを追加
品目マスタは世代管理対応(複合キー: 品目コード + 適用開始日)のため、 品目コードのみでの外部キー参照は不可。以下の制約を無効化: - fk_在庫_品目 - fk_払出指示明細_品目 - fk_払出明細_品目 - fk_棚卸明細_品目 - fk_在庫調整_品目
発注データ、発注明細データ、入荷受入データ、受入検査データ、検収データに バージョンカラムを追加し、楽観ロックを実装。また、親子関係の取得メソッド (findByPurchaseOrderNumberWithDetails、findByReceivingNumberWithInspections、 findByInspectionNumberWithAcceptances)を追加。
PurchaseOrderRepositoryImplTest、ReceivingRepositoryImplTest、 InspectionRepositoryImplTest にリレーション取得と楽観ロックの テストクラスを追加。
基準生産計画、オーダ情報、所要情報、引当情報にバージョンカラムを追加し、 楽観ロックを実装。また、親子関係の取得メソッド(findByMpsNumberWithOrders、 findByOrderNumberWithRequirements、findByRequirementNumberWithAllocations)を追加。
- MpsRepositoryImplTest: MPS-Order リレーションと version テスト追加 - OrderRepositoryImplTest: Order-Requirement リレーションと version テスト追加 - RequirementRepositoryImplTest: Requirement-Allocation リレーションと version テスト追加 Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
- Defect.java のプロパティ名を defectClass から defectCategory に変更 - DefectMapper.xml のカラムマッピングを更新 - 関連テストのマスタデータ INSERT 文を修正
受入検査、工程検査、出荷検査、ロット管理のドメインモデル、 リポジトリインターフェース、MyBatis マッパー、実装クラス、 およびテストを追加。 追加内容: - InspectionJudgment/LotType Enum と TypeHandler - ReceivingInspection/Result のエンティティとリポジトリ - ProcessInspection/Result のエンティティとリポジトリ - ShipmentInspection/Result のエンティティとリポジトリ - LotMaster/LotComposition のエンティティとリポジトリ - V012 マイグレーションスクリプト - demo/schema.sql の同期 - 全リポジトリの統合テスト(68 テストケース)
chapter29.md の設計に基づき、品質管理リポジトリに以下のテストを追加: - ReceivingInspectionRepositoryImplTest: 楽観ロック、検査結果リレーション - ProcessInspectionRepositoryImplTest: 楽観ロック、検査結果リレーション - ShipmentInspectionRepositoryImplTest: 楽観ロック、検査結果リレーション - LotMasterRepositoryImplTest: 楽観ロック、ロット構成リレーション
製造原価管理に必要なドメインモデル、リポジトリ、マッパーを追加: - 標準原価データ、賃率データ、製造間接費データ - 材料消費データ、間接費配賦データ、実際原価データ - 原価差異データ - 楽観ロックとリレーションマッピングを実装
未実装だった検索系テストを追加: - ProcessRepositoryImplTest: 工程コードによる検索 - DepartmentRepositoryImplTest: 部門コードによる検索 - StaffRepositoryImplTest: 担当者コードによる検索 - ProcessRouteRepositoryImplTest: 複合キーによる検索 - UnitPriceRepositoryImplTest: 複合キーによる検索
- TDD アプローチで工数実績 CRUD 機能を実装 - 一覧表示のページネーション対応 - 作業指示・品目・工程・部門・担当者のドロップダウン選択 - ナビゲーションメニューに工数実績リンクを追加 Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
- TDD アプローチで在庫照会機能を実装 - 一覧表示のページネーション対応 - 場所コード・品目コードでの検索機能 - 在庫数量・合格数・不良数・未検査数を表示 Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
- TDD アプローチで払出履歴照会機能を実装 - 一覧表示のページネーション対応 - 払出番号・作業指示番号・場所コードでの検索機能 - 詳細画面で払出明細も表示 Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
ページネーション付き一覧、登録、編集、削除機能を実装。 TDDアプローチでコントローラーテストを先に作成し、 その後UseCase、Repository、Service、Form、Controller、テンプレートを実装。 Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
/stocktakings から /inventory-counts に変更。 テンプレートディレクトリ名とURLパスを統一。 Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
- getStocktaking と getStocktakingWithDetails を分離 - 編集画面は明細不要のため findByStocktakingNumber を使用 - 詳細画面は明細付きの findByStocktakingNumberWithDetails を使用 Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
th:field から th:value + #temporals.format に変更し、 HTML5 date input が要求する YYYY-MM-DD 形式で日付を出力するように修正。 対象画面: - 検収、カレンダー、完成実績、部門 - 品目、作業時間、MPS、MRP - 単価、発注、入荷、担当者 - 取引先、作業指示
棚卸登録・編集画面に明細入力セクションを追加。 品目選択、帳簿数量、実棚数量を入力可能。 差異数量は自動計算される。 変更内容: - StocktakingForm に StocktakingDetailForm を追加 - StocktakingService で明細の保存・更新・削除処理を実装 - StocktakingWebController に品目マスタを追加 - new.html/edit.html に明細入力 UI を追加(動的行追加対応)
- 検査実績の一覧表示(ページネーション、キーワード検索対応) - 検査実績の新規登録・編集・削除機能 - 欠点コードのドロップダウンリスト対応 - TDDで実装
- 欠点マスタの一覧表示(ページネーション、キーワード検索対応) - 欠点マスタの新規登録・編集・削除機能 - マスタメニューに欠点マスタのリンクを追加 - TDDで実装
- 工程検査データを使用した不良管理画面を実装 - ページネーション付き一覧表示、新規登録、編集、削除機能 - 検査番号の自動採番(PI-yyyyMMdd-NNNN形式) - TDDで実装(コントローラーテスト含む)
- 出荷検査データを使用した出荷検査実績画面を実装 - ページネーション付き一覧表示、新規登録、編集、削除機能 - 検査番号の自動採番(SI-yyyyMMdd-NNNN形式) - 品質ナビゲーションに追加(検査実績→完成検査実績に名称変更) - TDDで実装(コントローラーテスト含む)
- 製造原価一覧・詳細・登録・編集・削除機能を実装 - ページネーション対応 - ActualCostUseCase、ActualCostService、ActualCostWebController を追加 - ActualCostRepository にページネーションメソッドを追加
- 原価差異一覧・詳細・登録・編集・削除機能を実装 - ページネーション対応 - 有利差異/不利差異の表示(プラスが不利、マイナスが有利) - CostVarianceUseCase、CostVarianceService、CostVarianceWebController を追加 - CostVarianceRepository にページネーション・更新メソッドを追加 - ナビゲーションメニューに原価差異リンクを追加
- ロットマスタ一覧・詳細・登録・編集・削除機能を実装 - ページネーション対応 - キーワード検索(ロット番号・品目コード) - ロット種別(購入ロット/製造ロット)表示 - 有効期限切れ表示 - LotMasterUseCase、LotMasterService、LotMasterWebController を追加 - LotMasterRepository にページネーションメソッドを追加 - ナビゲーションメニューにロットマスタリンクを追加
- HomeControllerに各エンティティの件数取得ロジックを追加 - サマリーカード(作業指示、発注、在庫、オーダ)を追加 - 業務別カード(マスタ、計画、購買、工程、在庫、品質)を追加
クイックアクセスカードのアイコンを表示するため
すべての UseCase で create/update メソッドにエンティティを直接 渡す方式から、専用の Command オブジェクトを使う方式に統一。 対象 UseCase: - WorkOrderUseCase - UnitUseCase - LocationUseCase - DepartmentUseCase - SupplierUseCase - ProcessUseCase - StaffUseCase - ProcessRouteUseCase - UnitPriceUseCase - CalendarUseCase - LotMasterUseCase 変更内容: - CreateXxxCommand / UpdateXxxCommand クラスを追加 - UseCase インターフェースのメソッドシグネチャを変更 - Service 実装を Command から Entity を生成する形式に変更 - Form に toCreateCommand() / toUpdateCommand() メソッドを追加 - 既存の toEntity() を @deprecated に変更 - Controller の呼び出しを新メソッドに変更 - 関連するテストコードを修正
研究5として Axon Framework + MyBatis による CQRS/Event Sourcing 実装を解説
研究5として Axon Framework + MyBatis による CQRS/Event Sourcing 実装を解説
研究5として Axon Framework + MyBatis による CQRS/Event Sourcing 実装を解説
JPA/Spring Data JPA による CQRS/Event Sourcing 実装を解説
- 販売管理/財務会計/生産管理システムの研究5記事へのリンクを追加 - ORM版第22章 Axon CQRS/ESの実装へのリンクを追加
- アプリケーションデモとデータモデルリンクを概要セクションに移動 - 見出し構造を整理
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
No description provided.