[ * goods_id 商品id * sku_id 规格id * purchase_price 原进价 * goods_class_id 分类id * attribute_state 1常规 2规格 * pricing_method 1不称重 2称重 * ] * ] * @return array * [ * status * message * ] */ public function modifyPriceOperation($parameter) { $verify = $this->modifyPriceOperationVerify($parameter); if ($verify['status'] != 1) { return $verify; } $parameter['time'] = time(); $WarehousingClass = new WarehousingRecord(); switch ($parameter['user_type']) { case 1: //商户 $warehouseInfo = $WarehousingClass->getMerchantSaleWarehouse($parameter); //商户供给仓查询 switch ($parameter['type']) { case 2: //采购单 $modifyOrderModel = new PurchaseOrderModel(); break; case 3: //入库单 $modifyOrderModel = new WarehousingRecordModel(); break; } break; case 2: //门店 $warehouseInfo = $WarehousingClass->getStoreSaleWarehouse($parameter); //门店供给仓 $where['store_id'] = $parameter['store_id']; switch ($parameter['type']) { case 2: //采购单 $modifyOrderModel = new SPurchaseOrderModel(); break; case 3: //入库单 $modifyOrderModel = new SWarehousingRecordModel(); break; } break; } if (empty($warehouseInfo)) { return ['status' => 0, 'message' => '请创建供给仓']; } if (in_array($parameter['type'], [2, 3])) { //获取修改订单id $where['merchant_id'] = $parameter['merchant_id']; $where['status'] = 1; $where['order_number'] = $parameter['modify_order_number']; $modify_order_id = $modifyOrderModel->getFindField($where, "id"); if (empty($modify_order_id)) { return ['status' => 0, 'message' => '未找到改订单']; } } $parameter['warehouse_id'] = $warehouseInfo['id']; $parameter['modify_order_id'] = $modify_order_id ? $modify_order_id : ''; $result = $this->createModifyPriceOrder($parameter); //创建调价单 if ($result['status'] != 1) { return $result; } $parameter['orderId'] = $result['data']['id']; //调价单id $parameter['orderNumber'] = "MG" . orderNumber($parameter['orderId']); //调价单号 $result = $this->ModifyPriceGoodsAdd($parameter); //加入调价商品表修改记录表 if ($result['status'] != 1) { return ['status' => 0, 'message' => '暂无修改']; } $parameter['list'] = $result['data']['newWarehouseOrderMoney']; //入库单金额修改信息 if (!empty($parameter['list']) && in_array($parameter['type'], [2, 3])) { $WarehousingClass->modifyWarehousingOrderMoney($parameter); } unset($parameter['list']); if ($parameter['type'] == 2) { //采购单 $parameter['id'] = $modify_order_id; $parameter['money_total'] = round($result['data']['newPurchaseOrderMoney'], 2); //采购单金额修改信息 $PurchaseOrderClass = new PurchaseOrder(); $PurchaseOrderClass->modifyPurchaseOrderMoney($parameter); //修改采购单 $parameter['purchase_order_id'] = $parameter['modify_order_id']; //采购单id $parameter['payable_money'] = $parameter['money_total']; //修改金额 if ($parameter['supplier_type'] != 2) { $PurchasePayableClass = new PurchasePayable(); $PurchasePayableClass->modifyOrderMoney($parameter); //修改采购应付款 } unset($parameter['money_total']); unset($parameter['id']); } switch ($parameter['user_type']) { case 1: //商户 $CostPriceModel = new ModifyPriceOrderModel(); break; case 2: //门店 $CostPriceModel = new SModifyPriceOrderModel(); break; } try { $CostPriceModel->updateData([ 'id' => $parameter['orderId'] ], [ 'status' => 1, 'order_number' => $parameter['orderNumber'], 'goods_species' => count($parameter['goodsList']) ]); return ['status' => 1, 'message' => '操作成功']; } catch (\Exception $e) { return ['status' => 0, 'message' => '操作失败']; } } /** * 加入调价单商品表 * @param $parameter * [ * user_type 1商户 2门店 * merchant_id * store_id * goodsList 商品信息 * type 1初始化入库 2采购单 3其他入库 * modify_order_number 修改的订单号 * operator_id 操作人id * ] * @return array * [ * status * message * data=>[ * newWarehouseOrderMoney 入库单列表 * newPurchaseOrderMoney 采购单列表 * ] * ] */ public function ModifyPriceGoodsAdd($parameter) { $parameter['newWarehouseOrderMoney'] = []; //入库单金额新信息 $parameter['newPurchaseOrderMoney'] = 0; //采购单金额 $data = [ 'merchant_id' => $parameter['merchant_id'], 'modify_price_order_id' => $parameter['orderId'], 'warehouse_id' => $parameter['warehouse_id'], 'add_time' => $parameter['time'], 'order_number' => $parameter['orderNumber'], 'type' => $parameter['type'] ]; switch ($parameter['user_type']) { case 1: $ModifyPriceGoodsModel = new ModifyPriceGoodsModel(); break; case 2: $ModifyPriceGoodsModel = new SModifyPriceGoodsModel(); $data['store_id'] = $parameter['store_id']; break; } $CostPriceClass = new CostPrice(); try { foreach ($parameter['goodsList'] as $val) { $data['goods_id'] = $val['goods_id']; $data['goods_name'] = $val['goods_name']; $data['goods_class_id'] = $val['goods_class_id']; $data['goods_number'] = $val['goods_number']; $data['goods_code'] = $val['goods_code']; $data['company'] = $val['company']; $data['attribute_state'] = $val['attribute_state']; $data['pricing_method'] = $val['pricing_method']; $data['purchase_price'] = $val['purchase_price']; $data['cost_price'] = $val['cost_price']; $data['remarks'] = $val['remarks']; if ($val['attribute_state'] == 2) { $data['sku_id'] = $val['sku_id']; $data['sku_name'] = $val['sku_name']; $data['sku_id_list'] = $val['sku_id_list']; $data['sku_goods_number'] = $val['sku_goods_number']; $data['sku_code'] = $val['sku_code']; $data['sku_num'] = $val['sku_num']; } $result = $ModifyPriceGoodsModel->addData($data); if ($result['status'] != 1) { continue; } $parameter['goodsInfo'] = $val; $result = $this->modifyWarehousePrice($parameter); //修改入库价 if ($result['status'] != 1 && $parameter['type'] == 3) { continue; } if (in_array($parameter['type'], [2, 3]) && !empty($result['data']['newWarehouseOrderMoney'])) { $parameter['newWarehouseOrderMoney'] = $result['data']['newWarehouseOrderMoney']; } if ($parameter['type'] == 2) { $purchaseSate = $this->modifyPurchaseRecord($parameter); //修改采购记录 if ($purchaseSate['status'] == 1) { $parameter['newPurchaseOrderMoney'] = $purchaseSate['data']['newPurchaseOrderMoney']; } } unset($parameter['goodsInfo']); if ($result['status'] == 1) { $val['type'] = 3; //调价单修改 $val['time'] = $parameter['time']; //调价单修改 $parameter['goods'] = $val; $CostPriceClass->modifyCostPrice($parameter); //修改成本价 unset($parameter['goods']); } unset($result); } return ['status' => 1, 'message' => '操作成功', 'data' => ['newWarehouseOrderMoney' => $parameter['newWarehouseOrderMoney'], 'newPurchaseOrderMoney' => $parameter['newPurchaseOrderMoney']]]; } catch (\Exception $e) { return ['status' => 0, 'message' => '操作失败']; } } /** * 修改采购记录 * @param $parameter * [ * user_type 1商户 2门店 * merchant_id * store_id * goodsInfo 商品信息 * ] * @return array * [ * status * message * data=>[ * newPurchaseOrderMoney 变更的采购金额 * ] * ] */ public function modifyPurchaseRecord($parameter) { $goodsInfo = $parameter['goodsInfo']; $where = [ 'merchant_id' => $parameter['merchant_id'], 'purchase_order_id' => $parameter['modify_order_id'], 'goods_id' => $goodsInfo['goods_id'] ]; if ($goodsInfo['attribute_state'] == 2) { $where['sku_id'] = $goodsInfo['sku_id']; } switch ($parameter['user_type']) { case 1: //商户 $PurchaseGoodsModel = new PurchaseGoodsModel(); break; case 2: //门店 $PurchaseGoodsModel = new SPurchaseGoodsModel(); $where['store_id'] = $parameter['store_id']; break; } $purchase = $PurchaseGoodsModel->getFieldInfo($where, "purchase_num,purchase_price"); if (!empty($purchase)) { $parameter['newPurchaseOrderMoney'] += ($goodsInfo['cost_price'] - $purchase['purchase_price']) * $purchase['purchase_num']; $subtotal = round($goodsInfo['cost_price'] * $purchase['purchase_num'], 2); $PurchaseGoodsModel->updateData($where, [ 'purchase_price' => $goodsInfo['cost_price'], 'subtotal' => $subtotal ]); return ['status' => 1, 'message' => '修改成功', 'data' => ['newPurchaseOrderMoney' => $parameter['newPurchaseOrderMoney']]]; } else { return ['status' => 0, 'message' => '未找到该商品']; } } /** * 修改入库价 * @param $parameter * [ * user_type 1商户 2门店 * merchant_id * store_id * goodsInfo 单个商品信息 * newWarehouseOrderMoney 订单新的金额信息s * ] * @return array * [ * status * message * data=[ * newWarehouseOrderMoney 订单新的金额信息 * ] * ] */ public function modifyWarehousePrice($parameter) { $goodsInfo = $parameter['goodsInfo']; $where = [ 'merchant_id' => $parameter['merchant_id'], 'goods_id' => $goodsInfo['goods_id'] ]; if (!empty($goodsInfo['sku_id'])) { $where['sku_id'] = $goodsInfo['sku_id']; } switch ($parameter['type']) { case 1: $where['type'] = 5; break; case 2: $where['type'] = ['in', [1, 2]]; $where['purchase_order_number'] = $parameter['modify_order_number']; //采购单号 break; case 3: $where['type'] = 0; $where['warehouse_record_id'] = $parameter['modify_order_id']; //入库单id break; } switch ($parameter['user_type']) { case 1: $warehousingModel = new WarehousingGoodsModel(); break; case 2: $warehousingModel = new SWarehousingGoodsModel(); if ($parameter['type'] == 1) { $where['type'] = 7; } $where['store_id'] = $parameter['store_id']; break; } $warehouseInfo = $warehousingModel->getSelect($where, '', '', 'id,warehouse_record_id,warehouse_price,warehouse_num'); if (!empty($warehouseInfo)) { foreach ($warehouseInfo as $val) { if (in_array($parameter['type'], [2, 3])) { $moreMoney = ($goodsInfo['cost_price'] - $val['warehouse_price']) * $val['warehouse_num']; if (!empty($parameter['newWarehouseOrderMoney'][$val['warehouse_record_id']])) { $parameter['newWarehouseOrderMoney'][$val['warehouse_record_id']] = ($parameter['newWarehouseOrderMoney'][$val['warehouse_record_id']] + $moreMoney); } else { $parameter['newWarehouseOrderMoney'][$val['warehouse_record_id']] = $moreMoney; } } $warehousingModel->updateData([ 'id' => $val['id'] ], [ 'warehouse_price' => $goodsInfo['cost_price'], 'subtotal' => round($goodsInfo['cost_price'] * $val['warehouse_num'], 2) ]); } return ['status' => 1, 'message' => '修改成功', 'data' => ['newWarehouseOrderMoney' => $parameter['newWarehouseOrderMoney']]]; } else { return ['status' => 0, 'message' => '未找到入库记录']; } } /** * 新增调价单操作 * @param $parameter * [ * user_type 1商户 2门店 * merchant_id * store_id * goodsList 商品信息 * type 1初始化入库 2采购单 3其他入库 * modify_order_number * operator_id 操作人id * ] * @return array * [ * status * message * data=>[ * id 采购单id * ] * ] */ public function createModifyPriceOrder($parameter) { $data = [ 'merchant_id' => $parameter['merchant_id'], 'warehouse_id' => $parameter['warehouse_id'], 'remarks' => $parameter['remarks'], 'add_time' => $parameter['time'], 'operator_id' => $parameter['operator_id'], 'type' => $parameter['type'], 'modify_order_id' => $parameter['modify_order_id'] ? $parameter['modify_order_id'] : 0, 'modify_order_number' => $parameter['modify_order_number'] ? $parameter['modify_order_number'] : '' ]; switch ($parameter['user_type']) { case 1: //商户 $ModifyPriceOrderModel = new ModifyPriceOrderModel(); break; case 2: //门店 $ModifyPriceOrderModel = new SModifyPriceOrderModel(); $data['store_id'] = $parameter['store_id']; break; } try { $result = $ModifyPriceOrderModel->addData($data); } catch (\Exception $e) { return ['status' => 0, 'message' => '调价单生成失败']; } if ($result['status'] == 0) { return ['status' => 0, 'message' => '调价单生成失败']; } return ['status' => 1, 'message' => '调价单创建成功', 'data' => ['id' => $result['data']]]; } /** * 创建调价单的参数验证 * @param $parameter * [ * user_type 1商户 2门店 * merchant_id * store_id * type * modify_order_number * goodsList=>[ * goods_id 商品id * sku_id 规格id * purchase_price 原进价 * goods_class_id 分类id * attribute_state 1常规 2规格 * pricing_method 1不称重 2称重 * ] * ] * @return array * [ * status * message * ] */ public function modifyPriceOperationVerify($parameter) { if (!in_array($parameter['user_type'], [1, 2]) || !in_array($parameter['type'], [1, 2, 3])) { return ['status' => 0, 'message' => '未知请求源']; } if (empty($parameter['merchant_id']) || ($parameter['user_type'] == 2 && empty($parameter['store_id']))) { return ['status' => 0, 'message' => '登录超时']; } if ($parameter['type'] != 1 && empty($parameter['modify_order_number'])) { return ['status' => 0, 'message' => '请输入修改的订单号']; } if (empty($parameter['goodsList'])) { return ['status' => 0, 'message' => '请选择调价的商品']; } if (count($parameter['goodsList']) > 500) { return ['status' => 0, 'message' => '单次操作上限为500种商品']; } $reg = "/^(?!0+(?:\.0+)?$)(?:[1-9]\d*|0)(?:\.\d{1,2})?$/"; foreach ($parameter['goodsList'] as $val) { if (empty($val['cost_price']) || !preg_match($reg, $val['cost_price'])) { return ['status' => 0, 'message' => $val['goods_name'] . $val['sku_name'] . "价格有误"]; } } return ['status' => 1, 'message' => '验证成功']; } /** * 选择的调价商品列表 * @param $parameter * [ * user_type 1商户2 门店 * merchant_id * store_id * type 1初始化入库 2采购单 3其他入库 * modify_order_number 修改的订单号 * page * limit * ] * @return array * [ * status * message * data=>[ * list 列表 * count 总条数 * ] * ] */ public function getGoodsList($parameter) { $verify = $this->getGoodsListVerify($parameter); //参数验证 if ($verify['status'] != 1) { return $verify; } $where = $this->getGoodsListTerm($parameter); $page = $parameter['page'] ? $parameter['page'] : ''; $limit = $parameter['limit'] ? $parameter['limit'] : ''; switch ($parameter['user_type']) { case 1: //商户 switch ($parameter['type']) { case 1: $modifyGoodsModel = new SaleMGoodsModel(); $price = 'cost_price'; break; case 2: $modifyGoodsModel = new PurchaseGoodsModel(); $price = 'purchase_price'; break; case 3: $modifyGoodsModel = new WarehousingGoodsModel(); $price = 'warehouse_price'; break; } break; case 2: //门店 switch ($parameter['type']) { case 1: $modifyGoodsModel = new SSaleMGoodsModel(); $price = 'cost_price'; break; case 2: $modifyGoodsModel = new SPurchaseGoodsModel(); $price = 'purchase_price'; break; case 3: $modifyGoodsModel = new SWarehousingGoodsModel(); $price = 'warehouse_price'; break; } break; } $list = $modifyGoodsModel->getSelect($where, $page, $limit, "id,goods_id,sku_id,goods_class_id,goods_name,sku_name,goods_number,sku_goods_number,goods_code,sku_code,company,attribute_state,pricing_method,sku_id_list,sku_num,{$price}"); if ($list) { $count = $modifyGoodsModel->getCount($where); foreach ($list as $key => &$val) { $val['index'] = $key + 1; $val['cost_price'] = round($val[$price], 2); if ($val['attribute_state'] == 2) { $val['number'] = $val['sku_goods_number']; $val['code'] = $val['sku_code']; } else { $val['number'] = $val['goods_number']; $val['code'] = $val['goods_code']; } } } return ['status' => 1, 'message' => '查询成功', 'data' => ['list' => $list, 'count' => $count ? $count : 0]]; } /** * 选择的调价商品列表的where条件 * @param $parameter * [ * user_type 1商户 2门店 * merchant_id * store_id * type 1初始化入库 2采购单 3其他入库 * modify_order_number 修改的订单号 * ] * @return mixed */ public function getGoodsListTerm($parameter) { $where = []; $goodsClass = new GoodsClassify(); $where = $goodsClass->getGoodsClassId($parameter, $where, "goods_class_id"); switch ($parameter['type']) { case 1: //初始化入库 $where['status'] = ['in', [0, 1]]; break; case 2: //采购单 $where['order_number'] = $parameter['modify_order_number']; break; case 3: //其他入库 $where['type'] = 0; $where['warehouse_order_number'] = $parameter['modify_order_number']; break; } if (!empty($parameter['searchText'])) { $where['goods_name|sku_name|goods_code|sku_code|goods_number|sku_goods_number'] = array('like', '%' . $parameter['searchText'] . '%'); } if (!empty($parameter['notInIds'])) { $where['id'] = array('not in', $parameter['notInIds']); } if ($parameter['user_type'] == 2) { //门店 $where['store_id'] = $parameter['store_id']; } $where['merchant_id'] = $parameter['merchant_id']; return $where; } /** * 选择的调价商品验证 * @param $parameter * [ * user_type 1商户2 门店 * merchant_id * store_id * type 1初始化入库 2采购单 3其他入库 * modify_order_number 修改的订单号 * ] * @return array */ public function getGoodsListVerify($parameter) { if (!in_array($parameter['user_type'], [1, 2]) || !in_array($parameter['type'], [1, 2, 3])) { return ['status' => 0, 'message' => '未知请求源']; } if (empty($parameter['merchant_id']) || (empty($parameter['store_id']) && $parameter['user_type'] == 2)) { return ['status' => 0, 'message' => '登录超时']; } if ($parameter['type'] != 1 && empty($parameter['modify_order_number'])) { return ['status' => 0, 'message' => '请输入订单号']; } return ['status' => 1, 'message' => '验证成功']; } /** * 调价单详情的商品列表 * @param $parameter * [ * user_type 1商户 2门店 * id 调价单id * showPrice 查看进价权限 2无 * identity 身份 1商户 2门店 * ] * @return array */ public function ModifyPriceGoodsList($parameter) { if (!in_array($parameter['user_type'], [1, 2])) { return ['status' => 0, 'message' => '未知请求源']; } $id = $parameter['id']; if (empty($id)) { return ['status' => 0, 'message' => '缺少参数']; } switch ($parameter['user_type']) { case 1: //商户 $ModifyPriceGoodsModel = new ModifyPriceGoodsModel(); break; case 2: //门店 $ModifyPriceGoodsModel = new SModifyPriceGoodsModel(); break; } $list = $ModifyPriceGoodsModel->getSelect(['modify_price_order_id' => $id]); if ($list) { foreach ($list as $key => &$val) { $val['index'] = $key + 1; if ($parameter['user_type'] == 2 && $parameter['showPrice'] == 2 && $parameter['identity'] == 2) { //门店 $val['purchase_price'] = "***"; } else { $val['purchase_price'] = round($val['purchase_price'], 2); $val['cost_price'] = round($val['cost_price'], 2); } $val['sku_num'] = round($val['sku_num'], 3); if ($val['attribute_state'] == 2) { $val['goods_number'] = $val['sku_goods_number']; $val['goods_code'] = $val['sku_code']; } } } return ['status' => 1, 'message' => '查询成功', 'data' => ['list' => $list]]; } /** * 调价单详情导出 * @param $parameter * [ * user_type 1商户 2门店 * id 调价单id * ] * @throws \PHPExcel_Exception * @throws \PHPExcel_Reader_Exception * @throws \PHPExcel_Writer_Exception */ public function ModifyPriceGoodsListExport($parameter) { $result = $this->ModifyPriceGoodsList($parameter); switch ($parameter['user_type']) { case 1: //商户 $ModifyPriceOrderModel = new ModifyPriceOrderModel(); $SaleWarehouseModel = new SaleWarehouseModel(); break; case 2: //门店 $ModifyPriceOrderModel = new SModifyPriceOrderModel(); $SaleWarehouseModel = new SSaleWarehouseModel(); break; } $info = $ModifyPriceOrderModel->getFind(array('id' => $parameter['id'])); $info['add_time'] = date('Y-m-d H:i:s', $info['add_time']); $warehouse = $SaleWarehouseModel->getFindField(array('id' => $info['warehouse_id']), "name"); $fileds_name = "调价详情导出"; $arr = array( array('index', '序号'), array('goods_name', '商品名称'), array('sku_name', '规格'), array('goods_number', '货号'), array('goods_code', '条码'), array('company', '单位'), array('sku_num', '规格基数'), array('purchase_price', '原进价'), array('cost_price', '进价'), array('remarks', '备注'), ); $str = array(); $str[0] = $fileds_name . ',导出日期:' . date('Y-m-d H:i:s', time()); $str[1] = "调价单号:" . $info['order_number'] . " 调价仓库:" . $warehouse . " 调价时间:" . $info['add_time']; $this->detailGetExcel($fileds_name, $arr, $result['data']['list'], $str); } /** * 调价单列表 * @param $parameter * [ * user_type 1商户 2门店 * merchant_id * store_id * order_number 调价单号或者被修改订单号 * type 1初始化入库 2采购单 3采购入库 4补货入库 5其他入库 * page * limit * ] * @return array */ public function getModifyPriceSingleList($parameter) { $verify = $this->getModifyPriceSingleVerify($parameter); //参数验证 if ($verify['status'] != 1) { return $verify; } $where = $this->getModifyPriceSingleTerm($parameter); //获取查询条件 $page = $parameter['page'] ? $parameter['page'] : ''; $limit = $parameter['limit'] ? $parameter['limit'] : ''; switch ($parameter['user_type']) { case 1: //商户 $ModifyPriceSingleModel = new ModifyPriceOrderModel(); break; case 2: $ModifyPriceSingleModel = new SModifyPriceOrderModel(); break; } $list = $ModifyPriceSingleModel->getSelect($where, $page, $limit); if ($list) { $JurisdictionUserModel = new JurisdictionUserModel(); $count = $ModifyPriceSingleModel->getCount($where); foreach ($list as $key => &$val) { $val['index'] = $key + 1; $val['add_time'] = date('Y-m-d H:i:s', $val['add_time']); if (!empty($val['operator_id'])) { $val['operator'] = $JurisdictionUserModel->getFindField(['id' => $val['operator_id']], 'name'); } switch ($val['type']) { case 1: $val['type_name'] = '初始化入库'; break; case 2: $val['type_name'] = '采购单'; break; case 3: $val['type_name'] = '采购入库'; break; case 4: $val['type_name'] = '补货入库'; break; case 5: $val['type_name'] = '其他入库'; break; } } } return ['status' => 1, 'message' => '查询成功', 'data' => ['list' => $list, 'count' => $count ? $count : 0]]; } /** * 调价单列表导出 * @param $parameter * [ * user_type 1商户 2门店 * merchant_id * store_id * order_number 调价单号或者被修改订单号 * type 1初始化入库 2采购单 3采购入库 4补货入库 5其他入库 * ] * @throws \PHPExcel_Exception * @throws \PHPExcel_Reader_Exception * @throws \PHPExcel_Writer_Exception */ public function ModifyPriceSingleListExport($parameter) { $result = $this->getModifyPriceSingleList($parameter); $fileds_name = "调价单导出"; $arr = array( array('index', '序号'), array('operator', '操作人'), array('add_time', '调价时间'), array('type_name', '类型'), array('order_number', '调价单'), array('modify_order_number', '被修改订单'), array('goods_species', '合计(种)'), array('remarks', '备注'), ); $str = $fileds_name . ',导出日期:' . date('Y-m-d H:i:s', time()); getExcel($fileds_name, $arr, $result['data']['list'], $str); } /** * 调价单列表的where条件 * @param $parameter * [ * user_type 1商户 2门店 * merchant_id * store_id * order_number 调价单号或者被修改订单号 * type 1初始化入库 2采购单 3采购入库 4补货入库 5其他入库 * ] * @return mixed */ public function getModifyPriceSingleTerm($parameter) { if (!empty($parameter['order_number'])) { $where['order_number|modify_order_number'] = ['like', "%{$parameter['order_number']}%"]; } if (!empty($parameter['type'])) { $where['type'] = $parameter['type']; } if (!empty($parameter['add_time'])) { $parameter['add_time'] = explode(',', $parameter['add_time']); $where['add_time'] = ['between', [strtotime($parameter['add_time'][0]), strtotime($parameter['add_time'][1])]]; } if ($parameter['user_type'] == 2) { $where['store_id'] = $parameter['store_id']; } $where['merchant_id'] = $parameter['merchant_id']; $where['status'] = 1; return $where; } /** * 调价单列表的参数验证 * @param $parameter * [ * user_type 1商户 2门店 * merchant_id * store_id * ] * @return array */ public function getModifyPriceSingleVerify($parameter) { if (!in_array($parameter['user_type'], [1, 2])) { return ['status' => 0, 'message' => '未知请求源']; } if (empty($parameter['merchant_id']) || ($parameter['user_type'] == 2 && empty($parameter['store_id']))) { return ['status' => 0, 'message' => '登录超时']; } return ['status' => 1, 'message' => '验证成功']; } /** * 调价单详情导出 * @param $expTitle * @param $expCellName * @param $expTableData * @param array $str * @throws \PHPExcel_Exception * @throws \PHPExcel_Reader_Exception * @throws \PHPExcel_Writer_Exception */ public function detailGetExcel($expTitle, $expCellName, $expTableData, $str = array()) { $xlsTitle = iconv('utf-8', 'gb2312', $expTitle);//文件名称 $fileName = $expTitle . date('_YmdHis');//or $xlsTitle 文件名称可根据自己情况设定 $cellNum = count($expCellName); $dataNum = count($expTableData); $common = $str; vendor("PHPExcel.PHPExcel"); ob_clean(); $objPHPExcel = new \PHPExcel(); $cellName = array('A', 'B', 'C', 'D', 'E', 'F', 'G', 'H', 'I', 'J', 'K', 'L', 'M', 'N', 'O', 'P', 'Q', 'R', 'S', 'T', 'U', 'V', 'W', 'X', 'Y', 'Z', 'AA', 'AB', 'AC', 'AD', 'AE', 'AF', 'AG', 'AH', 'AI', 'AJ', 'AK', 'AL', 'AM', 'AN', 'AO', 'AP', 'AQ', 'AR', 'AS', 'AT', 'AU', 'AV', 'AW', 'AX', 'AY', 'AZ'); $objPHPExcel->getActiveSheet(0)->mergeCells('A1:' . $cellName[$cellNum - 1] . '1');//合并单元格 $objPHPExcel->setActiveSheetIndex(0)->setCellValue('A1', $str[0]); $objPHPExcel->getActiveSheet(0)->mergeCells('A2:K2');//合并单元格 $objPHPExcel->setActiveSheetIndex(0)->setCellValue('A2', $str[1]); for ($i = 0; $i < $cellNum; $i++) { $objPHPExcel->setActiveSheetIndex(0)->setCellValue($cellName[$i] . '3', $expCellName[$i][1]); } for ($i = 0; $i < $dataNum; $i++) { for ($j = 0; $j < $cellNum; $j++) { $objPHPExcel->getActiveSheet(0)->setCellValue($cellName[$j] . ($i + 4), ' ' . $expTableData[$i][$expCellName[$j][0]]); } } foreach ($cellName as $value) { $objPHPExcel->getActiveSheet()->getColumnDimension($value)->setWidth(20); } header('pragma:public'); header('Content-type:application/vnd.ms-excel;charset=utf-8;name="' . $xlsTitle . '.xls"'); header("Content-Disposition:attachment;filename=$fileName.xls");//attachment新窗口打印inline本窗口打印 $objWriter = \PHPExcel_IOFactory::createWriter($objPHPExcel, 'Excel5'); $objWriter->save('php://output'); exit(); } }