Conversation
Implemented a full-featured ERP system with the following modules: - Core: Dashboard and Company Info - HR: Employee, Department, and Position management - Sales: Customer, Product, Order, and OrderItem management - Inventory: Stock and StockMovement management with auto-update logic Features: - Customized Django Admin for easy data entry and management - Dashboard with key metrics (Order count, Low stock alerts) - Initial data population script - Japanese localization Co-authored-by: muumuu8181 <87556753+muumuu8181@users.noreply.github.com>
|
👋 Jules, reporting for duty! I'm here to lend a hand with this pull request. When you start a review, I'll add a 👀 emoji to each comment to let you know I've read it. I'll focus on feedback directed at me and will do my best to stay out of conversations between you and other bots or reviewers to keep the noise down. I'll push a commit with your requested changes shortly after. Please note there might be a delay between these steps, but rest assured I'm on the job! For more direct control, you can switch me to Reactive Mode. When this mode is on, I will only act on comments where you specifically mention me with New to Jules? Learn more at jules.google/docs. For security, I will only act on instructions from the user who triggered this task. |
There was a problem hiding this comment.
💡 Codex Review
Here are some automated review suggestions for this pull request.
Reviewed commit: 3869ac6ad7
ℹ️ About Codex in GitHub
Your team has set up Codex to review pull requests in this repo. Reviews are triggered when you
- Open a pull request for review
- Mark a draft as ready
- Comment "@codex review".
If Codex has suggestions, it will comment; otherwise it will react with 👍.
Codex can also answer questions or update the PR. Try commenting "@codex address that feedback".
| verbose_name_plural = "受注明細" | ||
|
|
||
| def save(self, *args, **kwargs): | ||
| if not self.unit_price and self.product: |
There was a problem hiding this comment.
Preserve explicit zero unit prices
OrderItem.save uses a truthiness check for unit_price, so an explicitly provided 0 is treated as missing and replaced with product.price. In flows that intentionally add free/fully discounted items (unit_price=0), this silently overcharges and inflates Order.total_amount because recalculation happens immediately after save; the fallback should only run when the field is actually unset (e.g., None).
Useful? React with 👍 / 👎.
|
|
||
| def save(self, *args, **kwargs): | ||
| # 新規作成時のみ在庫を更新 | ||
| if self.pk is None: |
There was a problem hiding this comment.
Adjust stock when movement records are edited
Stock is updated only on create (self.pk is None), so changing an existing StockMovement in admin (quantity/type/product) updates the history row but leaves Stock.quantity unchanged. This causes persistent inventory drift between the aggregate stock table and movement history, which can mislead reorder and fulfillment decisions; update-time reconciliation (or making movements immutable) is needed.
Useful? React with 👍 / 👎.
ユーザーの要望に基づき、実運用に耐えうるERPシステムをDjangoで構築しました。
人事、販売、在庫管理の3つの主要モジュールを実装し、管理画面から全ての操作が行えるようにしました。
また、トップページには簡易ダッシュボードを表示し、各機能へのアクセスを容易にしました。
初期データ投入スクリプトも同梱しており、すぐに試用・運用が可能です。
PR created automatically by Jules for task 17448200200152229847 started by @muumuu8181