Example #1
0
 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);
 }
Example #3
0
 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);
 }