123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135 |
- <?php
- namespace app\api\business;
- use app\api\exception\ApiException;
- use app\api\model\Ccjc;
- use app\api\model\Cyd;
- use app\api\model\SamplePesticides;
- use app\api\model\TestPesticides;
- class JcdBus
- {
- public function getJcdList($data)
- {
- $jcd_info = (new Cyd())->getCydListByUndertakeId($data['undertake_id'], $data['pageNum'], $data['pageSize']);
- $jcd_info_count = (new Cyd())->countCydListByUndertakeId($data['undertake_id']);
- return ['rows'=>$jcd_info,'total'=>$jcd_info_count];
- }
- public function getJcdObjectItem($sampel_id)
- {
-
- $task_id = (new Cyd())->getCydInfoBySampleId($sampel_id)['task_id'];
- $test_model_id = (new Ccjc())->getTaskInfoByTaskID($task_id)['test_model_id'];
- $model_item = (new TestPesticides())->getInfoByTestModelId($test_model_id)->toArray();
-
- $data = [];
- $data_num = 0;
- $create_jcd_item=[];
- foreach ($model_item as $k=>$v) {
-
- $item_is_set = (new SamplePesticides())->getItemByTestIdAndSampleId($v['test_id'],$sampel_id);
- if ($item_is_set==null){
- $data[$k]['test_id'] = $v['test_id'];
- $data[$k]['test_name'] = $v['test_name'];
- $data[$k]['sample_id'] = $sampel_id;
- }
- }
-
- $create_jcd_item = (new SamplePesticides())->saveItem($data);
-
- $item_info = (new SamplePesticides())->getItemBySampleId($sampel_id);
- return $item_info;
- }
-
- public function upJcdItem($sample_id)
- {
- $jcd_status = ['test_status' => '1'];
- $result = (new Cyd())->updateCydDataBySampleID($sample_id, $jcd_status);
- return $result;
- }
-
- public function saveJcdItem($sample_id, $pesticides){
-
- $data = [];
- $data_num =0;
- foreach ($pesticides as $k0 =>$v0) {
- if ($pesticides[$k0]['test_value'] != '') {
- $data [$k0]['test_id'] = $pesticides[$k0]['test_id'];
- $data [$k0]['test_value'] = $pesticides[$k0]['test_value'];
- $data [$k0]['state_value'] = $pesticides[$k0]['state_value'];
- $data [$k0]['unit'] = $pesticides[$k0]['unit'];
- $data [$k0]['creattime'] = $pesticides[$k0]['creattime'];
- $data [$k0]['sample_id'] = $sample_id;
- $data [$k0]['LOD'] = $pesticides[$k0]['LOD'];
- $data [$k0]['LOQ'] = $pesticides[$k0]['LOQ'];
- $data [$k0]['test_result'] = $pesticides[$k0]['test_result'];
- $data_num = $k0;
- }
- }
- $disable_save_data=$enable_save_data=[];
-
- for ($i = 0; $i < ($data_num+1); $i++) {
- $save_data = (new SamplePesticides())->getItemByTestIdAndSampleId($data[$i]['test_id'], $sample_id);
-
- if ($save_data['enable_save']==1) {
- $disable_save_data[] = ['test_id' => $data[$i]['test_id'], 'sample_id' => $sample_id];
- }
-
- else if ($save_data['enable_save'] == null && $save_data['test_value']=='') {
-
- (new SamplePesticides())->saveItemByTestIdAndSampleId($data[$i]['test_id'], $sample_id, $data[$i]);
-
- (new SamplePesticides())->saveItemByTestIdAndSampleId($data[$i]['test_id'], $sample_id,['enable_save' => 1]);
- $enable_save_data[] = ['test_id' => $data[$i]['test_id'], 'sample_id' => $sample_id];
- }
- else{
- throw new ApiException(config('status.err_none_auth_upload_data'));
- }
- }
-
- $test_result=(new SamplePesticides())->getItemBySampleId($sample_id)->toArray();
- $test_result_true=$test_result_false=$test_result_null=0;
- foreach ($test_result as $key => $value) {
- if ($test_result[$key]['test_result'] == '合格') $test_result_true+=1;
- if ($test_result[$key]['test_result'] == '不合格') $test_result_false+=1;
- if ($test_result[$key]['test_result'] == '') $test_result_null+=1;
- }
-
- if ($test_result_null == 0 && $test_result_false==0) {
- (new Cyd())->updateCydDataBySampleID($sample_id,['test_result'=>1]);
- }
-
- if ($test_result_null == 0 && $test_result_false!=0) {
- (new Cyd())->updateCydDataBySampleID($sample_id,['test_result'=>0]);
- }
- return ['enable_upload_data'=>$enable_save_data,'disable_upload_data'=>$disable_save_data];
- }
-
- public function createTestValue($sample_id)
- {
- $result_detail = (new SamplePesticides())->getItemBySampleId($sample_id);
- $result = (new Cyd())->getCydDetailBySampleID($sample_id);
- return ['result_detail'=>$result_detail,'result'=>$result];
- }
- }
|