|
@@ -9,6 +9,7 @@ use App\Model\Employee;
|
|
|
use App\Model\InvoiceOrder;
|
|
|
use App\Model\PaymentReceipt;
|
|
|
use App\Model\PaymentReceiptInfo;
|
|
|
+use App\Model\Product;
|
|
|
use App\Model\PurchaseOrder;
|
|
|
use App\Model\PurchaseOrderFile;
|
|
|
use App\Model\PurchaseOrderInfo;
|
|
@@ -23,6 +24,7 @@ use App\Model\SportsBagProductInfo;
|
|
|
use App\Model\Storehouse;
|
|
|
use App\Model\Supplier;
|
|
|
use Carbon\Carbon;
|
|
|
+use Illuminate\Database\Eloquent\Builder;
|
|
|
use Illuminate\Http\Request;
|
|
|
use Illuminate\Support\Facades\DB;
|
|
|
|
|
@@ -252,6 +254,7 @@ class PurchaseOrderService extends Service
|
|
|
$order = $order->toArray();
|
|
|
|
|
|
$order['activity_product'] = $order['file'] = [];
|
|
|
+ $order['top_depart_title'] = Depart::where('id',$order['top_depart_id'])->value('title') ?? "";
|
|
|
$order['purchase_type_title'] = BasicType::where('id',$order['purchase_type'])->value('title') ?? '';
|
|
|
$order['storehouse_title'] = Storehouse::where('id',$order['storehouse_id'])->value('title');
|
|
|
$supplier = Supplier::where('id',$order['supplier'])->first();
|
|
@@ -518,8 +521,10 @@ class PurchaseOrderService extends Service
|
|
|
}
|
|
|
if(! empty($data['smart_search'])){
|
|
|
$sale_id = (new SalesOrderService())->orderNumberSearch($user, $data, $data['smart_search']);
|
|
|
- $model->where('order_number', 'LIKE', '%'.$data['smart_search'].'%')
|
|
|
- ->orWhereIn('sales_order_id',$sale_id);
|
|
|
+ $model->where(function (Builder $query) use ($data, $sale_id) {
|
|
|
+ $query->where('order_number', 'LIKE', '%'.$data['smart_search'].'%')
|
|
|
+ ->orWhereIn('sales_order_id',$sale_id);
|
|
|
+ });
|
|
|
}
|
|
|
if(! empty($data['wx_crt_time'][0]) && ! empty($data['wx_crt_time'][1])) {
|
|
|
$model->where('crt_time','>=',$data['wx_crt_time'][0]);
|
|
@@ -774,12 +779,20 @@ class PurchaseOrderService extends Service
|
|
|
$res = $this->checkNumber($data['purchase_total']);
|
|
|
if(! $res) return [false, '采购总价请输入不超过两位小数并且大于0的数值'];
|
|
|
}
|
|
|
- $sports_bag_id = [];
|
|
|
+ $sports_bag_id = [];$product_id = [];
|
|
|
foreach ($data['product'] as $value){
|
|
|
if(empty($value['number'])) return [false,'产品数量不能为空'];
|
|
|
$res = $this->checkNumber($value['number']);
|
|
|
if(! $res) return [false,'请输入正确的产品数量'];
|
|
|
if(! empty($value['sports_bag_id']) && ! in_array($value['sports_bag_id'], $sports_bag_id)) $sports_bag_id[] = $value['sports_bag_id'];
|
|
|
+ $product_id[] = $value['product_id'];
|
|
|
+ }
|
|
|
+ $maps = Product::where("del_time",0)
|
|
|
+ ->whereIn('id',$product_id)
|
|
|
+ ->pluck('title','id')
|
|
|
+ ->toArray();
|
|
|
+ foreach ($data['product'] as $value){
|
|
|
+ if(! isset($maps[$value['product_id']])) return [false, '产品不存在'];
|
|
|
}
|
|
|
|
|
|
//所属部门 以及 顶级部门
|