Exemple #1
0
 /**
  * 编辑单件样品的工艺信息
  * @param $get
  * @param $post
  * @return array|Result
  */
 public function updateSampleTechnic($get, $post)
 {
     $id = $get['id'];
     $sample_id = $get['sample_id'];
     $sample = Sample::findOneByPk($sample_id);
     $sample_tech_data = SampleTechnic::find('id = ?', $id)->one();
     $sample_tech_data = $sample_tech_data ?: new SampleTechnic();
     if (!$sample_tech_data->sample_id) {
         $sample_tech_data->setvalue('sample_id', $sample_id);
     }
     if ($post) {
         $sample_tech_data->setValues($post);
         $sample_tech_data->save();
         return new Result('操作成功', true, null, Router::getUrl('Sample/showSampleTechnicList', array('id' => $id, 'sample_id' => $sample_id)));
     }
     $flow_list = $sample->getPropertiesDefine('technic_flow_id_list')['options'];
     $flow_list = array_diff_key($flow_list, array_diff_key($flow_list, array_flip(explode(',', $sample->technic_flow_id_list))));
     return array('flow_list' => $flow_list, 'data' => $sample_tech_data);
 }