文件
mashangyoujiu/Application/Common/Business/LossReport.class.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;
}
}