| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299 |
- <?php
- namespace ghs\controllers;
- use bizGhs\item\classes\ItemClass;
- use bizGhs\order\classes\OrderClass;
- use bizGhs\order\classes\StockWastageOrderClass;
- use bizGhs\shop\classes\ShopAdminClass;
- use bizGhs\stat\classes\StatKdClass;
- use bizGhs\stat\classes\StatSaleClass;
- use bizHd\purchase\classes\PurchaseClass;
- //use bizHd\stat\classes\StatVisitClass;
- use bizGhs\stat\classes\StatVisitClass;
- use common\components\dict;
- use common\components\util;
- use Yii;
- class ConsoleController extends BaseController
- {
- public $guestAccess = ['init', 'profile', 'Stroke-count', 'stat'];
- //总览
- public function actionStat()
- {
- $where = ['shopId' => $this->shopId, 'debt' => 1]; // 重新赋值
- $pfDebt = OrderClass::sum($where, 'remainDebtPrice'); // 总欠款
- $pfDebt = $pfDebt === null ? 0 : $pfDebt;
- $lsDebt = \bizHd\order\classes\OrderClass::sum(['mainId' => $this->mainId, 'debt' => 1], 'remainDebtPrice');
- $lsDebt = $lsDebt === null ? 0 : $lsDebt;
- $totalDebt = bcadd($pfDebt, $lsDebt, 2);
- $itemList = ItemClass::getAllByCondition(['mainId' => $this->mainId], null, 'id,stock,cost,virtualStock,delStatus', null, true);
- $totalItemNum = 0;
- $totalCost = 0;
- if (!empty($itemList)) {
- foreach ($itemList as $item) {
- if ($item->virtualStock == 0 && $item->delStatus == 0) {
- $stock = $item->stock ?? 0;
- $cost = $item->cost ?? 0;
- $totalItemNum = bcadd($stock, $totalItemNum, 2);
- $currentCost = bcmul($stock, $cost, 2);
- $totalCost = bcadd($currentCost, $totalCost, 2);
- }
- }
- }
- $totalItemNum = floor($totalItemNum);
- $main = $this->main;
- $totalCustom = $main->totalUser ?? 0;
- $totalVisit = $main->totalVisit ?? 0;
- $totalOrder = $main->finishOrder ?? 0;
- $overview = [
- ['name' => "库存数", "url" => '/admin/stat/stock', 'value' => $totalItemNum, 'type' => 1],
- ['name' => "库存值", "url" => '/admin/stat/stock', 'value' => $totalCost, 'type' => 1],
- ['name' => "总赊账", "url" => '/admin/shop/debtChange', 'value' => $totalDebt, 'type' => 1],
- ['name' => "总客户", "url" => '/admin/home/member', 'value' => $totalCustom, 'type' => 4],
- ['name' => "总访客", "url" => '/admin/home/member', 'value' => $totalVisit, 'type' => 4],
- ['name' => "总订单", "url" => '/admin/home/order', 'value' => $totalOrder, 'type' => 4],
- ];
- util::success(['overview' => $overview]);
- }
- //系统收入、客服收入、欠款
- public function actionStrokeCount()
- {
- if (empty($this->mainId)) {
- util::success([
- 'systemIncome' => 0,
- 'systemCount' => 0,
- 'debtCount' => 0,
- 'debtIncome' => 0,
- 'kfWxCount' => 0,
- 'kfWxIncome' => 0,
- 'cashCount' => 0,
- 'cashIncome' => 0,
- ]);
- }
- $return = StatKdClass::eachChannelIncome($this->mainId, $this->shop);
- $incomeList = $return['incomeList'];
- $systemIncome1 = $incomeList['system']['category']['ls']['amount'] ?? 0;
- $systemCount1 = $incomeList['system']['category']['ls']['num'] ?? 0;
- $systemIncome2 = $incomeList['system']['category']['pf']['amount'] ?? 0;
- $systemCount2 = $incomeList['system']['category']['pf']['num'] ?? 0;
- $systemCount = bcadd($systemCount1, $systemCount2);
- $systemIncome = bcadd($systemIncome1, $systemIncome2, 2);
- $debtIncome1 = $incomeList['debt']['category']['ls']['amount'] ?? 0;
- $debtCount1 = $incomeList['debt']['category']['ls']['num'] ?? 0;
- $debtIncome2 = $incomeList['debt']['category']['pf']['amount'] ?? 0;
- $debtCount2 = $incomeList['debt']['category']['pf']['num'] ?? 0;
- $debtIncome = bcadd($debtIncome1, $debtIncome2, 2);
- $debtCount = bcadd($debtCount1, $debtCount2);
- $kfWxIncome1 = $incomeList['kfWx']['category']['ls']['amount'] ?? 0;
- $kfWxCount1 = $incomeList['kfWx']['category']['ls']['num'] ?? 0;
- $kfWxIncome2 = $incomeList['kfWx']['category']['pf']['amount'] ?? 0;
- $kfWxCount2 = $incomeList['kfWx']['category']['pf']['num'] ?? 0;
- $kfWxIncome = bcadd($kfWxIncome1, $kfWxIncome2, 2);
- $kfWxCount = bcadd($kfWxCount1, $kfWxCount2);
- $cashIncome1 = $incomeList['cash']['category']['ls']['amount'] ?? 0;
- $cashCount1 = $incomeList['cash']['category']['ls']['num'] ?? 0;
- $cashIncome2 = $incomeList['cash']['category']['pf']['amount'] ?? 0;
- $cashCount2 = $incomeList['cash']['category']['pf']['num'] ?? 0;
- $cashIncome = bcadd($cashIncome1, $cashIncome2, 2);
- $cashCount = bcadd($cashCount1, $cashCount2);
- util::success([
- 'systemIncome' => $systemIncome,
- 'systemCount' => $systemCount,
- 'debtCount' => $debtCount,
- 'debtIncome' => $debtIncome,
- 'kfWxCount' => $kfWxCount,
- 'kfWxIncome' => $kfWxIncome,
- 'cashCount' => $cashCount,
- 'cashIncome' => $cashIncome,
- ]);
- }
- //获取昨天的收入 ssh 20240830
- public function actionGetYesterdayIncome()
- {
- $mainId = $this->mainId;
- $respond = StatSaleClass::profile($mainId);
- $incomeList = $respond['income'] ?? [];
- $sale = 0;
- if (!empty($incomeList)) {
- //这里有二个地方同时要修改,请搜索关键词:index_show_income
- foreach ($incomeList as $item) {
- if (isset($item['id']) && $item['id'] == 'allot') {
- continue;
- }
- $sale = bcadd($sale, $item['amount'], 2);
- }
- }
- util::success(['income' => $sale]);
- }
- //今日概况 ssh 20220723
- public function actionProfile()
- {
- $get = Yii::$app->request->get();
- $version = $get['version'] ?? 1;
- $notice = [];
- $shop = $this->shop;
- if (!empty($shop)) {
- //到期前10天提醒
- $deadline = $shop->deadline;
- $currentTime = time();
- $currentTime = $currentTime + 864000;
- $deadTime = strtotime($deadline);
- if ($currentTime > $deadTime) {
- if (time() > $deadTime) {
- $notice[] = ['title' => '系统已到期', 'action' => '查看', 'page' => '/admin/shop/renew'];
- } else {
- $notice[] = ['title' => '系统即将到期,请及时续费', 'action' => '查看', 'page' => '/admin/shop/renew'];
- }
- }
- }
- //$notice[] = ['title' => '节日期间官方技术服务电话2号:17189513228', 'action' => '', 'page' => ''];
- //$notice[] = ['title' => '今天11:30~12:00订单可能会漏打小票,请复查', 'action' => '', 'page' => ''];
- $mainId = $this->mainId;
- $respond = StatSaleClass::profile($mainId);
- $incomeList = $respond['income'] ?? [];
- $todaySale = 0;
- if (!empty($incomeList)) {
- //这里有二个地方同时要修改,请搜索关键词:index_show_income
- foreach ($incomeList as $item) {
- if (isset($item['id']) && $item['id'] == 'allot') {
- continue;
- }
- $todaySale = bcadd($todaySale, $item['amount'], 2);
- }
- }
- $expendList = $respond['expend'] ?? [];
- $todayOut = 0;
- if (!empty($expendList)) {
- foreach ($expendList as $item) {
- $todayOut = bcadd($todayOut, $item['amount'], 2);
- }
- }
- $orderNum = $respond['totalOrderNum'] ?? 0;
- $wastage = StockWastageOrderClass::getTodayWaste($this->mainId);
- $visitCustom = StatVisitClass::getVisitNum($this->mainId);
- $cgNum = PurchaseClass::getCount(['mainId' => $this->mainId, 'status' => ['in', [3]]]);
- $menu = [
- ["name" => "商城", "img" => "ghs/home/shop3.png", "url" => "/admin/home/mall"],
- ["name" => "改价", "img" => "ghs/home/gj.png", "url" => "/admin/changePrice/list"],
- ["name" => "花材", "img" => "ghs/home/hcgl.png", "url" => "/admin/item/list"],
- ["name" => "花材(简)", "img" => "ghs/home/hcgl.png", "url" => "/admin/item/simple"],
- ["name" => "改库存", "img" => "ghs/home/kcyjs.png", "url" => "/admin/changePrice/changeStock"],
- ["name" => "供货商", "img" => "ghs/home/icon_ghs.png", "url" => "/pagesPurchase/supplier"],
- ["name" => "采购记录", "img" => "ghs/home/icon_caigou.png", "url" => "/pagesPurchase/order"],
- ["name" => "调拨入库", "img" => "ghs/home/dbrk.png", "url" => "/pagesStorehouse/allot/allotPut"],
- ["name" => "调拨出库", "img" => "ghs/home/dbck.png", "url" => "/pagesStorehouse/allot/allotEx"],
- ["name" => "买花", "img" => "ghs/home/icon_buy_item.png", "url" => "buyGhs"],
- ["name" => "买花记录", "img" => "ghs/home/icon_buy_record.png", "url" => "buyRecord", 'remindNum' => $cgNum],
- ["name" => "库存总览", "img" => "ghs/home/kcyjs.png", "url" => "/admin/stat/stock"],
- ["name" => "支出", "img" => "ghs/home/kcyjs.png", "url" => "/admin/expend/list"],
- ["name" => "员工", "img" => "ghs/home/yggl.png", "url" => "/admin/staff/list"],
- ["name" => "库存预警", "img" => "ghs/home/kcyjs.png", "url" => "/admin/item/list?warning=1"],
- ["name" => "盘点", "img" => "ghs/home/pandian.png", "url" => "/pagesStorehouse/inventory/list"],
- ["name" => "损耗", "img" => "ghs/home/kcyjs.png", "url" => "/admin/breakage/list"],
- ];
- if ($version == 2) {
- $menu = [
- ["name" => "商城", "img" => "ghs/home/shop3.png", "url" => "/admin/home/mall"],
- ["name" => "改价", "img" => "ghs/home/gj.png", "url" => "/admin/changePrice/list2"],
- ["name" => "花材", "img" => "ghs/home/hcgl.png", "url" => "/admin/item/list2"],
- ["name" => "今日访客", "img" => "ghs/home/yggl.png", "url" => "/admin/custom/visit"],
- //["name" => "预订客户", "img" => "ghs/home/yggl.png", "url" => "/admin/book/custom"],
- ["name" => "改库存", "img" => "ghs/home/kcyjs.png", "url" => "/admin/changePrice/changeStock2"],
- ["name" => "供货商", "img" => "ghs/home/icon_ghs.png", "url" => "/pagesPurchase/supplier"],
- ["name" => "采购记录", "img" => "ghs/home/icon_caigou.png", "url" => "/pagesPurchase/order"],
- ["name" => "调拨入库", "img" => "ghs/home/dbrk.png", "url" => "/pagesStorehouse/allot/allotPut"],
- ["name" => "调拨出库", "img" => "ghs/home/dbck.png", "url" => "/pagesStorehouse/allot/allotEx"],
- ["name" => "买花", "img" => "ghs/home/icon_buy_item.png", "url" => "buyGhs"],
- ["name" => "买花记录", "img" => "ghs/home/icon_buy_record.png", "url" => "buyRecord", 'remindNum' => $cgNum],
- ["name" => "库存总览", "img" => "ghs/home/kcyjs.png", "url" => "/admin/stat/stock"],
- ["name" => "支出", "img" => "ghs/home/kcyjs.png", "url" => "/admin/expend/list"],
- ["name" => "员工", "img" => "ghs/home/yggl.png", "url" => "/admin/staff/list"],
- ["name" => "库存预警", "img" => "ghs/home/kcyjs.png", "url" => "/admin/item/list?warning=1"],
- ["name" => "盘点", "img" => "ghs/home/pandian.png", "url" => "/pagesStorehouse/inventory/list"],
- ["name" => "损耗", "img" => "ghs/home/kcyjs.png", "url" => "/admin/breakage/list"],
- //["name" => "预订明细", "img" => "ghs/home/yggl.png", "url" => "/admin/book/itemCustom"],
- //["name" => "新增预订", "img" => "ghs/home/yggl.png", "url" => "/admin/custom/selectCustom?style=1&book=1&getAll=1"],
- ["name" => "拆散", "img" => "ghs/home/kcyjs.png", "url" => "/admin/part/list"],
- ["name" => "收款码流水", "img" => "ghs/home/kcyjs.png", "url" => "/admin/order/scanPay"],
- ["name" => "收款码", "img" => "ghs/home/shop.png", "url" => "/admin/cg/code"]
- ];
- }
- //用于审核,不展示全部完整的功能,批发的功能不展示出来,否则要申请B2B类目!!!!!!!!
- if ($this->adminId == 17) {
- $menu = [
- ["name" => "商城", "img" => "ghs/home/shop3.png", "url" => "/admin/home/mall"],
- ["name" => "改库存", "img" => "ghs/home/kcyjs.png", "url" => "/admin/changePrice/changeStock2"],
- ["name" => "采购记录", "img" => "ghs/home/icon_caigou.png", "url" => "/pagesPurchase/order"],
- ["name" => "调拨入库", "img" => "ghs/home/dbrk.png", "url" => "/pagesStorehouse/allot/allotPut"],
- ["name" => "调拨出库", "img" => "ghs/home/dbck.png", "url" => "/pagesStorehouse/allot/allotEx"],
- ["name" => "买花", "img" => "ghs/home/icon_buy_item.png", "url" => "buyGhs"],
- ["name" => "买花记录", "img" => "ghs/home/icon_buy_record.png", "url" => "buyRecord", 'remindNum' => $cgNum],
- ["name" => "库存总览", "img" => "ghs/home/kcyjs.png", "url" => "/admin/stat/stock"],
- ["name" => "支出", "img" => "ghs/home/kcyjs.png", "url" => "/admin/expend/list"],
- ["name" => "员工", "img" => "ghs/home/yggl.png", "url" => "/admin/staff/list"],
- ["name" => "库存预警", "img" => "ghs/home/kcyjs.png", "url" => "/admin/item/list?warning=1"],
- ["name" => "盘点", "img" => "ghs/home/pandian.png", "url" => "/pagesStorehouse/inventory/list"],
- ["name" => "损耗", "img" => "ghs/home/kcyjs.png", "url" => "/admin/breakage/list"],
- ["name" => "拆散", "img" => "ghs/home/kcyjs.png", "url" => "/admin/part/list"],
- ];
- }
- //查看财务的权限
- $lookMoney = ShopAdminClass::lookMoneyPower($this->shopAdmin, $this->shop);
- $warning = '';
- $warningUrl = '';
- //$warning = '';
- //$warningUrl = '/admin/notice/warning';
- util::success([
- 'asset' => $this->main,
- 'notice' => $notice,
- 'warning' => $warning,
- 'warningUrl' => $warningUrl,
- 'todayData' => [
- 'income' => $todaySale,
- 'order' => $orderNum,
- 'expend' => $todayOut,
- 'visitCustom' => $visitCustom,
- 'wastage' => $wastage
- ],
- 'menu' => $menu,
- 'lookMoney' => $lookMoney,
- ]);
- }
- //常用初始化
- public function actionInit()
- {
- $dict = dict::get();
- $shop = isset($this->shop) && !empty($this->shop) ? $this->shop->attributes : [];
- util::success(['dict' => $dict, 'shop' => $shop]);
- }
- }
|