Worker.php 19 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659660661662663664665666667668669670671672673674675676677678679680681682683684685686687688689690691692693694695696697698699700701702703704705706707708709710711712713714715716717718719720721722723724725726727728729730731732733734735736737738739740741742743744745746747748749750751752753754755756757758759760761762763764765766767768769770771772773774775776777778779780781782783784785786
  1. <?php
  2. /**
  3. * Created by PhpStorm.
  4. * User: sicilon_IT
  5. * Date: 2020/1/29
  6. * Time: 0:38
  7. */
  8. namespace app\index\controller;
  9. use app\index\logic\workercheck;
  10. use app\index\logic\workermanger;
  11. use think\Controller;
  12. use app\index\logic\paylogic;
  13. class Worker extends Controller {
  14. /*
  15. * 20200306
  16. * 修改该方法,获取指定项目的员工
  17. * 为了简便,取消了开头自动获取所有项目员工的方法,降低前端体验,但并不重要,
  18. * 因多个方法共用此方法,所以必须加上判断
  19. * @todo 这个方法要从前端分开,目前这样是不太对的,违背了架构的原则
  20. */
  21. public function getallworker() {
  22. $queryinfo = request()->param();
  23. $pagenum = $queryinfo['pageNum'];
  24. $pagesize = $queryinfo['pageSize'];
  25. $workerlogic = new workermanger();
  26. if (array_key_exists('sprojectid', $queryinfo)) {
  27. $sourceprj = $queryinfo['sprojectid'];
  28. $w_list = $workerlogic->getprjworkerlist($pagenum, $pagesize, $sourceprj);
  29. } else {
  30. // $sourceprj=0;
  31. $w_list = $workerlogic->getallworkerlist($pagenum, $pagesize);
  32. }
  33. //
  34. if ($w_list) {
  35. $res_r['code'] = 200;
  36. $res_r['resultData']['list'] = $w_list;
  37. } else {
  38. $res_r['code'] = 0;
  39. $res_r['msg'] = '查询失败';
  40. }
  41. return json_encode($res_r, 320);
  42. }
  43. /*
  44. * 20230214
  45. * 获取所有的工人,
  46. * 但是按公司获取
  47. */
  48. public function getallworkerbycid() {
  49. $queryinfo = request()->param();
  50. $pagenum = $queryinfo['pageNum'];
  51. $pagesize = $queryinfo['pageSize'];
  52. $workerlogic = new workermanger();
  53. // $sourceprj=0;
  54. $cid = $queryinfo['companyid'];
  55. $w_list = $workerlogic->getallworkerlistbycid($pagenum, $pagesize, $cid);
  56. //
  57. if ($w_list) {
  58. $res_r['code'] = 200;
  59. $res_r['resultData']['list'] = $w_list;
  60. } else {
  61. $res_r['code'] = 0;
  62. $res_r['msg'] = '查询失败';
  63. }
  64. return json_encode($res_r, 320);
  65. }
  66. public function addworker() {
  67. $workerinfo = request()->param();
  68. $workerlogic = new workermanger();
  69. // $workerinfo=htmlspecialchars_decode($workerinfo);
  70. $newid = $workerlogic->saveworker($workerinfo);
  71. if ($newid > 0) {
  72. $res_r['code'] = 200;
  73. $res_r['resultData']['code'] = 200;
  74. $res_r['resultData']['newid'] = $newid;
  75. } else {
  76. $res_r['code'] = 200;
  77. $res_r['resultData']['code'] = 0;
  78. if ($newid == -1) {
  79. $res_r['resultData']['msg'] = '号码重复';
  80. } else {
  81. $res_r['resultData']['msg'] = '添加失败';
  82. }
  83. }
  84. return json_encode($res_r, 320);
  85. }
  86. /*
  87. * 20200312
  88. * 请求日期所需的出勤人数
  89. */
  90. public function querywcountbydate() {
  91. $queryinfo = request()->param();
  92. $l_w = new workermanger();
  93. $worker_countlist = $l_w->getcheckcountbydate($queryinfo);
  94. if ($worker_countlist) {
  95. $res_r['code'] = 200;
  96. $res_r['resultData'] = $worker_countlist;
  97. } else {
  98. $res_r['code'] = 0;
  99. $res_r['msg'] = '查询失败';
  100. }
  101. return json_encode($res_r, 320);
  102. }
  103. /*
  104. * 20230214
  105. * 获取本公司的员工的出勤人数统计
  106. */
  107. public function querywcountbydatecid() {
  108. $queryinfo = request()->param();
  109. $l_w = new workermanger();
  110. $worker_countlist = $l_w->getcheckcountbydatecompany($queryinfo);
  111. if ($worker_countlist) {
  112. $res_r['code'] = 200;
  113. $res_r['resultData'] = $worker_countlist;
  114. } else {
  115. $res_r['code'] = 0;
  116. $res_r['msg'] = '查询失败';
  117. }
  118. return json_encode($res_r, 320);
  119. }
  120. /*
  121. * 20210303
  122. * 获取所有的未处理调出人员
  123. */
  124. public function queryunoprtrans() {
  125. $queryinfo = request()->param();
  126. $l_w = new workermanger();
  127. $workerlist = $l_w->getuntransworker($queryinfo);
  128. if ($workerlist) {
  129. $res_r['code'] = 200;
  130. $res_r['resultData'] = $workerlist;
  131. } else {
  132. $res_r['code'] = 0;
  133. $res_r['msg'] = '查询失败';
  134. }
  135. return json_encode($res_r, 320);
  136. }
  137. /*
  138. * 20200205
  139. * steelxu
  140. * web端提交项目工人数据
  141. */
  142. public function suboprtransprj() {
  143. $qryinfo = request()->param();
  144. $workerlogic = new workermanger();
  145. $qryinfo['workerlist'] = htmlspecialchars_decode($qryinfo['workerlist']);
  146. $wokerlist = json_decode($qryinfo['workerlist'], true);
  147. $prjinfo = $workerlogic->oprtransferlist($qryinfo['pid'], $wokerlist);
  148. if ($prjinfo) {
  149. $res_r['code'] = 200;
  150. $res_r['resultData'] = $prjinfo;
  151. } else {
  152. $res_r['code'] = 0;
  153. $res_r['errmsg'] = '修改失败';
  154. }
  155. return json_encode($res_r, 320);
  156. }
  157. /*
  158. * 20210311
  159. * 根据姓名请求资料
  160. */
  161. public function querywinfobyname() {
  162. $queryinfo = request()->param();
  163. $l_w = new workermanger();
  164. $workerlist = $l_w->getworkerinfobyname($queryinfo);
  165. if ($workerlist) {
  166. $res_r['code'] = 200;
  167. $res_r['resultData'] = $workerlist;
  168. } else {
  169. $res_r['code'] = 0;
  170. $res_r['msg'] = '查询失败';
  171. }
  172. return json_encode($res_r, 320);
  173. }
  174. /*
  175. * 20210416
  176. * 定时自动更新工人年龄
  177. */
  178. public function oprworkerage() {
  179. $l_w = new workermanger();
  180. $l_w->updatewaggbybirthday();
  181. }
  182. /*
  183. * 20210427
  184. * 更新
  185. */
  186. public function subupdworkerinfo() {
  187. $queryinfo = request()->param();
  188. $l_w = new workermanger();
  189. $wcount = $l_w->updateworkerinfobyid($queryinfo);
  190. if ($wcount == 1) {
  191. $res_r['code'] = 200;
  192. $res_r['resultData'] = $wcount;
  193. } else {
  194. $res_r['code'] = 0;
  195. $res_r['msg'] = '更新失败';
  196. }
  197. return json_encode($res_r, 320);
  198. }
  199. /*
  200. * 20210508
  201. * 获取用户的支款记录
  202. */
  203. public function querypaylistbyuser() {
  204. $queryinfo = request()->param();
  205. $l_p = new paylogic();
  206. $paylist = $l_p->getpayrecordbyuid($queryinfo);
  207. if ($paylist) {
  208. $res_r['code'] = 200;
  209. $res_r['resultData'] = $paylist;
  210. } else {
  211. $res_r['code'] = 0;
  212. $res_r['msg'] = '查询失败';
  213. }
  214. return json_encode($res_r, 320);
  215. }
  216. /*
  217. * 20230224
  218. */
  219. public function querypaylistbyuserforapp() {
  220. $queryinfo = request()->param();
  221. $l_p = new paylogic();
  222. $paylist = $l_p->getpayrecordbyuid($queryinfo);
  223. if ($paylist) {
  224. $res_r['code'] = 200;
  225. $res_r['msg'] = "请求成功";
  226. $res_r['data'] = $paylist;
  227. } else {
  228. $res_r['code'] = 0;
  229. $res_r['msg'] = '查询失败';
  230. $res_r['data'] = $paylist;
  231. }
  232. return json_encode($res_r, 320);
  233. }
  234. /*
  235. * 20210430
  236. * 提交位置信息
  237. */
  238. public function subuserlocation() {
  239. $queryinfo = request()->param();
  240. $l_f = new workermanger();
  241. $nid = $l_f->saveuserlocation($queryinfo);
  242. if ($nid > 0) {
  243. $res_r['code'] = 200;
  244. $res_r['resultData'] = $nid;
  245. } else {
  246. $res_r['code'] = 0;
  247. $res_r['errmsg'] = '未成功';
  248. }
  249. return json_encode($res_r, 320);
  250. }
  251. /*
  252. * 20210502
  253. *
  254. */
  255. public function queryuserlocationlist() {
  256. $l_m = new workermanger();
  257. $rlist = $l_m->getlocationlist();
  258. if ($rlist) {
  259. $res_r['code'] = 200;
  260. $res_r['resultData'] = $rlist;
  261. } else {
  262. $res_r['code'] = 0;
  263. $res_r['errmsg'] = '无数据';
  264. }
  265. return json_encode($res_r, 320);
  266. }
  267. /*
  268. * 20210511
  269. *
  270. */
  271. public function querygroupprovince() {
  272. $l_m = new workermanger();
  273. $rlist = $l_m->getlocationgroupprovince();
  274. if ($rlist) {
  275. $res_r['code'] = 200;
  276. $res_r['resultData'] = $rlist;
  277. } else {
  278. $res_r['code'] = 0;
  279. $res_r['errmsg'] = '无数据';
  280. }
  281. return json_encode($res_r, 320);
  282. }
  283. /*
  284. * 20210511
  285. *
  286. */
  287. public function querygroupcity() {
  288. $l_m = new workermanger();
  289. $rlist = $l_m->getlocationgroupcity();
  290. if ($rlist) {
  291. $res_r['code'] = 200;
  292. $res_r['resultData'] = $rlist;
  293. } else {
  294. $res_r['code'] = 0;
  295. $res_r['errmsg'] = '无数据';
  296. }
  297. return json_encode($res_r, 320);
  298. }
  299. /*
  300. * 20210515
  301. */
  302. public function queryprjlocation() {
  303. $l_m = new workermanger();
  304. $rlist = $l_m->getprjlocation();
  305. if ($rlist) {
  306. $res_r['code'] = 200;
  307. $res_r['resultData'] = $rlist;
  308. } else {
  309. $res_r['code'] = 0;
  310. $res_r['errmsg'] = '无数据';
  311. }
  312. return json_encode($res_r, 320);
  313. }
  314. /*
  315. * 20230215
  316. * 只获取自己公司的项目
  317. */
  318. public function querymyprjlocation() {
  319. $queryinfo = request()->param();
  320. $l_m = new workermanger();
  321. $rlist = $l_m->getmyprjlocation($queryinfo);
  322. if ($rlist) {
  323. $res_r['code'] = 200;
  324. $res_r['resultData'] = $rlist;
  325. } else {
  326. $res_r['code'] = 0;
  327. $res_r['errmsg'] = '无数据';
  328. }
  329. return json_encode($res_r, 320);
  330. }
  331. /*
  332. * 20210515
  333. * 按项目请求项目人数
  334. */
  335. public function queryworkercountgroupprj() {
  336. $l_m = new workermanger();
  337. $rlist = $l_m->getworkerlocationcountgprj();
  338. if ($rlist) {
  339. $res_r['code'] = 200;
  340. $res_r['resultData'] = $rlist;
  341. } else {
  342. $res_r['code'] = 0;
  343. $res_r['errmsg'] = '无数据';
  344. }
  345. return json_encode($res_r, 320);
  346. }
  347. /*
  348. * 20230215
  349. * 公司按项目请求项目人数
  350. */
  351. public function queryworkercountgroupprjbycid() {
  352. $queryinfo = request()->param();
  353. $l_m = new workermanger();
  354. $rlist = $l_m->getworkerlocationcountgprjbycid($queryinfo);
  355. if ($rlist) {
  356. $res_r['code'] = 200;
  357. $res_r['resultData'] = $rlist;
  358. } else {
  359. $res_r['code'] = 0;
  360. $res_r['errmsg'] = '无数据';
  361. }
  362. return json_encode($res_r, 320);
  363. }
  364. /*
  365. * 20210516
  366. * 提交公告
  367. */
  368. public function subnewnotice() {
  369. $queryinfo = request()->param();
  370. $l_f = new workermanger();
  371. $nid = $l_f->savenewnotice($queryinfo);
  372. if ($nid > 0) {
  373. $res_r['code'] = 200;
  374. $res_r['resultData'] = $nid;
  375. } else {
  376. $res_r['code'] = 0;
  377. $res_r['errmsg'] = '未成功';
  378. }
  379. return json_encode($res_r, 320);
  380. }
  381. /*
  382. * 20210517
  383. */
  384. public function queryallnotice() {
  385. $l_m = new workermanger();
  386. $rlist = $l_m->getallnotice();
  387. if ($rlist) {
  388. $res_r['code'] = 200;
  389. $res_r['resultData'] = $rlist;
  390. } else {
  391. $res_r['code'] = 0;
  392. $res_r['errmsg'] = '无数据';
  393. }
  394. return json_encode($res_r, 320);
  395. }
  396. /*
  397. * 20230215
  398. */
  399. public function querynoticebycid() {
  400. $queryinfo = request()->param();
  401. $l_m = new workermanger();
  402. $rlist = $l_m->getnoticebycid($queryinfo);
  403. if ($rlist) {
  404. $res_r['code'] = 200;
  405. $res_r['resultData'] = $rlist;
  406. } else {
  407. $res_r['code'] = 0;
  408. $res_r['errmsg'] = '无数据';
  409. }
  410. return json_encode($res_r, 320);
  411. }
  412. /*
  413. * 20210517
  414. */
  415. public function querynewmsg() {
  416. $queryinfo = request()->param();
  417. $l_m = new workermanger();
  418. $rlist = $l_m->getnewnotice($queryinfo);
  419. if ($rlist) {
  420. $res_r['code'] = 200;
  421. $res_r['resultData'] = $rlist;
  422. } else {
  423. $res_r['code'] = 0;
  424. $res_r['errmsg'] = '无数据';
  425. }
  426. return json_encode($res_r, 320);
  427. }
  428. /*
  429. * 20210517
  430. * 提交公告阅读记录
  431. */
  432. public function subnewnoticeread() {
  433. $queryinfo = request()->param();
  434. $l_f = new workermanger();
  435. $nid = $l_f->updatenoticereadstatus($queryinfo);
  436. if ($nid > 0) {
  437. $res_r['code'] = 200;
  438. $res_r['resultData'] = $nid;
  439. } else {
  440. $res_r['code'] = 0;
  441. $res_r['errmsg'] = '未成功';
  442. }
  443. return json_encode($res_r, 320);
  444. }
  445. /*
  446. * 20210517
  447. */
  448. public function querypaylistbyuplogid() {
  449. $queryinfo = request()->param();
  450. $l_f = new workermanger();
  451. $nid = $l_f->getpaylistbyuplogid($queryinfo);
  452. if ($nid > 0) {
  453. $res_r['code'] = 200;
  454. $res_r['resultData'] = $nid;
  455. } else {
  456. $res_r['code'] = 0;
  457. $res_r['errmsg'] = '未成功';
  458. }
  459. return json_encode($res_r, 320);
  460. }
  461. /*
  462. * 20230130
  463. */
  464. public function subnewworkerfromwatercat() {
  465. $queryinfo = request()->param();
  466. $l_f = new workermanger();
  467. $nid = $l_f->savenewworkerfromwatercat($queryinfo);
  468. if ($nid > 0) {
  469. $res_r['code'] = 200;
  470. $res_r['resultData'] = $nid;
  471. } else {
  472. $res_r['code'] = 0;
  473. $res_r['errmsg'] = '未成功';
  474. }
  475. return json_encode($res_r, 320);
  476. }
  477. /*
  478. * 20230224
  479. */
  480. public function subnewworkerfromwatercatapp() {
  481. $queryinfo = request()->param();
  482. $l_f = new workermanger();
  483. $nid = $l_f->savenewworkerfromwatercat($queryinfo);
  484. if ($nid > 0) {
  485. $res_r['code'] = 200;
  486. $res_r['msg'] = '提交成功';
  487. $res_r['data'] = $nid;
  488. } else {
  489. $res_r['code'] = 0;
  490. $res_r['msg'] = '未成功';
  491. $res_r['data'] = $nid;
  492. }
  493. return json_encode($res_r, 320);
  494. }
  495. /*
  496. * 20230131
  497. * 根据电话号码返回用户信息
  498. */
  499. public function queryworkerinfobytel() {
  500. $queryinfo = request()->param();
  501. $l_f = new workermanger();
  502. $winfo = $l_f->getworkerinfobytel($queryinfo);
  503. if ($winfo) {
  504. $res_r['code'] = 200;
  505. $res_r['resultData'] = $winfo;
  506. } else {
  507. $res_r['code'] = 0;
  508. $res_r['errmsg'] = '未成功';
  509. }
  510. return json_encode($res_r, 320);
  511. }
  512. /*
  513. * 20230222
  514. */
  515. public function queryworkerinfobytelforapp() {
  516. $queryinfo = request()->param();
  517. $l_f = new workermanger();
  518. $winfo = $l_f->getworkerinfobytel($queryinfo);
  519. if ($winfo) {
  520. $res_r['code'] = 200;
  521. $res_r['msg'] = '查询成功';
  522. $res_r['data'] = $winfo;
  523. } else {
  524. $res_r['code'] = 0;
  525. $res_r['msg'] = '未成功';
  526. $res_r['data'] = $winfo;
  527. }
  528. return json_encode($res_r, 320);
  529. }
  530. /*
  531. * 20230131
  532. */
  533. public function subnewinventworker() {
  534. $queryinfo = request()->param();
  535. $l_f = new workermanger();
  536. $winfo = $l_f->addnewinvent($queryinfo);
  537. if ($winfo) {
  538. $res_r['code'] = 200;
  539. $res_r['msg'] = '邀请已发出';
  540. $res_r['data'] = $winfo;
  541. } else {
  542. $res_r['code'] = 0;
  543. $res_r['msg'] = '邀请未发出';
  544. $res_r['data'] = $winfo;
  545. }
  546. return json_encode($res_r, 320);
  547. }
  548. /*
  549. * 20230222
  550. *
  551. */
  552. public function subnewinventworkerforapp() {
  553. $queryinfo = request()->param();
  554. $l_f = new workermanger();
  555. $winfo = $l_f->addnewinvent($queryinfo);
  556. if ($winfo) {
  557. $res_r['code'] = 200;
  558. $res_r['resultData'] = $winfo;
  559. } else {
  560. $res_r['code'] = 0;
  561. $res_r['errmsg'] = '未成功';
  562. }
  563. return json_encode($res_r, 320);
  564. }
  565. /*
  566. * 20230131
  567. */
  568. public function queryinventinfobywid() {
  569. $queryinfo = request()->param();
  570. $l_f = new workermanger();
  571. $winfo = $l_f->getinventinfobywid($queryinfo);
  572. if ($winfo) {
  573. $res_r['code'] = 200;
  574. $res_r['resultData'] = $winfo;
  575. } else {
  576. $res_r['code'] = 0;
  577. $res_r['errmsg'] = '未成功';
  578. }
  579. return json_encode($res_r, 320);
  580. }
  581. /*
  582. * 20230224
  583. */
  584. public function queryinventinfobywidforapp() {
  585. $queryinfo = request()->param();
  586. $l_f = new workermanger();
  587. $winfo = $l_f->getinventinfobywid($queryinfo);
  588. if ($winfo) {
  589. $res_r['code'] = 200;
  590. $res_r['msg'] = '请求成功';
  591. $res_r['data'] = $winfo;
  592. } else {
  593. $res_r['code'] = 0;
  594. $res_r['msg'] = '无数据';
  595. $res_r['data'] = $winfo;
  596. }
  597. return json_encode($res_r, 320);
  598. }
  599. /*
  600. * 20230201
  601. */
  602. public function subacceptinvent() {
  603. $queryinfo = request()->param();
  604. $l_f = new workermanger();
  605. $winfo = $l_f->updateprjbyinvent($queryinfo);
  606. if ($winfo) {
  607. $res_r['code'] = 200;
  608. $res_r['resultData'] = $winfo;
  609. } else {
  610. $res_r['code'] = 0;
  611. $res_r['errmsg'] = '未成功,查看是否在范围内';
  612. }
  613. return json_encode($res_r, 320);
  614. }
  615. /*
  616. * 20230223
  617. */
  618. public function subacceptinventforapp() {
  619. $queryinfo = request()->param();
  620. $l_f = new workermanger();
  621. $winfo = $l_f->updateprjbyinvent($queryinfo);
  622. if ($winfo) {
  623. $res_r['code'] = 200;
  624. $res_r['msg'] = '进入工地成功';
  625. $res_r['data'] = $winfo;
  626. } else {
  627. $res_r['code'] = 0;
  628. $res_r['msg'] = '未成功,查看是否在范围内';
  629. $res_r['data'] = $winfo;
  630. }
  631. return json_encode($res_r, 320);
  632. }
  633. /*
  634. * 20230303
  635. */
  636. public function subworkerinclosechangeforapp() {
  637. $queryinfo = request()->param();
  638. $l_f = new workercheck();
  639. $winfo = $l_f->oprinencloseinfo($queryinfo);
  640. if ($winfo['status'] == 1) {
  641. $res_r['code'] = 200;
  642. $res_r['msg'] = $winfo['msg'];
  643. $res_r['data'] = $winfo['data'];
  644. } else {
  645. $res_r['code'] = 0;
  646. $res_r['msg'] = $winfo['msg'];
  647. $res_r['data'] = $winfo['data'];
  648. }
  649. return json_encode($res_r, 320);
  650. }
  651. /**
  652. * 获取工人日工资列表
  653. *
  654. * @return void
  655. * @author wj
  656. * @date 2025-02-17
  657. */
  658. public function getdaypricerecodelist() {
  659. $queryinfo = request()->param();
  660. $l_f = new workercheck();
  661. $result = $l_f->getdaypricerecodelist($queryinfo);
  662. if (empty($result['status'])) {
  663. $res_r['code'] = 0;
  664. }
  665. $res_r['msg'] = $result['msg'];
  666. $res_r['data'] = $result['data'];
  667. return json_encode($res_r, 320);
  668. }
  669. }