ItemClass.php 23 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571
  1. <?php
  2. namespace bizGhs\item\classes;
  3. use biz\item\classes\PtItemCatClass;
  4. use biz\item\classes\PtItemCatRelateClass;
  5. use biz\item\classes\PtItemClass;
  6. use biz\shop\classes\ShopExtClass;
  7. use bizGhs\base\classes\BaseClass;
  8. use bizGhs\book\classes\BookItemClass;
  9. use bizGhs\order\classes\CheckOrderClass;
  10. use bizGhs\product\classes\ProductClass;
  11. use common\components\imgUtil;
  12. use common\components\util;
  13. use common\services\xhItemService;
  14. class ItemClass extends BaseClass
  15. {
  16. public static $baseFile = '\bizGhs\item\models\Item';
  17. public static function moveLose($outItem, $num, $shop, $params)
  18. {
  19. $sjId = $shop->sjId;
  20. $mainId = $shop->mainId;
  21. $adminId = $params['adminId'] ?? 0;
  22. $staffName = $params['staffName'] ?? '';
  23. $remark = $params['remark'] ?? '';
  24. $shopId = $shop->id;
  25. $ext = ShopExtClass::getByCondition(['shopId' => $shopId], true);
  26. $getItemId = $ext->losingItem ?? 0;
  27. if (empty($getItemId)) {
  28. util::fail('没有设置处理区花材');
  29. }
  30. $getItem = ItemClass::getById($getItemId, true);
  31. if (empty($getItem)) {
  32. util::fail('没有设置处理区花材哈');
  33. }
  34. //出口
  35. $outStock = bcsub($outItem->stock, $num, 2);
  36. if ($outStock < 0) {
  37. util::fail('剩余' . $outItem->stock . '可挪动');
  38. }
  39. $outRatio = $outItem->ratio ?? 0;
  40. $formNum = ProductClass::formatStock($outStock, $outRatio);
  41. $ghsItemInfo = [['productId' => $outItem->id, 'bigNum' => $formNum['bigNum'], 'smallNum' => $formNum['smallNum']]];
  42. $pdData = [];
  43. $pdData['itemInfo'] = $ghsItemInfo;
  44. $pdData['sjId'] = $sjId;
  45. $pdData['shopId'] = $shopId;
  46. $pdData['adminId'] = $adminId;
  47. $pdData['mainId'] = $mainId;
  48. $pdData['staffName'] = $staffName;
  49. $pdData['remark'] = $remark;
  50. CheckOrderClass::opOrder($pdData, false, false);
  51. //进口
  52. $inRatio = $getItem->ratio ?? 0;
  53. $inStock = bcadd($getItem->stock, $num, 2);
  54. $format = ProductClass::formatStock($inStock, $inRatio);
  55. $ghsItemInfo = [['productId' => $getItem->id, 'bigNum' => $format['bigNum'], 'smallNum' => $format['smallNum']]];
  56. $pdData = [];
  57. $pdData['itemInfo'] = $ghsItemInfo;
  58. $pdData['sjId'] = $sjId;
  59. $pdData['shopId'] = $shopId;
  60. $pdData['adminId'] = $adminId;
  61. $pdData['mainId'] = $mainId;
  62. $pdData['staffName'] = $staffName;
  63. $pdData['remark'] = $remark;
  64. CheckOrderClass::opOrder($pdData, false, false);
  65. }
  66. //增加和减少半扎 ssh 20250417
  67. public static function modifyHalf($shop, $product, $params, $add)
  68. {
  69. $stock = $product->stock;
  70. if ($add == 0) {
  71. $newStock = bcsub($stock, 0.5, 2);
  72. } else {
  73. $newStock = bcadd($stock, 0.5, 2);
  74. }
  75. if ($newStock < 0) {
  76. util::fail('库存不足');
  77. }
  78. $mainId = $shop->mainId;
  79. $shopId = $shop->id;
  80. $sjId = $shop->sjId;
  81. $adminId = $params['adminId'] ?? 0;
  82. $staffName = $params['staffName'] ?? '';
  83. $remark = $params['remark'] ?? '';
  84. $ratio = $product->ratio ?? 0;
  85. $formNum = ProductClass::formatStock($newStock, $ratio);
  86. $ghsItemInfo = [['productId' => $product->id, 'bigNum' => $formNum['bigNum'], 'smallNum' => $formNum['smallNum']]];
  87. $pdData = [];
  88. $pdData['itemInfo'] = $ghsItemInfo;
  89. $pdData['sjId'] = $sjId;
  90. $pdData['shopId'] = $shopId;
  91. $pdData['adminId'] = $adminId;
  92. $pdData['mainId'] = $mainId;
  93. $pdData['staffName'] = $staffName;
  94. $pdData['remark'] = $remark;
  95. CheckOrderClass::opOrder($pdData, false, false);
  96. }
  97. public static function getLoanList($where, $shop)
  98. {
  99. $bookSn = $shop->bookSn ?? 0;
  100. $bookData = [];
  101. if (!empty($bookSn)) {
  102. $booList = BookItemClass::getAllByCondition(['bookSn' => $bookSn], null, '*', null, true);
  103. if (!empty($booList)) {
  104. foreach ($booList as $book) {
  105. $onNum = $book->onNum ?? 0;
  106. $bookNum = $book->bookNum ?? 0;
  107. $roadNum = $book->roadNum ?? 0;
  108. $itemId = $book->itemId ?? 0;
  109. $needCgNum = $book->needCgNum ?? 0;
  110. $bookData[$itemId] = ['onNum' => $onNum, 'bookNum' => $bookNum, 'roadNum' => $roadNum, 'needCgNum' => $needCgNum];
  111. }
  112. }
  113. }
  114. $data = self::getList('*', $where);
  115. if (isset($data['list']) && !empty($data['list'])) {
  116. foreach ($data['list'] as $key => $val) {
  117. $data['list'][$key]['bigCount'] = '';
  118. $data['list'][$key]['smallCount'] = '';
  119. $shortCover = $val['cover'] ?? '';
  120. $smallCover = imgUtil::groupImg($shortCover) . "?x-oss-process=image/resize,m_fill,h_130,w_130";
  121. $bigCover = imgUtil::groupImg($shortCover) . "?x-oss-process=image/resize,m_fill,h_700,w_700";
  122. $data['list'][$key]['shortCover'] = $shortCover;
  123. $data['list'][$key]['cover'] = $smallCover;
  124. $data['list'][$key]['smallCover'] = $smallCover;
  125. $data['list'][$key]['bigCover'] = $bigCover;
  126. //前端使用字段
  127. $data['list'][$key]['showUsePrice'] = '';
  128. $productId = $val['id'] ?? 0;
  129. $stock = $val['stock'] ?? 0;
  130. $couldLoan = 0;
  131. if (isset($bookData[$productId])) {
  132. $bookNum = $bookData[$productId] && $bookData[$productId]['bookNum'] ? $bookData[$productId]['bookNum'] : 0;
  133. if ($bookNum > 0) {
  134. $roadNum = $bookData[$productId] && $bookData[$productId]['roadNum'] ? $bookData[$productId]['roadNum'] : 0;
  135. $needCgNum = $bookData[$productId] && $bookData[$productId]['needCgNum'] ? $bookData[$productId]['needCgNum'] : 0;
  136. $unReachNum = bcadd($roadNum, $needCgNum, 2);
  137. $useStock = bcsub($bookNum, $unReachNum, 2);
  138. if ($stock > $useStock) {
  139. $couldLoan = bcsub($stock, $useStock, 2);
  140. }
  141. } else {
  142. $couldLoan = $stock;
  143. }
  144. } else {
  145. $couldLoan = $stock;
  146. }
  147. $data['list'][$key]['stock'] = $couldLoan;
  148. }
  149. }
  150. return $data;
  151. }
  152. public static function getSimpleList($where, $num)
  153. {
  154. $data = self::getList('id,name,price,stock,frontHide,cover', $where);
  155. if (isset($data['list']) && !empty($data['list'])) {
  156. foreach ($data['list'] as $key => $val) {
  157. $data['list'][$key]['bigCount'] = '';
  158. if ($num > 0) {
  159. $data['list'][$key]['bigCount'] = $num;
  160. }
  161. $data['list'][$key]['smallCount'] = '';
  162. $shortCover = $val['cover'] ?? '';
  163. $smallCover = imgUtil::groupImg($shortCover) . "?x-oss-process=image/resize,m_fill,h_130,w_130";
  164. $bigCover = imgUtil::groupImg($shortCover) . "?x-oss-process=image/resize,m_fill,h_700,w_700";
  165. $data['list'][$key]['shortCover'] = $shortCover;
  166. $data['list'][$key]['cover'] = $smallCover;
  167. $data['list'][$key]['smallCover'] = $smallCover;
  168. $data['list'][$key]['bigCover'] = $bigCover;
  169. //前端使用字段
  170. $data['list'][$key]['showUsePrice'] = '';
  171. }
  172. }
  173. return $data;
  174. }
  175. public static function errorPrice($shop)
  176. {
  177. $mainId = $shop->mainId ?? 0;
  178. $itemList = ItemClass::getAllByCondition(['mainId' => $mainId, 'delStatus' => 0, 'status' => 1], null, 'id,name,price,skPrice,hjPrice');
  179. $arr = [];
  180. $map = [];
  181. if (!empty($itemList)) {
  182. foreach ($itemList as $item) {
  183. $name = $item['name'] ?? '';
  184. $productId = $item['id'] ?? 0;
  185. $price = $item['price'] ?? 0;
  186. $skPrice = $item['skPrice'] ?? 0;
  187. $hjPrice = $item['hjPrice'] ?? 0;
  188. $name = trim(strtolower($name));
  189. $name = str_replace(" ", "", $name);
  190. $hasLevel = true;
  191. $pfKeyName = '';
  192. $lsKeyName = '';
  193. $dkKeyName = '';
  194. $keyLevel = '';
  195. if (strstr($name, "a级")) {
  196. $pfKeyName = str_replace("a级", "-批发", $name);
  197. $lsKeyName = str_replace("a级", "-零售", $name);
  198. $dkKeyName = str_replace("a级", "-大客", $name);
  199. $keyLevel = 'a';
  200. $map[$pfKeyName . $keyLevel] = $productId;
  201. $map[$lsKeyName . $keyLevel] = $productId;
  202. $map[$dkKeyName . $keyLevel] = $productId;
  203. } elseif (strstr($name, "b级")) {
  204. $pfKeyName = str_replace("b级", "-批发", $name);
  205. $lsKeyName = str_replace("b级", "-零售", $name);
  206. $dkKeyName = str_replace("b级", "-大客", $name);
  207. $keyLevel = 'b';
  208. $map[$pfKeyName . $keyLevel] = $productId;
  209. $map[$lsKeyName . $keyLevel] = $productId;
  210. $map[$dkKeyName . $keyLevel] = $productId;
  211. } elseif (strstr($name, "c级")) {
  212. $pfKeyName = str_replace("c级", "-批发", $name);
  213. $lsKeyName = str_replace("c级", "-零售", $name);
  214. $dkKeyName = str_replace("c级", "-大客", $name);
  215. $keyLevel = 'c';
  216. $map[$pfKeyName . $keyLevel] = $productId;
  217. $map[$lsKeyName . $keyLevel] = $productId;
  218. $map[$dkKeyName . $keyLevel] = $productId;
  219. } elseif (strstr($name, "d级")) {
  220. $pfKeyName = str_replace("d级", "-批发", $name);
  221. $lsKeyName = str_replace("d级", "-零售", $name);
  222. $dkKeyName = str_replace("d级", "-大客", $name);
  223. $keyLevel = 'd';
  224. $map[$pfKeyName . $keyLevel] = $productId;
  225. $map[$lsKeyName . $keyLevel] = $productId;
  226. $map[$dkKeyName . $keyLevel] = $productId;
  227. } elseif (strstr($name, "a")) {
  228. $pfKeyName = str_replace("a", "-批发", $name);
  229. $lsKeyName = str_replace("a", "-零售", $name);
  230. $dkKeyName = str_replace("a", "-大客", $name);
  231. $keyLevel = 'a';
  232. $map[$pfKeyName . $keyLevel] = $productId;
  233. $map[$lsKeyName . $keyLevel] = $productId;
  234. $map[$dkKeyName . $keyLevel] = $productId;
  235. } elseif (strstr($name, "b")) {
  236. $pfKeyName = str_replace("b", "-批发", $name);
  237. $lsKeyName = str_replace("b", "-零售", $name);
  238. $dkKeyName = str_replace("b", "-大客", $name);
  239. $keyLevel = 'b';
  240. $map[$pfKeyName . $keyLevel] = $productId;
  241. $map[$lsKeyName . $keyLevel] = $productId;
  242. $map[$dkKeyName . $keyLevel] = $productId;
  243. } elseif (strstr($name, "c")) {
  244. $pfKeyName = str_replace("c", "-批发", $name);
  245. $lsKeyName = str_replace("c", "-零售", $name);
  246. $dkKeyName = str_replace("c", "-大客", $name);
  247. $keyLevel = 'c';
  248. $map[$pfKeyName . $keyLevel] = $productId;
  249. $map[$lsKeyName . $keyLevel] = $productId;
  250. $map[$dkKeyName . $keyLevel] = $productId;
  251. } elseif (strstr($name, "d")) {
  252. $pfKeyName = str_replace("d", "-批发", $name);
  253. $lsKeyName = str_replace("d", "-零售", $name);
  254. $dkKeyName = str_replace("d", "-大客", $name);
  255. $keyLevel = 'd';
  256. $map[$pfKeyName . $keyLevel] = $productId;
  257. $map[$lsKeyName . $keyLevel] = $productId;
  258. $map[$dkKeyName . $keyLevel] = $productId;
  259. } else {
  260. $hasLevel = false;
  261. }
  262. if ($hasLevel) {
  263. $arr[$pfKeyName][$keyLevel] = $price;
  264. $arr[$lsKeyName][$keyLevel] = $skPrice;
  265. $arr[$dkKeyName][$keyLevel] = $hjPrice;
  266. }
  267. }
  268. }
  269. $error = [];
  270. if (!empty($arr)) {
  271. foreach ($arr as $key => $it) {
  272. if (isset($it['a']) && isset($it['b']) && $it['b'] > $it['a']) {
  273. $error[$key] = $it;
  274. }
  275. if (isset($it['b']) && isset($it['c']) && $it['c'] > $it['b']) {
  276. $error[$key] = $it;
  277. }
  278. if (isset($it['c']) && isset($it['d']) && $it['d'] > $it['c']) {
  279. $error[$key] = $it;
  280. }
  281. if (isset($it['a']) && isset($it['c']) && $it['c'] > $it['a']) {
  282. $error[$key] = $it;
  283. }
  284. }
  285. }
  286. $data = [];
  287. if (!empty($error)) {
  288. foreach ($error as $name => $val) {
  289. $data[] = array_merge(['name' => $name], $val);
  290. }
  291. }
  292. return ['data' => $data, 'map' => $map];
  293. }
  294. //初始化花材 lqh 2021.4.12 modify ssh 20210711
  295. public static function initUpdateItem($mainId)
  296. {
  297. //删除原有分类
  298. ItemClassClass::updateByCondition(['mainId' => $mainId], ['mainId' => 0]);
  299. //增加默认分类
  300. $classData = ['mainId' => $mainId, 'name' => '默认分类', 'inTurn' => -1, 'isDefault' => 1,];
  301. $default = ItemClassClass::add($classData, true);
  302. $defaultId = $default->id ?? 0;
  303. //将原花材分类设置为默认分类
  304. ProductClass::updateByCondition(['mainId' => $mainId], ['classId' => $defaultId]);
  305. $hasExistsProduct = ProductClass::getAllByCondition(['mainId' => $mainId], null, '*', 'itemId', true);
  306. $ptClass = PtItemCatClass::getAllList("*", ['type' => 0], 'inTurn desc');
  307. if (empty($ptClass)) {
  308. return false;
  309. }
  310. $hasClassIds = array_column($ptClass, 'id');
  311. $relate = PtItemCatRelateClass::getAllByCondition(['catId' => ['in', $hasClassIds]], null, '*');
  312. $relateInfo = [];
  313. $hasItemIds = [];
  314. if (!empty($relate)) {
  315. foreach ($relate as $key => $val) {
  316. $catId = $val['catId'] ?? 0;
  317. $itemId = $val['itemId'] ?? 0;
  318. $relateInfo[$catId][] = $itemId;
  319. $hasItemIds[] = $itemId;
  320. }
  321. $hasItemIds = array_unique(array_filter($hasItemIds));
  322. }
  323. $itemInfo = PtItemClass::getAllByCondition(['id' => ['in', $hasItemIds]], null, '*', 'id');
  324. foreach ($ptClass as $v) {
  325. $classId = $v['id'];
  326. $className = $v['name'];
  327. $inTurn = $v['inTurn'];
  328. $cover = $v['cover'] ?? '';
  329. $classData = [
  330. 'mainId' => $mainId,
  331. 'name' => $className,
  332. 'inTurn' => $inTurn,
  333. 'cover' => $cover,
  334. ];
  335. //初始化花材分类
  336. $addClassRespond = ItemClassClass::add($classData);
  337. $ghsClassId = $addClassRespond['id'];
  338. if (isset($relateInfo[$classId]) == false) {
  339. continue;
  340. }
  341. $itemAddData = [];
  342. $productAddData = [];
  343. foreach ($relateInfo[$classId] as $currentId) {
  344. if (isset($itemInfo[$currentId]) == false) {
  345. continue;
  346. }
  347. $currentItem = $itemInfo[$currentId] ?? [];
  348. $ptItemId = $currentItem['id'];
  349. //零售开批发店,已经存在的花材,不需要重复新建,只要修改分类
  350. if (isset($hasExistsProduct[$ptItemId])) {
  351. $hasExists = $hasExistsProduct[$ptItemId];
  352. $hasExists->classId = $ghsClassId;
  353. $hasExists->save();
  354. continue;
  355. }
  356. unset($currentItem['addTime']);
  357. unset($currentItem['updateTime']);
  358. $itemData = $currentItem;
  359. $itemData['classId'] = $ghsClassId;
  360. $itemData['itemId'] = $currentItem['id'];
  361. unset($itemData['id']);
  362. $itemData['rank'] = 'A';
  363. $itemAddData[] = $itemData;
  364. $productData = $currentItem;
  365. $productData['mainId'] = $mainId;
  366. $productData['itemId'] = $currentItem['id'];
  367. $productData['classId'] = $ghsClassId;
  368. unset($productData['id']);
  369. $productData['rank'] = 'B';
  370. $productData['price'] = bcadd($currentItem['cost'], $currentItem['addPrice'], 2);
  371. //花材默认是下架状态
  372. $productData['status'] = 2;
  373. $productData['property'] = 1;
  374. $productAddData[] = $productData;
  375. }
  376. if (empty($itemAddData)) {
  377. continue;
  378. }
  379. ProductClass::batchAdd($productAddData);
  380. }
  381. }
  382. //从首店复制花材和分类 ssh 20220522
  383. public static function copyItem($oldMainId, $newMainId)
  384. {
  385. $classList = ItemClassClass::getAllByCondition(['mainId' => $oldMainId], null, '*');
  386. $classMap = [];
  387. if (!empty($classList)) {
  388. foreach ($classList as $class) {
  389. $preId = $class['id'] ?? 0;
  390. $class['mainId'] = $newMainId;
  391. $class['shopId'] = 0;
  392. unset($class['addTime']);
  393. unset($class['updateTime']);
  394. unset($class['id']);
  395. $ret = ItemClassClass::add($class, true);
  396. $newId = $ret->id ?? 0;
  397. $classMap[$preId] = $newId;
  398. }
  399. }
  400. $itemList = self::getAllByCondition(['mainId' => $oldMainId], null, '*');
  401. if (!empty($itemList)) {
  402. foreach ($itemList as $item) {
  403. unset($item['stock']);
  404. unset($item['addTime']);
  405. unset($item['updateTime']);
  406. unset($item['id']);
  407. $preId = $item['classId'] ?? 0;
  408. $newId = $classMap[$preId] ?? 0;
  409. $item['classId'] = $newId;
  410. $item['mainId'] = $newMainId;
  411. $item['shopId'] = 0;
  412. $item['status'] = 2;
  413. self::add($item);
  414. }
  415. }
  416. }
  417. public static function getShowList($where, $custom)
  418. {
  419. $level = $custom->level ?? 1;
  420. $field = 'id,cover,name,cost,itemId,classId,py,property,skPrice,variety,price,hjPrice,discountPrice,skDiscountPrice,hjDiscountPrice,stock,stockWarning,presell,reachNum,reachNumDiscount,ratioType,smallRatio,smallUnit,bigUnit,ratio,hjAddPrice,addPrice,limitBuy';
  421. $list = self::getAllByCondition($where, ['inTurn' => SORT_DESC, 'actualSold' => SORT_DESC], $field);
  422. if (empty($list)) {
  423. return $list;
  424. }
  425. $list = ProductClass::groupProductInfo($list, $level, $custom);
  426. $data = [];
  427. $data['-1'] = [];
  428. foreach ($list as $it) {
  429. $classId = $it['classId'] ?? 0;
  430. $data[$classId][] = $it;
  431. //特价,今日推荐
  432. if (isset($it['discountPrice']) && $it['discountPrice'] > 0) {
  433. $data['-1'][] = $it;
  434. }
  435. //预售
  436. if (isset($it['presell']) && $it['presell'] == 1) {
  437. $data['-3'][] = $it;
  438. }
  439. //满减
  440. $reachNum = $it['reachNum'] ?? 0;
  441. $reachNumDiscount = $it['reachNumDiscount'] ?? 0;
  442. if ($reachNum > 0 && $reachNumDiscount > 0) {
  443. $data['-2'][] = $it;
  444. }
  445. }
  446. return $data;
  447. }
  448. //列表数据
  449. public static function getGhsItemList($where)
  450. {
  451. $data = self::getList('*', $where, 'addTime DESC');
  452. $list = isset($data['list']) && !empty($data['list']) ? $data['list'] : [];
  453. if (empty($list)) {
  454. return $data;
  455. }
  456. foreach ($list as $k => $v) {
  457. $list[$k]['itemName'] = $list[$k]['name'] ?? '';
  458. $cover = $list[$k]['cover'] ?? '';
  459. $list[$k]['cover'] = imgUtil::groupImg($cover);
  460. }
  461. $data['list'] = $list;
  462. if (isset($where['classId'])) {
  463. $class = ItemClassClass::getById($where['classId']);
  464. $data['className'] = $class['name'] ?? '';
  465. }
  466. return $data;
  467. }
  468. //批量新增花材(初始化使用)
  469. public static function batchAddGhsItem($data)
  470. {
  471. return true;
  472. }
  473. //修改花材的信息(库存预警、每扎加价、每扎重量)
  474. public static function updateGshItem($id, $stockWarning, $addPrice, $weight, $cost)
  475. {
  476. $data['stockWarning'] = $stockWarning;
  477. $data['addPrice'] = $addPrice;
  478. $data['weight'] = $weight;
  479. $data['cost'] = $cost;
  480. self::updateById($id, $data);
  481. return true;
  482. }
  483. //删除花材
  484. public static function deleteGhsItem($id)
  485. {
  486. self::deleteById($id);
  487. return true;
  488. }
  489. //根据花材分类ID,获取itemIds
  490. public static function getItemIdsByClassId($sjId, $classId)
  491. {
  492. $where = [
  493. 'classId' => $classId,
  494. 'sjId' => $sjId,
  495. ];
  496. $data = self::getAllList("itemId", $where);
  497. if ($data) {
  498. $data = array_column($data, 'itemId');
  499. }
  500. return $data;
  501. }
  502. //获取当前供货商下的所有item
  503. public static function getGhsItemAll($sjId, $select = "*")
  504. {
  505. $where = [
  506. 'sjId' => $sjId
  507. ];
  508. $data = self::getAllList($select, $where);
  509. return $data;
  510. }
  511. //根据拼音名称,获取itemIds
  512. public static function getItemIdsByPyName($pyName)
  513. {
  514. //统一转小写
  515. $pyName = strtolower($pyName);
  516. $where = ['py' => $pyName];
  517. $data = xhItemService::getAllByCondition($where, null, 'id');
  518. if ($data) {
  519. $data = array_column($data, 'id');
  520. }
  521. return $data;
  522. }
  523. //获取某个花材的信息 lqh 2021.1.28
  524. public static function getItemData($itemId, $sjId)
  525. {
  526. return self::getByCondition(['itemId' => $itemId, 'sjId' => $sjId]);
  527. }
  528. //修改某个花材的成本价(采购之后要用到) lqh 2021.1.28 (废弃不用,更新product)
  529. public static function changeCost($itemId, $sjId, $cost)
  530. {
  531. return self::updateByCondition(['itemId' => $itemId, 'sjId' => $sjId], ['cost' => $cost]);
  532. }
  533. }