123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220 |
- <?php
- // +----------------------------------------------------------------------
- // | 萤火商城系统 [ 致力于通过产品和服务,帮助商家高效化开拓市场 ]
- // +----------------------------------------------------------------------
- // | Copyright (c) 2017~2021 https://www.yiovo.com All rights reserved.
- // +----------------------------------------------------------------------
- // | Licensed 这不是一个自由软件,不允许对程序代码以任何形式任何目的的再发行
- // +----------------------------------------------------------------------
- // | Author: 萤火科技 <admin@yiovo.com>
- // +----------------------------------------------------------------------
- declare (strict_types = 1);
- namespace app\store\controller;
- use app\common\enum\order\Color as ColorEnum;
- use app\store\model\Order as OrderModel;
- use app\store\model\OrderGoods as OrderGoodsModel;
- use app\common\service\Export as ExportService;
- use app\store\model\RecoverMoney;
- use app\store\model\RefundCompensate as RefundCompensateModel;
- use think\facade\Log;
- use app\store\model\OrderRefund as OrderRefundModel;
- /**
- * 订单管理
- * Class Order
- * @package app\store\controller
- */
- class Finance extends Controller
- {
- /**
- * 供应商列表
- * @return array
- */
- public function providersList(){
- $model = new \app\store\model\Provider();
- $list = $model->getProviderList($this->request->get('provider_name',''));
- $datas = $list['data'];
- foreach ($datas as $key=>$data){
- $datas[$key]['wait_clearing_money'] = OrderGoodsModel::waitClearingMoney($data['provider_id']);
- }
- //dd($datas);
- $list['data'] = $datas;
- return $this->renderSuccess(compact('list'));
- }
- /**
- * 导出供应商结算列表
- * @return array
- * @author: zq
- * @Time: 2022/2/22 13:43
- */
- public function providersExport(){
- $model = new \app\store\model\Provider();
- $data = $model->providersExport($this->request->get('provider_name',''));
- if (!$data['data'] || !count($data['data'])){
- return $this->renderError('没有数据哟');
- }
- $res = ExportService::export($data['data'],$data['header'],$data['filename'],'列表');
- return $this->renderSuccess($res,'导出成功');
- }
- /**
- * 订单商品财务结算列表
- * @param string $dataType
- * @return array
- */
- public function list()
- {
- // 订单列表
- $model = new OrderGoodsModel();
- $list = $model->getFinanceList($this->request->param());
- //
- return $this->renderSuccess(compact('list'));
- }
- /**
- * 批量结算计算金额
- * @param array $orderGoodsIds
- * @return array
- */
- public function clearingMoney(array $orderGoodsIds){
- $model = new OrderGoodsModel();
- $money = $model->clearingMoney($orderGoodsIds);
- return $this->renderSuccess(['total_clearing_price'=>$money]);
- }
- /**
- * 确认结算/冻结/解冻
- * @param array $orderGoodsIds
- * @return array
- * @Time: 2021/10/12 15:24
- */
- public function clearing(array $orderGoodsIds){
- $type = request()->post('type',1);
- $evidence = request()->post('finance_evidence',0);
- $model = new OrderGoodsModel();
- if ($model->clearing($orderGoodsIds,$type,$evidence)) {
- return $this->renderSuccess('成功');
- }
- return $this->renderError($model->getError());
- }
- /**
- * 导出订单功能
- * @return array
- * @author: zjwhust
- * @Time: 2021/10/15 13:43
- */
- public function goodsClearingExport(){
- $param = $this->request->param();
- /* if(isset($param['order_goods_id']) && empty($param['order_goods_id'])){
- return $this->renderError('请勾选订单商品后再导出');
- }*/
- if(!isset($param['providerId']) || empty($param['providerId'])){
- return $this->renderError('请选择供应商后再导出');
- }
- $model = new OrderGoodsModel;
- $data = $model->goodsClearingExport($param);
- //dd($data['data']);
- if (!$data['data'] || !count($data['data'])){
- return $this->renderError('没有数据哟');
- }
- $res = ExportService::export($data['data'],$data['header'],$data['filename'],'列表');
- return $this->renderSuccess($res,'导出成功');
- }
- /**
- * 财务供应商结算详情-追回货款
- * @return array
- */
- public function recoverMoney(){
- $flag = RecoverMoney::add($this->postForm());
- return $this->renderSuccess(['flag'=>$flag],'成功');
- }
- /**
- * 退款单列表
- * @return array
- */
- public function refundList()
- {
- $model = new OrderRefundModel;
- $list = $model->getFinanceList($this->request->param());
- $refund_money_total = $model->getRefundMoneyTotal();
- return $this->renderSuccess(compact('list', 'refund_money_total'));
- }
- /**
- * 导出退款单列表功能
- * zq
- */
- public function refundExport(){
- $param = $this->request->param('queryParam');
- $style = $this->request->param('style');
- if($style == 1){
- $model = new OrderRefundModel();
- }elseif ($style == 2){
- $model = new RefundCompensateModel();
- }else{
- return $this->renderError('参数错误');
- }
- $data = $model->refundsExport($param);
- $res = ExportService::export($data['data'],$data['header'],$data['filename'],'列表','Xls');
- return $this->renderSuccess($res,'导出成功');
- }
- /**
- * 销售明细
- * @param string $dataType
- * @return array
- */
- public function listdt(string $dataType = OrderModel::LIST_TYPE_ALL)
- {
- //delivery,receipt,complete,cancel
- // 订单列表
- $model = new OrderModel;
- $list = $model->getFinanceList($dataType, $this->request->param());
- //获取订单颜色列表
- $colorArray = ColorEnum::data();
- return $this->renderSuccess(compact('dataType', 'list', 'colorArray'));
- }
- /**
- * 导出退款单列表功能
- * zq
- */
- public function listdtExport(){
- $param = $this->request->param();
- if(isset($param['order_goods_id']) && empty($param['order_goods_id'])){
- return $this->renderError('请勾选订单商品后再导出');
- }
- $model = new OrderModel();
- //导出跨度不能超过三个月
- if (!empty($param['betweenTime'])) {
- $times = between_time($param['betweenTime']);
- if (($times['end_time'] - $times['start_time']) > 8035200){
- return $this->renderError('导出时间跨度暂不能超过三个月');
- }
- }
- $data = $model->listdtExport($param,$param['dataType']??'all');
- $res = ExportService::export($data['data'],$data['header'],$data['filename'],'列表','Xls');
- return $this->renderSuccess($res,'导出成功');
- }
- }
|