public function updateUserGroupAccess($get, $post) { $user_group_id = $get['user_group_id'] ?: $post['user_group_id']; if (Router::isPost()) { $ex = Model::transaction(function () use($post, $user_group_id) { $con = "user_group_id = '" . addslashes($user_group_id) . "'"; UserGroupAuth::deleteWhere(0, $con); $data = array(); if ($post['act_bids']) { foreach ($post['act_bids'] as $act_id) { $data[] = array('user_group_id' => $user_group_id, 'action_id' => $act_id, 'type' => UserGroupAuth::TYPE_BLACK); } } if ($post['act_wids']) { foreach ($post['act_wids'] as $act_id) { $data[] = array('user_group_id' => $user_group_id, 'action_id' => $act_id, 'type' => UserGroupAuth::TYPE_BLACK); } } if ($data) { UserGroupAuth::insertMany($data); } }); return new Result(!$ex ? '操作成功' : $ex->getMessage(), !$ex, null, Router::getUrl('UserGroup')); } if (!$user_group_id) { $tmp = UserGroup::find()->one(); $user_group_id = $tmp->id; } $act_list = AccessAction::find()->all(true); $act_ids = array_column($act_list, 'id'); //user_group values $w_user_group_values = $b_user_group_values = array(); if ($act_ids) { $user_group_values = UserGroupAuth::find('action_id IN ? AND user_group_id = ?', $act_ids, $user_group_id)->all(true); foreach ($user_group_values as $val) { if ($val['type'] == UserGroupAuth::TYPE_WHITE) { $w_user_group_values[$val['action_id']] = $val; } else { $b_user_group_values[$val['action_id']] = $val; } } } array_orderby($act_list, 'desc', SORT_DESC); $white_list = $black_list = array(); foreach ($act_list as $act) { $a = $this->convertPathToArray('全部/' . $act['desc'], array($act['id'], $act['uri'], !!$w_user_group_values[$act['id']])); $white_list = array_merge_recursive($white_list, $a); $b = $this->convertPathToArray('全部/' . $act['desc'], array($act['id'], $act['uri'], !!$b_user_group_values[$act['id']])); $black_list = array_merge_recursive($black_list, $b); } return array('user_group_id' => $user_group_id, 'auth_list' => array($white_list, $black_list), 'user_group_list' => UserGroup::find()->all()); }
/** * @param $get * @param $post * @return array * @throws Exception */ public function addSampleProduceOrder($get, $post) { $business_order_id = $get['id']; $business_order = BusinessOrder::findOneByPk($business_order_id); $sample_produce_order = new SampleProduceOrder(); if ($post) { $sample_list = BusinessOrderSamples::find('business_order_id=?', $business_order_id)->all(); if (empty($sample_list)) { throw new BizException('样品列表为空,您必须先添加样品'); } $exception = Model::transaction(function () use($sample_produce_order, $post, $sample_list, $business_order) { $sample_produce_order->setValues($post); $sample_produce_order->save(); $data = array(); /** @var BusinessOrderSamples $sm */ foreach ($sample_list as $sm) { $data[] = array('produce_order_id' => $sample_produce_order->id, 'sample_id' => $sm->sample_id, 'produce_num' => BusinessOrder::DEFAULT_PRODUCE_NUM, 'produce_request' => '无', 'produce_process_state' => 0, 'produce_employee_id' => 0); } SampleProduceOrderMapSamples::insertMany($data, false); }); if ($exception) { dump($exception, 1); throw new BizException($exception); } return new Result('送样成功', true); } $sample_produce_order = new SampleProduceOrder(); $customer = Customer::find('id = ?', $business_order->customer_id)->one(); $current_contact = CustomerContact::find('id =?', $business_order->customer_contact_id)->one(); return array('sample_produce_order' => $sample_produce_order, 'business_order' => $business_order, 'customer' => $customer, 'current_contact' => $current_contact); }
public function quickAddSample($get, $post) { if ($post) { $ex = Model::transaction(function () use($post) { $sample = new Sample(); $sample->setValues(array('sample_type' => $post['sample_type'], 'category_id' => $post['category_id'], 'material_id' => $post['material_id'], 'sample_no' => $post['sample_no'], 'chinese_name' => $post['chinese_name'])); $sample->save(); if ($post['sample_type'] == GlobalConf::SAMPLE_TYPE_SINGLE) { $ss = new SingleSample(); $ss->sample_id = $sample->id; $ss->technic_flow_id_list = $post['technic_flow_id_list']; $ss->save(); } $si = new SampleImage(); $si->setValues(array('sample_id' => $sample->id, 'image_url' => $post['image_url'])); $si->save(); $sp = new SamplePackage(); $sp->setValues(array('sample_id' => $sample->id, 'pack_name' => $post['pack_name'], 'pack_desc' => $post['pack_desc'])); $sp->save(); }); if ($ex) { return new Result($ex->getMessage()); } else { return new Result('样品添加成功', true, $post['sample_no']); } } $tmp = SampleCategory::find()->all(true); $tmp = array_filter_subtree(0, $tmp); foreach ($tmp as $k => $item) { $tmp[$k]['name'] = str_repeat(' ', $item['tree_level'] * 5) . '|-' . $item['name']; } $category_list = array_combine(array_column($tmp, 'id'), array_column($tmp, 'name')); $material_list = SampleMaterial::find('state=?', SampleMaterial::STATE_ENABLED)->all(); return array('material_list' => $material_list, 'category_list' => $category_list); }