180 行
6.2 KiB
PHP
可执行文件
180 行
6.2 KiB
PHP
可执行文件
<?php
|
|
|
|
namespace Common\Business;
|
|
|
|
use Api\Controller\InventoryController;
|
|
use Common\Model\LossReportGoodsModel;
|
|
use Common\Model\LossReportOrderModel;
|
|
use Common\Model\SaleWarehouseModel;
|
|
use Common\Model\SLossReportGoodsModel;
|
|
use Common\Model\SLossReportOrderModel;
|
|
use Common\Model\SSaleWarehouseModel;
|
|
//[1.7.90]
|
|
/**
|
|
* 报损类
|
|
* Class LossReport
|
|
* [
|
|
* 报损详情 orderGoodsList
|
|
* 报损单列表 orderList
|
|
* 报损单列表的查询条件 orderListTerm
|
|
* ]
|
|
* @package Common\Business
|
|
*/
|
|
class LossReport
|
|
{
|
|
/**
|
|
* 报损详情
|
|
* @param $param
|
|
* [
|
|
* user_type 3商户 4门店
|
|
* showPrice 1可以查看进价 2不可以查看
|
|
* identity 1商户 2门店
|
|
* id 报损单id
|
|
* ]
|
|
* @return mixed
|
|
*/
|
|
public function orderGoodsList($param)
|
|
{
|
|
$where['loss_order_id'] = $param['id'];
|
|
switch ($param['user_type']) {
|
|
case 3:
|
|
$LossReportGoods = new LossReportGoodsModel();
|
|
break;
|
|
case 4:
|
|
$LossReportGoods = new SLossReportGoodsModel();
|
|
break;
|
|
}
|
|
$list = $LossReportGoods->getSelect($where, '', '');
|
|
if (!empty($list)) {
|
|
foreach ($list as $key => &$val) {
|
|
$val['index'] = $key + 1;
|
|
$val['loss_num'] = round($val['loss_num'], 3);
|
|
$val['sku_num'] = round($val['sku_num'], 3);
|
|
if ($param['user_type'] == 4 && $param['showPrice'] == 2 && $param['identity'] == 2) {
|
|
$val['loss_price'] = '***';
|
|
$val['subtotal'] = '***';
|
|
} else {
|
|
$val['loss_price'] = round($val['loss_price'], 2);
|
|
$val['subtotal'] = round($val['subtotal'], 2);
|
|
}
|
|
if ($val['attribute_state'] == 2) {
|
|
$val['goods_code'] = $val['sku_code'];
|
|
$val['goods_number'] = $val['sku_goods_number'];
|
|
}
|
|
}
|
|
}
|
|
return callBack(statusCode()['success'], '查询成功', $list);
|
|
}
|
|
|
|
|
|
/**
|
|
* 报损单列表
|
|
* @param $param
|
|
* [
|
|
* operator_type 1后台 2收银端 3助手端
|
|
* user_type 3商户 4门店
|
|
* merchant_id
|
|
* store_id
|
|
* order_number 订单号
|
|
* add_time 后台时间搜索
|
|
* start_time 助手端开始时间
|
|
* end_time 助手端结束时间
|
|
* page
|
|
* limit
|
|
* ]
|
|
* @return mixed
|
|
*/
|
|
public function orderList($param)
|
|
{
|
|
$where = $this->orderListTerm($param); //查询条件
|
|
switch ($param['user_type']) {
|
|
case 3:
|
|
$LossReportOrderModel = new LossReportOrderModel();
|
|
break;
|
|
case 4:
|
|
$LossReportOrderModel = new SLossReportOrderModel();
|
|
break;
|
|
}
|
|
$list = $LossReportOrderModel->getSelect($where, $param['page'], $param['limit'], "*", "id desc");
|
|
if (!empty($list)) {
|
|
$count = $LossReportOrderModel->getCount($where);
|
|
switch ($param['user_type']) {
|
|
case 3:
|
|
$SaleWarehouseModel = new SaleWarehouseModel();
|
|
break;
|
|
case 4:
|
|
$SaleWarehouseModel = new SSaleWarehouseModel();
|
|
$map['store_id'] = $param['store_id'];
|
|
break;
|
|
}
|
|
$map['merchant_id'] = $param['merchant_id'];
|
|
$map['status'] = 1;
|
|
$warehouse_name = $SaleWarehouseModel->getFindField($map, "name");
|
|
$InventoryClass = new InventoryController();
|
|
foreach ($list as $key => &$val) {
|
|
$val['index'] = $key + 1;
|
|
$val['operator'] = $InventoryClass->OperatorName($val['operator_id']);
|
|
$val['add_time'] = date('Y-m-d H:i:s', $val['add_time']);
|
|
$val['money_total'] = round($val['money_total'], 2);
|
|
$val['warehouse_name'] = $warehouse_name;
|
|
}
|
|
}
|
|
return callBack(statusCode()['success'], '查询成功', [
|
|
'list' => $list ? $list : [],
|
|
'count' => $count ? $count : 0
|
|
]);
|
|
}
|
|
|
|
|
|
/**
|
|
* 报损单列表的查询条件
|
|
* @param $param
|
|
* [
|
|
* operator_type 1后台 2收银端 3助手端
|
|
* user_type 3商户 4门店
|
|
* merchant_id
|
|
* store_id
|
|
* order_number 订单号
|
|
* add_time 后台时间搜索
|
|
* start_time 助手端开始时间
|
|
* end_time 助手端结束时间
|
|
* ]
|
|
* @return mixed
|
|
*/
|
|
public function orderListTerm($param)
|
|
{
|
|
if (!empty($param['order_number'])) {
|
|
$where['order_number'] = array('like', '%' . $param['order_number'] . '%');
|
|
}
|
|
switch ($param['operator_type']) {
|
|
case 1:
|
|
if (!empty($param['add_time'])) {
|
|
$start_time = strtotime($param['add_time'][0]);
|
|
$end_time = strtotime($param['add_time'][1]);
|
|
$where['add_time'] = array('between', array($start_time, $end_time));
|
|
}
|
|
break;
|
|
case 3:
|
|
$start_time = $param['start_time'];
|
|
$end_time = $param['end_time'];
|
|
if (!empty($start_time) && !empty($end_time)) {
|
|
$start_time = strtotime($start_time . "00:00:00");
|
|
$end_time = strtotime($end_time . "23:59:59");
|
|
$where['add_time'] = array('between', array($start_time, $end_time));
|
|
} else if (!empty($start_time)) {
|
|
$start_time = strtotime($start_time . "00:00:00");
|
|
$where['add_time'] = array('gt', $start_time);
|
|
} else if (!empty($end_time)) {
|
|
$end_time = strtotime($end_time . "23:59:59");
|
|
$where['add_time'] = array('lt', $end_time);
|
|
}
|
|
break;
|
|
}
|
|
if ($param['user_type'] == 4) {
|
|
$where['store_id'] = $param['store_id'];
|
|
}
|
|
$where['merchant_id'] = $param['merchant_id'];
|
|
$where['status'] = 1;
|
|
return $where;
|
|
}
|
|
} |