SampleBus.php 2.9 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485868788899091929394
  1. <?php
  2. /**
  3. *
  4. *User:Administrator
  5. *Date:2021/10/14
  6. */
  7. namespace app\api\business;
  8. use app\api\model\Ccjc;
  9. use app\api\model\Cyd;
  10. use app\api\model\TestModel;
  11. use app\api\model\UnitProduction;
  12. use app\api\model\UnitSample;
  13. use app\api\model\UnitTest;
  14. use app\common\lib\Arr;
  15. use app\common\lib\auth\JwtAuth;
  16. class SampleBus
  17. {
  18. private $uid;
  19. public function __construct()
  20. {
  21. $JwtAuth = JwtAuth::getInstance();
  22. $this->uid = $JwtAuth->getUid();
  23. }
  24. public function selectSampleList($task_id,$pageNum,$pageSize)
  25. {
  26. $uid = $this->uid;
  27. $where=[
  28. ['task_id', '=', $task_id],
  29. ['uid', '=', $uid]
  30. ];
  31. $result = (new Cyd())->selectSampleListByTaskIdAndUid($where, $pageNum, $pageSize);
  32. $count = (new Cyd())->countSampleListByTaskIdAndUid($where);
  33. return ['rows'=>$result,'total'=>$count];
  34. }
  35. public function getSampleObj($task_id,$under_task_id)
  36. {
  37. $model_id = (new Ccjc())->getTaskInfoByTaskID($task_id)['test_model_id'];
  38. $data = (new TestModel())->getProductInfo($model_id);
  39. $result=(new Arr())->Arr_columns($data, 'product_name,product_id');
  40. return $result;
  41. }
  42. public function createSampleId($task_id)
  43. {
  44. $task_class = (new Ccjc())->getTaskInfoByTaskID($task_id)['task_class'];
  45. $count = (new Cyd())->countSampleCreateID();
  46. if ($task_class=="例行监测") {
  47. $id['id'] = 'LXJC' . date('Y') . date('m') . date('d') . date('H') . date('m') . str_pad(($count + 1), 4, 0, STR_PAD_LEFT);
  48. }
  49. if ($task_class=='专项监测'){
  50. $id['id'] = 'ZXJC'.date('Y').date('m').date('d').date('H').date('m').str_pad(($count+1),4,0,STR_PAD_LEFT);
  51. }
  52. return $id;
  53. }
  54. public function createSample($unit_test,$unit_production,$unit_sample,$cyd_data)
  55. {
  56. //写入抽样单信息,并返回抽样单cyd ID
  57. $cyd_id = (new Cyd())->createSample($cyd_data);
  58. //赋值cydID
  59. $unit_test['cyd_id']=$unit_production['cyd_id']=$unit_sample['cyd_id']=$cyd_id;
  60. //写入受检单位信息,并返回自增id
  61. $unit_test_id = (new UnitTest())->insertUnitTestDataGetId($unit_test);
  62. //写入生产单位信息,并返回自增id
  63. $unit_production_id = (new UnitProduction())->insertUnitProductionDataGetId($unit_production);
  64. //写入抽样单位信息,并返回自增id
  65. $unit_sample_id=(new UnitSample())->insertUnitSampleDataGetId($unit_sample);
  66. //将各种id写入cyd
  67. $cyd_id_data = [
  68. 'uid' => $this->uid,
  69. 'test_id' => '',//检测单位id
  70. 'units_id' => $unit_test_id,//受检单位id
  71. 'product_unit' => $unit_production_id,//生产单位id
  72. 'sample_unit' => $unit_sample_id,//抽样单位id
  73. ];
  74. $result = (new Cyd())->updateCydDataByID($cyd_id,$cyd_id_data);
  75. return $result;
  76. }
  77. }