This commit is contained in:
mkm 2024-05-11 13:46:55 +08:00
parent f6f99275e4
commit 9df4bc54ec
4 changed files with 118 additions and 56 deletions

View File

@ -17,10 +17,9 @@ class ExceptionHandler extends Handler
public function render(Request $request, Throwable $exception): Response public function render(Request $request, Throwable $exception): Response
{ {
// if ($exception instanceof Dumper) { if ($exception instanceof Dumper) {
// return \response(self::convertToHtml($exception)); return \response(self::convertToHtml($exception));
// } }
// return parent::render($request, $exception); return parent::render($request, $exception);
return json(json_decode($exception->getMessage(),true));
} }
} }

View File

@ -10,6 +10,7 @@ use app\admin\validate\operation\OpurchaseclassValidate;
use app\common\model\goods\Goods; use app\common\model\goods\Goods;
use app\common\model\opurchase\OpurchaseGoodsOffer; use app\common\model\opurchase\OpurchaseGoodsOffer;
use app\common\model\opurchase\Opurchaseinfo; use app\common\model\opurchase\Opurchaseinfo;
use app\common\model\supplier\Supplier;
/** /**
* 采购订单控制器 * 采购订单控制器
@ -96,30 +97,71 @@ class OpurchaseclassController extends BaseAdminController
return $this->data($result); return $this->data($result);
} }
/**
* @notes 采购子订单详情
*/
public function sub_orders()
{
$id = $this->request->get('id');
$page_no = $this->request->get('page_no', 1);
$result = OpurchaseclassLogic::sub_detail($id, $page_no);
return $this->data($result);
}
/** /**
* @notes 采购订单列表 * @notes 采购订单列表
*/ */
public function opurchaseinfo_list(){ public function opurchaseinfo_list()
$id=$this->request->get('id'); {
$page_no=$this->request->get('page_no',1); $id = $this->request->get('id');
$res=Opurchaseinfo::where('pid',$id)->page($page_no,25)->select()->each(function ($item) { $page_no = $this->request->get('page_no', 1);
$find=Goods::where('id', $item['goods'])->with('unitName')->find(); $res = Opurchaseinfo::where('pid', $id)->page($page_no, 25)->select()->each(function ($item) {
$item['goods_name']=$find['name']; $find = Goods::where('id', $item['goods'])->with('unitName')->find();
$item['unit_name']=$find['unit_name']; $item['goods_name'] = $find['name'];
$item['unit_name'] = $find['unit_name'];
}); });
return $this->success('ok',$res?->toArray()); $data['count'] = Opurchaseinfo::where('pid', $id)->count();
$data['lists'] = $res?->toArray();
$data['page_no'] = $page_no;
$data['page_siz'] = 15;
return $this->success('ok', $data);
} }
/**
* @notes 采购订单报价列表
*/
public function goods_offer_list()
{
$id = $this->request->get('id');
$page_no = $this->request->get('page_no', 1);
$params=$this->request->get();
$where['order_id']=$id;
if(isset($params['is_adopt']) && $params['is_adopt']!==''){
$where['is_adopt']=$params['is_adopt'];
}
$res = OpurchaseGoodsOffer::where($where)->page($page_no, 25)->select()->each(function ($item) {
$find = Goods::where('id', $item['goods_id'])->with('unitName')->find();
$item['goods_name'] = $find['name'];
$item['unit_name'] = $find['unit_name'];
$item['supplier_name'] = Supplier::where('id',$item['supplier_id'])->value('mer_name');
});
$data['count'] = Opurchaseinfo::where('pid', $id)->count();
$data['lists'] = $res?->toArray();
$data['page_no'] = $page_no;
$data['page_siz'] = 15;
return $this->success('ok', $data);
}
/** /**
* @notes 推送给供应商报价 * @notes 推送给供应商报价
* @return \think\response\Json * @return \think\response\Json
* @author likeadmin * @author likeadmin
* @date 2024/04/27 11:26 * @date 2024/04/27 11:26
*/ */
public function createSupplierGoods(){ public function createSupplierGoods()
{
return $this->success('禁止后台推送'); return $this->success('禁止后台推送');
$params=$this->request->post(); $params = $this->request->post();
$result = OpurchaseclassLogic::createSupplierGoods($params); $result = OpurchaseclassLogic::createSupplierGoods($params);
if (true === $result) { if (true === $result) {
return $this->success('推送成功', [], 1, 1); return $this->success('推送成功', [], 1, 1);
@ -133,12 +175,13 @@ class OpurchaseclassController extends BaseAdminController
* @author likeadmin * @author likeadmin
* @date 2024/04/27 11:26 * @date 2024/04/27 11:26
*/ */
public function goods_offer_update(){ public function goods_offer_update()
$id=$this->request->post('id'); {
$id = $this->request->post('id');
$result = OpurchaseclassLogic::goodsOfferUpdate($id); $result = OpurchaseclassLogic::goodsOfferUpdate($id);
if ($result) { if ($result) {
return $this->success('已采纳', [], 1, 1); return $this->success('已采纳', [], 1, 1);
} }
return $this->fail(OpurchaseclassLogic::getError()); return $this->fail(OpurchaseclassLogic::getError());
} }
} }

View File

@ -6,8 +6,10 @@ namespace app\admin\logic\operation;
use app\common\model\operation\Opurchaseclass; use app\common\model\operation\Opurchaseclass;
use app\common\logic\BaseLogic; use app\common\logic\BaseLogic;
use app\common\model\goods\Goods; use app\common\model\goods\Goods;
use app\common\model\merchant\Merchant;
use app\common\model\opurchase\OpurchaseGoodsOffer; use app\common\model\opurchase\OpurchaseGoodsOffer;
use app\common\model\opurchase\Opurchaseinfo; use app\common\model\opurchase\Opurchaseinfo;
use app\common\model\retail\Cashierclass;
use app\common\model\supplier\Supplier; use app\common\model\supplier\Supplier;
use support\Log; use support\Log;
use think\facade\Db; use think\facade\Db;
@ -93,9 +95,11 @@ class OpurchaseclassLogic extends BaseLogic
$data = Opurchaseclass::findOrEmpty($params['id'])->toArray(); $data = Opurchaseclass::findOrEmpty($params['id'])->toArray();
if ($data) { if ($data) {
$data['goods_info'] = Opurchaseinfo::where('pid', $params['id'])->limit(25)->select()->each(function ($item) { $data['goods_info'] = Opurchaseinfo::where('pid', $params['id'])->limit(25)->select()->each(function ($item) {
$find=Goods::where('id', $item['goods'])->with('unitName')->find(); $find = Goods::where('id', $item['goods'])->with('unitName')->find();
$item['goods_name']=$find['name']; if ($find) {
$item['unit_name']=$find['unit_name']; $item['goods_name'] = $find['name'];
$item['unit_name'] = $find['unit_name'];
}
// $sys_labels = Goods::where('id', $item['goods'])->value('sys_labels'); // $sys_labels = Goods::where('id', $item['goods'])->value('sys_labels');
// $supplier_arr=[]; // $supplier_arr=[];
// if($sys_labels){ // if($sys_labels){
@ -112,21 +116,49 @@ class OpurchaseclassLogic extends BaseLogic
// $item['supplier'] = array_unique($supplier_arr); // $item['supplier'] = array_unique($supplier_arr);
}); });
$data['merchant_name'] = Merchant::where('mer_id', $data['merchant'])->value('mer_name');
}
return $data;
}
/**
* @notes 采购订单子订单详情
* @param $id
* @return array
* @author likeadmin
* @date 2024/04/27 11:26
*/
public static function sub_detail($id, $page_no): array
{
$order_arr = Opurchaseclass::where('id', $id)->value('order_arr');
$data = [];
if ($order_arr) {
$order_arr = explode(',', $order_arr);
$order_arr_count = count($order_arr);
$offset = ($page_no - 1) * $order_arr_count;
$paged_items = array_slice($order_arr, $offset, $order_arr_count);
if (!$paged_items) {
return [];
}
$list = Cashierclass::whereIn('id', $order_arr)->select()?->toArray();
$data['count'] = $order_arr_count;
$data['lists'] = $list;
$data['page_no'] = $page_no;
$data['page_siz'] = 15;
} }
return $data; return $data;
} }
/** /**
* @notes 推送供应商商品 * @notes 推送供应商商品
* @param $params * @param $params
* @return bool * @return bool
* @date 2024/04/27 11:26 * @date 2024/04/27 11:26
*/ */
public static function createSupplierGoods($goods){ public static function createSupplierGoods($goods)
try{ {
$sys_labels = Goods::where('id', $goods['goods'])->value('sys_labels'); try {
$supplier_arr=[]; $sys_labels = Goods::where('id', $goods['goods'])->value('sys_labels');
$goods_offer=[]; $supplier_arr = [];
$goods_offer = [];
if ($sys_labels) { if ($sys_labels) {
$sys_labels_arr = explode(',', $sys_labels); $sys_labels_arr = explode(',', $sys_labels);
@ -139,38 +171,39 @@ class OpurchaseclassLogic extends BaseLogic
} }
} }
} }
foreach($supplier_arr as $k=>$v){ foreach ($supplier_arr as $k => $v) {
$goods_offer[]=[ $goods_offer[] = [
'supplier_id'=>$v['supplier'], 'supplier_id' => $v['supplier'],
'goods_id'=>$v['goods'], 'goods_id' => $v['goods'],
'price'=>0, 'price' => 0,
'need_num' => $v['nums'] 'need_num' => $v['nums']
]; ];
} }
if($goods_offer){ if ($goods_offer) {
$res=OpurchaseGoodsOffer::insertAll($goods_offer); $res = OpurchaseGoodsOffer::insertAll($goods_offer);
if($res){ if ($res) {
return true; return true;
} }
} }
}catch (\Exception $e){ } catch (\Exception $e) {
self::setError($e->getMessage()); self::setError($e->getMessage());
Log::error('添加采购订单报价失败:'.$e->getMessage()); Log::error('添加采购订单报价失败:' . $e->getMessage());
return false; return false;
} }
} }
/** /**
* @notes 设置采纳商品 * @notes 设置采纳商品
* @param $params * @param $params
* @return bool * @return bool
* @date 2024/04/27 11:26 * @date 2024/04/27 11:26
*/ */
public static function goodsOfferUpdate($params){ public static function goodsOfferUpdate($params)
try{ {
OpurchaseGoodsOffer::where('id',$params)->update(['is_adopt'=>1]); try {
OpurchaseGoodsOffer::where('id', $params)->update(['is_adopt' => 1]);
return true; return true;
}catch (\Exception $e){ } catch (\Exception $e) {
self::setError($e->getMessage()); self::setError($e->getMessage());
return false; return false;
} }

View File

@ -26,19 +26,6 @@ class PushSupplierProductsSend implements Consumer
OpurchaseclassLogic::createSupplierGoods($arr); OpurchaseclassLogic::createSupplierGoods($arr);
} }
} }
// 消费失败回调
/*
$package = [
'id' => 1357277951, // 消息ID
'time' => 1709170510, // 消息时间
'delay' => 0, // 延迟时间
'attempts' => 2, // 消费次数
'queue' => 'send-mail', // 队列名
'data' => ['to' => 'tom@gmail.com', 'content' => 'hello'], // 消息内容
'max_attempts' => 5, // 最大重试次数
'error' => '错误信息' // 错误信息
]
*/
public function onConsumeFailure(\Throwable $e, $package) public function onConsumeFailure(\Throwable $e, $package)
{ {
$package['max_attempts']=0; $package['max_attempts']=0;