LocomotiveModel.php 4.5 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152
  1. <?php
  2. namespace app\models;
  3. use Yii;
  4. use yii\base\Model;
  5. use app\models\entity\ProjectsLocotech;
  6. use app\models\entity\Tasks;
  7. use app\models\entity\Tasknotes;
  8. class LocomotiveModel extends MainModel
  9. {
  10. public $project_id;
  11. /*
  12. Запрос (от SMoPP в ЕИПП) Записать факт проведения приемки
  13. */
  14. public function addCompletedWork( $params = [] )
  15. {
  16. if ( empty ($params)) {
  17. $this->errors['getCompletedWork'] = "";
  18. return false;
  19. }
  20. $url = Yii::$app->params['api']['domain'] . Yii::$app->params['api']['pathExecuteReceiving'];
  21. return $this->curlRequest( $url,$params );
  22. }
  23. /*
  24. Запрос (от SMoPP в ЕИПП) Получить список секций на дату – ПолучитьПланНаДату
  25. */
  26. public function getSectionList( $params = [] )
  27. {
  28. if ( empty ($params)) {
  29. $this->errors['getSectionList'] = "";
  30. return false;
  31. }
  32. $url = Yii::$app->params['api']['domain'] . Yii::$app->params['api']['pathListOfSections'];
  33. return $this->curlRequest( $url,$params );
  34. }
  35. /*
  36. Запрос (от SMoPP в ЕИПП) Получить список актуальных замечаний по секции
  37. */
  38. public function getSectionRemarks( $params = [], $record = false )
  39. {
  40. if ( empty ($params)) {
  41. $this->errors['getSectionRemarks'] = "";
  42. return false;
  43. }
  44. $url = Yii::$app->params['api']['domain'] . Yii::$app->params['api']['pathListCurrentComments'];
  45. if ( $record ) {
  46. $result = json_decode($this->curlRequest( $url,$params ));
  47. $result = json_decode($result->rows[0]->result);
  48. if( is_array($result) and ( count($result) > 0 ) ) {
  49. foreach($result as $note) {
  50. $tasknotesEntity = new Tasknotes();
  51. $tasknotesEntity->uuid = $note->remarkID;
  52. $tasknotesEntity->project_id = $this->project_id;
  53. $tasknotesEntity->save();
  54. $this->errors['getSectionRemarks'] = $tasknotesEntity->errors;
  55. }
  56. }
  57. if ( null != $this->errors['getSectionRemarks']) {
  58. return false;
  59. }
  60. return true;
  61. }
  62. return $this->curlRequest( $url,$params );
  63. }
  64. public function getSectionInfo( $params = [] )
  65. {
  66. if ( empty ($params)) {
  67. $this->errors['getSectionInfo'] = "";
  68. return false;
  69. }
  70. $url = Yii::$app->params['api']['domain'] . Yii::$app->params['api']['pathGetSectionInfo'];
  71. return $this->curlRequest( $url,$params );
  72. }
  73. /*
  74. Запрос (от SMoPP в ЕИПП) Создать замечание секции по ДК в АСУ СГ
  75. */
  76. public function addRemark( $params = [] )
  77. {
  78. if ( empty ($params)) {
  79. $this->errors['getSectionRemarks'] = "";
  80. return false;
  81. }
  82. $url = Yii::$app->params['api']['domain'] . Yii::$app->params['api']['pathCommentSection'];
  83. return $this->curlRequest( $url,$params );
  84. }
  85. /*
  86. * Возвращает список СЛД
  87. * $params: параметры запроса
  88. * return: false/результат запроса к методу
  89. */
  90. public function getSldList ( $params = [] )
  91. {
  92. $url = Yii::$app->params['api']['domain'] . Yii::$app->params['api']['pathGetSldList'];
  93. return $this->curlRequest($url,$params);
  94. }
  95. /*
  96. * Возвращает список СЛД
  97. * $params: параметры запроса
  98. * return: false/результат запроса к методу
  99. */
  100. public function getRepairSites ( $params = [] )
  101. {
  102. $url = Yii::$app->params['api']['domain'] . Yii::$app->params['api']['pathGetRepairSites'];
  103. return $this->curlRequest($url,$params);
  104. }
  105. public function getSourcesOfComents( $params = [] )
  106. {
  107. $url = Yii::$app->params['api']['domain'] . Yii::$app->params['api']['pathGetSourcesOfComents'];
  108. return $this->curlRequest($url,$params);
  109. }
  110. }