ApiController.php 13 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382
  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 || !$type) {
  160. return self::errorResponse(ApiEnum::STATUS_CODE_EMPTY);
  161. }
  162. $result['status'] = true;
  163. $result['msg'] = ApiEnum::RETURN_SUCCESS;
  164. $result['data'] = [];
  165. if($type == 0){//新设备负责人
  166. $name = 'xsbfzr';
  167. }elseif($type == 2){//待修负责人
  168. $name = 'dxfzr';
  169. }elseif($type == 3){//检修负责人
  170. $name = 'jxfzr';
  171. }elseif($type == 4){//待报废负责人
  172. $name = 'dbffzr';
  173. }elseif($type == 5){//报废负责人
  174. $name = 'bffzr';
  175. }
  176. $people_list = DB::connection('mysql_fwe10')->table('uf_zhxx_sbgl_rygl')->where('ssdw',$unit_id)->where($name,0)->where('is_delete',0)->get();
  177. foreach($people_list as $k => $v){
  178. $result['data'][] = [
  179. 'id' => $v->ID,
  180. 'xm' => $v->xm
  181. ];
  182. }
  183. return self::successResponse($result);
  184. }
  185. //设备管理添加新设备
  186. public function sbglAdd(Request $request){
  187. $params = Input::get();
  188. if (!$params) {
  189. return self::errorResponse(ApiEnum::STATUS_CODE_EMPTY);
  190. }
  191. $result['status'] = true;
  192. $result['msg'] = ApiEnum::RETURN_SUCCESS;
  193. $result['data'] = [];
  194. $id = mt_rand(pow(10, 18), pow(10, 18) + 999999999);
  195. $insert = [
  196. 'ID' => $id,
  197. 'FORM_DATA_ID' => $id,
  198. 'DATA_INDEX' => 0.0,
  199. 'CREATE_TIME' => date('Y-m-d H:i:s'),
  200. 'TENANT_KEY' => 't1zz9w8165',
  201. 'IS_DELETE' => 0,
  202. 'DELETE_TYPE' => 0,
  203. 'FT_STATUS' => 0,
  204. 'ssdw' => $params['qymc'],
  205. 'xsbdhfzr' => $params['xsbdhfzr'],
  206. 'sbmc' => $params['sbmc'],
  207. 'sbzp' => $params['sbzp'],
  208. 'rhzq' => $params['rhzq'],
  209. 'sbbh' => $params['sbbh'],
  210. 'ggxh' => $params['ggxh'],
  211. 'jscs' => $params['jscs'],
  212. 'sccj' => $params['sccj'],
  213. 'ccrq' => $params['ccrq'],
  214. 'dhrq' => $params['dhrq'],
  215. 'azrq' => $params['azrq'],
  216. 'syrq' => $params['syrq'],
  217. 'zyfssb' => $params['zyfssb'],
  218. 'ptjsj' => $params['ptjsj'],
  219. 'ylohq' => $params['ylohq'],
  220. 'ptqt' => $params['ptqt'],
  221. 'zypj' => $params['zypj'],
  222. 'bz' => $params['bz'],
  223. 'sbzt' => 0,
  224. 'sylx' => 4
  225. ];
  226. DB::connection('mysql_fwe10')->table('uf_uf_zhxx_sbgl')->insert($insert);
  227. return self::successResponse($result);
  228. }
  229. //设备管理设备详情
  230. public function sbglDetail(){
  231. $params = Input::get();
  232. if (!$params) {
  233. return self::errorResponse(ApiEnum::STATUS_CODE_EMPTY);
  234. }
  235. $result['status'] = true;
  236. $result['msg'] = ApiEnum::RETURN_SUCCESS;
  237. $data = DB::connection('mysql_fwe10')->table('uf_uf_zhxx_sbgl as sbgl')
  238. ->select('sbgl.*','qygl.qymc')
  239. ->leftJoin('uf_zhxx_sbgl_qygl as qygl','qygl.id','=','sbgl.ssdw')
  240. ->where('sbgl.ID',$params['id'])->get();
  241. $sbzt = ['新设备到货验收中','完好','待修','检修中','待报废','已报废'];
  242. $sylx = ['在用','备用','拆除','检修','闲置'];
  243. $bflx = ['委外设备废品废件','废品','固定资产报废设备','代物资公司保管报废设备'];
  244. foreach($data as $k=>$v){
  245. $v->xsbfzr_list = [];
  246. $v->dxfzr_list = [];
  247. $v->jxfzr_list = [];
  248. $v->dbffzr_list = [];
  249. $v->bffzr_list = [];
  250. if($v->sbzt == 0){//新设备负责人
  251. $people_list = DB::connection('mysql_fwe10')->table('uf_zhxx_sbgl_rygl')->where('ssdw',$v->ssdw)->where('xsbfzr',0)->where('is_delete',0)->get();
  252. foreach($people_list as $key => $val){
  253. $v->xsbfzr_list[] = [
  254. 'id' => $val->ID,
  255. 'xm' => $val->xm
  256. ];
  257. }
  258. }elseif($v->sbzt == 2){//待修负责人
  259. $people_list = DB::connection('mysql_fwe10')->table('uf_zhxx_sbgl_rygl')->where('ssdw',$v->ssdw)->where('dxfzr',0)->where('is_delete',0)->get();
  260. foreach($people_list as $key => $val){
  261. $v->dxfzr_list[] = [
  262. 'id' => $v->ID,
  263. 'xm' => $v->xm
  264. ];
  265. }
  266. }elseif($v->sbzt == 3){//检修负责人
  267. $people_list = DB::connection('mysql_fwe10')->table('uf_zhxx_sbgl_rygl')->where('ssdw',$v->ssdw)->where('jxfzr',0)->where('is_delete',0)->get();
  268. foreach($people_list as $key => $val){
  269. $v->jxfzr_list[] = [
  270. 'id' => $v->ID,
  271. 'xm' => $v->xm
  272. ];
  273. }
  274. }elseif($v->sbzt == 4){//待报废负责人
  275. $people_list = DB::connection('mysql_fwe10')->table('uf_zhxx_sbgl_rygl')->where('ssdw',$v->ssdw)->where('dbffzr',0)->where('is_delete',0)->get();
  276. foreach($people_list as $key => $val){
  277. $v->dbffzr_list[] = [
  278. 'id' => $v->ID,
  279. 'xm' => $v->xm
  280. ];
  281. }
  282. }elseif($v->sbzt == 5){//报废负责人
  283. $people_list = DB::connection('mysql_fwe10')->table('uf_zhxx_sbgl_rygl')->where('ssdw',$v->ssdw)->where('bffzr',0)->where('is_delete',0)->get();
  284. foreach($people_list as $key => $val){
  285. $v->bffzr_list[] = [
  286. 'id' => $v->ID,
  287. 'xm' => $v->xm
  288. ];
  289. }
  290. }
  291. if($v->rhzq != null){
  292. $v->rhzq = $v->rhzq.'个月';
  293. }
  294. $v->sbzt = $sbzt[$v->sbzt];
  295. $v->sylx = $sylx[$v->sylx];
  296. if($v->sbzt == '已报废' && $bflx != null && $bflx != ''){
  297. $v->bflx = $bflx[$v->bflx];
  298. }else{
  299. $v->bflx = null;
  300. }
  301. }
  302. $result['data'] = $data;
  303. return self::successResponse($result);
  304. }
  305. //设备管理润滑管理
  306. public function sbglRhList(){
  307. $result['status'] = true;
  308. $result['msg'] = ApiEnum::RETURN_SUCCESS;
  309. $result['data'] = [];
  310. $current = time();// 获取当前时间戳
  311. $list = DB::connection('mysql_fwe10')->table('uf_uf_zhxx_sbgl as sbgl')
  312. ->select('sbgl.ID','sbgl.create_time','sbgl.sbmc','sbgl.scrhsj','sbgl.rhzq','qygl.qymc')
  313. ->leftJoin('uf_zhxx_sbgl_qygl as qygl','qygl.id','=','sbgl.ssdw')
  314. ->where('sbgl.rhzq','!=','')->get()->toArray();
  315. foreach($list as $k => $v){
  316. if($v->scrhsj != null){
  317. $scrhsj = strtotime($v->scrhsj);
  318. $sjc = floor(($current - $scrhsj) / (60 * 60 * 24));
  319. $sjc = intval(round($sjc));
  320. $v->sjc = ($v->rhzq*30 - $sjc);
  321. }else{
  322. $create_time = strtotime($v->create_time);
  323. $sjc = floor(($current - $create_time) / (60 * 60 * 24));
  324. $sjc = intval(round($sjc));
  325. $v->sjc = ($v->rhzq*30 - $sjc);
  326. }
  327. }
  328. usort($list, function ($a, $b) {
  329. return $a->sjc <=> $b->sjc;
  330. });
  331. $result['data'] = $list;
  332. return self::successResponse($result);
  333. }
  334. }