Commit 1d5c1244 authored by 侯贺政's avatar 侯贺政

导入门店打分评价,批量验证门店。优化省份获取

Signed-off-by: 侯贺政's avatarhouhezheng <houhezheng@romens.cn>
parent d460c4db
...@@ -371,7 +371,13 @@ class BranchScoreController extends BaseController ...@@ -371,7 +371,13 @@ class BranchScoreController extends BaseController
return $fileInfo['INFO']; return $fileInfo['INFO'];
} }
$arr = Helper::newSpreadsheet($fileInfo['INFO'][0])->getRows(false, ['rowOffset' => 1, 'columns' => 10]); $data = Helper::newSpreadsheet($fileInfo['INFO'][0])->getRows(false, ['rowOffset' => 1, 'columns' => 10]);
$arr = (new ShopBranch)->validateBranch($data, 0); //批量验证门店
if (isset($arr['CODE'])) {
@unlink($fileInfo['INFO'][0]);
Yii::$app->response->statusCode = 422;
return $arr['list'];
}
$model = new $this->modelClass(); $model = new $this->modelClass();
$model->scenario = 'update'; $model->scenario = 'update';
$transaction = $model->getDb()->beginTransaction(); $transaction = $model->getDb()->beginTransaction();
...@@ -379,16 +385,6 @@ class BranchScoreController extends BaseController ...@@ -379,16 +385,6 @@ class BranchScoreController extends BaseController
if (is_array($arr) && !empty($arr)) { if (is_array($arr) && !empty($arr)) {
try { try {
foreach ($arr as $key => $value) { foreach ($arr as $key => $value) {
//判断是否存在该门店
$branchMolde = ShopBranch::findOne(['CODE' => $value[0]]);
if (!$branchMolde) {
$returnInfo = [
($key + 1) => ['error' => '不存在该门店,检查并更正门店编码,或删除此条数据']
];
@unlink($fileInfo['INFO'][0]);
Yii::$app->response->statusCode = 422;
return $returnInfo;
}
$_model = $model::findOne(['BRANCH_CODE' => $value[0]]); $_model = $model::findOne(['BRANCH_CODE' => $value[0]]);
if ($_model === null) { if ($_model === null) {
$_model = clone $model; $_model = clone $model;
...@@ -405,7 +401,7 @@ class BranchScoreController extends BaseController ...@@ -405,7 +401,7 @@ class BranchScoreController extends BaseController
$_model->ARTIFICIAL_NUMBER = (string) $value[8]; $_model->ARTIFICIAL_NUMBER = (string) $value[8];
$_model->ARTIFICIAL_NAME = $value[9]; $_model->ARTIFICIAL_NAME = $value[9];
$_model->UPDATE_TIME = date('Y-m-d H:i:s', time()); $_model->UPDATE_TIME = date('Y-m-d H:i:s', time());
$_model->BRANCH_NAME = $branchMolde['NAME']; $_model->BRANCH_NAME = $value['BRANCH_NAME'];
if (!$_model->save()) { if (!$_model->save()) {
$transaction->rollBack(); $transaction->rollBack();
$returnInfo = [ $returnInfo = [
......
...@@ -137,7 +137,7 @@ class ShopEmployeeController extends BaseController ...@@ -137,7 +137,7 @@ class ShopEmployeeController extends BaseController
} }
$data = Helper::newSpreadsheet($fileInfo['INFO'][0])->getRows(true, ['rowOffset' => 2, 'columns' => 9]); $data = Helper::newSpreadsheet($fileInfo['INFO'][0])->getRows(true, ['rowOffset' => 2, 'columns' => 9]);
$arr = (new ShopBranch)->validateBranch($data); $arr = (new ShopBranch)->validateBranch($data, 8);
if (isset($arr['CODE'])) { if (isset($arr['CODE'])) {
@unlink($fileInfo['INFO'][0]); @unlink($fileInfo['INFO'][0]);
Yii::$app->response->statusCode = 422; Yii::$app->response->statusCode = 422;
......
...@@ -508,12 +508,13 @@ class ShopBranch extends BaseModel ...@@ -508,12 +508,13 @@ class ShopBranch extends BaseModel
* 如果验证成功,则给每条数据,带入所属门店的GUID。 * 如果验证成功,则给每条数据,带入所属门店的GUID。
* *
* @param array $arr 需要验证的数据 * @param array $arr 需要验证的数据
* @param int $num 门店CODE所在位置
* @return array * @return array
*/ */
public function validateBranch($arr) public function validateBranch($arr, $num)
{ {
$userInfo = (new ShopRbacUser)->getRbacUserInfo(Yii::$app->user->identity->GUID); $userInfo = (new ShopRbacUser)->getRbacUserInfo(Yii::$app->user->identity->GUID);
//删除条件:总部权限删除所有,省级只能删除自己。 //权限省级权限不能跨省级;不能跨门店操作
$where = []; $where = [];
switch ($userInfo['ROLE_ID']) { switch ($userInfo['ROLE_ID']) {
case USER_ROLE_REGION_ADMIN: //省级 case USER_ROLE_REGION_ADMIN: //省级
...@@ -527,20 +528,21 @@ class ShopBranch extends BaseModel ...@@ -527,20 +528,21 @@ class ShopBranch extends BaseModel
break; break;
} }
$branches = static::find()->select('CODE,GUID')->andFilterwhere($where)->asArray()->all(); $branches = static::find()->select('CODE,GUID,NAME')->andFilterwhere($where)->asArray()->all();
$branchesCode = array_column($branches,'CODE'); $branchesCode = array_column($branches, 'CODE');
foreach ($arr as $key => $value) { foreach ($arr as $key => $value) {
if (in_array($value[8], $branchesCode)) { if (!in_array($value[$num], $branchesCode)) {
$value['error'] = '门店编码不正确,检查并更正所属门店编码,或删除此条数据'; $value['error'] = '门店编码不正确,检查并更正所属门店编码,或删除此条数据';
$list[$key+1] = $value; $list[$key + 1] = $value;
} }
//获取当前员工的门店GUID //获取此条数据所属的门店GUID,NAME
$branch = array_search($value[8],$branchesCode); $branch = array_search($value[$num], $branchesCode);
$arr[$key]['BRANCH_GUID'] = $branch?$branches[$branch]['GUID']:''; $arr[$key]['BRANCH_GUID'] = $branch ? $branches[$branch]['GUID'] : '';
$arr[$key]['BRANCH_NAME'] = $branch ? $branches[$branch]['NAME'] : '';
} }
if (isset($list)) { if (isset($list)) {
return ['CODE'=>'422','list'=>$list]; return ['CODE' => '422', 'list' => $list];
} }
return $arr; return $arr;
} }
......
...@@ -61,10 +61,7 @@ class ShopTransportArea extends BaseModel ...@@ -61,10 +61,7 @@ class ShopTransportArea extends BaseModel
public function getProvinces($citys = []) public function getProvinces($citys = [])
{ {
$_citys = static::findAll(['GUID'=>$citys]); $_citys = static::findAll(['GUID'=>$citys]);
$provinces = []; $provinces = array_column($_citys,'PARENT_GUID');
foreach ($_citys as $value) { return array_values(array_unique($provinces));
$provinces[] = $value['PARENT_GUID'];
}
return array_keys(array_flip($provinces));
} }
} }
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 to comment