- 발주 등록: 폼(좌)·발주품목 선택(우, 스크롤)·발주 이력(하단) 재배치, 수량→박스수량 - 발주담당(담당자) 선택 항목 추가(bo_manager_idx), 등록/변경 시 저장 - 발주 이력 발주일 클릭 → 발주 내역 보기 모달(변경/삭제 버튼), 삭제·취소 발주는 두 버튼 숨김 - 발주 변경: 변경구분 라디오 제거, 원 발주번호(LOT)·이력 안내 표시, 취소 시 발주 등록 화면으로 이동 - 발주 등록 화면에서도 삭제 가능(정상 발주만), 삭제 후 등록 화면 복귀 - 삭제 화면에서 삭제 대상 발주 내역 표시 - 발주 상세 JSON 엔드포인트(bag/order/detail-json) 추가 Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
39 lines
1.2 KiB
PHP
39 lines
1.2 KiB
PHP
<?php
|
|
|
|
namespace App\Models;
|
|
|
|
use CodeIgniter\Model;
|
|
|
|
class BagOrderModel extends Model
|
|
{
|
|
use \App\Models\Traits\Auditable;
|
|
|
|
protected $table = 'bag_order';
|
|
protected $primaryKey = 'bo_idx';
|
|
protected $returnType = 'object';
|
|
protected $useTimestamps = false;
|
|
|
|
/**
|
|
* 동일 발주 UUID에 대해 bo_version이 최대인 행만 (수정으로 생긴 이전 버전 행은 목록·이력에서 제외).
|
|
* DB에는 버전별 행이 그대로 남고, 조회 시에만 필터한다.
|
|
*/
|
|
public function whereLatestHead(int $lgIdx): self
|
|
{
|
|
$lg = (int) $lgIdx;
|
|
|
|
return $this->where(
|
|
"(bo_uuid, bo_version) IN (SELECT bo_uuid, MAX(bo_version) FROM {$this->table} WHERE bo_lg_idx = {$lg} GROUP BY bo_uuid)",
|
|
null,
|
|
false
|
|
);
|
|
}
|
|
|
|
protected $allowedFields = [
|
|
'bo_uuid', 'bo_version', 'bo_lg_idx', 'bo_gugun_code', 'bo_dong_code',
|
|
'bo_company_idx', 'bo_agency_idx', 'bo_fee_rate', 'bo_order_date',
|
|
'bo_bag_types', 'bo_unit_prices', 'bo_qty_boxes',
|
|
'bo_lot_no', 'bo_hash', 'bo_status', 'bo_orderer_idx', 'bo_manager_idx',
|
|
'bo_regdate', 'bo_moddate',
|
|
];
|
|
}
|