Resident.php 3.5 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586878889909192939495969798
  1. <?php
  2. namespace app\mainapp\controller;
  3. use app\mainapp\BaseController;
  4. use \app\common\model\Resident as ResidentModel;
  5. use \app\common\model\ComjobsReport as ComjobsReportModel;
  6. use \app\common\model\Broker as BrokerModel;
  7. use \app\common\model\ResidentLog as ResidentLogModel;
  8. class Resident extends BaseController
  9. {
  10. public function comjobsReport()
  11. {
  12. $ppage = input('ppage/d', 1);
  13. $psize = input('psize/d', 20);
  14. $map = [];
  15. $residentid = input('residentid/d', 0);
  16. $resident = ResidentModel::find($residentid);
  17. if (empty($resident)) {
  18. page_result(1,'没有权限查看');
  19. }
  20. $brokerIds = BrokerModel::where('workerid',$resident['workerid'])->column('id');
  21. if (empty($brokerIds)) {
  22. page_result(0, "", [
  23. 'plist' => [],
  24. 'pstatus' => 'noMore',
  25. ]);
  26. }
  27. $map[] = ['brokerid','in',$brokerIds];
  28. $plist = ComjobsReportModel::with(['comjobs', 'broker'])->where($map)->order(['createtime' => 'desc', 'id' => 'desc'])->page($ppage)->limit($psize)->append(['status_text'])->select();
  29. page_result(0, "", [
  30. 'plist' => $plist,
  31. 'pstatus' => $psize > count($plist) ? 'noMore' : 'more',
  32. ]);
  33. }
  34. public function comjobsSetReportStatus()
  35. {
  36. $residentid = input('residentid/d', 0);
  37. $id = input('id/d', 0);
  38. $report = ComjobsReportModel::with(['comjobs', 'broker'])->where(['id' => $id])->append(['status_text'])->findOrEmpty();
  39. if ($report->isEmpty()) {
  40. page_result(1, "报备信息不存在。");
  41. }
  42. $status = input('status/d', 1);
  43. $retremark = $status == 4 ? input('retremark/s', "") : "";
  44. $report->save([
  45. 'status' => $status,
  46. 'retremark' => $retremark,
  47. ]);
  48. $status_text = [1=>'待审核', 2=>'待面试', 3=>'已入职', 4=>'无效报备'];
  49. ResidentLogModel::create([
  50. 'workerid' => $report['workerid'],
  51. 'residentid' => $residentid,
  52. 'content' => "修改状态为“{$status_text[$status]}”,报备id为{$id}",
  53. 'createtime' => time(),
  54. ]);
  55. page_result(0, "", [
  56. 'report' => $report,
  57. ]);
  58. }
  59. public function listDemand()
  60. {
  61. $status = input('status/d', 1);
  62. $ppage = input('ppage/d', 1);
  63. $psize = input('psize/d', 20);
  64. $map = [];
  65. $residentid = input('residentid/d', 0);
  66. $resident = ResidentModel::find($residentid);
  67. if (empty($resident)) {
  68. page_result(1,'没有权限查看');
  69. }
  70. $brokerIds = BrokerModel::where('workerid',$resident['workerid'])->column('id');
  71. if (empty($brokerIds)) {
  72. page_result(0, "", [
  73. 'plist' => [],
  74. 'pstatus' => 'noMore',
  75. ]);
  76. }
  77. $map[] = ['brokerid','in',$brokerIds];
  78. if (!empty($status)) {
  79. $map[] = ['status', '=', $status];
  80. }
  81. $orderby = ['updatetime' => 'desc', 'createtime' => 'desc', 'id' => 'desc'];
  82. $plist = DemandModel::with(['demandCate'])->where($map)->order($orderby)->page($ppage)->limit($psize)->append(['ftype_text'])->select();
  83. $param = ParamModel::where(1)->findOrEmpty();
  84. page_result(0, "", [
  85. 'param' => $param,
  86. 'plist' => $plist,
  87. 'pstatus' => $psize > count($plist) ? 'noMore' : 'more',
  88. ]);
  89. }
  90. }