修复bug

This commit is contained in:
2024-11-13 15:16:20 +08:00
parent 64ce01bb91
commit 7e26a985b2
6 changed files with 192 additions and 102 deletions

View File

@@ -34,7 +34,7 @@ class ImportForm extends BaseModel
//首拼
public function shoupin($name)
{
return ArrayHelper::shouzimu($name);
return ArrayHelper::shouzimu($name);
}
//西药导入
@@ -60,25 +60,25 @@ class ImportForm extends BaseModel
$model->setAttribute('drug_alias', trim($item['商品名']));
$model->setAttribute('pinyin_simple', (new Pinyin())->abbr(trim($item['药名'])));
$model->setAttribute('drug_number', trim($item['编号']));
$model->setAttribute('bar_code',trim( $item['条形码']));
$model->setAttribute('bar_code', trim($item['条形码']));
$model->setAttribute('specification', trim($item['规格']));
$model->setAttribute('guozi_no', trim($item['国字准号']));
$model->setAttribute('status',trim( $item['药品状态']));
$model->setAttribute('status', trim($item['药品状态']));
$model->setAttribute('function', trim($item['功能主治']));
$model->setAttribute('source', trim($item['厂家']));
$model->setAttribute('status', trim($item['状态']));
$model->setAttribute('is_otc', trim($item['是否处方药']));
$model->setAttribute('time_id', trim($item['服用时间']));
$model->setAttribute('type_id', trim($item['服用方法']));
$model->setAttribute('frequency_id',trim( $item['使用频率']));
$model->setAttribute('frequency_id', trim($item['使用频率']));
$model->setAttribute('unit_id', trim($item['用量单位']));
$model->setAttribute('usage', trim($item['用法']));
$model->setAttribute('type', '2');
$model->setAttribute('created_at', time());
if (!$model->save()) {
$errorsMsg = array_values($model->getFirstErrors());
$errors[] = '条形码:' . $item['条形码'] . ',国子准号:' . $item['国字准号'] . '的西药导入失败,原因:保存失败;'.$errorsMsg[0];
}else{
$errors[] = '条形码:' . $item['条形码'] . ',国子准号:' . $item['国字准号'] . '的西药导入失败,原因:保存失败;' . $errorsMsg[0];
} else {
$success[] = '条形码:' . $item['条形码'] . ',国子准号:' . $item['国字准号'] . '的西药导入成功';
}
} else {
@@ -158,19 +158,19 @@ class ImportForm extends BaseModel
if (!$drug) {
$model = new Drug();
$model->setAttribute('drug_name', trim($item['药名']));
$model->setAttribute('pinyin_simple',(new Pinyin())->abbr(trim($item['药名'])));
$model->setAttribute('pinyin_simple', (new Pinyin())->abbr(trim($item['药名'])));
$model->setAttribute('drug_number', trim($item['编号']));
$model->setAttribute('drug_alias', trim($item['别名']));
$model->setAttribute('place', trim($item['产地']));
$model->setAttribute('source',trim( $item['厂家']));
$model->setAttribute('source', trim($item['厂家']));
$model->setAttribute('status', trim($item['状态']));
$model->setAttribute('is_otc', trim($item['是否处方药']));
$model->setAttribute('type', '3');
$model->setAttribute('created_at', time());
if (!$model->save()) {
$errorsMsg = array_values($model->getFirstErrors());
$errors[] = '编号:' . $item['编号'] . '导入失败,原因:保存失败;'.$errorsMsg[0];
}else{
$errors[] = '编号:' . $item['编号'] . '导入失败,原因:保存失败;' . $errorsMsg[0];
} else {
$success[] = '编号:' . $item['编号'] . '的颗粒配方导入成功';
}
} else {
@@ -208,18 +208,18 @@ class ImportForm extends BaseModel
])->one();
if (!$drug) {
$model = new Drug();
$model->setAttribute('drug_name',trim( $item['药名']));
$model->setAttribute('drug_name', trim($item['药名']));
$model->setAttribute('drug_alias', trim($item['别名']));
$model->setAttribute('pinyin_simple', (new Pinyin())->abbr(trim($item['药名'])));
$model->setAttribute('drug_number', trim($item['编号']));
$model->setAttribute('bar_code', trim($item['条形码']));
$model->setAttribute('specification', trim($item['规格']));
$model->setAttribute('guozi_no',trim( $item['国字准号']));
$model->setAttribute('guozi_no', trim($item['国字准号']));
$model->setAttribute('function', trim($item['功能主治']));
$model->setAttribute('source',trim( $item['厂家']));
$model->setAttribute('source', trim($item['厂家']));
$model->setAttribute('status', trim($item['状态']));
$model->setAttribute('is_otc',trim( $item['是否处方药']));
$model->setAttribute('time_id',trim( $item['服用时间']));
$model->setAttribute('is_otc', trim($item['是否处方药']));
$model->setAttribute('time_id', trim($item['服用时间']));
$model->setAttribute('type_id', trim($item['服用方法']));
$model->setAttribute('frequency_id', trim($item['使用频率']));
$model->setAttribute('unit_id', trim($item['用量单位']));
@@ -228,8 +228,8 @@ class ImportForm extends BaseModel
$model->setAttribute('created_at', time());
if (!$model->save()) {
$errorsMsg = array_values($model->getFirstErrors());
$errors[] = '条形码:' . $item['条形码'] . ',国子准号:' . $item['国字准号'] . '的中成药导入失败,原因:保存失败;'.$errorsMsg[0];
}else{
$errors[] = '条形码:' . $item['条形码'] . ',国子准号:' . $item['国字准号'] . '的中成药导入失败,原因:保存失败;' . $errorsMsg[0];
} else {
$success[] = '条形码:' . $item['条形码'] . ',国子准号:' . $item['国字准号'] . '的中成药导入成功';
}
} else {
@@ -317,7 +317,7 @@ class ImportForm extends BaseModel
if (empty($data)) {
throw new Exception('导入数据为空');
} else {
$t=\Yii::$app->db->beginTransaction();
$t = \Yii::$app->db->beginTransaction();
try {
foreach ($data as $item) {
$DrugStoreDrug = DrugStoreDrug::find()->where(['drug_id' => trim($item['药品ID']), 'type' => trim($item['类别'])])->one();
@@ -332,15 +332,15 @@ class ImportForm extends BaseModel
$model->setAttribute('stock', trim($item['库存']));
if (!$model->save()) {
$errorsMsg = array_values($model->getFirstErrors());
$errors[] = $item['药品ID'] . '导入失败,原因:保存失败;'.$errorsMsg[0];
}else{
$errors[] = $item['药品ID'] . '导入失败,原因:保存失败;' . $errorsMsg[0];
} else {
$success[] = $item['药品ID'] . '导入成功!';
}
} else {
$errors[] = $item['药品ID'] . '导入失败,原因:重复导入';
}
}
$t->commit();
$t->commit();
} catch (\Exception $e) {
$t->rollBack();
$errors[] = $e->getMessage();
@@ -354,7 +354,7 @@ class ImportForm extends BaseModel
if (empty($data)) {
throw new Exception('导入数据为空');
} else {
$t=\Yii::$app->db->beginTransaction();
$t = \Yii::$app->db->beginTransaction();
try {
foreach ($data as $item) {
if (empty(trim($item['药品ID']))) {
@@ -362,27 +362,32 @@ class ImportForm extends BaseModel
continue;
}
if (empty(trim($item['销售价格']))) {
$errors[] = $item['药品ID'] . '导入失败,原因:药品价格为空【'. $item['销售价格'].'】';
$errors[] = $item['药品ID'] . '导入失败,原因:药品价格为空【' . $item['销售价格'] . '】';
continue;
}
$DrugStoreDrug = DrugStoreDrug::find()->where(['drug_id' => trim($item['药品ID'])])->one();
if ($DrugStoreDrug) {
$DrugStoreDrug->setAttribute('drug_id', trim($item['药品ID']));
$DrugStoreDrug->setAttribute('market_price', trim($item['销售价格']));
$DrugStoreDrug->updated_at = time();
if ($DrugStoreDrug->price == trim($item['销售价格']) && $DrugStoreDrug->market_price == trim($item['供货价'])) {
$errors[] = $item['药品ID'] . '导入失败,原因:价格未改变';
} else {
$DrugStoreDrug->setAttribute('market_price', trim($item['供货价']));
$DrugStoreDrug->setAttribute('price', trim($item['建议零售价']));
$DrugStoreDrug->updated_at = time();
if (!$DrugStoreDrug->save()) {
$errorsMsg = array_values($DrugStoreDrug->getFirstErrors());
$errors[] = $item['药品ID'] . '导入失败,原因:保存失败;'.$errorsMsg[0];
}else{
$success[] = $item['药品ID'] . '导入成功!';
if (!$DrugStoreDrug->save()) {
$errorsMsg = array_values($DrugStoreDrug->getFirstErrors());
$errors[] = $item['药品ID'] . '导入失败,原因:保存失败;' . $errorsMsg[0];
} else {
$success[] = $item['药品ID'] . '导入成功!';
}
}
} else {
$errors[] = $item['药品ID'] . '导入失败,原因:未找到对应药品';
}
}
$t->commit();
$t->commit();
} catch (\Exception $e) {
$t->rollBack();
$errors[] = $e->getMessage();
@@ -396,27 +401,30 @@ class ImportForm extends BaseModel
if (empty($data)) {
throw new Exception('导入数据为空');
} else {
$t=\Yii::$app->db->beginTransaction();
$t = \Yii::$app->db->beginTransaction();
try {
foreach ($data as $item) {
$DrugStoreDrug = DrugStoreRelations::find()->where(['drug_id' => trim($item['药品ID']), 'store_id' => $storeId])->one();
if ($DrugStoreDrug) {
$DrugStoreDrug->setAttribute('drug_id', trim($item['药品ID']));
$DrugStoreDrug->setAttribute('price', trim($item['销售价格']));
$DrugStoreDrug->updated_at = date('Y-m-d H:i:s');
if ($DrugStoreDrug->price == trim($item['销售价格'])) {
$errors[] = $item['药品ID'] . '导入失败,原因:价格未改变';
} else {
$DrugStoreDrug->setAttribute('price', trim($item['销售价格']));
$DrugStoreDrug->updated_at = date('Y-m-d H:i:s');
if (!$DrugStoreDrug->save()) {
$errorsMsg = array_values($DrugStoreDrug->getFirstErrors());
$errors[] = $item['药品ID'] . '导入失败,原因:保存失败;'.$errorsMsg[0];
}else{
$success[] = $item['药品ID'] . '导入成功!';
if (!$DrugStoreDrug->save()) {
$errorsMsg = array_values($DrugStoreDrug->getFirstErrors());
$errors[] = $item['药品ID'] . '导入失败,原因:保存失败;' . $errorsMsg[0];
} else {
$success[] = $item['药品ID'] . '导入成功!';
}
}
} else {
$errors[] = $item['药品ID'] . '导入失败,原因:未找到对应药品';
}
}
$t->commit();
$t->commit();
} catch (\Exception $e) {
$t->rollBack();
$errors[] = $e->getMessage();