Commit 2c52ce36 by lujunyi

单个药品排他

parent 19c9faba
...@@ -161,6 +161,7 @@ public function drugLimit(Request $request) ...@@ -161,6 +161,7 @@ public function drugLimit(Request $request)
// 处理麻黄素药品数据 // 处理麻黄素药品数据
$mahuangsu_buy_num = 0; // 本次购买麻黄素药品数量 $mahuangsu_buy_num = 0; // 本次购买麻黄素药品数量
$exclusions = []; // 单个药品的排他管理
foreach ($drugs as &$drug) { foreach ($drugs as &$drug) {
$drugModel = DrugModel::find($drug['drug_id']); $drugModel = DrugModel::find($drug['drug_id']);
if (! $drugModel) { if (! $drugModel) {
...@@ -168,6 +169,8 @@ public function drugLimit(Request $request) ...@@ -168,6 +169,8 @@ public function drugLimit(Request $request)
return $this->failed($errMsg, ['add_status' => false]); return $this->failed($errMsg, ['add_status' => false]);
} }
$exclusions[$drug['drug_id']] = $drug->excluded_drug_ids;
$drug['drug_name'] = 0; // 冗余药品名称
$drug['mahuangsu_status'] = 0; // 0:不是麻黄素药品 $drug['mahuangsu_status'] = 0; // 0:不是麻黄素药品
$drug['limit_num'] = $limit_num; // 赋值全局限购数量 $drug['limit_num'] = $limit_num; // 赋值全局限购数量
if ($drugModel->limit_buy_7 > 0) { if ($drugModel->limit_buy_7 > 0) {
...@@ -181,7 +184,7 @@ public function drugLimit(Request $request) ...@@ -181,7 +184,7 @@ public function drugLimit(Request $request)
return $this->failed($errMsg, ['add_status' => false]); return $this->failed($errMsg, ['add_status' => false]);
} }
$isBlack = false; $isBlack = false; // 药品默认不再限制名单中
foreach ($limit_keywords as $keyword) { foreach ($limit_keywords as $keyword) {
if (Str::contains($drugModel->name, $keyword)) { if (Str::contains($drugModel->name, $keyword)) {
$isBlack = true; $isBlack = true;
...@@ -199,6 +202,16 @@ public function drugLimit(Request $request) ...@@ -199,6 +202,16 @@ public function drugLimit(Request $request)
} }
} }
} }
// 检查单个药品的排他
if ($exclusions) {
foreach ($drugs as $drugItem) {
if (in_array($drugItem['drug_id'], $exclusions[$drugItem['drug_id']])) {
$errMsg = '药品['.$drugItem['name'].']和您的其他药品不能同时购买~';
return $this->failed($errMsg, ['add_status' => false]);
}
}
}
return $this->success(['add_status' => true]); return $this->success(['add_status' => true]);
} }
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or sign in to comment