文件
mashangyoujiu/Application/Terminalapi/Controller/SStockController.class.php

181 行
6.9 KiB
PHP
可执行文件

<?php
namespace Terminalapi\Controller;
use Common\Business\OutboundOrder;
use Common\Business\SaleGoods;
use Think\Controller;
//[1.7.90]
class SStockController extends Controller
{
/*出库单重新调拨接口
*@param $id 出库单id
*@param $id 出库单id
*/
public function addStockOut()
{
$data = I("post.");
$merchant_id = $data['merchantid'];
$store_id = $data['storeid'];
$id = $data['stock_order_id']; //出库单id
if (!empty($id)) {
$type = 3; //调拨出库
$store_status = true;
$StockOrderInfo = D("SStockOutOrder")->getFieldInfo(array('id' => $id), "transfer_to_store_id,order_number");
$transfer_to_store_id = $StockOrderInfo['transfer_to_store_id'];
$order_number = $StockOrderInfo['order_number'];
$storeList = D('Store')->getSelect(array('id' => $transfer_to_store_id));
//门店间调拨审核拒绝继续调拨
$goodsList = D("SStockOutGoods")->getSelect(array('stock_out_id' => $id), $page = '', $limit = '', "*", $order = 'id asc');
if ($goodsList) {
foreach ($goodsList as $key => &$val) {
$val['index'] = $key + 1;
$val['stock_id'] = $val['id'];
$goods_info = D("SSaleMGoods")->getFieldInfo(array('goods_id' => $val['goods_id'], 'sku_id' => $val['sku_id']), "goods_num,id");
$val['id'] = $goods_info['id'];
$val['goods_num'] = round($goods_info['goods_num'], 3);
$val['output_num'] = round($val['stock_num'], 3);
}
}
} else {
$storeList = A('Api/Inventory')->storeList($merchant_id, $store_id);
$supplier = D("SSupplier")->getSelect(array('store_id' => $store_id, 'status' => 1), $page = '', $limit = '', "id,supplier_name");
}
$goodsList = $goodsList ? $goodsList : array(); //出库单商品明细
$order_number = $order_number ? $order_number : ""; //出库订单号
$store_status = $store_status ? $store_status : false; //门店显示
$res['status'] = 1;
$res['order_number'] = $order_number;
$res['store_status'] = $store_status;
$res['transfer_to_store_id'] = $transfer_to_store_id;
$res['goodsList'] = $goodsList;
$res['storeList'] = $storeList;
$res['supplier'] = $supplier;
$this->ajaxReturn($res);
}
//门店出库时仓库商品状态明细
public function StockGoods()
{
$data = I('post.');
$data['operator_type'] = 3;
$data['user_type'] = $data['type'] == 10 ? 3 : 4;
$data['merchant_id'] = $data["merchantid"];
$data['store_id'] = $data["storeid"];
$data['search_info'] = isset($data['search_info']) ? $data['search_info'] : $data['searchText'];
$data['exists_id_arr'] = isset($data['exists_id_arr']) ? $data['exists_id_arr'] : $data['notInIds'];
$SaleGoodsClass = new SaleGoods();
$result = $SaleGoodsClass->warehouseSearchGoods($data);
$result['msg'] = $result['message'];
$result['data'] = $result['data']['list'];
$this->ajaxReturn($result);
}
/*门店出库操作
* @param $merchant_id 商户id
* @param $store_id 门店id
* @param $supplier_id 供货商id
* @param $operator_id 操作人id
* @param $user_type 1商户 2门店 3收银员
* @param $warehouse_id 出库仓库id
* @param $remarks 备注
* @param $type 0其他出库 1向商户退货出库 2盘亏出库 3调拨出库
* @param $goodsList 出库商品
* @param $transfer_id 调拨至目标门店id
* @param $order_number 出库单号
* @param $stock_order_id 门店调拨出库商户拒绝后重新调拨的出库单id
*/
public function StockOperation()
{
$data = I('post.');
$data['merchant_id'] = $data['merchantid'];
$data['store_id'] = $data["storeid"];
switch ($data['user_type']) {
case 2:
$data['user_type'] = 4;
break;
case 3:
$data['user_type'] = 6;
break;
default:
$data['user_type'] = 4;
break;
}
$result = A("Api/Inventory")->stockOut($data);
if ($result['status'] == 1) {
$log_data = array(
'source' => 1,
'type' => 4,
'desc' => '出库单-新增',
'request_data' => json_encode($_POST),
'operator_id' => $_POST['operator_id'],
'mer_id' => $_POST['storeid']
);
action_log_v2($log_data);
}
$this->ajaxReturn($result);
}
//门店出库单列表
public function StockOrderList()
{
$content = I("post.");
$content['store_id'] = $content['storeid'];
$content['merchant_id'] = $content['merchantid'];
$content['operator_type'] = 3;
$outboundOrder = new OutboundOrder();
$result = $outboundOrder->getStoreStockOrderList($content); //获取出库单列表
$res['status'] = 1;
$res['data'] = $result['data']['list'];
$res['msg'] = $result['message'];
$this->ajaxReturn($res);
}
//门店出库详情列表
public function StockDetails()
{
$data = I('post.');
$data['user_type'] = 4;
$OutboundOrderClass = new OutboundOrder();
$result = $OutboundOrderClass->detailList($data);
$this->ajaxReturn($result);
}
/*门店出库单的入库详情列表
*
*/
public function StockEnterDetails()
{
$id = I("post.id");
$type = I("post.type");
if ($type == 1) {
//商户入库
$goodsList = D('WarehousingGoods')->getSelect(array('warehouse_record_id' => $id));
} else if ($type == 3) {
//门店入库
$goodsList = D('SWarehousingGoods')->getSelect(array('warehouse_record_id' => $id));
}
if ($goodsList) {
foreach ($goodsList as $key => &$val) {
if ($val['attribute_state'] == 2) {
$val['goods_code'] = $val['sku_code'];
$val['goods_number'] = $val['sku_goods_number'];
}
$val['sku_num'] = round($val['sku_num'], 3);
$val['warehouse_num'] = round($val['warehouse_num'], 3);
$val['warehouse_price'] = round($val['warehouse_price'], 2);
$val['subtotal'] = round($val['subtotal'], 2);
}
}
$res['status'] = 1;
$res['data'] = $goodsList;
$this->ajaxReturn($res);
}
}