|
|
@@ -647,7 +647,7 @@ class ProductClass extends BaseClass
|
|
|
if (!empty($dateArr)) {
|
|
|
foreach ($dateArr as $sellTime) {
|
|
|
$sellDate = date("Y-m-d", $sellTime);
|
|
|
- $showDate = date("n月j日", $sellTime);
|
|
|
+ $showDate = date("n.j", $sellTime);
|
|
|
$preSellDateList[] = $sellDate;
|
|
|
$preSellDateShow[] = $showDate;
|
|
|
}
|
|
|
@@ -729,7 +729,7 @@ class ProductClass extends BaseClass
|
|
|
$dateArr = explode(',', trim($preSellDate));
|
|
|
if (!empty($dateArr)) {
|
|
|
foreach ($dateArr as $sellTime) {
|
|
|
- $showDate = date("n月j日", $sellTime);
|
|
|
+ $showDate = date("n.j", $sellTime);
|
|
|
$preSellDateShow[] = $showDate;
|
|
|
}
|
|
|
}
|
|
|
@@ -2256,10 +2256,10 @@ class ProductClass extends BaseClass
|
|
|
$data['py'] = stringUtil::py($data['name']);
|
|
|
$name = $data['name'] ?? '';
|
|
|
$data['alias'] = $data['alias'] ?? '';
|
|
|
- $data['cover'] = isset($data['cover']) && !empty($data['cover']) ? $data['cover'] : '';
|
|
|
+ $data['cover'] = !empty($data['cover']) ? $data['cover'] : '';
|
|
|
$ratioType = $data['ratioType'] ?? 0;
|
|
|
if ($ratioType == 0) {
|
|
|
- if (isset($data['ratio']) == false || $data['ratio'] <= 0) {
|
|
|
+ if (!isset($data['ratio']) || $data['ratio'] <= 0) {
|
|
|
util::fail('请填写单位比');
|
|
|
}
|
|
|
$ratio = $data['ratio'];
|
|
|
@@ -2302,13 +2302,13 @@ class ProductClass extends BaseClass
|
|
|
if (empty($classId)) {
|
|
|
util::fail("请选择分类");
|
|
|
}
|
|
|
- if (isset($data['price']) == false || is_numeric($data['price']) == false || $data['price'] < 0) {
|
|
|
+ if (!isset($data['price']) || !is_numeric($data['price']) || $data['price'] < 0) {
|
|
|
util::fail("请输入价格");
|
|
|
}
|
|
|
- if (isset($data['cost']) == false || is_numeric($data['cost']) == false || $data['cost'] < 0) {
|
|
|
+ if (!isset($data['cost']) || !is_numeric($data['cost']) || $data['cost'] < 0) {
|
|
|
util::fail("请输入成本价");
|
|
|
}
|
|
|
- if (isset($data['addPrice']) == false || is_numeric($data['addPrice']) == false) {
|
|
|
+ if (!isset($data['addPrice']) || !is_numeric($data['addPrice'])) {
|
|
|
util::fail("请输入加价");
|
|
|
}
|
|
|
if ($stockWarning === false) {
|
|
|
@@ -2330,7 +2330,7 @@ class ProductClass extends BaseClass
|
|
|
$catName = $cat->name ?? '';
|
|
|
|
|
|
if (isset($data['discountPrice']) && is_numeric($data['discountPrice'])) {
|
|
|
- $discountPrice = $data['discountPrice'] ?? 0;
|
|
|
+ $discountPrice = $data['discountPrice'];
|
|
|
$currentPrice = $data['price'] ?? 0;
|
|
|
if ($discountPrice >= $currentPrice) {
|
|
|
util::fail('特价要小于售价');
|
|
|
@@ -2348,7 +2348,18 @@ class ProductClass extends BaseClass
|
|
|
$connection = Yii::$app->db;
|
|
|
$transaction = $connection->beginTransaction();
|
|
|
try {
|
|
|
- if (isset($data['itemId']) == false || empty($data['itemId'])) {
|
|
|
+ $ptItemId = $data['itemId'] ?? 0;
|
|
|
+ $ptItemInfo = PtItemClass::getById($ptItemId, true);
|
|
|
+
|
|
|
+ $bigUnitId = $data['bigUnitId'] ?? 0;
|
|
|
+ $smallUnitId = $data['smallUnitId'] ?? 0;
|
|
|
+
|
|
|
+ $changeUnit = 0;
|
|
|
+ if ($ptItemInfo->bigUnitId != $bigUnitId || $ptItemInfo->smallUnitId != $smallUnitId || $ptItemInfo->ratio != $ratio) {
|
|
|
+ //如果被修改了单位,则重新创建花材
|
|
|
+ $changeUnit = 1;
|
|
|
+ }
|
|
|
+ if (empty($ptItemId) || $changeUnit == 1) {
|
|
|
//添加新品种先在平台新增花材
|
|
|
$defaultInfo = PtItemClassClass::getByCondition(['isDefault' => 1]);
|
|
|
$defaultClassId = $defaultInfo['id'] ?? 0;
|
|
|
@@ -2371,9 +2382,7 @@ class ProductClass extends BaseClass
|
|
|
}
|
|
|
}
|
|
|
|
|
|
- $ptItemId = $data['itemId'] ?? 0;
|
|
|
//小菊的结构
|
|
|
- $ptItemInfo = PtItemClass::getById($ptItemId, true);
|
|
|
$data['variety'] = $ptItemInfo->variety ?? 0;
|
|
|
|
|
|
//批发价比进货价贵多少 2021-12-07 lqh 如果前端有传取前端的,没有则取pt
|
|
|
@@ -2400,52 +2409,6 @@ class ProductClass extends BaseClass
|
|
|
}
|
|
|
$data['property'] = 1;
|
|
|
$respond = self::addBaseData($data);
|
|
|
- $respondId = $respond->id ?? 0;
|
|
|
-
|
|
|
- /*****************产品模块*********************/
|
|
|
- $ptCpIds = [];
|
|
|
- if (isset($data['cpInfo']) && !empty($data['cpInfo'])) {
|
|
|
- $cpIds = array_column($data['cpInfo'], 'cpId');
|
|
|
- $cpInfoList = CpClass::getByIds($cpIds, null, 'id');
|
|
|
- $ptCpIds = array_column($cpInfoList, 'ptCpId');
|
|
|
- foreach ($data['cpInfo'] as $cpKey => $cpVal) {
|
|
|
- $cpId = $cpVal['cpId'] ?? 0;
|
|
|
- if (isset($cpInfoList[$cpId]) == false) {
|
|
|
- util::fail('添加了无效产品');
|
|
|
- }
|
|
|
- $currentCp = $cpInfoList[$cpId];
|
|
|
- if (isset($currentCp['mainId']) == false || $currentCp['mainId'] != $mainId) {
|
|
|
- util::fail('不是你的产品哦');
|
|
|
- }
|
|
|
- $cpName = $currentCp['name'] ?? '';
|
|
|
- $ptCpId = $currentCp['ptCpId'] ?? 0;
|
|
|
- $cpPy = $currentCp['py'] ?? '';
|
|
|
- $name = $data['name'] ?? '';
|
|
|
- $py = stringUtil::py($name);
|
|
|
- $hasCp = CpItemClass::getByCondition(['cpId' => $cpId, 'productId' => $respondId], true);
|
|
|
- if (empty($hasCp)) {
|
|
|
- $addCp = [
|
|
|
- 'cpId' => $cpId,
|
|
|
- 'ptCpId' => $ptCpId,
|
|
|
- 'ptItemId' => $ptItemId,
|
|
|
- 'productId' => $respondId,
|
|
|
- 'name' => $name,
|
|
|
- 'py' => $py,
|
|
|
- 'cpName' => $cpName,
|
|
|
- 'cpPy' => $cpPy,
|
|
|
- 'mainId' => $mainId,
|
|
|
- ];
|
|
|
- CpItemClass::add($addCp);
|
|
|
- }
|
|
|
- }
|
|
|
- $respond->hasCpId = 1;
|
|
|
- $respond->save();
|
|
|
- } else {
|
|
|
- if ($currentShop->itemToClass == 1) {
|
|
|
- util::fail('请选择产品');
|
|
|
- }
|
|
|
- }
|
|
|
- /*****************产品模块*********************/
|
|
|
|
|
|
if ($stock > 0) {
|
|
|
//有库存数量,增加盘盈记录 2021.7.9 lqh
|
|
|
@@ -2467,7 +2430,6 @@ class ProductClass extends BaseClass
|
|
|
$pdOrderItemData['orderSn'] = $pdOrderSn;
|
|
|
$pdOrderItemData['productId'] = $respond->id ?? 0;
|
|
|
$pdOrderItemData['itemId'] = $data['itemId'];
|
|
|
- $pdOrderItemData['itemId'] = $data['itemId'];
|
|
|
$pdOrderItemData['itemNum'] = $stock;
|
|
|
$pdOrderItemData['itemStock'] = 0;
|
|
|
$pdOrderItemData['profitLostNum'] = $stock;
|
|
|
@@ -2547,79 +2509,7 @@ class ProductClass extends BaseClass
|
|
|
if (!empty($chainHas)) {
|
|
|
continue;
|
|
|
}
|
|
|
- $chainProduct = self::addBaseData($data);
|
|
|
- $chainProductId = $chainProduct->id ?? 0;
|
|
|
-
|
|
|
- /****************产品模块********************/
|
|
|
- if (!empty($ptCpIds)) {
|
|
|
- $ptCpClassList = PtCpClassClass::getAllByCondition(['delStatus' => 0], null, '*', 'id');
|
|
|
- $shopCpClassList = CpClassClass::getAllByCondition(['mainId' => $thisMainId, 'delStatus' => 0], null, '*', 'id');
|
|
|
- $shopCpDefaultClassId = 0;
|
|
|
- foreach ($shopCpClassList as $thisCpClass) {
|
|
|
- if ($thisCpClass['isDefault'] == 1) {
|
|
|
- $shopCpDefaultClassId = $thisCpClass['id'] ?? 0;
|
|
|
- }
|
|
|
- }
|
|
|
- if (empty($shopCpDefaultClassId)) {
|
|
|
- util::fail('没有找到产品的默认分类哦');
|
|
|
- }
|
|
|
- $ptCpList = PtCpClass::getAllByCondition(['id' => ['in', $ptCpIds]], null, '*', 'id');
|
|
|
- $shopCpList = CpClass::getAllByCondition(['mainId' => $thisMainId, 'ptCpId' => ['in', $ptCpIds]], null, '*', 'ptCpId', true);
|
|
|
- foreach ($ptCpList as $ptCpId => $ptCpInfo) {
|
|
|
-
|
|
|
- if (isset($shopCpList[$ptCpId])) {
|
|
|
- $currentCp = $shopCpList[$ptCpId];
|
|
|
- } else {
|
|
|
- $ptCpClassId = $ptCpInfo['classId'] ?? 0;
|
|
|
- $ptCpClassName = '';
|
|
|
- if (isset($ptCpClassList[$ptCpClassId])) {
|
|
|
- $ptCpClassName = $ptCpClassList[$ptCpClassId]['name'] ?? '';
|
|
|
- }
|
|
|
- $currentCpClassId = $shopCpDefaultClassId;
|
|
|
- if (!empty($ptCpClassName)) {
|
|
|
- foreach ($shopCpClassList as $thisCpClass) {
|
|
|
- if (isset($thisCpClass['name']) && $thisCpClass['name'] == $ptCpClassName) {
|
|
|
- $currentCpClassId = $thisCpClass['id'] ?? 0;
|
|
|
- }
|
|
|
- }
|
|
|
- }
|
|
|
-
|
|
|
- unset($ptCpInfo['id']);
|
|
|
- unset($ptCpInfo['addTime']);
|
|
|
- unset($ptCpInfo['updateTime']);
|
|
|
- $ptCpInfo['mainId'] = $thisMainId;
|
|
|
- $ptCpInfo['classId'] = $currentCpClassId;
|
|
|
- $ptCpInfo['ptCpId'] = $ptCpId;
|
|
|
- $currentCp = CpClass::add($ptCpInfo, true);
|
|
|
- }
|
|
|
- $currentCpId = $currentCp->id ?? 0;
|
|
|
- $cpName = $currentCp->name ?? '';
|
|
|
- $ptCpId = $currentCp->ptCpId ?? 0;
|
|
|
- $cpPy = $currentCp->py ?? '';
|
|
|
- $name = $chainProduct->name ?? '';
|
|
|
- $py = stringUtil::py($name);
|
|
|
- $hasCp = CpItemClass::getByCondition(['cpId' => $currentCpId, 'productId' => $chainProductId], true);
|
|
|
- if (empty($hasCp)) {
|
|
|
- $addCp = [
|
|
|
- 'cpId' => $currentCpId,
|
|
|
- 'ptCpId' => $ptCpId,
|
|
|
- 'ptItemId' => $ptItemId,
|
|
|
- 'productId' => $chainProductId,
|
|
|
- 'name' => $name,
|
|
|
- 'py' => $py,
|
|
|
- 'cpName' => $cpName,
|
|
|
- 'cpPy' => $cpPy,
|
|
|
- 'mainId' => $thisMainId,
|
|
|
- ];
|
|
|
- CpItemClass::add($addCp);
|
|
|
- }
|
|
|
- }
|
|
|
- } else {
|
|
|
- if ($shop->itemToClass == 1) {
|
|
|
- util::fail('请选择产品哈');
|
|
|
- }
|
|
|
- }
|
|
|
- /****************产品模块********************/
|
|
|
+ self::addBaseData($data);
|
|
|
|
|
|
}
|
|
|
}
|