文件
mashangyoujiu/Application/Common/Business/Warehouse.class.php

402 行
12 KiB
PHP
可执行文件

<?php
namespace Common\Business;
use Common\Model\PurchaseWarehouseModel;
use Common\Model\SaleWarehouseModel;
use Common\Model\SPurchaseWarehouseModel;
use Common\Model\SSaleWarehouseModel;
//[1.6.48]
/**
* 仓库类
* Class Warehouse
* [
* 获取仓库id getSaleWarehouseId
* 获取仓库的查询条件 getSaleWarehouseTerm
* 获取仓库id的参数验证 getWarehouseVerify
* 门店销售仓库的添加与编辑 storeSaleWarehouseOperation
* 商户销售仓库的添加与编辑 merchantSaleWarehouseOperation
* 门店采购仓库的添加与编辑 storePurchaseWarehouseOperation
* 商户采购仓库的添加与编辑 merchantPurchaseWarehouseOperation
* 仓库参数验证 warehouseTerm
* ]
* @package Common\Business
*/
class Warehouse
{
/**
* 获取仓库id
* @param $param
* [
* user_type 3商户 4门店
* merchant_id
* store_id
* ]
* @return mixed
*/
public function getSaleWarehouseId($param)
{
$verifyResult = $this->getWarehouseVerify($param); //参数验证
if ($verifyResult['status'] != 1) {
return $verifyResult;
}
switch ($param['user_type']) {
case 3:
//商户
$WarehouseModel = new SaleWarehouseModel();
break;
case 4:
//门店
$WarehouseModel = new SSaleWarehouseModel();
break;
}
$where = $this->getSaleWarehouseTerm($param); //查询条件
$id = $WarehouseModel->getFindField($where, "id");
return callBack(statusCode()['success'], "查询成功", $id);
}
/**
* 获取仓库的查询条件
* @param $param
* [
* user_type 3商户 4门店
* merchant_id
* store_id
* ]
* @return mixed
*/
public function getSaleWarehouseTerm($param)
{
$where = [
'merchant_id' => $param['merchant_id'],
'status' => 1
];
if ($param['user_type'] == 4) {
$where['store_id'] = $param['store_id'];
}
return $where;
}
/**
* 获取仓库id的参数验证
* @param $param
* [
* user_type 3商户 4门店
* merchant_id
* store_id
* ]
* @return mixed
*/
public function getWarehouseVerify($param)
{
if (empty($param['user_type']) || !in_array($param['user_type'], ['3', '4']) || empty($param['merchant_id']) || ($param['user_type'] == 4 && empty($param['store_id']))) {
return callBack(statusCode()['error'], "未知身份");
}
return callBack(statusCode()['success'], "验证成功");
}
/**
* 门店销售仓库的添加与编辑
* @param $param
* [
* merchant_id 商户id
* store_id
* id 仓库id 编辑使用
* name 仓库名称
* number 仓库编号
* province 省
* city 市
* area 区
* address 详细地址
* measure_area 面积平方米
* person_name 负责人名称
* person_phone 负责人手机号
* ]
* @return mixed
*/
public function storeSaleWarehouseOperation($param)
{
$verifyResult = $this->warehouseTerm($param);
if ($verifyResult['status'] != 1) {
return $verifyResult;
}
if (empty($param['store_id'])) {
return callBack(statusCode()['error'], "缺少必要参数");
}
$SSaleWarehouseModel = new SSaleWarehouseModel();
if (empty($param['id'])) {
$info = $SSaleWarehouseModel->getFind([
'merchant_id' => $param['merchant_id'],
'store_id' => $param['store_id'],
'status' => 1
]);
if (!empty($info)) {
return callBack(statusCode()['error'], '已存在供给仓');
}
}
if (!empty($param['id'])) {
//编辑
$id = $param['id'];
unset($param['id']);
$result = $SSaleWarehouseModel->updateData([
'id' => $id
], $param);
} else {
//添加
unset($param['id']);
$param['status'] = 1;
$param['add_time'] = time();
$result = $SSaleWarehouseModel->addData($param);
}
if ($result['status'] == 1) {
return callBack(statusCode()['success'], '操作成功');
} else {
return callBack(statusCode()['error'], '暂无修改');
}
}
/**
* 商户销售仓库的添加与编辑
* @param $param
* [
* merchant_id 商户id
* id 仓库id 编辑使用
* name 仓库名称
* number 仓库编号
* province 省
* city 市
* area 区
* address 详细地址
* measure_area 面积平方米
* person_name 负责人名称
* person_phone 负责人手机号
* ]
* @return mixed
*/
public function merchantSaleWarehouseOperation($param)
{
$verifyResult = $this->warehouseTerm($param);
if ($verifyResult['status'] != 1) {
return $verifyResult;
}
$SaleWarehouseModel = new SaleWarehouseModel();
if (empty($param['id'])) {
$info = $SaleWarehouseModel->getFind([
'merchant_id' => $param['merchant_id'],
'status' => 1
]);
if (!empty($info)) {
return callBack(statusCode()['error'], '已存在供给仓');
}
}
if (!empty($param['id'])) {
//编辑
$id = $param['id'];
unset($param['id']);
$result = $SaleWarehouseModel->updateData([
'id' => $id
], $param);
} else {
//添加
unset($param['id']);
$param['status'] = 1;
$param['add_time'] = time();
$result = $SaleWarehouseModel->addData($param);
}
if ($result['status'] == 1) {
return callBack(statusCode()['success'], '操作成功');
} else {
return callBack(statusCode()['error'], '暂无修改');
}
}
/**
* 门店采购仓库的添加与编辑
* @param $param
* [
* merchant_id 商户id
* store_id
* id 仓库id 编辑使用
* default_state 1 默认仓库
* name 仓库名称
* number 仓库编号
* province 省
* city 市
* area 区
* address 详细地址
* measure_area 面积平方米
* person_name 负责人名称
* person_phone 负责人手机号
* ]
* @return mixed
*/
public function storePurchaseWarehouseOperation($param)
{
$verifyResult = $this->warehouseTerm($param);
if ($verifyResult['status'] != 1) {
return $verifyResult;
}
if (empty($param['store_id'])) {
return callBack(statusCode()['error'], '缺少必要参数');
}
$where = [
'merchant_id' => $param['merchant_id'],
'store_id' => $param['store_id'],
'number' => $param['number'],
'status' => 1
];
if (!empty($param['id'])) {
//编辑
$where['id'] = ['neq', $param['id']];
}
$SPurchaseWarehouseModel = new SPurchaseWarehouseModel();
$info = $SPurchaseWarehouseModel->getFind($where); //查询编号是否存在
if (!empty($info)) {
return callBack(statusCode()['error'], '已存在该编号,请更改编号重新提交');
}
if (!empty($param['id'])) {
//编辑
$id = $param['id']; //仓库id
unset($param['id']);
$result = $SPurchaseWarehouseModel->updateData([
'id' => $id
], $param);
} else {
//添加
unset($param['id']);
$param['status'] = 1;
$param['add_time'] = time();
$result = $SPurchaseWarehouseModel->addData($param);
$id = $result['data']; //仓库id
}
if ($result['status'] == 1 && $param['default_state'] == 1) {
$where = [
'id' => ['neq', $id],
'merchant_id' => $param['merchant_id'],
'store_id' => $param['store_id'],
'status' => 1
];
$SPurchaseWarehouseModel->updateData($where, [
'default_state' => 0
]);
}
if ($result['status'] == 1) {
return callBack(statusCode()['success'], '操作成功');
} else {
return callBack(statusCode()['error'], '暂无修改');
}
}
/**
* 商户采购仓库的添加与编辑
* @param $param
* [
* merchant_id 商户id
* id 仓库id 编辑使用
* default_state 1 默认仓库
* name 仓库名称
* number 仓库编号
* province 省
* city 市
* area 区
* address 详细地址
* measure_area 面积平方米
* person_name 负责人名称
* person_phone 负责人手机号
* ]
* @return mixed
*/
public function merchantPurchaseWarehouseOperation($param)
{
$verifyResult = $this->warehouseTerm($param);
if ($verifyResult['status'] != 1) {
return $verifyResult;
}
$where = [
'merchant_id' => $param['merchant_id'],
'number' => $param['number'],
'status' => 1
];
if (!empty($param['id'])) {
//编辑
$where['id'] = ['neq', $param['id']];
}
$PurchaseWarehouseModel = new PurchaseWarehouseModel();
$info = $PurchaseWarehouseModel->getFind($where); //查询编号是否存在
if (!empty($info)) {
return callBack(statusCode()['error'], '已存在该编号,请更改编号重新提交');
}
if (!empty($param['id'])) {
//编辑
$id = $param['id'];
unset($param['id']);
$result = $PurchaseWarehouseModel->updateData([
'id' => $id
], $param);
} else {
//添加
unset($param['id']);
$param['status'] = 1;
$param['add_time'] = time();
$result = $PurchaseWarehouseModel->addData($param);
$id = $result['data'];
}
if ($result['status'] == 1 && $param['default_state'] == 1) {
$where = [
'id' => ['neq', $id],
'merchant_id' => $param['merchant_id'],
'status' => 1
];
$PurchaseWarehouseModel->updateData($where, [
'default_state' => 0
]);
}
if ($result['status'] == 1) {
return callBack(statusCode()['success'], '操作成功');
} else {
return callBack(statusCode()['error'], '暂无修改');
}
}
/**
* 仓库参数验证
* @param $param
* [
* name 仓库名称
* number 仓库编号
* province 省
* city 市
* area 区
* address 详细地址
* measure_area 面积平方米
* person_name 负责人名称
* person_phone 负责人手机号
* ]
* @return mixed
*/
public function warehouseTerm($param)
{
$reg = "/^([a-zA-z_]{1})([\w]*)$/";
if (empty($param['merchant_id'])) {
return callBack(statusCode()['error'], '缺少必要参数');
}
if (!isset($param['name']) || !isset($param['number']) || empty($param['province']) || empty($param['city']) || empty($param['area']) || empty($param['address']) || !isset($param['measure_area']) || empty($param['person_name']) || empty($param['person_phone'])) {
return callBack(statusCode()['error'], '请完善表单信息');
}
if (!preg_match($reg, $param['number'])) {
return callBack(statusCode()['error'], '请输入正确的编号');
}
return callBack(statusCode()['success'], '验证成功');
}
}