You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
99 lines
3.8 KiB
99 lines
3.8 KiB
<?php
|
|
|
|
namespace app\admin\controller\ykjp\output;
|
|
|
|
use app\common\controller\Backend;
|
|
use think\Db;
|
|
use app\admin\model\Admin;
|
|
use app\admin\model\ykjp\information\basisinfo\Warehouse;
|
|
use app\admin\model\ykjp\information\basisinfo\Partition;
|
|
use app\admin\model\ykjp\purchase\Order;
|
|
use app\admin\model\ykjp\purchase\Storage;
|
|
use app\admin\model\ykjp\product\Product;
|
|
use app\admin\model\ykjp\information\basisinfo\Supplier;
|
|
|
|
/**
|
|
* 入库数据导出
|
|
*
|
|
* @icon fa fa-circle-o
|
|
*/
|
|
class Purchase extends Backend {
|
|
|
|
/**
|
|
* Purchase模型对象
|
|
* @var \app\admin\model\ykjp\purchase\Storage
|
|
*/
|
|
protected $model = null;
|
|
protected $searchFields = "name";
|
|
protected $distinguish = true;
|
|
protected $wherename = "";
|
|
|
|
public function _initialize() {
|
|
parent::_initialize();
|
|
// $this->model = new \app\admin\model\ykjp\purchase\Storage;
|
|
$this->model = new \app\admin\model\ykjp\purchase\Stoproduct;
|
|
}
|
|
|
|
/**
|
|
* 查看
|
|
*/
|
|
public function index() {
|
|
//当前是否为关联查询
|
|
$this->relationSearch = true;
|
|
//设置过滤方法
|
|
$this->request->filter(['strip_tags']);
|
|
if ($this->request->isAjax()) {
|
|
//如果发送的来源是Selectpage,则转发到Selectpage
|
|
if ($this->request->request('keyField')) {
|
|
return $this->selectpage();
|
|
}
|
|
$this->wherename = "storage.firmid";
|
|
$this->searchFields = "storage.code";
|
|
list($where, $sort, $order, $offset, $limit) = $this->buildparams();
|
|
$total = $this->model
|
|
->with(['storage'])
|
|
->where($where)
|
|
->where("storage.status", "3")
|
|
->order($sort, $order)
|
|
->count();
|
|
|
|
$list = $this->model
|
|
->with(['storage'])
|
|
->where($where)
|
|
->where("storage.status", "3")
|
|
->order($sort, $order)
|
|
->select();
|
|
$Storage = new Storage;
|
|
$Admin = new Admin;
|
|
$Warehouse = new Warehouse;
|
|
$Partition = new Partition;
|
|
$order = new Order;
|
|
$Supplier = new Supplier;
|
|
$prodcut = new Product;
|
|
foreach ($list as $key => $row) {
|
|
$username = $Admin->where("id", $row['storage']['admin_id'])->Field("nickname")->find();
|
|
$row['prep_name'] = isset($username['nickname']) ? $username['nickname'] : "";
|
|
$WareName = $Warehouse->where("id", $row['storage']['warehouse_id'])->Field("name")->find();
|
|
$row['ware_name'] = isset($WareName['name']) ? $WareName['name'] : "";
|
|
$PartName = $Partition->where("id", $row['storage']['partition_id'])->Field("name")->find();
|
|
$part = isset($PartName['name']) ? $PartName['name'] : "";
|
|
$row['ware_name'] = $row['ware_name'] . "/" . $part;
|
|
$row['rate'] = 0;
|
|
if ($row['storage']['purchase_id'] > 0) {
|
|
$orderRate = $order->where("id", $row['storage']['purchase_id'])->Field("rate")->find();
|
|
$row['rate'] = isset($orderRate['rate']) ? $orderRate['rate'] : 0;
|
|
}
|
|
$Suppliername = $Supplier->where("id", $row['storage']['supplier_id'])->Field("name,code")->find();
|
|
$row['supplier'] = isset($Suppliername['name']) ? $Suppliername['name'] : "";
|
|
$productName = $prodcut->where("id", $row['product_id'])->Field("name")->find();
|
|
$row['name'] = isset($productName['name']) ? $productName['name'] : "";
|
|
}
|
|
$list = collection($list)->toArray();
|
|
$result = array("total" => $total, "rows" => $list);
|
|
|
|
return json($result);
|
|
}
|
|
return $this->view->fetch();
|
|
}
|
|
|
|
}
|
|
|