Browse Source

悬赏金

linwu 1 năm trước cách đây
mục cha
commit
d083946ba1

+ 9 - 3
app/admin/controller/Comjobs.php

@@ -11,7 +11,6 @@ use app\common\model\ComjobsCate as ComjobsCateModel;
 use app\common\model\ComjobsLog as ComjobsLogModel;
 use app\common\model\ComjobsStar as ComjobsStarModel;
 use app\common\model\ComjobsReport as ComjobsReportModel;
-use app\common\model\User as UserModel;
 use app\common\model\Broker as BrokerModel;
 
 use app\common\model\ComjobsShare as ComjobsShareModel;
@@ -189,7 +188,7 @@ class Comjobs extends BaseController
             'requirement'      => input('requirement/s', ""),
             'comdetails'       => input('comdetails/s', ""),
             'companydetails'   => input('companydetails/s', ""),
-            'retmoney'         => input('retmoney/d', ""),
+            'retmoney'         => input('retmoney/d', 0),
             'picall'           => input('picall/a', []),
             'recruit_num'      => input('recruit_num/d', 1),
             'wtype'            => $wtype,
@@ -211,6 +210,7 @@ class Comjobs extends BaseController
             'is_worry'         => input('is_worry/d', 0),
             'education'        => input('education/s', ''),
             'emp_time'         => array_values(input('emp_time/a', [])),
+            'is_pay'           => input('is_pay/d', 2),
         ];
         try {
             validate(ComjobsValidate::class)->check($data);
@@ -220,9 +220,15 @@ class Comjobs extends BaseController
                 'msg'  => $e->getError(),
             ]));
         }
+        if ($data['recruitment_cate'] == 2 && $data['retmoney'] <= 0) {
+            exit(json_encode([
+                'code' => 1,
+                'msg'  => "悬赏金额必须大于0",
+            ]));
+        }
         if (empty($id)) {
             $data['video'] = input('new_video/s', "");
-            $comjobs = ComjobsModel::create($data);
+            $comjobs       = ComjobsModel::create($data);
         } else {
 
             $old_video = input('old_video/s', '');

+ 8 - 1
app/admin/view/comjobs/comjobsform.html

@@ -178,12 +178,19 @@
 							</div>
 						</div>
 						<div class="layui-form-item">
-							<label class="layui-form-label">返佣金额</label>
+							<label class="layui-form-label">悬赏金额</label>
 							<div class="layui-input-block">
 								<input type="text" name="retmoney" value="{$comjobs.retmoney}" placeholder="请输入...."
 									   autocomplete="off" class="layui-input">
 							</div>
 						</div>
+						<div class="layui-form-item" pane>
+							<label class="layui-form-label">是否支付悬赏金</label>
+							<div class="layui-input-block">
+								<input type="radio" name="is_pay" value="1" title="是" {eq name="comjobs.is_pay" value="1"}checked{/eq}>
+								<input type="radio" name="is_pay" value="2" title="否" {eq name="comjobs.is_pay|default=2" value="2"}checked{/eq}>
+							</div>
+						</div>
 						<div class="layui-form-item">
 							<label class="layui-form-label">招聘人数</label>
 							<div class="layui-input-block">

+ 1 - 0
app/common/model/Comjobs.php

@@ -54,6 +54,7 @@ class Comjobs extends Model
         'contact'          => 'string',
         'third_id'         => 'int',
         'num'              => 'int',
+        'is_pay'           => 'int',
     ];
 
     // 设置字段自动转换类型

+ 1 - 1
app/common/model/ComjobsReport.php

@@ -58,7 +58,7 @@ class ComjobsReport extends Model
 	}
 
 	// 关联Agent
-	public function agent()
+        public function agent()
 	{
 	    return $this->hasOne(Agent::class, "id", "agentid");
 	}

+ 14 - 0
app/mainapp/controller/Resident.php

@@ -1,6 +1,7 @@
 <?php
 namespace app\mainapp\controller;
 
+use app\common\service\IncomeService;
 use app\mainapp\BaseController;
 
 use \app\common\model\Resident as ResidentModel;
@@ -45,12 +46,25 @@ class Resident extends BaseController
         if ($report->isEmpty()) {
             page_result(1, "报备信息不存在。");
         }
+
+        //悬赏金
         $status    = input('status/d', 1);
+        if ($status['status'] <= $report['status']) {
+            page_result(1, "状态只能往后选。");
+        }
+        if ($status == 3) {
+            $incomeService = new IncomeService();
+            $incomeService->add($report['brokerid'], $report['comjobs']['retmoney'], '悬赏金', '悬赏招聘推荐入职成功后返佣金额');
+        }
+
+        //更改状态
         $retremark = $status == 4 ? input('retremark/s', "") : "";
         $report->save([
             'status'    => $status,
             'retremark' => $retremark,
         ]);
+
+        //增加操作记录
         $status_text = [1=>'待审核', 2=>'待面试', 3=>'已入职', 4=>'无效报备'];
         ResidentLogModel::create([
             'workerid' => $report['workerid'],

+ 7 - 4
app/mainapp/controller/Wcomjobs.php

@@ -342,6 +342,9 @@ class Wcomjobs extends BaseController
 //        } catch (ValidateException $e) {
 //            page_result(1, $e->getError());
 //        }
+        if ($recruitment_cate == 2 && $data['retmoney'] <= 0) {
+            page_result(1, "悬赏金额必须大于0");
+        }
         if ($id == 0) {
             $data = array_merge($data, [
                 'status'     => input('status/d', 1),
@@ -350,13 +353,13 @@ class Wcomjobs extends BaseController
                 'createtime' => date("Y-m-d H:i:s"),
                 'volume'     => 0,
             ]);
-            if ($recruitment_cate == 1 && $user->integral < $param->addcomjobs) {
+            /*if ($recruitment_cate == 1 && $user->integral < $param->addcomjobs) {
                 page_result(1, "每次发布普通招聘信息需要扣除" . $param->addcomjobs . "积分,你当前积分不足。");
             } elseif ($recruitment_cate == 2 && $user->integral < $param->addcomjobswyp) {
                 page_result(1, "每次发布悬赏招聘信息需要扣除" . $param->addcomjobswyp . "积分,你当前积分不足。");
-            }
+            }*/
             $comjobs = ComjobsModel::create($data);
-            $intdata = [
+            /*$intdata = [
                 'userid'      => $userid,
                 'title'       => $recruitment_cate == 1 ? "发布普通招聘信息扣除" : "发布悬赏招聘信息扣除",
                 'intvalue'    => $recruitment_cate == 1 ? (0 - $param->addcomjobs) : (0 - $param->addcomjobswyp),
@@ -377,7 +380,7 @@ class Wcomjobs extends BaseController
             }
             $user->save([
                 'integral' => $integral,
-            ]);
+            ]);*/
             //审核通知短信
             if ($data['status'] == 2) {
                 $sms = new SmsService();

+ 12 - 5
app/worker/controller/Comjobs.php

@@ -340,7 +340,7 @@ class Comjobs extends BaseController
             'requirement'      => input('requirement/s', ""),
             'comdetails'       => input('comdetails/s', ""),
             'companydetails'   => input('companydetails/s', ""),
-            'retmoney'         => input('retmoney/d', ""),
+            'retmoney'         => input('retmoney/d', 0),
             'picall'           => input('picall/a', []),
             'recruit_num'      => input('recruit_num/d', 1),
             'wtype'            => $wtype,
@@ -366,17 +366,24 @@ class Comjobs extends BaseController
             'emp_time'         => array_values(input('emp_time/a', [])),
         ];
 
+        if ($data['recruitment_cate'] == 2 && $data['retmoney'] <= 0) {
+            exit(json_encode([
+                'code' => 1,
+                'msg'  => "悬赏金额必须大于0",
+            ]));
+        }
+
         if (empty($id)) {
             if ($this->access_worker['status'] == 1) {
                 $is_released = is_released($workerid);
                 if ($is_released['code'] == 1001) {
                     return $is_released;
                 }
-            } else {
+            }/* else {
                 if ($user->integral < $param->addcomjobs) {
                     page_result1(1, "每次发布招聘信息需要扣除" . $param->addcomjobs . "积分,你当前积分不足。");
                 }
-            }
+            }*/
 
             $data['priority']   = 0;
             $data['video']      = input('new_video/s', "");
@@ -385,7 +392,7 @@ class Comjobs extends BaseController
             $data['status']     = (int)2;
             $data['volume']     = 0;
             $comjobs            = ComjobsModel::create($data);
-            $intdata            = [
+            /*$intdata            = [
                 'userid'      => $user->id,
                 'title'       => "发布招聘信息扣除",
                 'intvalue'    => 0 - $param->addcomjobs,
@@ -401,7 +408,7 @@ class Comjobs extends BaseController
             $integral = intval($user->integral) - intval($param->addcomjobs);
             $user->save([
                 'integral' => $integral,
-            ]);
+            ]);*/
         } else {
             $data['updatetime'] = time();
             $data['status']     = 2;

+ 383 - 391
app/worker/controller/Comjobsreport.php

@@ -1,6 +1,8 @@
 <?php
+
 namespace app\worker\controller;
 
+use app\common\service\IncomeService;
 use app\worker\BaseController;
 use app\common\model\ComjobsReport as ComjobsReportModel;
 use app\common\model\ReportLog as ReportLogModel;
@@ -16,416 +18,406 @@ class Comjobsreport extends BaseController
 {
 
 
-	// 报备记录
-	public function reportList()
-	{
+    // 报备记录
+    public function reportList()
+    {
 
-        $workerid = $this->access_worker['id'];
-        $comjobslist = ComjobsModel::where('workerid',$workerid)->select();
-        $agentlist = Db::name('agent')
-                    ->alias('a')
-                    ->field('a.id,a.title')
-                    ->join('worker b','b.id = a.workerid','LEFT')
-                    ->where('a.workerid',$workerid)
-                    ->select()
-                    ->toArray();
-		$statusarr = array(1=>'待审核', 2=>'待面试', 3=>'已入职', 4=>'无效报备');
-		return view('comjobsreport/reportlist',[
-			'comjobslist'	=> $comjobslist,
-			'agentlist'		=> $agentlist,
-			'statusarr'		=> $statusarr
-		]);
-	}
+        $workerid    = $this->access_worker['id'];
+        $comjobslist = ComjobsModel::where('workerid', $workerid)->select();
+        $agentlist   = Db::name('agent')
+            ->alias('a')
+            ->field('a.id,a.title')
+            ->join('worker b', 'b.id = a.workerid', 'LEFT')
+            ->where('a.workerid', $workerid)
+            ->select()
+            ->toArray();
+        $statusarr   = [1 => '待审核', 2 => '待面试', 3 => '已入职', 4 => '无效报备'];
+        return view('comjobsreport/reportlist', [
+            'comjobslist' => $comjobslist,
+            'agentlist'   => $agentlist,
+            'statusarr'   => $statusarr,
+        ]);
+    }
 
     // 报备记录(待审核)
     public function reportExamine()
     {
-        $workerid = $this->access_worker['id'];
-        $comjobslist = ComjobsModel::where('workerid',$workerid)->select();
-        $agentlist = Db::name('agent')
-                    ->alias('a')
-                    ->field('a.id,a.title')
-                    ->join('worker b','b.id = a.workerid','LEFT')
-                    ->where('a.workerid',$workerid)
-                    ->select()
-                    ->toArray();
-        $statusarr = array(1=>'待审核', 2=>'待面试', 3=>'已入职', 4=>'无效报备');
-        return view('comjobsreport/reportexamine',[
-            'comjobslist'	=> $comjobslist,
-            'agentlist'		=> $agentlist,
-            'statusarr'		=> $statusarr
+        $workerid    = $this->access_worker['id'];
+        $comjobslist = ComjobsModel::where('workerid', $workerid)->select();
+        $agentlist   = Db::name('agent')
+            ->alias('a')
+            ->field('a.id,a.title')
+            ->join('worker b', 'b.id = a.workerid', 'LEFT')
+            ->where('a.workerid', $workerid)
+            ->select()
+            ->toArray();
+        $statusarr   = [1 => '待审核', 2 => '待面试', 3 => '已入职', 4 => '无效报备'];
+        return view('comjobsreport/reportexamine', [
+            'comjobslist' => $comjobslist,
+            'agentlist'   => $agentlist,
+            'statusarr'   => $statusarr,
         ]);
     }
-	
-	public function listReport()
-	{
-		$limit = input('limit/d',20);
-		$page = input('page/d',1);
+
+    public function listReport()
+    {
+        $limit = input('limit/d', 20);
+        $page  = input('page/d', 1);
 
         $workerid = $this->access_worker['id'];
 
-		$map = array();
-        $map[] = ['a.workerid', '=', $workerid];
+        $map   = [];
+        $map[] = ['workerid', '=', $workerid];
         $date6 = input('date6');
 
-        if(!empty($date6))
-        {
-            $date6 =explode('~',$date6);
+        if (!empty($date6)) {
+            $date6     = explode('~', $date6);
             $startTime = strtotime($date6[0]);
-            $endTime = strtotime($date6[1]);
-            $map[] = ['a.createtime', 'between', [$startTime,$endTime]];
+            $endTime   = strtotime($date6[1]);
+            $map[]     = ['createtime', 'between', [$startTime, $endTime]];
+        }
+
+        $comjobsid = input('comjobsid/d', 0);
+        if (!empty($comjobsid)) {
+            $map[] = ['comjobsid', '=', $comjobsid];
+        }
+        $agentid = input('agentid/s', "");
+        if ($agentid != "") {
+            $map[] = ['agentid', '=', intval($agentid)];
+        }
+        $status = input('status/d', 0);
+        if (!empty($status)) {
+            $map[] = ['status', '=', $status];
+        }
+
+        $count = ComjobsReportModel::where($map)->count();
+        if ($count == 0) {
+            exit(json_encode([
+                'code' => 1,
+                'msg'  => "未查询到数据",
+            ]));
+        }
+
+        $list = ComjobsReportModel::with(['comjobs','agent','broker'])
+            ->where($map)
+            ->order('id', 'DESC')
+            ->limit($limit)
+            ->page($page)
+            ->append(['status_text'])
+            ->select();
+
+        foreach ($list as $v) {
+            $v['comjob_title'] = $v['comjobs']['title'];
+            $v['agent_title'] = $v['agent']['title'];
+            $v['broker_title'] = $v['broker']['title'];
+        }
+
+        exit(json_encode([
+            'code'  => 0,
+            'msg'   => "",
+            'count' => $count,
+            'data'  => $list,
+        ]));
+    }
+
+
+    public function exportReport()
+    {
+        $map       = [];
+        $comjobsid = input('comjobsid/d', 0);
+        if (!empty($comjobsid)) {
+            $map[] = ['comjobsid', '=', $comjobsid];
+        }
+        $agentid = input('agentid/d', 0);
+        if (!empty($agentid)) {
+            $map[] = ['agentid', '=', $agentid];
+        }
+        $status = input('status/d', 0);
+        if (!empty($status)) {
+            $map[] = ['status', '=', $status];
+        }
+        $xlsData = ComjobsReportModel::with(['comjobs', 'agent', 'broker'])->where($map)->order('id', 'DESC')->append(['status_text'])->select()->toArray();
+        $xlsCell = [
+            ['id', '表ID'],
+            ['comjobs.title', '招聘标题'],
+            ['agent.title', '代理门店'],
+            ['broker.title', '经纪人'],
+            ['realname', '姓名'],
+            ['mobile', '手机号'],
+            ['idcard', '身份证号'],
+            ['arrivetime', '预计到达时间'],
+            ['remark', '报名备注'],
+            ['status_text', '状态'],
+            ['createtime', '接单时间'],
+        ];
+        export_excel("报备记录", $xlsCell, $xlsData);
+    }
+
+    public function setComtype()
+    {
+        $idarr     = input('idarr/a');
+        $comjobsid = input('comjobsid/d', 0);
+        $comjobs   = ComjobsModel::with(['company'])->findOrEmpty($comjobsid);
+        if ($comjobs->isEmpty()) {
+            exit(json_encode([
+                'code' => 1,
+                'msg'  => "请选择招聘信息和代理门店",
+            ]));
+        }
+        $data = [
+            'comjobsid'  => $comjobs->id,
+            'comtype'    => input('comtype/s', ""),
+            'comprice'   => input('comprice/s', ""),
+            'comremark'  => input('comremark/s', ""),
+            'updatetime' => input('updatetime/s', date("Y-m-d H:i")),
+        ];
+        ComjobsReportModel::whereIn('id', $idarr)->update($data);
+        $reportall = ComjobsReportModel::whereIn('id', $idarr)->select()->toArray();
+        $logdata   = [];
+        $statusarr = [1 => '待审核', 2 => '待面试', 3 => '已入职', 4 => '无效报备'];
+        $agentall  = AgentModel::column('realname', 'id');
+        foreach ($reportall as $key => $item) {
+            $logdata[] = [
+                'reportid'     => $item['id'],
+                'logstatus'    => $statusarr[$item['status']],
+                'editrealname' => "管理员",
+                'comjobstil'   => $comjobs->isEmpty() ? "" : $comjobs->title,
+                'agenttil'     => empty($agentall[$item['agentid']]) ? "未报备" : $agentall[$item['agentid']],
+                'realname'     => $item['realname'],
+                'mobile'       => $item['mobile'],
+                'idcard'       => $item['idcard'],
+                'comtype'      => input('comtype/s', ""),
+                'comprice'     => input('comprice/s', ""),
+                'comremark'    => input('comremark/s', ""),
+                'arrivetime'   => $item['arrivetime'],
+                'remark'       => $item['remark'],
+                'createtime'   => date("Y-m-d H:i"),
+            ];
+        }
+        $reportlog = new ReportLogModel;
+        $reportlog->saveAll($logdata);
+        exit(json_encode([
+            'code' => 0,
+            'msg'  => "",
+        ]));
+    }
+
+    public function setStatus()
+    {
+        $idarr  = input('idarr/a');
+        $status = input('status/d', 1);
+        ComjobsReportModel::whereIn('id', $idarr)->update(['status' => $status]);
+        exit(json_encode([
+            'code' => 0,
+            'msg'  => "",
+        ]));
+    }
+
+    public function delReport()
+    {
+        $idarr = input('idarr/a');
+
+        $ComjobsReport = ComjobsReportModel::whereIn('id', $idarr)->select();
+        $result        = $ComjobsReport->delete();
+
+        if ($result) {
+            exit(json_encode([
+                'code' => 0,
+                'msg'  => "",
+            ]));
         }
+        exit(json_encode([
+            'code' => 1,
+            'msg'  => "删除失败,请稍后重试",
+        ]));
+    }
+
+    public function reportImport()
+    {
+        $id          = input('id/d, 0');
+        $comjobslist = ComjobsModel::with(['comjobsRefund.agentGroups'])->order(['id' => 'desc'])->select();
+        $agentlist   = AgentModel::order(['id' => 'asc'])->select();
+        return view('comjobsreport/reportimport', [
+            'comjobslist' => $comjobslist,
+            'agentlist'   => $agentlist,
+        ]);
+    }
 
-		$comjobsid = input('comjobsid/d', 0);
-		if (!empty($comjobsid)){
-			$map[] = ['a.comjobsid', '=', $comjobsid];
-		}
-		$agentid = input('agentid/s', "");
-		if ($agentid!=""){
-			$map[] = ['a.agentid', '=', intval($agentid)];
-		}
-		$status = input('status/d', 0);
-		if (!empty($status)){
-			$map[] = ['a.status', '=', $status];
-		}
-
-
-		$list = Db::name('comjobs_report')
-                ->alias('a')
-                ->field('a.id,a.status,a.realname,a.mobile,a.idcard,a.arrivetime,from_unixtime(a.createtime) createtime,b.title comjobs_title,c.title agent_title,d.title broker_title')
-                ->join('comjobs b','b.id = a.comjobsid','LEFT')
-                ->join('agent c','c.id = a.agentid','LEFT')
-                ->join('broker d','d.agentid = c.id','LEFT')
-                ->where($map)
-                ->order('id','DESC')
-                ->limit($limit)
-                ->page($page)
-                ->select()
-                ->toArray();
-
-		$count = Db::name('comjobs_report')
-                ->alias('a')
-                ->join('comjobs b','b.id = a.comjobsid','LEFT')
-                ->join('agent c','c.id = a.agentid','LEFT')
-                ->join('broker d','d.agentid = c.id','LEFT')
-                ->where($map)
-                ->count();
-
-		foreach($list as $k=>$v)
-        {
-            if($v['status'] == 1){
-                $list[$k]['status_text'] = '待审核';
-            }elseif($v['status'] == 2){
-                $list[$k]['status_text'] = '待面试';
-            }elseif($v['status'] == 3){
-                $list[$k]['status_text'] = '已入职';
-            }elseif($v['status'] == 4){
-                $list[$k]['status_text'] = '无效报备';
+    public function importReport()
+    {
+        $execlfile = input('execlfile/s', "");
+        if (empty($execlfile)) {
+            exit(json_encode([
+                'code' => 1,
+                'msg'  => "请上传导入文件",
+            ]));
+        }
+        $comjobsid = input('comjobsid/d', 0);
+        $comjobs   = ComjobsModel::findOrEmpty($comjobsid);
+        $agentid   = input('agentid/d', 0);
+        $agent     = AgentModel::findOrEmpty($agentid);
+        $filedata  = read_excel($execlfile);
+        $sucnumber = 0;
+        $errnumber = 0;
+        $errarr    = "";
+        $statusarr = [1 => '待审核', 2 => '待面试', 3 => '已入职', 4 => '无效报备'];
+        foreach ($filedata as $k => $v) {
+            $tabcomjobsid = intval($v[1]);
+            if (empty($tabcomjobsid)) {
+                $tabcomjobs = $comjobs;
+            } else {
+                $tabcomjobs = ComjobsModel::findOrEmpty($tabcomjobsid);
+            }
+            $tabagentid = intval($v[2]);
+            if (empty($tabagentid)) {
+                $tabagent = $agent;
+            } else {
+                $tabagent = AgentModel::findOrEmpty($tabagentid);
+            }
+            if ($tabcomjobs->isEmpty()) {
+                $errarr .= $v[0] . ",";
+                $errnumber++;
+                continue;
+            } else {
+                $data = [
+                    'comjobsid'  => $tabcomjobs->id,
+                    'agentid'    => $tabagent->isEmpty() ? 0 : $tabagent->id,
+                    'brokerid'   => 0,
+                    'realname'   => trim($v[3]),
+                    'mobile'     => trim($v[4]),
+                    'idcard'     => trim($v[5]),
+                    'gender'     => trim($v[6]) == '男' ? 1 : 2,
+                    'comtype'    => empty(trim($v[7])) ? trim($v[7]) : input('comtype/s', ""),
+                    'comprice'   => empty(trim($v[8])) ? trim($v[8]) : input('comprice/s', ""),
+                    'comremark'  => empty(trim($v[9])) ? trim($v[9]) : input('comremark/s', ""),
+                    'arrivetime' => trim($v[10]),
+                    'remark'     => trim($v[11]),
+                    'status'     => intval($v[12]),
+                    'updatetime' => date("Y-m-d H:i"),
+                    'createtime' => date("Y-m-d H:i"),
+                ];
+                try {
+                    validate(ReportValidate::class)->check($data);
+                } catch (ValidateException $e) {
+                    $errarr .= $v[0] . ",";
+                    $errnumber++;
+                    continue;
+                }
+                $report = new ComjobsReportModel;
+                $report->save($data);
+                $logdata = [
+                    'reportid'     => $report->id,
+                    'logstatus'    => $statusarr[$report->status],
+                    'editrealname' => "管理员",
+                    'comjobstil'   => $tabcomjobs->title,
+                    'agenttil'     => $tabagent->isEmpty() ? "未报备" : $tabagent->title,
+                    'realname'     => trim($v[3]),
+                    'mobile'       => trim($v[4]),
+                    'idcard'       => trim($v[5]),
+                    'comtype'      => empty(trim($v[7])) ? trim($v[7]) : input('comtype/s', ""),
+                    'comprice'     => empty(trim($v[8])) ? trim($v[8]) : input('comprice/s', ""),
+                    'comremark'    => empty(trim($v[9])) ? trim($v[9]) : input('comremark/s', ""),
+                    'arrivetime'   => trim($v[10]),
+                    'remark'       => trim($v[11]),
+                    'createtime'   => date("Y-m-d H:i"),
+                ];
+                ReportLogModel::create($logdata);
+                $sucnumber++;
             }
         }
+        exit(json_encode([
+            'code'      => 0,
+            'sucnumber' => $sucnumber,
+            'errnumber' => $errnumber,
+            'errarr'    => $errarr,
+        ]));
+    }
 
-		if ($count==0){
-			exit(json_encode(array(
-				'code' 	=> 1,
-				'msg'	=> "未查询到数据"
-			)));
-		}
-		exit(json_encode(array(
-			'code' 	=> 0,
-			'msg'	=> "",
-			'count' => $count,
-			'data'  => $list 
-		)));
-	}
-
-	
-	public function exportReport()
-	{
-		$map = array();
-		$comjobsid = input('comjobsid/d', 0);
-		if (!empty($comjobsid)){
-			$map[] = ['comjobsid', '=', $comjobsid];
-		}
-		$agentid = input('agentid/d', 0);
-		if (!empty($agentid)){
-			$map[] = ['agentid', '=', $agentid];
-		}
-		$status = input('status/d', 0);
-		if (!empty($status)){
-			$map[] = ['status', '=', $status];
-		}
-		$xlsData = ComjobsReportModel::with(['comjobs','agent','broker'])->where($map)->order('id','DESC')->append(['status_text'])->select()->toArray();
-		$xlsCell = array(
-			array('id','表ID'),
-			array('comjobs.title','招聘标题'),
-			array('agent.title','代理门店'),
-			array('broker.title','经纪人'),
-			array('realname','姓名'),
-			array('mobile','手机号'),
-			array('idcard','身份证号'),
-			array('arrivetime','预计到达时间'),
-			array('remark','报名备注'),
-			array('status_text','状态'),
-			array('createtime','接单时间')
-		);
-		export_excel("报备记录",$xlsCell,$xlsData);
-	}
-	
-	public function setComtype()
-	{
-		$idarr = input('idarr/a');
-		$comjobsid = input('comjobsid/d', 0);
-		$comjobs = ComjobsModel::with(['company'])->findOrEmpty($comjobsid);
-		if ($comjobs->isEmpty()){
-			exit(json_encode(array(
-				'code' 	=> 1,
-				'msg'	=> "请选择招聘信息和代理门店"
-			)));
-		}
-		$data = [
-			'comjobsid'			=> $comjobs->id,
-			'comtype'			=> input('comtype/s', ""),
-			'comprice'			=> input('comprice/s', ""),
-			'comremark'			=> input('comremark/s', ""),
-			'updatetime'		=> input('updatetime/s', date("Y-m-d H:i"))
-		];
-		ComjobsReportModel::whereIn('id',$idarr)->update($data);
-		$reportall = ComjobsReportModel::whereIn('id',$idarr)->select()->toArray();
-		$logdata = array();
-		$statusarr = array(1=>'待审核', 2=>'待面试', 3=>'已入职', 4=>'无效报备');
-		$agentall = AgentModel::column('realname', 'id');
-		foreach($reportall as $key=>$item){
-			$logdata[] = array(
-				'reportid'		=> $item['id'],
-				'logstatus'		=> $statusarr[$item['status']],
-				'editrealname'	=> "管理员",
-				'comjobstil'	=> $comjobs->isEmpty() ? "" : $comjobs->title,
-				'agenttil'		=> empty($agentall[$item['agentid']]) ? "未报备" : $agentall[$item['agentid']],
-				'realname'		=> $item['realname'],
-				'mobile'		=> $item['mobile'],
-				'idcard'		=> $item['idcard'],
-				'comtype'		=> input('comtype/s', ""),
-				'comprice'		=> input('comprice/s', ""),
-				'comremark'		=> input('comremark/s', ""),
-				'arrivetime'	=> $item['arrivetime'],
-				'remark'		=> $item['remark'],
-				'createtime'	=> date("Y-m-d H:i")
-			);
-		}
-		$reportlog = new ReportLogModel;
-		$reportlog->saveAll($logdata);
-		exit(json_encode(array(
-			'code' 	=> 0,
-			'msg'	=> ""
-		)));
-	}
-	
-	public function setStatus()
-	{
-		$idarr = input('idarr/a');
-		$status = input('status/d', 1);
-		ComjobsReportModel::whereIn('id',$idarr)->update(['status'=>$status]);
-		exit(json_encode(array(
-			'code' 	=> 0,
-			'msg'	=> ""
-		)));
-	}
-	
-	public function delReport()
-	{
-		$idarr = input('idarr/a');
-
-        $ComjobsReport = ComjobsReportModel::whereIn('id',$idarr)->select();
-        $result = $ComjobsReport->delete();
-
-		if ($result){
-			exit(json_encode(array(
-				'code' 	=> 0,
-				'msg'	=> ""
-			)));
-		}
-		exit(json_encode(array(
-			'code' 	=> 1,
-			'msg'	=> "删除失败,请稍后重试"
-		)));
-	}
-	
-	public function reportImport()
-	{
-		$id = input('id/d, 0');
-		$comjobslist = ComjobsModel::with(['comjobsRefund.agentGroups'])->order(['id'=>'desc'])->select();
-		$agentlist = AgentModel::order(['id'=>'asc'])->select();
-		return view('comjobsreport/reportimport',[
-			'comjobslist'	=> $comjobslist,
-			'agentlist'		=> $agentlist
-		]);
-	}
-	
-	public function importReport()
-	{
-		$execlfile = input('execlfile/s', "");
-		if (empty($execlfile)){
-			exit(json_encode(array(
-				'code' 	=> 1,
-				'msg'	=> "请上传导入文件"
-			)));
-		}
-		$comjobsid = input('comjobsid/d', 0);
-		$comjobs = ComjobsModel::findOrEmpty($comjobsid);
-		$agentid = input('agentid/d', 0);
-		$agent = AgentModel::findOrEmpty($agentid);
-		$filedata = read_excel( $execlfile );
-		$sucnumber = 0;
-		$errnumber = 0;
-		$errarr = "";
-		$statusarr = array(1=>'待审核', 2=>'待面试', 3=>'已入职', 4=>'无效报备');
-		foreach( $filedata as $k=>$v ){
-			$tabcomjobsid = intval($v[1]);
-			if (empty($tabcomjobsid)){
-				$tabcomjobs = $comjobs;
-			}else{
-				$tabcomjobs = ComjobsModel::findOrEmpty($tabcomjobsid);
-			}
-			$tabagentid = intval($v[2]);
-			if (empty($tabagentid)){
-				$tabagent = $agent;
-			}else{
-				$tabagent = AgentModel::findOrEmpty($tabagentid);
-			}
-			if( $tabcomjobs->isEmpty() ){
-				$errarr .= $v[0] . ",";
-				$errnumber++;
-				continue;
-			}else{
-				$data = array(
-					'comjobsid'			=> $tabcomjobs->id,
-					'agentid'			=> $tabagent->isEmpty() ? 0 : $tabagent->id,
-					'brokerid'			=> 0,
-					'realname'			=> trim($v[3]),
-					'mobile'			=> trim($v[4]),
-					'idcard'			=> trim($v[5]),
-					'gender'			=> trim($v[6])=='男' ? 1 : 2,
-					'comtype'			=> empty(trim($v[7])) ? trim($v[7]) : input('comtype/s', ""),
-					'comprice'			=> empty(trim($v[8])) ? trim($v[8]) : input('comprice/s', ""),
-					'comremark'			=> empty(trim($v[9])) ? trim($v[9]) : input('comremark/s', ""),
-					'arrivetime'		=> trim($v[10]),
-					'remark'			=> trim($v[11]),
-					'status'			=> intval($v[12]),
-					'updatetime'		=> date("Y-m-d H:i"),
-					'createtime'		=> date("Y-m-d H:i")
-				);
-				try {
-				    validate(ReportValidate::class)->check($data);
-				} catch (ValidateException $e) {
-					$errarr .= $v[0] . ",";
-					$errnumber++;
-					continue;
-				}
-				$report = new ComjobsReportModel;
-				$report->save($data);
-				$logdata = array(
-					'reportid'		=> $report->id,
-					'logstatus'		=> $statusarr[$report->status],
-					'editrealname'	=> "管理员",
-					'comjobstil'	=> $tabcomjobs->title,
-					'agenttil'		=> $tabagent->isEmpty() ? "未报备" : $tabagent->title,
-					'realname'		=> trim($v[3]),
-					'mobile'		=> trim($v[4]),
-					'idcard'		=> trim($v[5]),
-					'comtype'		=> empty(trim($v[7])) ? trim($v[7]) : input('comtype/s', ""),
-					'comprice'		=> empty(trim($v[8])) ? trim($v[8]) : input('comprice/s', ""),
-					'comremark'		=> empty(trim($v[9])) ? trim($v[9]) : input('comremark/s', ""),
-					'arrivetime'	=> trim($v[10]),
-					'remark'		=> trim($v[11]),
-					'createtime'	=> date("Y-m-d H:i")
-				);
-				ReportLogModel::create($logdata);
-				$sucnumber++;
-			}
-		}
-		exit(json_encode(array(
-			'code' 			=> 0,
-			'sucnumber'		=> $sucnumber,
-			'errnumber'		=> $errnumber,
-			'errarr'		=> $errarr
-		)));
-	}
-	
-	
-	public function reportForm()
-	{
-		$id = input('id/d, 0');
-		$report = Db::name('comjobs_report')
-                 ->alias('a')
-                 ->field('a.id,a.realname,a.mobile,a.idcard,a.status,a.remark,a.retremark,b.title')
-                 ->join('comjobs b','b.id = a.comjobsid','LEFT')
-                 ->where('a.id',$id)
-                 ->find();
-
-		$statusarr = array(1=>'待审核', 2=>'待面试', 3=>'已入职', 4=>'无效报备');
-		return view('comjobsreport/reportform',[
-			'report'		=> $report,
-			'title'		=> $this->access_worker['title'],
-			'statusarr'		=> $statusarr
-		]);
-	}
-	 
-	public function editReport()
-	{
-		$id = input('id/d', 0);
+
+    public function reportForm()
+    {
+        $id     = input('id/d, 0');
+        $report = Db::name('comjobs_report')
+            ->alias('a')
+            ->field('a.id,a.realname,a.mobile,a.idcard,a.status,a.remark,a.retremark,b.title')
+            ->join('comjobs b', 'b.id = a.comjobsid', 'LEFT')
+            ->where('a.id', $id)
+            ->find();
+
+        $statusarr = [1 => '待审核', 2 => '待面试', 3 => '已入职', 4 => '无效报备'];
+        return view('comjobsreport/reportform', [
+            'report'    => $report,
+            'title'     => $this->access_worker['title'],
+            'statusarr' => $statusarr,
+        ]);
+    }
+
+    public function editReport()
+    {
+        $id       = input('id/d', 0);
         $workerid = $this->access_worker['id'];
-		$data = array(
-			'retremark'			=> input('retremark/s', ""),
-			'status'			=> input('status/d', 1),
-			'updatetime'		=> time()
-		);
-
-		if (empty($id)){
-			$report = new ComjobsReportModel;
-			$report->save($data); 
-		}else{
-			$report = ComjobsReportModel::find($id);
-			$report->save($data); 
-		}
-		exit(json_encode(array(
-			'code' 	=> 0
-		)));
-	}
-	
-	// 记录
-	public function logList()
-	{
-		$reportid = input('reportid/d',0);
-		$report = ComjobsReportModel::findOrEmpty($reportid);
-		return view('comjobsreport/loglist',[
-			'reportid'		=> $reportid,
-			'report'		=> $report
-		]); 
-	}
-	
-	public function listLog()
-	{
-		$limit = input('limit/d',50);
-		$page = input('page/d',1);
-		$map = array();
-		$map[] = ['reportid', '=', input('reportid/d',0)];
+        $data     = [
+            'retremark'  => input('retremark/s', ""),
+            'status'     => input('status/d', 1),
+            'updatetime' => time(),
+        ];
+
+        if (empty($id)) {
+            $report = new ComjobsReportModel;
+            $report->save($data);
+        } else {
+            $report = ComjobsReportModel::with('comjobs')->find($id);
+            if ($data['status'] < $report['status']) {
+                exit(json_encode([
+                    'code' => 1,
+                    'msg'  => "状态只能往后选",
+                ]));
+            }
+            //悬赏金
+            if ($report['status'] != 3 && $data['status'] == 3) {
+                $incomeService = new IncomeService();
+                $incomeService->add($report['brokerid'], $report['comjobs']['retmoney'], '悬赏金', '悬赏招聘推荐入职成功后返佣金额');
+            }
+            $report->save($data);
+        }
+        exit(json_encode([
+            'code' => 0,
+        ]));
+    }
+
+    // 记录
+    public function logList()
+    {
+        $reportid = input('reportid/d', 0);
+        $report   = ComjobsReportModel::findOrEmpty($reportid);
+        return view('comjobsreport/loglist', [
+            'reportid' => $reportid,
+            'report'   => $report,
+        ]);
+    }
+
+    public function listLog()
+    {
+        $limit = input('limit/d', 50);
+        $page  = input('page/d', 1);
+        $map   = [];
+        $map[] = ['reportid', '=', input('reportid/d', 0)];
         $map[] = ['delstatus', '<>', 2];
-		$list = ReportLogModel::with(['report'])->where($map)->order(['id'=>'desc'])->limit($limit)->page($page)->select();
-		$count = ReportLogModel::where($map)->count();
-		if ($count==0){
-			exit(json_encode(array(
-				'code' 	=> 1,
-				'msg'	=> "未查询到数据"
-			)));
-		}
-		exit(json_encode(array(
-			'code' 	=> 0,
-			'msg'	=> "",
-			'count' => $count,
-			'data'  => $list
-		)));
-	}
-	
-	
+        $list  = ReportLogModel::with(['report'])->where($map)->order(['id' => 'desc'])->limit($limit)->page($page)->select();
+        $count = ReportLogModel::where($map)->count();
+        if ($count == 0) {
+            exit(json_encode([
+                'code' => 1,
+                'msg'  => "未查询到数据",
+            ]));
+        }
+        exit(json_encode([
+            'code'  => 0,
+            'msg'   => "",
+            'count' => $count,
+            'data'  => $list,
+        ]));
+    }
+
 
 }

+ 1 - 3
app/worker/view/comjobsreport/reportlist.html

@@ -107,9 +107,7 @@
 			setter = layui.setter,
 			admin = layui.admin,
 			form = layui.form,
-			table = layui.table,
-			selectN = layui.selectN,
-			selectM = layui.selectM;
+			table = layui.table;
 		var laydate = layui.laydate;
 		var date6;
 		form.render();