변경 파일 목록
총 1개
Component (1)
ExcelGoodsConvert.phpExcel/변경 파일 코드
추가삭제
변경 전ExcelGoodsConvert.php
| use Component\Database\DBTableField; | |
| use Framework\Utility\ArrayUtils; | |
| use Framework\Utility\ComponentUtils; | |
| use Framework\Utility\ProducerUtils; | |
| use Framework\Utility\StringUtils; | |
| use Framework\Http\Parameter; | |
| $goodsData['goodsNmFl'] = 'e'; | |
| } | |
| switch ($dbKey) { | |
| case 'kcmarkFl': | |
| case 'kcmarkDivFl': | |
| case 'kcmarkNo': | |
| } | |
| // 단위 가격 자동 계산 (올림) | |
| $goodsPrice = floatval($goodsData['goodsPrice']); | |
| $calcUnitPrice = ($goodsPrice > 0 && floatval($unitQuantity) > 0) | |
| ? ceil(($goodsPrice / floatval($unitQuantity)) * floatval($unitBaseQuantity)) | |
| : 0; | |
변경 후ExcelGoodsConvert.php
| use Component\Database\DBTableField; | |
| use Framework\Utility\ArrayUtils; | |
| use Framework\Utility\ComponentUtils; | |
| use Framework\Utility\NumberUtils; | |
| use Framework\Utility\ProducerUtils; | |
| use Framework\Utility\StringUtils; | |
| use Framework\Http\Parameter; | |
| $goodsData['goodsNmFl'] = 'e'; | |
| } | |
| switch ($dbKey) { | |
| case 'goodsPrice': | |
| // 엑셀 셀이 텍스트 서식이면 '10,000' 처럼 콤마가 섞여 들어온다. 콤마를 둔 채 숫자 컬럼에 저장하면 | |
| // 앞자리만 남고 잘리므로, 저장과 단위가격 계산이 같은 값을 보도록 여기서 정규화한다 | |
| $goodsPrice = NumberUtils::numberFormatToFloat($goodsData[$dbKey]); | |
| if ($goodsPrice !== false) { | |
| $goodsData[$dbKey] = $goodsPrice; | |
| } | |
| break; | |
| case 'kcmarkFl': | |
| case 'kcmarkDivFl': | |
| case 'kcmarkNo': | |
| } | |
| // 단위 가격 자동 계산 (올림) | |
| // 판매가는 엑셀 값을 우선 사용하고, 컬럼 누락·권한 제외 등으로 쓸 수 없는 행만 저장이 끝난 DB 값으로 보완한다 | |
| $goodsPrice = $this->hasGoodsPriceAuth | |
| ? NumberUtils::numberFormatToFloat($goodsData['goodsPrice'] ?? null) | |
| : false; | |
| if ($goodsPrice === false) { | |
| $arrBind = []; | |
| $this->db->bind_param_push($arrBind, 'i', $goodsData['goodsNo']); | |
| $strSQL = 'SELECT goodsPrice FROM ' . DB_GOODS . ' WHERE goodsNo = ?'; | |
| $goodsRow = $this->db->query_fetch($strSQL, $arrBind, false); | |
| unset($arrBind); | |
| $goodsPrice = floatval($goodsRow['goodsPrice'] ?? 0); | |
| } | |
| $calcUnitPrice = ($goodsPrice > 0 && floatval($unitQuantity) > 0) | |
| ? ceil(($goodsPrice / floatval($unitQuantity)) * floatval($unitBaseQuantity)) | |
| : 0; | |