Phase 4 주문접수/판매/반품/불출 관리 구현

- DB: shop_order, shop_order_item, bag_sale, bag_issue 테이블
- 주문접수: 지정판매소 선택, 품목별 수량, 소비자가 연동, 포장단위 환산
  - 접수/취소, 배달일 기간 필터
- 판매/반품: 지정판매소별 봉투 판매+반품, 재고 자동 감산/가산
- 무료용 불출: 연도/분기/불출처/봉투코드, 재고 감산, 취소 시 복원
- E2E 테스트 7개 전체 통과

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
This commit is contained in:
javamon1174
2026-03-25 18:22:30 +09:00
parent d9d3ef46c1
commit 6e8bd84182
16 changed files with 1017 additions and 0 deletions

View File

@@ -0,0 +1,18 @@
<?php
namespace App\Models;
use CodeIgniter\Model;
class BagIssueModel extends Model
{
protected $table = 'bag_issue';
protected $primaryKey = 'bi2_idx';
protected $returnType = 'object';
protected $useTimestamps = false;
protected $allowedFields = [
'bi2_lg_idx', 'bi2_year', 'bi2_quarter', 'bi2_issue_type', 'bi2_issue_date',
'bi2_dest_type', 'bi2_dest_name', 'bi2_bag_code', 'bi2_bag_name',
'bi2_qty', 'bi2_status', 'bi2_regdate',
];
}

View File

@@ -0,0 +1,18 @@
<?php
namespace App\Models;
use CodeIgniter\Model;
class BagSaleModel extends Model
{
protected $table = 'bag_sale';
protected $primaryKey = 'bs_idx';
protected $returnType = 'object';
protected $useTimestamps = false;
protected $allowedFields = [
'bs_lg_idx', 'bs_so_idx', 'bs_ds_idx', 'bs_ds_name', 'bs_sale_date',
'bs_bag_code', 'bs_bag_name', 'bs_qty', 'bs_unit_price', 'bs_amount',
'bs_type', 'bs_regdate',
];
}

View File

@@ -0,0 +1,17 @@
<?php
namespace App\Models;
use CodeIgniter\Model;
class ShopOrderItemModel extends Model
{
protected $table = 'shop_order_item';
protected $primaryKey = 'soi_idx';
protected $returnType = 'object';
protected $useTimestamps = false;
protected $allowedFields = [
'soi_so_idx', 'soi_bag_code', 'soi_bag_name', 'soi_unit_price',
'soi_qty', 'soi_amount', 'soi_box_count', 'soi_pack_count', 'soi_sheet_count',
];
}

View File

@@ -0,0 +1,18 @@
<?php
namespace App\Models;
use CodeIgniter\Model;
class ShopOrderModel extends Model
{
protected $table = 'shop_order';
protected $primaryKey = 'so_idx';
protected $returnType = 'object';
protected $useTimestamps = false;
protected $allowedFields = [
'so_lg_idx', 'so_ds_idx', 'so_ds_name', 'so_order_date', 'so_delivery_date',
'so_payment_type', 'so_paid', 'so_received', 'so_total_qty', 'so_total_amount',
'so_status', 'so_orderer_idx', 'so_regdate',
];
}