From 99a26c2ba6d4e31413e179e35fc1307a9cbfaeb1 Mon Sep 17 00:00:00 2001 From: mkm <727897186@qq.com> Date: Mon, 27 May 2024 16:58:38 +0800 Subject: [PATCH] =?UTF-8?q?=E6=96=B0=E5=A2=9E=E9=87=87=E8=B4=AD=E8=AE=A2?= =?UTF-8?q?=E5=8D=95=E5=85=A5=E5=BA=93/=E5=87=BA=E5=BA=93=E5=8A=9F?= =?UTF-8?q?=E8=83=BD=EF=BC=8C=E4=BC=98=E5=8C=96=E9=9B=B6=E5=94=AE=E8=AE=A2?= =?UTF-8?q?=E5=8D=95=E5=AE=A1=E6=A0=B8=E5=8F=8A=E5=B0=8F=E7=A5=A8=E6=89=93?= =?UTF-8?q?=E5=8D=B0?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../operation/OpurchaseclassController.php | 44 +++++++++++ .../retail/CashierclassController.php | 61 ++++++++------ .../operation/OpurchaseclassofferLists.php | 72 ++++++++++------- .../lists/retail/CashierclassStreamLists.php | 79 +++++++++++++++++++ app/admin/lists/retail/CashierinfoLists.php | 2 + app/common/lists/ListsSearchTrait.php | 6 +- .../service/wechat/WeChatMnpService.php | 2 +- 7 files changed, 213 insertions(+), 53 deletions(-) create mode 100644 app/admin/lists/retail/CashierclassStreamLists.php diff --git a/app/admin/controller/operation/OpurchaseclassController.php b/app/admin/controller/operation/OpurchaseclassController.php index 01acc3e..62bcbc2 100644 --- a/app/admin/controller/operation/OpurchaseclassController.php +++ b/app/admin/controller/operation/OpurchaseclassController.php @@ -6,13 +6,16 @@ namespace app\admin\controller\operation; use app\admin\controller\BaseAdminController; use app\admin\lists\operation\OpurchaseclassLists; use app\admin\lists\operation\OpurchaseclassofferLists; +use app\admin\lists\retail\CashierclassStreamLists; use app\admin\logic\operation\OpurchaseclassLogic; use app\admin\validate\operation\OpurchaseclassValidate; use app\common\logic\PayNotifyLogic; use app\common\model\goods\Goods; use app\common\model\goods\GoodsLabel; +use app\common\model\opurchase\Opurchaseclass; use app\common\model\opurchase\OpurchaseGoodsOffer; use app\common\model\opurchase\Opurchaseinfo; +use app\common\model\retail\Cashierclass; use app\common\model\supplier\Supplier; use Webman\RedisQueue\Redis; @@ -126,6 +129,47 @@ class OpurchaseclassController extends BaseAdminController return $this->dataLists(new OpurchaseclassofferLists()); } + /** + * @notes 采购订单入库列表 + */ + public function storage_list() + { + $this->request->__set('storage_list',1); + return $this->dataLists(new OpurchaseclassofferLists()); + } + + /** + * @notes 采购订单出库列表 + */ + public function stream_list() + { + $id=$this->request->get('id'); + $order_arr= Opurchaseclass::where('id',$id)->where('is_mer',2)->value('order_arr'); + $arr=Opurchaseclass::where('id','in',explode(',',$order_arr))->where('is_mer',1)->value('order_arr'); + if($arr){ + $this->request->__set('class_value',['id'=>explode(',',$arr)]); + $this->request->__set('class_key',['in'=>'id']); + } + return $this->dataLists(new CashierclassStreamLists()); + } + + /** + * @notes 采购订单设置已出库 + */ + public function stream_update() + { + $id=$this->request->get('id'); + $order_code=$this->request->get('order_code'); + if($id){ + Cashierclass::where('id',$id)->update(['is_stream'=>1,'stream_admin_id'=>$this->request->adminId,'stream_time'=>time()]); + return $this->success('更新成功'); + } + if($order_code){ + Cashierclass::where('number',$order_code)->update(['is_stream'=>1,'stream_admin_id'=>$this->request->adminId,'stream_time'=>time()]); + return $this->success('更新成功'); + } + return $this->fail('没有任何更新'); + } /** * @notes 推送给供应商报价 * @return \think\response\Json diff --git a/app/admin/controller/retail/CashierclassController.php b/app/admin/controller/retail/CashierclassController.php index d9707ce..97b7aad 100644 --- a/app/admin/controller/retail/CashierclassController.php +++ b/app/admin/controller/retail/CashierclassController.php @@ -8,6 +8,7 @@ use app\admin\lists\retail\CashierclassLists; use app\admin\logic\retail\CashierclassLogic; use app\admin\validate\retail\CashierclassValidate; use app\common\model\retail\Cashierclass; +use Webman\RedisQueue\Redis; /** * 零售订单控制器 @@ -62,22 +63,22 @@ class CashierclassController extends BaseAdminController } return $this->fail(CashierclassLogic::getError()); } - - /** - * @notes 审核零售订单 - * @return \think\response\Json - * @author likeadmin - * @date 2024/04/24 09:57 - */ - public function auditing() - { - $params = (new CashierclassValidate())->post()->goCheck('auditing'); - $result = CashierclassLogic::auditing($params,$this->adminId); - if (true === $result) { - return $this->success('审核成功', [], 1, 1); - } - return $this->fail(CashierclassLogic::getError()); - } + + /** + * @notes 审核零售订单 + * @return \think\response\Json + * @author likeadmin + * @date 2024/04/24 09:57 + */ + public function auditing() + { + $params = (new CashierclassValidate())->post()->goCheck('auditing'); + $result = CashierclassLogic::auditing($params, $this->adminId); + if (true === $result) { + return $this->success('审核成功', [], 1, 1); + } + return $this->fail(CashierclassLogic::getError()); + } /** @@ -113,15 +114,29 @@ class CashierclassController extends BaseAdminController * @author likeadmin * @date 2024/04/24 09:57 */ - public function set_print(){ - $id=$this->request->get('id'); - if($id){ - $res=Cashierclass::where('id',$id)->update(['is_print'=>1]); - if($res){ + public function set_print() + { + $id = $this->request->get('id'); + if ($id) { + $res = Cashierclass::where('id', $id)->update(['is_print' => 1]); + if ($res) { return $this->success('设置成功', [], 1, 1); } } - return $this->fail('设置失败'); + return $this->success('设置失败'); } -} \ No newline at end of file + /** + * @notes 打印小票 + * @return \think\response\Json + */ + public function prints() + { + $id = $this->request->get('id'); + if (!$id) { + return $this->fail('参数错误'); + } + Redis::send('push-platform-print', ['order_id' => $id]); + return $this->success('正在打印中'); + } +} diff --git a/app/admin/lists/operation/OpurchaseclassofferLists.php b/app/admin/lists/operation/OpurchaseclassofferLists.php index d0391f1..9684b29 100644 --- a/app/admin/lists/operation/OpurchaseclassofferLists.php +++ b/app/admin/lists/operation/OpurchaseclassofferLists.php @@ -31,7 +31,7 @@ class OpurchaseclassofferLists extends BaseAdminDataLists implements ListsSearch public function setSearch(): array { return [ - '=' => ['is_adopt'], + '=' => ['is_adopt', 'is_storage', 'order_id'], ]; } @@ -47,34 +47,51 @@ class OpurchaseclassofferLists extends BaseAdminDataLists implements ListsSearch */ public function lists(): array { - $where=[]; - $is_mer=$this->request->get('is_mer',0); - $id=$this->request->get('id',0); - $type=$this->request->get('type','all'); - if($type==1){ - $where[]=['is_adopt','=',0]; - }elseif($type==2){ - $where[]=['is_adopt','=',1]; + $where = []; + $is_mer = $this->request->get('is_mer', 0); + $id = $this->request->get('id', 0); + $type = $this->request->get('type', 'all'); + if ($type == 1) { + $where[] = ['is_adopt', '=', 0]; + } elseif ($type == 2) { + $where[] = ['is_adopt', '=', 1]; } - if($id){ - $where[]=['order_id','=',$id]; + if ($id) { + $where[] = ['order_id', '=', $id]; } - if($this->request->supplierId>0){ - $where[]=['supplier_id','=',$this->request->supplierId]; + if ($this->request->supplierId > 0) { + $where[] = ['supplier_id', '=', $this->request->supplierId]; } - $this->where=$where; - return OpurchaseGoodsOffer::where($this->searchWhere) - ->where($where) - ->limit($this->limitOffset, $this->limitLength) - ->orderRaw("goods_id, CASE WHEN price = 0 THEN 999999999 ELSE price END ASC") - ->select()->each(function ($item) { - $find = Goods::where('id', $item['goods_id'])->with('unitName')->find(); - if($find){ - $item['goods_name'] = $find['name']; - $item['unit_name'] = $find['unit_name']; - } - $item['supplier_name'] = Supplier::where('id',$item['supplier_id'])->value('mer_name'); - })->toArray(); + $this->where = $where; + if ($this->request->__get('storage_list') == 1) { + $list = OpurchaseGoodsOffer::where($this->searchWhere) + ->where($where) + ->limit($this->limitOffset, $this->limitLength) + ->order('update_time', 'desc') + ->select()->each(function ($item) { + $find = Goods::where('id', $item['goods_id'])->with('unitName')->find(); + if ($find) { + $item['goods_name'] = $find['name']; + $item['unit_name'] = $find['unit_name']; + } + $item['supplier_name'] = Supplier::where('id', $item['supplier_id'])->value('mer_name'); + })->toArray(); + } else { + $list = OpurchaseGoodsOffer::where($this->searchWhere) + ->where($where) + ->limit($this->limitOffset, $this->limitLength) + ->orderRaw("goods_id, CASE WHEN price = 0 THEN 999999999 ELSE price END ASC") + ->select()->each(function ($item) { + $find = Goods::where('id', $item['goods_id'])->with('unitName')->find(); + if ($find) { + $item['goods_name'] = $find['name']; + $item['unit_name'] = $find['unit_name']; + } + $item['supplier_name'] = Supplier::where('id', $item['supplier_id'])->value('mer_name'); + })->toArray(); + } + + return $list; } @@ -88,5 +105,4 @@ class OpurchaseclassofferLists extends BaseAdminDataLists implements ListsSearch { return OpurchaseGoodsOffer::where($this->searchWhere)->where($this->where)->count(); } - -} \ No newline at end of file +} diff --git a/app/admin/lists/retail/CashierclassStreamLists.php b/app/admin/lists/retail/CashierclassStreamLists.php new file mode 100644 index 0000000..2afae3e --- /dev/null +++ b/app/admin/lists/retail/CashierclassStreamLists.php @@ -0,0 +1,79 @@ + [], + ]; + return $search; + } + + /** + * @notes 获取零售订单出库列表 + * @return array + * @throws \think\db\exception\DataNotFoundException + * @throws \think\db\exception\DbException + * @throws \think\db\exception\ModelNotFoundException + * @author likeadmin + * @date 2024/04/24 09:57 + */ + public function lists(): array + { + return Cashierclass::where($this->searchWhere) + ->field(['id', 'merchant', 'store_id', 'uid', 'number', 'total', 'deduction_price', 'actual', 'money', 'pay_type', 'type', 'auditinguser', 'auditingtime','create_time','is_stream','stream_admin_id','stream_time']) + ->limit($this->limitOffset, $this->limitLength) + ->order(['id' => 'desc']) + ->select()->each(function($data){ + $merchant = Merchant::field('mer_name')->where('mer_id',$data['merchant'])->findOrEmpty(); + $user = User::field('nickname')->where('id',$data['uid'])->findOrEmpty(); + $admin = Admin::field('name')->where('id',$data['auditinguser'])->findOrEmpty(); + $stream_admin_name = Admin::where('id',$data['stream_admin_id'])->value('name'); + $admin = Admin::field('name')->where('id',$data['auditinguser'])->findOrEmpty(); + $data['merchant_name'] = !$merchant->isEmpty() ? $merchant['mer_name'] : ''; + $data['user_name'] = !$user->isEmpty() ? $user['nickname'] : ''; + $data['auditinguser_name'] = !$admin->isEmpty() ? $admin['name'] : ''; + $data['stream_admin_name'] = $stream_admin_name??''; + $data['stream_time'] = $stream_admin_name?date('Y-m-d H:i:s',$data['stream_time']):''; + }) + ->toArray(); + } + + + /** + * @notes 获取零售订单出库数量 + * @return int + * @author likeadmin + * @date 2024/04/24 09:57 + */ + public function count(): int + { + return Cashierclass::where($this->searchWhere)->count(); + } + +} \ No newline at end of file diff --git a/app/admin/lists/retail/CashierinfoLists.php b/app/admin/lists/retail/CashierinfoLists.php index 7d9b46e..913d1ff 100644 --- a/app/admin/lists/retail/CashierinfoLists.php +++ b/app/admin/lists/retail/CashierinfoLists.php @@ -54,12 +54,14 @@ class CashierinfoLists extends BaseAdminDataLists implements ListsSearchInterfac $cashier = Cashierclass::field('number')->where('id',$data['pid'])->findOrEmpty(); $room = Db::name('room')->where('id',$data['room'])->find(); $warehouse = Warehouse::field('name')->where('id',$data['warehouse'])->findOrEmpty(); + $unit=Db::name('unit')->where('id',$data['unit'])->value('name'); $goods = Goods::field('name,imgs')->where('id',$data['goods'])->findOrEmpty(); $data['cashier_number'] = !$cashier->isEmpty() ? $cashier['number'] : ''; $data['room_data'] = !empty($room) ? $room : []; $data['warehouse_name'] = !$warehouse->isEmpty() ? $warehouse['name'] : ''; $data['goods_name'] = !$goods->isEmpty() ? $goods['name'] : ''; $data['imgs'] = !$goods->isEmpty() ? $goods['imgs'] : ''; + $data['unit_name'] =$unit??''; }) ->toArray(); } diff --git a/app/common/lists/ListsSearchTrait.php b/app/common/lists/ListsSearchTrait.php index 2f1d5b2..e1dd6cb 100644 --- a/app/common/lists/ListsSearchTrait.php +++ b/app/common/lists/ListsSearchTrait.php @@ -25,7 +25,11 @@ trait ListsSearchTrait $class_key=$this->request->__get('class_key'); if($class_key!==null){ foreach($class_key as $key => $value){ - array_push($search[$key], $value); // 添加class_key的搜索条件 + if(isset($search[$key])){ + array_push($search[$key], $value); // 添加class_key的搜索条件 + }else{ + $search[$key] = [$value]; // 创建新的搜索条件 + } } } diff --git a/app/common/service/wechat/WeChatMnpService.php b/app/common/service/wechat/WeChatMnpService.php index 5d9bc9b..5382703 100644 --- a/app/common/service/wechat/WeChatMnpService.php +++ b/app/common/service/wechat/WeChatMnpService.php @@ -114,7 +114,7 @@ class WeChatMnpService 'out_trade_no'=>$order_id, 'mchid'=>config('payment.wechat.default.mch_id') ], - 'logistics_type'=>4, + 'logistics_type'=>2, 'delivery_mode'=>'UNIFIED_DELIVERY', 'shipping_list'=>[ ['item_desc'=>'商品']