181 行
6.9 KiB
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);
|
|
}
|
|
|
|
} |