ApiController.php 18 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537
  1. <?php
  2. /**
  3. * Created by PhpStorm.
  4. * User: qiuzijian
  5. * Date: 6/22/24
  6. * Time: 12:32 PM
  7. */
  8. namespace Modules\Admin\Http\Controllers\Api;
  9. use App\Enum\ApiEnum;
  10. use App\Http\Controllers\Api\BaseController;
  11. use App\Http\Controllers\Controller;
  12. use Illuminate\Http\Request;
  13. use Illuminate\Support\Facades\DB;
  14. use Illuminate\Support\Facades\Input;
  15. use Modules\Admin\Entities\User;
  16. use Modules\Admin\Http\Requests\TokenRequest;
  17. use Modules\Admin\Services\ApiService;
  18. use Modules\Staff\Entities\Staff;
  19. use Symfony\Component\HttpFoundation\Response;
  20. class ApiController extends BaseController
  21. {
  22. //整改人列表
  23. public function zgrList(Request $request){
  24. $params = $request->all();
  25. if(!$params['xjdw']){
  26. return self::errorResponse(ApiEnum::STATUS_CODE_EMPTY);
  27. }
  28. $result['status'] = true;
  29. $result['msg'] = ApiEnum::RETURN_SUCCESS;
  30. $result['data'] = [];
  31. $list = DB::connection('mysql_fwe10')->table('uf_zhxx_qlczgry')->where('dwmc',$params['xjdw'])->get();
  32. if(count($list) > 0){
  33. for($i=0;$i<count($list);$i++){
  34. $result['data'][$i] = $list[$i]->zgrxm.'|'.$list[$i]->zgrgh;
  35. }
  36. }
  37. return $result;
  38. }
  39. //网格化录入
  40. public function addConition(Request $request)
  41. {
  42. $params = Input::get();
  43. if (!$params) {
  44. return self::errorResponse(ApiEnum::STATUS_CODE_EMPTY);
  45. }
  46. $result = ApiService::addConition($params);
  47. return self::successResponse($result);
  48. }
  49. //网格化整改
  50. public function editConition(Request $request){
  51. $params = Input::get();
  52. if (!$params) {
  53. return self::errorResponse(ApiEnum::STATUS_CODE_EMPTY);
  54. }
  55. $result = ApiService::editConition($params);
  56. return self::successResponse($result);
  57. }
  58. //网格化人员轨迹查询条件
  59. public function getQueryConition(Request $request)
  60. {
  61. $date = Input::get('date', '');
  62. if (!$date) {
  63. return self::errorResponse(ApiEnum::STATUS_CODE_EMPTY);
  64. }
  65. $result = ApiService::getQueryConitions($date);
  66. return self::successResponse($result);
  67. }
  68. //网格化人员轨迹
  69. public function getPersonTravel(Request $request)
  70. {
  71. $person_id = Input::get('person_id', '');
  72. $depart = Input::get('depart', '');
  73. $date = Input::get('date', '');
  74. if (!$person_id || !$depart) {
  75. return self::errorResponse(ApiEnum::STATUS_CODE_EMPTY);
  76. }
  77. $result = ApiService::getPersonTravel($person_id, $depart, $date);
  78. return self::successResponse($result);
  79. }
  80. //网格化巡检记录查询条件
  81. public function getResultConition()
  82. {
  83. $result = ApiService::getResultConition();
  84. return self::successResponse($result);
  85. }
  86. //网格化巡检记录查询
  87. public function getResultRecord()
  88. {
  89. $depart = Input::get('depart', 'all');
  90. $date_type = Input::get('date_type', 'week');
  91. $result = ApiService::getResultRecord($depart, $date_type);
  92. return self::successResponse($result);
  93. }
  94. //网格化巡检记录列表
  95. public function getResultList()
  96. {
  97. $person_id = Input::get('person_id', '');
  98. $depart = Input::get('depart', 'all');
  99. $date_type = Input::get('date_type', 'week');
  100. if (!$person_id) {
  101. return self::errorResponse(ApiEnum::STATUS_CODE_EMPTY);
  102. }
  103. $result = ApiService::getResultList($person_id, $depart, $date_type);
  104. return self::successResponse($result);
  105. }
  106. //网格化巡检记录列表明细
  107. public function getResultDlist()
  108. {
  109. $person_id = Input::get('person_id', '');
  110. $depart = Input::get('depart', '');
  111. $date = Input::get('date', '');
  112. if (!$person_id || !$depart || !$date) {
  113. return self::errorResponse(ApiEnum::STATUS_CODE_EMPTY);
  114. }
  115. $result = ApiService::getResultDlist($person_id, $depart, $date);
  116. return self::successResponse($result);
  117. }
  118. //网格化巡检记录明细
  119. public function getResultDetail()
  120. {
  121. $id = Input::get('id', '');
  122. if (!$id) {
  123. return self::errorResponse(ApiEnum::STATUS_CODE_EMPTY);
  124. }
  125. $result = ApiService::getResultDetails($id);
  126. return self::successResponse($result);
  127. }
  128. //网格化巡检记录
  129. public function getFinalList()
  130. {
  131. $start_date = Input::get('start_date', '');
  132. $end_date = Input::get('end_date', '');
  133. $depart = Input::get('depart', '');
  134. $person = Input::get('person', '');
  135. if (!$start_date || !$end_date) {
  136. return self::errorResponse(ApiEnum::STATUS_CODE_EMPTY);
  137. }
  138. $result = ApiService::getFinalList($start_date, $end_date, $depart, $person);
  139. return self::successResponse($result);
  140. }
  141. //设备管理添加设备单位列表
  142. public function sbglUnitList(){
  143. $result['status'] = true;
  144. $result['msg'] = ApiEnum::RETURN_SUCCESS;
  145. $result['data'] = [];
  146. $unit_list = DB::connection('mysql_fwe10')->table('uf_zhxx_sbgl_qygl')->where('is_delete',0)->get();
  147. foreach($unit_list as $k => $v){
  148. $result['data'][] = [
  149. 'id' => $v->ID,
  150. 'qymc' => $v->qymc
  151. ];
  152. }
  153. return self::successResponse($result);
  154. }
  155. //设备管理添加设备负责人列表
  156. public function sbglPeopleList(){
  157. $unit_id = Input::get('unit_id', '');
  158. $type = Input::get('type', '');
  159. if (!$unit_id) {
  160. return self::errorResponse(ApiEnum::STATUS_CODE_EMPTY);
  161. }
  162. if($type == ''){
  163. $type = 0;
  164. }
  165. $result['status'] = true;
  166. $result['msg'] = ApiEnum::RETURN_SUCCESS;
  167. $result['data'] = [];
  168. if($type == 0){//新设备负责人
  169. $name = 'xsbfzr';
  170. }elseif($type == 2){//待修负责人
  171. $name = 'dxfzr';
  172. }elseif($type == 3){//检修负责人
  173. $name = 'jxfzr';
  174. }elseif($type == 4){//检修验收负责人
  175. $name = 'jxysfzr';
  176. }elseif($type == 5){//鉴定识别(登记核实)负责人
  177. $name = 'dbffzr';
  178. }elseif($type == 6){//固定资产鉴定负责人
  179. $name = 'bffzr';
  180. }
  181. $people_list = DB::connection('mysql_fwe10')->table('uf_zhxx_sbgl_rygl')->where('ssdw',$unit_id)->where($name,0)->where('is_delete',0)->get();
  182. foreach($people_list as $k => $v){
  183. $result['data'][] = [
  184. 'id' => $v->ID,
  185. 'xm' => $v->xm
  186. ];
  187. }
  188. return self::successResponse($result);
  189. }
  190. //设备管理添加新设备
  191. public function sbglAdd(Request $request){
  192. $params = Input::get();
  193. if (!$params) {
  194. return self::errorResponse(ApiEnum::STATUS_CODE_EMPTY);
  195. }
  196. $result['status'] = true;
  197. $result['msg'] = ApiEnum::RETURN_SUCCESS;
  198. $result['data'] = [];
  199. $id = mt_rand(pow(10, 18), pow(10, 18) + 999999999);
  200. $insert = [
  201. 'ID' => $id,
  202. 'FORM_DATA_ID' => $id,
  203. 'DATA_INDEX' => 0.0,
  204. 'CREATE_TIME' => date('Y-m-d H:i:s'),
  205. 'TENANT_KEY' => 't1zz9w8165',
  206. 'IS_DELETE' => 0,
  207. 'DELETE_TYPE' => 0,
  208. 'FT_STATUS' => 0,
  209. 'ssdw' => $params['qymc'],
  210. 'xsbdhfzr' => $params['xsbdhfzr'],
  211. 'sbmc' => $params['sbmc'],
  212. 'sbzp' => $params['sbzp'],
  213. 'rhzq' => $params['rhzq'],
  214. 'sbbh' => $params['sbbh'],
  215. 'ggxh' => $params['ggxh'],
  216. 'jscs' => $params['jscs'],
  217. 'sccj' => $params['sccj'],
  218. 'ccrq' => $params['ccrq'],
  219. 'dhrq' => $params['dhrq'],
  220. 'azrq' => $params['azrq'],
  221. 'syrq' => $params['syrq'],
  222. 'zyfssb' => $params['zyfssb'],
  223. 'ptjsj' => $params['ptjsj'],
  224. 'ylohq' => $params['ylohq'],
  225. 'ptqt' => $params['ptqt'],
  226. 'zypj' => $params['zypj'],
  227. 'bz' => $params['bz'],
  228. 'sbzt' => 0,
  229. 'sylx' => 4
  230. ];
  231. DB::connection('mysql_fwe10')->table('uf_uf_zhxx_sbgl')->insert($insert);
  232. return self::successResponse($result);
  233. }
  234. //设备管理设备详情
  235. public function sbglDetail(){
  236. $params = Input::get();
  237. if (!$params) {
  238. return self::errorResponse(ApiEnum::STATUS_CODE_EMPTY);
  239. }
  240. $result['status'] = true;
  241. $result['msg'] = ApiEnum::RETURN_SUCCESS;
  242. $data = DB::connection('mysql_fwe10')->table('uf_uf_zhxx_sbgl as sbgl')
  243. ->select('sbgl.*','qygl.qymc','qygl.wxlx','qygl.ID as qyid')
  244. ->leftJoin('uf_zhxx_sbgl_qygl as qygl','qygl.id','=','sbgl.ssdw')
  245. ->where('sbgl.ID',$params['id'])->get();
  246. // $sbzt = ['新设备到货验收中','完好','待修','检修中','检修验收中','鉴定识别(登记核实)中','已报废','代物资保管'];
  247. // $sylx = ['在用','备用','拆除','检修','闲置'];
  248. // $bflx = ['委外设备废品废件','废品','设备待报废'];
  249. foreach($data as $k=>$v){
  250. $v->xsbfzr_list = [];
  251. $v->dxfzr_list = [];
  252. $v->jxfzr_list = [];
  253. $v->dbffzr_list = [];
  254. $v->bffzr_list = [];
  255. if($v->sbzt == 0){//新设备负责人
  256. $people_list = DB::connection('mysql_fwe10')->table('uf_zhxx_sbgl_rygl')->where('ssdw',$v->ssdw)->where('xsbfzr',0)->where('is_delete',0)->get();
  257. foreach($people_list as $key => $val){
  258. $v->xsbfzr_list[] = [
  259. 'id' => $val->ID,
  260. 'xm' => $val->xm
  261. ];
  262. }
  263. }elseif($v->sbzt == 2){//待修负责人
  264. $people_list = DB::connection('mysql_fwe10')->table('uf_zhxx_sbgl_rygl')->where('ssdw',$v->ssdw)->where('dxfzr',0)->where('is_delete',0)->get();
  265. foreach($people_list as $key => $val){
  266. $v->dxfzr_list[] = [
  267. 'id' => $val->ID,
  268. 'xm' => $val->xm
  269. ];
  270. }
  271. }elseif($v->sbzt == 3){//检修负责人
  272. $people_list = DB::connection('mysql_fwe10')->table('uf_zhxx_sbgl_rygl')->where('ssdw',$v->ssdw)->where('jxfzr',0)->where('is_delete',0)->get();
  273. foreach($people_list as $key => $val){
  274. $v->jxfzr_list[] = [
  275. 'id' => $val->ID,
  276. 'xm' => $val->xm
  277. ];
  278. }
  279. }elseif($v->sbzt == 4){//检修验收负责人
  280. $people_list = DB::connection('mysql_fwe10')->table('uf_zhxx_sbgl_rygl')->where('ssdw',$v->ssdw)->where('jxysfzr',0)->where('is_delete',0)->get();
  281. foreach($people_list as $key => $val){
  282. $v->jxysfzr_list[] = [
  283. 'id' => $val->ID,
  284. 'xm' => $val->xm
  285. ];
  286. }
  287. }elseif($v->sbzt == 5){//鉴定识别(登记核实)负责人
  288. $people_list = DB::connection('mysql_fwe10')->table('uf_zhxx_sbgl_rygl')->where('ssdw',$v->ssdw)->where('dbffzr',0)->where('is_delete',0)->get();
  289. foreach($people_list as $key => $val){
  290. $v->dbffzr_list[] = [
  291. 'id' => $val->ID,
  292. 'xm' => $val->xm
  293. ];
  294. }
  295. }elseif($v->sbzt == 6){//固定资产鉴定负责人
  296. $people_list = DB::connection('mysql_fwe10')->table('uf_zhxx_sbgl_rygl')->where('ssdw',$v->ssdw)->where('bffzr',0)->where('is_delete',0)->get();
  297. foreach($people_list as $key => $val){
  298. $v->bffzr_list[] = [
  299. 'id' => $val->ID,
  300. 'xm' => $val->xm
  301. ];
  302. }
  303. }
  304. if($v->rhzq != null){
  305. $v->rhzq = $v->rhzq.'个月';
  306. }
  307. }
  308. $result['data'] = $data;
  309. return self::successResponse($result);
  310. }
  311. //设备管理润滑管理
  312. public function sbglRhList(){
  313. $result['status'] = true;
  314. $result['msg'] = ApiEnum::RETURN_SUCCESS;
  315. $result['data'] = [];
  316. $current = time();// 获取当前时间戳
  317. $list = DB::connection('mysql_fwe10')->table('uf_uf_zhxx_sbgl as sbgl')
  318. ->select('sbgl.ID','sbgl.create_time','sbgl.sbmc','sbgl.scrhsj','sbgl.rhzq','qygl.qymc')
  319. ->leftJoin('uf_zhxx_sbgl_qygl as qygl','qygl.id','=','sbgl.ssdw')
  320. ->where('sbgl.rhzq','!=','')->get()->toArray();
  321. foreach($list as $k => $v){
  322. if($v->scrhsj != null){
  323. $scrhsj = strtotime($v->scrhsj);
  324. $sjc = floor(($current - $scrhsj) / (60 * 60 * 24));
  325. $sjc = intval(round($sjc));
  326. $v->sjc = ($v->rhzq*30 - $sjc);
  327. }else{
  328. $create_time = strtotime($v->create_time);
  329. $sjc = floor(($current - $create_time) / (60 * 60 * 24));
  330. $sjc = intval(round($sjc));
  331. $v->sjc = ($v->rhzq*30 - $sjc);
  332. }
  333. }
  334. usort($list, function ($a, $b) {
  335. return $a->sjc <=> $b->sjc;
  336. });
  337. $result['data'] = $list;
  338. return self::successResponse($result);
  339. }
  340. //设备管理设备调拨
  341. public function sbglSbdb(){
  342. $params = Input::get();
  343. if (!$params) {
  344. return self::errorResponse(ApiEnum::STATUS_CODE_EMPTY);
  345. }
  346. $result['status'] = true;
  347. $result['msg'] = ApiEnum::RETURN_SUCCESS;
  348. $result['data'] = [];
  349. $update = [
  350. 'ssdw' => $params['unit_id'],
  351. 'sbzt' => $params['sbzt'],
  352. 'sylx' => $params['sylx'],
  353. ];
  354. if(isset($params['sbbh'])){
  355. $update['sbbh'] = $params['sbbh'];
  356. }
  357. if(isset($params['bz'])){
  358. $update['bz'] = $params['bz'];
  359. }
  360. if($params['sbzt'] == 0){
  361. $update['xsbdhfzr'] = $params['fzr_id'];
  362. }
  363. if($params['sbzt'] == 2){
  364. $update['dxfzr'] = $params['fzr_id'];
  365. }
  366. if($params['sbzt'] == 3){
  367. $update['jxfzr'] = $params['fzr_id'];
  368. }
  369. if($params['sbzt'] == 4){
  370. $update['jxysfzr'] = $params['fzr_id'];
  371. }
  372. if($params['sbzt'] == 5){
  373. $update['dbffzr'] = $params['fzr_id'];
  374. }
  375. if($params['sbzt'] == 6){
  376. $update['bffzr'] = $params['fzr_id'];
  377. }
  378. DB::connection('mysql_fwe10')->table('uf_uf_zhxx_sbgl')->where('ID',$params['id'])->update($update);
  379. return self::successResponse($result);
  380. }
  381. //设备管理设备审核
  382. public function sbglSbsh(){
  383. $params = Input::get();
  384. if (!$params) {
  385. return self::errorResponse(ApiEnum::STATUS_CODE_EMPTY);
  386. }
  387. $result['status'] = true;
  388. $result['msg'] = ApiEnum::RETURN_SUCCESS;
  389. $result['data'] = [];
  390. if($params['action'] == 1){//删除设备
  391. DB::connection('mysql_fwe10')->table('uf_uf_zhxx_sbgl')->where('ID',$params['id'])->update(['is_delete'=>1]);
  392. return self::successResponse($result);
  393. }
  394. $update = [
  395. 'sbzt' => $params['sbzt'],
  396. 'sylx' => $params['sylx']
  397. ];
  398. if(isset($params['bz'])){
  399. $update['bz'] = $params['bz'];
  400. }
  401. if($params['sbzt'] == 3){
  402. $update['jxfzr'] = $params['fzr_id'];
  403. }
  404. if($params['sbzt'] == 4){
  405. $update['jxysfzr'] = $params['fzr_id'];
  406. }
  407. if($params['sbzt'] == 5){
  408. $update['dbffzr'] = $params['fzr_id'];
  409. }
  410. if($params['sbzt'] == 6){
  411. $update['bffzr'] = $params['fzr_id'];
  412. $update['bflx'] = $params['bflx'];
  413. }
  414. DB::connection('mysql_fwe10')->table('uf_uf_zhxx_sbgl')->where('ID',$params['id'])->update($update);
  415. return self::successResponse($result);
  416. }
  417. //设备管理权限
  418. public function sbglRole(){
  419. $id = Input::get('id', '');
  420. $staff_num = Input::get('staff_num', '');
  421. $unit_id = Input::get('unit_id', '');
  422. $type = Input::get('type', '');
  423. if (!$unit_id) {
  424. return self::errorResponse(ApiEnum::STATUS_CODE_EMPTY);
  425. }
  426. if (!$staff_num) {
  427. return self::errorResponse(ApiEnum::STATUS_CODE_EMPTY);
  428. }
  429. if (!$type) {
  430. return self::errorResponse(ApiEnum::STATUS_CODE_EMPTY);
  431. }
  432. $result['status'] = true;
  433. $result['msg'] = ApiEnum::RETURN_SUCCESS;
  434. $result['data'] = 2;//无权限
  435. if($type == 'sbgly'){
  436. $people_list = DB::connection('mysql_fwe10')->table('uf_zhxx_sbgl_rygl')->where('ssdw',$unit_id)->where('gh',$staff_num)->where('sbgly',0)->where('is_delete',0)->get();
  437. if(count($people_list) > 0){
  438. $result['data'] = 1;//有权限
  439. }
  440. }else{
  441. $people_list = DB::connection('mysql_fwe10')->table('uf_uf_zhxx_sbgl')->where('id',$id)->get();
  442. if($type == 'xsbdhfzr' && $staff_num == $people_list[0]->xsbdhfzr){
  443. $result = 1;
  444. }
  445. if($type == 'dxfzr' && $staff_num == $people_list[0]->dxfzr){
  446. $result = 1;
  447. }
  448. if($type == 'jxfzr' && $staff_num == $people_list[0]->jxfzr){
  449. $result = 1;
  450. }
  451. if($type == 'jxysfzr' && $staff_num == $people_list[0]->jxysfzr){
  452. $result = 1;
  453. }
  454. if($type == 'dbffzr' && $staff_num == $people_list[0]->dbffzr){
  455. $result = 1;
  456. }
  457. if($type == 'bffzr' && $staff_num == $people_list[0]->bffzr){
  458. $result = 1;
  459. }
  460. }
  461. return self::successResponse($result);
  462. }
  463. }