model = new \app\admin\model\Finishedproduct; $this->view->assign("statusList", $this->model->getStatusList()); } /** * 默认生成的控制器所继承的父类中有index/add/edit/del/multi五个基础方法、destroy/restore/recyclebin三个回收站方法 * 因此在当前控制器中可不用编写增删改查的代码,除非需要自己控制这部分逻辑 * 需要将application/admin/library/traits/Backend.php中对应的方法复制到当前控制器,然后进行修改 */ public function index() { $search = input('get.search', ''); $page = input('get.page', 1); $limit = input('get.limit', 10); $db3 = \db()->connect(config('database.db3')); $where = []; if (!empty($search)) { $where = function($query) use ($search) { $query->where('jjcp_gdbh', 'like', "%{$search}%") ->whereOr('jjcp_cpdh', 'like', "%{$search}%") ->whereOr('jjcp_cpmc', 'like', "%{$search}%"); }; } $data =$db3->name('成品入仓') ->where($where) ->field(' jjcp_gdbh, jjcp_cpdh, jjcp_cpmc, jjcp_sl, UniqId, 订单编号 AS order_ddbh, jjcp_smb ') ->order('Sys_rq desc') ->where('jjcp_smb', '=', '末 板') ->whereNull('Mod_rq') ->limit(($page - 1) * $limit, $limit) ->select(); // 查询总数(必须使用和分页前相同条件) $total = $db3->name('成品入仓')->where($where)->count(); // 字段值格式化 foreach ($data as &$row) { $row['jjcp_smb'] = ($row['jjcp_smb'] === '末 板') ? '完工入库' : '未完工入库'; } // 返回 JSON 或渲染视图 if (request()->isAjax()) { return json([ 'data' => $data, 'total' => $total, 'page' => $page, 'limit' => $limit ]); } $this->assign('data', $data); return $this->fetch(); } public function finished() { // 获取 JSON 格式的请求体 $jsonData = file_get_contents("php://input"); // 解析为 PHP 数组 $data = json_decode($jsonData, true); if (!isset($data['data']) || !is_array($data['data'])) { return json(['status' => 'error', 'msg' => '无效数据']); } // 连接 MongoDB 数据库(你在 config/database.php 中的 mongodb 配置名) $mongo = \think\Db::connect('mongodb'); $userinfo = Session::get('admin'); $insertList = []; foreach ($data['data'] as $item) { $insertList[] = [ 'jjcp_cpmc' => $item['jjcp_cpmc'], 'jjcp_cpdh' => $item['jjcp_cpdh'], 'order_ddbh' => $item['order_ddbh'], 'jjcp_gdbh' => $item['jjcp_gdbh'], 'jjcp_sl' => intval($item['jjcp_sl']), 'jjcp_smb' => '已入库', 'company' => $userinfo['company'], 'created_at' => date('Y-m-d H:i:s') ]; } try { $mongo->name('Finished_products')->insertAll($insertList); return json(['status' => 'success', 'msg' => '成功插入 MongoDB']); } catch (\Exception $e) { return json(['status' => 'error', 'msg' => '插入失败:' . $e->getMessage()]); } } }