CydBus.php 5.8 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164
  1. <?php
  2. /**
  3. *
  4. *User:Administrator
  5. *Date:2021/10/28
  6. */
  7. namespace app\api\business;
  8. use app\api\model\Ccjc;
  9. use app\api\model\Cyd;
  10. use app\api\model\Jcdw;
  11. use app\api\model\TestModel;
  12. use app\api\model\Undertake;
  13. use app\api\model\UnitProduction;
  14. use app\api\model\UnitSample;
  15. use app\api\model\UnitTest;
  16. use app\common\lib\Arr;
  17. use app\common\lib\auth\JwtAuth;
  18. class CydBus
  19. {
  20. private $uid;
  21. public function __construct()
  22. {
  23. $JwtAuth = JwtAuth::getInstance();
  24. $this->uid = $JwtAuth->getUid();
  25. }
  26. public function getCydList($task_id)
  27. {
  28. $data = (new Cyd())->selectCydInfoByTaskID($task_id);
  29. $count = (new Cyd())->countCydInfoByTaskID($task_id);
  30. return ['rows'=>$data,'total'=>$count];
  31. }
  32. public function getCydDetail($sample_id)
  33. {
  34. $result = (new Cyd())->getCydDetailBySampleID($sample_id);
  35. return $result;
  36. }
  37. public function selectSampleList($data)
  38. {
  39. $uid = $this->uid;
  40. $where=[
  41. ['cyd.task_id', '=', $data['task_id']],//这里绑定成cyd.task_id进行查询
  42. ['undertake_id','=',$data['undertake_id']],
  43. //['uid', '=', $uid]
  44. ];
  45. //注释掉的是搜索功能
  46. // if ($data['sample_name']!='') $where[]=['sample_name', 'LIKE', '%'.$data['sample_name'].'%'];//样品名称
  47. // if ($data['sample_id']!='') $where[]=['sample_id', 'LIKE', '%'.$data['sample_id'].'%'];//样品编码
  48. // if ($data['sample_ground']!='') $where[]=['sample_ground', 'LIKE', '%'.$data['sample_ground'].'%'];//抽样场所
  49. // if ($data['undertake_id']!='') $where[] = ['undertake_id', '=', $data['undertake_id']];
  50. //
  51. // //bear-抽样单位,report-报告单位,check-检测单位
  52. //
  53. // if($data['unit_test_name']!='') $where[]=['unit_test_name','LIKE','%'.$data['unit_test_name'].'%'];//受检单位名称
  54. // if($data['unit_sample_name']!='') $where[]=['unit_sample_name','LIKE','%'.$data['unit_sample_name'].'%'];//抽样单位名称
  55. // if($data['unit_production_name']!='') $where[]=['unit_production_name','LIKE','%'.$data['unit_production_name'].'%'];//生产单位名称
  56. //
  57. // if($data['sample_data']!='') $where[]=['sample_date','=',$data['sample_data']];//抽样日期
  58. $result = (new Cyd())->selectSampleListByTaskIdAndUid($where, $data['pageNum'], $data['pageSize']);
  59. $count = (new Cyd())->countSampleListByTaskIdAndUid($where);
  60. return ['rows'=>$result,'total'=>$count];
  61. }
  62. public function getSampleObj($data)
  63. {
  64. $model_id = (new Ccjc())->getTaskInfoByTaskID($data['task_id'])['test_model_id'];
  65. $data_tmp = (new TestModel())->getProductInfo($model_id);
  66. $result=(new Arr())->Arr_columns($data_tmp, 'product_name,product_id');
  67. //根据$data['undertake_id']获取抽样单位和检测单位信息
  68. $undertaek_info=(new Undertake())->getItemByUndertakeId($data['undertake_id']);
  69. //根据信息获取抽样单位和检测单位的信息
  70. $sample_info = (new Jcdw())->getInfoById($undertaek_info['bear_id']);
  71. $check_info = (new Jcdw())->getInfoById($undertaek_info['check_id']);
  72. return ['list'=>$result,'sample_info'=>$sample_info,'check_info'=>$check_info];
  73. // return $result;
  74. }
  75. public function createSampleId($task_id)
  76. {
  77. $task_class = (new Ccjc())->getTaskInfoByTaskID($task_id)['task_class'];
  78. $count = (new Cyd())->countSampleCreateID();
  79. if ($task_class=="例行监测") {
  80. $id['id'] = 'LXJC' . date('Y') . date('m') . date('d') . date('H') . date('m') . str_pad(($count + 1), 4, 0, STR_PAD_LEFT);
  81. }
  82. if ($task_class=='专项监测'){
  83. $id['id'] = 'ZXJC'.date('Y').date('m').date('d').date('H').date('m').str_pad(($count+1),4,0,STR_PAD_LEFT);
  84. }
  85. return $id;
  86. }
  87. public function createSample($unit_test,$unit_production,$unit_sample,$cyd_data)
  88. {
  89. //写入抽样单信息,并返回抽样单cyd ID
  90. $cyd_id = (new Cyd())->createSample($cyd_data);
  91. //赋值cydID
  92. $unit_test['cyd_id']=$unit_production['cyd_id']=$unit_sample['cyd_id']=$cyd_id;
  93. //写入受检单位信息,并返回自增id
  94. $unit_test_id = (new UnitTest())->insertUnitTestDataGetId($unit_test);
  95. //写入生产单位信息,并返回自增id
  96. $unit_production_id = (new UnitProduction())->insertUnitProductionDataGetId($unit_production);
  97. //写入抽样单位信息,并返回自增id
  98. $unit_sample_id=(new UnitSample())->insertUnitSampleDataGetId($unit_sample);
  99. //将各种id写入cyd
  100. $cyd_id_data = [
  101. 'uid' => $this->uid,
  102. 'test_id' => '',//检测单位id
  103. 'units_id' => $unit_test_id,//受检单位id
  104. 'product_unit' => $unit_production_id,//生产单位id
  105. 'sample_unit' => $unit_sample_id,//抽样单位id
  106. ];
  107. $result = (new Cyd())->updateCydDataByID($cyd_id,$cyd_id_data);
  108. return $result;
  109. }
  110. //修改抽样单状态,status=1已上报,0未上报
  111. public function upCydItem($sample_id)
  112. {
  113. $cyd_status = ['sample_status' => '1'];
  114. $result = (new Cyd())->updateCydDataBySampleID($sample_id, $cyd_status);
  115. return $result;
  116. }
  117. public function getCydItemBySampleId($sample_id)
  118. {
  119. $cyd_item = (new Cyd())->getCydDetailBySampleID($sample_id);
  120. return $cyd_item;
  121. }
  122. public function getCydByTaskIdAndUnitId($data)
  123. {
  124. $where = [
  125. ['cyd.task_id','=',$data['task_id']],
  126. ];
  127. if ($data['unit_id'] != '') {
  128. $where[]=['unit_id','=',$data['unit_id']];
  129. }
  130. $jg_cyd_list = (new Cyd())->getCydListDetail($where,$data['pageNum'],$data['pageSize']);
  131. $jg_cyd_count = (new Cyd())->countCydListDetail($where);
  132. return ['rows'=>$jg_cyd_list,'total'=>$jg_cyd_count];
  133. }
  134. }