| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290 | 
							- <?php
 
- namespace app\enterprise\controller;
 
- use app\enterprise\common\EnterpriseController;
 
- use app\common\state\CommonConst;
 
- use app\common\api\EnterpriseApi;
 
- use app\common\model\Enterprise;
 
- use app\common\api\Nhc;
 
- use app\common\model\TalentChecklog;
 
- use app\common\model\MessageRecord;
 
- use app\common\api\TalentState;
 
- use app\common\api\ChuanglanSmsApi;
 
- /**
 
-  * Description of Hospital
 
-  *
 
-  * @author sgq
 
-  */
 
- class Hospital extends EnterpriseController {
 
-     //put your code here
 
-     public function list() {
 
-         return view("");
 
-     }
 
-     public function getList() {
 
-         $request = $this->request;
 
-         $ep = EnterpriseApi::getOne($this->user["uid"]);
 
-         if ($ep["isGeneral"] == 1) {
 
-             EnterpriseApi::getList($request);
 
-             $where = [];
 
-             $where[] = ["type", "=", CommonConst::ENTERPRISE_WJ];
 
-             $where[] = ["delete", "=", 0];
 
-             $where[] = ["isGeneral", "=", 2];
 
-             $where[] = ["medicalCommunityId", "=", $ep["medicalCommunityId"]];
 
-             $where[] = ["step", "=", 0];
 
-             $offset = trim($request->param("offset")) ?: 0;
 
-             $limit = trim($request->param("limit")) ?: 10;
 
-             $name = urldecode(trim($request->param("name")));
 
-             $idCard = urldecode(trim($request->param("idCard")));
 
-             $legal = urldecode(trim($request->param("legal")));
 
-             $ephone = urldecode(trim($request->param("ephone")));
 
-             $agentName = urldecode(trim($request->param("agentName")));
 
-             $agentPhone = urldecode(trim($request->param("agentPhone")));
 
-             $checkState = urldecode(trim($request->param("checkState")));
 
-             if ($name) {
 
-                 $where[] = ["name", "like", "%{$name}%"];
 
-             }
 
-             if ($idCard) {
 
-                 $where[] = ["idCard", "like", "%{$idCard}%"];
 
-             }
 
-             if ($legal) {
 
-                 $where[] = ["legal", "like", "%{$legal}%"];
 
-             }
 
-             if ($ephone) {
 
-                 $where[] = ["ephone", "like", "%{$ephone}%"];
 
-             }
 
-             if ($agentName) {
 
-                 $where[] = ["agentName", "like", "%{$agentName}%"];
 
-             }
 
-             if ($agentPhone) {
 
-                 $where[] = ["agentPhone", "like", "%{$agentPhone}%"];
 
-             }
 
-             if ($checkState) {
 
-                 $where[] = ["checkState", "=", "{$checkState}"];
 
-             }
 
-             $count = Enterprise::where($where)->count();
 
-             $medicalCommunityList = Nhc::getMedicalCommunityMap();
 
-             $list = Enterprise::where($where)->limit($offset, $limit)->order("createTime", 'desc')->select()->toArray();
 
-             foreach ($list as $k => &$v) {
 
-                 unset($v['password']);
 
-                 $v['medicalCommunityName'] = $v['medicalCommunityId'] ? $medicalCommunityList[$v['medicalCommunityId']] : "";
 
-             }
 
-             return ["total" => $count, "rows" => $list];
 
-         }
 
-     }
 
-     public function detail() {
 
-         $id = $this->request["id"];
 
-         $ep = EnterpriseApi::getOne($id);
 
-         return view("", ["ep" => $ep]);
 
-     }
 
-     public function examine() {
 
-         $id = $this->request["id"];
 
-         $ep = EnterpriseApi::getOne($id);
 
-         $lastLog = \app\common\api\TalentLogApi::getLastLog($id, 10);
 
-         if ($lastLog["active"] == 0) {
 
-             $ep["checkState"] = $lastLog["state"];
 
-             $ep["checkMsg"] = $lastLog["description"];
 
-         }
 
-         if (!$ep) {
 
-             return "无此企业";
 
-         }
 
-         $fieldsAndFiles = $this->getFieldAndFilesBySpecialAndType($ep->special, $ep->type);
 
-         $fields = $fieldsAndFiles["fields"];
 
-         $files = $fieldsAndFiles["files"];
 
-         $modify_fields = [];
 
-         $modify_files = [];
 
-         $_modify_fields = explode(",", $ep["modify_fields"]);
 
-         foreach ($fields as $key => $value) {
 
-             $checked = in_array($key, $_modify_fields);
 
-             $modify_fields[$key] = ["field" => $key, "name" => $value, "checked" => $checked];
 
-         }
 
-         $_modify_files = explode(",", $ep["modify_files"]);
 
-         foreach ($files as $key => $value) {
 
-             $checked = in_array($key, $_modify_files);
 
-             $modify_files[$key] = ["field" => $key, "name" => $value, "checked" => $checked];
 
-         }
 
-         return view("", ['ep' => $ep, 'checkUser' => session('user')['name'], 'fields' => $modify_fields, "files" => $modify_files]);
 
-     }
 
-     public function doExamine() {
 
-         $id = trim($this->request['id']);
 
-         $doSubmit = $this->request["submit"] == 1 ? true : false;
 
-         if (!$id) {
 
-             return json(["msg" => 'ID不能为空!']);
 
-         }
 
-         $ep = EnterpriseApi::getOne($id);
 
-         if (!$ep) {
 
-             return json(["msg" => '无此企业!']);
 
-         }
 
-         $oriCheckState = $ep["checkState"];
 
-         if ($ep["step"] > 0 || $ep["isGeneral"] != 2) {
 
-             return json(["msg" => "不在审核范围内"]);
 
-         }
 
-         if (!in_array($ep["checkState"], [1, 2, 4, 5]))
 
-             return json(["msg" => "不在审核范围内"]);
 
-         $checkState = $this->request['checkState'];
 
-         if ($checkState == null || ($checkState != 5 && $checkState != 6)) {
 
-             return json(["msg" => '请选择审核状态!']);
 
-         }
 
-         $checkMsg = $this->request['checkMsg'];
 
-         $fields = $this->request['fields'];
 
-         $files = $this->request['files'];
 
-         if ($checkState == 5 && $ep["type"] == CommonConst::ENTERPRISE_WJ) {
 
-             if (\StrUtil::isEmpOrNull($checkMsg)) {
 
-                 return json(["msg" => '请填写审核意见!']);
 
-             }
 
-             if (strlen($checkMsg) > 1000) {
 
-                 return json(["msg" => '审核意见最多1000个字符!']);
 
-             }
 
-             if (!$fields && !$files) {
 
-                 return json(["msg" => '请选择驳回修改的字段或者附件!']);
 
-             }
 
-         }
 
-         try {
 
-             $lastLog = \app\common\api\TalentLogApi::getLastLog($id, 10);
 
-             $companyName = session('user')["companyName"] ?: session('user')["rolename"];
 
-             if ($checkState == 6) {
 
-                 $fields = null;
 
-                 $files = null;
 
-             }
 
-             $newCheckState = $checkState;
 
-             if ($doSubmit) {
 
-                 $checkData = [
 
-                     'id' => $id,
 
-                     'checkState' => $newCheckState,
 
-                     'checkMsg' => $checkMsg,
 
-                     'modify_fields' => $fields ? implode(",", $fields) : null,
 
-                     'modify_files' => $files ? implode(",", $files) : null,
 
-                     'checkUser' => session('user')['name'],
 
-                     'updateUser' => session('user')['uid'],
 
-                     'updateTime' => date("Y-m-d H:i:s")
 
-                 ];
 
-                 if ($ep["type"] == CommonConst::ENTERPRISE_WJ) {
 
-                     if ($newCheckState == 5) {
 
-                         $checkData["step"] = 0;
 
-                     } else {
 
-                         $checkData["step"] = 1;
 
-                     }
 
-                 }
 
-                 $res = EnterpriseApi::updateById($checkData);
 
-                 //短信入库数据
 
-                 $record_data = [
 
-                     'id' => getStringId(),
 
-                     'bizId' => getStringId(),
 
-                     'userId' => $id,
 
-                     'type' => 2,
 
-                     'smsType' => 2,
 
-                     'name' => $ep['name'],
 
-                     'phone' => $ep['agentPhone'],
 
-                     'params' => '机构注册信息',
 
-                     'state' => 1,
 
-                     'sendingDate' => date("Y-m-d H:i:s", time()),
 
-                     'createTime' => date("Y-m-d H:i:s", time())
 
-                 ];
 
-                 if ($checkState == 5) {
 
-                     $record_data['templateCode'] = "【晋江市人才服务平台】您好!您提交的晋江市现代产业体系人才机构注册信息因信息填写错误或上传不完整已被退回,请及时登录“晋江市人才综合服务申报平台”根据审核意见修改并重新提交。退订回复TD。";
 
-                 }
 
-                 if ($checkState == 5) {
 
-                     $smsapi = new ChuanglanSmsApi();
 
-                     $result = $smsapi->sendSMS($ep['agentPhone'], $record_data['templateCode']);
 
-                     MessageRecord::create($record_data);
 
-                 }
 
-                 if ($lastLog["active"] === 0) {
 
-                     TalentChecklog::update([
 
-                         'id' => $lastLog["id"],
 
-                         'active' => 1,
 
-                         'state' => $newCheckState,
 
-                         'step' => 101,
 
-                         'stateChange' => TalentState::stateEnum($newCheckState),
 
-                         'description' => $checkMsg,
 
-                         'updateTime' => date("Y-m-d H:i:s", time()),
 
-                         'updateUser' => session('user')['name'] . "({$companyName})"
 
-                     ]);
 
-                 } else {
 
-                     TalentChecklog::create([
 
-                         'id' => getStringId(),
 
-                         'mainId' => $id,
 
-                         'type' => 10,
 
-                         'typeFileId' => null,
 
-                         'active' => 1,
 
-                         'state' => $newCheckState,
 
-                         'step' => 101,
 
-                         'stateChange' => TalentState::stateEnum($newCheckState),
 
-                         'description' => $checkMsg,
 
-                         'createTime' => date("Y-m-d H:i:s", time()),
 
-                         'createUser' => session('user')['name'] . "({$companyName})"
 
-                     ]);
 
-                 }
 
-                 return json(["msg" => '操作成功!', "code" => 200]);
 
-             } else {
 
-                 $checkData = [
 
-                     'id' => $id,
 
-                     'modify_fields' => $fields ? implode(",", $fields) : null,
 
-                     'modify_files' => $files ? implode(",", $files) : null,
 
-                     'checkUser' => session('user')['name'],
 
-                     'updateUser' => session('user')['uid'],
 
-                     'updateTime' => date("Y-m-d H:i:s")
 
-                 ];
 
-                 $res = EnterpriseApi::updateById($checkData);
 
-                 if ($lastLog["active"] === 0) {
 
-                     TalentChecklog::update([
 
-                         'id' => $lastLog["id"],
 
-                         'state' => $newCheckState,
 
-                         'step' => 101,
 
-                         'stateChange' => TalentState::stateEnum($newCheckState),
 
-                         'description' => $checkMsg,
 
-                         'updateTime' => date("Y-m-d H:i:s", time()),
 
-                         'updateUser' => session('user')['name'] . "({$companyName})"
 
-                     ]);
 
-                 } else {
 
-                     TalentChecklog::create([
 
-                         'id' => getStringId(),
 
-                         'mainId' => $id,
 
-                         'type' => 10,
 
-                         'typeFileId' => null,
 
-                         'active' => 0,
 
-                         'state' => $newCheckState,
 
-                         'step' => 101,
 
-                         'stateChange' => TalentState::stateEnum($checkState),
 
-                         'description' => $checkMsg,
 
-                         'createTime' => date("Y-m-d H:i:s", time()),
 
-                         'createUser' => session('user')['name'] . "({$companyName})"
 
-                     ]);
 
-                 }
 
-                 return json(["msg" => '保存成功!', "code" => 200]);
 
-             }
 
-         } catch (\Exception $e) {
 
-             return json(["msg" => $e->getMessage()]);
 
-         }
 
-     }
 
-     private function getFieldAndFilesBySpecialAndType($special, $type) {
 
-         $fields = ["name" => "医院名称", "idCard" => "登记号", "legal" => "法人代表", "medicalCommunityId" => "医共体", "isGeneral" => "是否总院", "ephone" => "医院电话", "province" => "地址省", "city" => "地址市", "county" => "地址县\区", "address" => "医院地址",
 
-             "bankCard" => "银行账号", "bank" => "开户银行", "bankNetwork" => "开户银行网点",
 
-             "agentName" => "人才联络员姓名", "agentPhone" => "人才联络员电话", "agentEmail" => "人才联络员邮箱"];
 
-         $files = ["imgurl" => "医疗机构执业许可证", "bankImg" => "开户许可证/基本存款账户信息", "beian" => "人才联络员信息备案表"];
 
-         return ["fields" => $fields, "files" => $files];
 
-     }
 
- }
 
 
  |