EnterpriseChangeRecord.php 24 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527
  1. <?php
  2. namespace app\admin\controller;
  3. use app\admin\common\AdminController;
  4. use app\common\api\ChuanglanSmsApi;
  5. use app\common\api\CompanyApi;
  6. use app\common\api\DictApi;
  7. use app\common\api\EnterpriseApi;
  8. use app\common\api\TalentState;
  9. use app\common\model\CurrentcyFileType;
  10. use app\common\model\MessageRecord;
  11. use app\common\model\TalentChecklog;
  12. use app\common\model\TalentCommonFile;
  13. class EnterpriseChangeRecord extends AdminController {
  14. private $compatible_time = "2022-10-15 23:59:59";
  15. public function gotoEnterpriseChangeRecordPage() {
  16. $talentTypeList = DictApi::findChildDictByCode("enterprise_tag");
  17. $industryFieldNewList = DictApi::findChildDictByCode("industry_field");
  18. $streetList = DictApi::findChildDictByCode("street");
  19. return view("", ['enterprise_tag' => $talentTypeList, 'industryFieldNew' => $industryFieldNewList, 'street' => $streetList]);
  20. }
  21. public function findEnterpriseChangeRecordByPage() {
  22. $res = EnterpriseApi::getRecordList($this->request);
  23. return json($res);
  24. }
  25. public function gotoEnterpriseChangeDetailPage() {
  26. $id = trim($this->request['id']);
  27. if (!$id) {
  28. return json(["msg" => 'ID不能为空!']);
  29. }
  30. $ecr = EnterpriseApi::getOneRecord($id);
  31. $ep = EnterpriseApi::getOne($ecr['mainId']);
  32. if (\StrUtil::isNotEmpAndNull($ecr['oldStreet']) || \StrUtil::isNotEmpAndNull($ecr['newStreet'])) {
  33. $streetList = DictApi::selectByParentCode("street");
  34. if (\StrUtil::isNotEmpAndNull($ecr['oldStreet'])) {
  35. $ecr['oldStreetName'] = $streetList[$ecr['oldStreet']];
  36. }
  37. if (\StrUtil::isNotEmpAndNull($ecr['newStreet'])) {
  38. $ecr['newStreetName'] = $streetList[$ecr['newStreet']];
  39. }
  40. }
  41. switch ($ecr['checkState']) {
  42. case 1:
  43. $ecr['checkStateName'] = '保存未提交';
  44. break;
  45. case 2:
  46. $ecr['checkStateName'] = '待审核';
  47. break;
  48. case 3:
  49. $ecr['checkStateName'] = '审核驳回';
  50. break;
  51. case 4:
  52. $ecr['checkStateName'] = '审核通过';
  53. break;
  54. case 5:
  55. $ecr['checkStateName'] = '重新提交';
  56. break;
  57. default:
  58. $ecr['checkStateName'] = '';
  59. break;
  60. }
  61. /* $where = [];
  62. $where[] = ['tcf.mainId', '=', $id];
  63. $files = TalentCommonFile::alias("tcf")->field("tcf.*,cft.api")->leftJoin("new_currency_filetype cft", "cft.id=tcf.typeId")->where($where)->select();
  64. $_files = [];
  65. foreach ($files as $k => $v) {
  66. $extension = pathinfo($v["url"])["extension"];
  67. if (in_array($extension, ["jpeg", "jpg", "png", "gif"])) {
  68. $v["is_img"] = 1;
  69. } else {
  70. $v["is_img"] = 0;
  71. }
  72. $v['url'] = getStoragePath($v['url']);
  73. $_files[$v["api"]][] = $v;
  74. } */
  75. $time = $this->compatible_time;
  76. //营业执照
  77. if (!$ecr["oldImgurl"]) {
  78. $ecr["oldImgurl"] = $ep["imgurl"];
  79. }
  80. if ($ecr["oldImgurl"]) {
  81. $pathinfo = pathinfo($ecr["oldImgurl"]);
  82. if (in_array($pathinfo["extension"], ["jpeg", "jpg", "png", "gif"])) {
  83. $ecr["oldImgurl_is_img"] = 1;
  84. }
  85. }
  86. if (!$ecr["newImgurl"]) {
  87. //兼容旧filetype
  88. if (strtotime($ecr["createTime"]) < strtotime($time)) {
  89. $where = [];
  90. $where[] = ["mainId", "=", $id];
  91. $where[] = ["api", "=", "businessLicense"];
  92. $where[] = ["active", "=", 1];
  93. $_uploadFile = TalentCommonFile::alias("tcf")->leftJoin("new_currency_filetype ft", "ft.id=tcf.typeId")->where($where)->order("tcf.createTime desc")->find();
  94. if ($_uploadFile) {
  95. $ecr["newImgurl"] = $_uploadFile["url"];
  96. } else {
  97. $ecr["newImgurl"] = $ep["imgurl"];
  98. }
  99. }
  100. }
  101. if ($ecr["newImgurl"]) {
  102. $pathinfo = pathinfo($ecr["newImgurl"]);
  103. if (in_array($pathinfo["extension"], ["jpeg", "jpg", "png", "gif"])) {
  104. $ecr["newImgurl_is_img"] = 1;
  105. }
  106. }
  107. //备案表
  108. if (!$ecr["oldBeian"]) {
  109. $ecr["oldBeian"] = $ep["beian"];
  110. }
  111. if ($ecr["oldBeian"]) {
  112. $pathinfo = pathinfo($ecr["oldBeian"]);
  113. if (in_array($pathinfo["extension"], ["jpeg", "jpg", "png", "gif"])) {
  114. $ecr["oldBeian_is_img"] = 1;
  115. }
  116. }
  117. if (!$ecr["newBeian"]) {
  118. //兼容旧filetype
  119. if (strtotime($ecr["createTime"]) < strtotime($time)) {
  120. $where = [];
  121. $where[] = ["mainId", "=", $id];
  122. $where[] = ["api", "=", "businessBeian"];
  123. $where[] = ["active", "=", 1];
  124. $_uploadFile = TalentCommonFile::alias("tcf")->leftJoin("new_currency_filetype ft", "ft.id=tcf.typeId")->where($where)->order("tcf.createTime desc")->find();
  125. if ($_uploadFile) {
  126. $ecr["newBeian"] = $_uploadFile["url"];
  127. } else {
  128. $ecr["newBeian"] = $ep["beian"];
  129. }
  130. }
  131. }
  132. if ($ecr["newBeian"]) {
  133. $pathinfo = pathinfo($ecr["newBeian"]);
  134. if (in_array($pathinfo["extension"], ["jpeg", "jpg", "png", "gif"])) {
  135. $ecr["newBeian_is_img"] = 1;
  136. }
  137. }
  138. //行业领域
  139. if (!$ecr["oldDomainImg"]) {
  140. $ecr["oldDomainImg"] = $ep["domainImg"];
  141. }
  142. if ($ecr["oldDomainImg"]) {
  143. $pathinfo = pathinfo($ecr["oldDomainImg"]);
  144. if (in_array($pathinfo["extension"], ["jpeg", "jpg", "png", "gif"])) {
  145. $ecr["oldDomainImg_is_img"] = 1;
  146. }
  147. }
  148. if (!$ecr["newDomainImg"]) {
  149. //兼容旧filetype
  150. if (strtotime($ecr["createTime"]) < strtotime($time)) {
  151. $where = [];
  152. $where[] = ["mainId", "=", $id];
  153. $where[] = ["api", "=", "businessDomain"];
  154. $where[] = ["active", "=", 1];
  155. $_uploadFile = TalentCommonFile::alias("tcf")->leftJoin("new_currency_filetype ft", "ft.id=tcf.typeId")->where($where)->order("tcf.createTime desc")->find();
  156. if ($_uploadFile) {
  157. $ecr["newDomainImg"] = $_uploadFile["url"];
  158. } else {
  159. $ecr["newDomainImg"] = $ep["domainImg"];
  160. }
  161. }
  162. }
  163. if ($ecr["newDomainImg"]) {
  164. $pathinfo = pathinfo($ecr["newDomainImg"]);
  165. if (in_array($pathinfo["extension"], ["jpeg", "jpg", "png", "gif"])) {
  166. $ecr["newDomainImg_is_img"] = 1;
  167. }
  168. }
  169. //个别企业类型需要上传附件
  170. if ($ecr["oldTypeImg"]) {
  171. $pathinfo = pathinfo($ecr["oldTypeImg"]);
  172. if (in_array($pathinfo["extension"], ["jpeg", "jpg", "png", "gif"])) {
  173. $ecr["oldTypeImg_is_img"] = 1;
  174. }
  175. }
  176. if ($ecr["newTypeImg"]) {
  177. $pathinfo = pathinfo($ecr["newTypeImg"]);
  178. if (in_array($pathinfo["extension"], ["jpeg", "jpg", "png", "gif"])) {
  179. $ecr["newTypeImg_is_img"] = 1;
  180. }
  181. }
  182. //开户许可证
  183. if (!$ecr["oldBankImg"]) {
  184. $ecr["oldBankImg"] = $ep["bankImg"];
  185. }
  186. if ($ecr["oldBankImg"]) {
  187. $pathinfo = pathinfo($ecr["oldBankImg"]);
  188. if (in_array($pathinfo["extension"], ["jpeg", "jpg", "png", "gif"])) {
  189. $ecr["oldBankImg_is_img"] = 1;
  190. }
  191. }
  192. if (!$ecr["newBankImg"]) {
  193. //兼容旧filetype
  194. if (strtotime($ecr["createTime"]) < strtotime($time)) {
  195. $where = [];
  196. $where[] = ["mainId", "=", $id];
  197. $where[] = ["api", "=", "businessBank"];
  198. $where[] = ["active", "=", 1];
  199. $_uploadFile = TalentCommonFile::alias("tcf")->leftJoin("new_currency_filetype ft", "ft.id=tcf.typeId")->where($where)->order("tcf.createTime desc")->find();
  200. if ($_uploadFile) {
  201. $ecr["newBankImg"] = $_uploadFile["url"];
  202. } else {
  203. $ecr["newBankImg"] = $ep["bankImg"];
  204. }
  205. }
  206. }
  207. if ($ecr["newBankImg"]) {
  208. $pathinfo = pathinfo($ecr["newBankImg"]);
  209. if (in_array($pathinfo["extension"], ["jpeg", "jpg", "png", "gif"])) {
  210. $ecr["newBankImg_is_img"] = 1;
  211. }
  212. }
  213. $ecr["special"] = $ep->special;
  214. switch ($ep->special) {
  215. case 0:
  216. if (\StrUtil::isNotEmpAndNull($ecr['oldEnterpriseTag']) || \StrUtil::isNotEmpAndNull($ecr['newEnterpriseTag'])) {
  217. $talentTypeList = DictApi::selectByParentCode("enterprise_tag");
  218. if (\StrUtil::isNotEmpAndNull($ecr['oldEnterpriseTag'])) {
  219. $ecr['oldEnterpriseTagName'] = $talentTypeList[$ecr['oldEnterpriseTag']];
  220. }
  221. if (\StrUtil::isNotEmpAndNull($ecr['newEnterpriseTag'])) {
  222. $ecr['newEnterpriseTagName'] = $talentTypeList[$ecr['newEnterpriseTag']];
  223. }
  224. }
  225. if (\StrUtil::isNotEmpAndNull($ecr['oldIndustryFieldNew']) || \StrUtil::isNotEmpAndNull($ecr['newIndustryFieldNew'])) {
  226. $industryFieldNewList = DictApi::selectByParentCode("industry_field");
  227. if (\StrUtil::isNotEmpAndNull($ecr['oldIndustryFieldNew'])) {
  228. $ecr['oldIndustryFieldNewName'] = $industryFieldNewList[$ecr['oldIndustryFieldNew']];
  229. }
  230. if (\StrUtil::isNotEmpAndNull($ecr['newIndustryFieldNew'])) {
  231. $ecr['newIndustryFieldNewName'] = $industryFieldNewList[$ecr['newIndustryFieldNew']];
  232. }
  233. }
  234. if (\StrUtil::isNotEmpAndNull($ecr['oldIndustryFieldOld'])) {
  235. $industry = DictApi::findDictByCode($ecr['oldIndustryFieldOld']);
  236. $ecr['oldIndustryFieldOldName'] = $industry['name'];
  237. }
  238. if (\StrUtil::isNotEmpAndNull($ecr['newIndustryFieldOld'])) {
  239. $industry = DictApi::findDictByCode($ecr['newIndustryFieldOld']);
  240. $ecr['newIndustryFieldOldName'] = $industry['name'];
  241. }
  242. if (\StrUtil::isNotEmpAndNull($ecr['oldEnterpriseType'])) {
  243. $industry = DictApi::findDictByCode($ecr['oldEnterpriseType']);
  244. $ecr['oldEnterpriseTypeName'] = $industry['name'];
  245. }
  246. if (\StrUtil::isNotEmpAndNull($ecr['newEnterpriseType'])) {
  247. $industry = DictApi::findDictByCode($ecr['newEnterpriseType']);
  248. $ecr['newEnterpriseTypeName'] = $industry['name'];
  249. }
  250. return view("", ['ecr' => $ecr]);
  251. break;
  252. case 1:
  253. return view("", ['ecr' => $ecr]);
  254. break;
  255. default:
  256. break;
  257. }
  258. }
  259. public function gotoEnterpriseChangeExaminePage() {
  260. $id = trim($this->request['id']);
  261. if (!$id) {
  262. return json(["msg" => 'ID不能为空!']);
  263. }
  264. $ecr = EnterpriseApi::getOneRecord($id);
  265. $ep = EnterpriseApi::getOne($ecr['mainId']);
  266. if ($ep->special == 0) {
  267. if ($ep->type == 1) {
  268. $fields = ["Name" => "企业名称", "IdCard" => "统一社会信用代码", "Legal" => "法人代表", "Address" => "企业地址", "Street" => "所属街道", "Ephone" => "企业电话", "BankCard" => "企业银行账号", "Bank" => "企业开户银行", "BankNetwork" => "企业开户银行网点",
  269. "IndustryFieldNew" => "产业领域", "IndustryFieldOld" => "行业领域", "EnterpriseTag" => "企业标签", "EnterpriseType" => "企业类型",
  270. "AgentName" => "人才联络员姓名", "AgentPhone" => "人才联络员电话", "AgentEmail" => "人才联络员邮箱"];
  271. $files = ["newImgurl" => "企业营业执照", "newBankImg" => "开户许可证", "newDomainImg" => "行业领域佐证材料", "newBeian" => "人才联络员信息备案表", "newTypeImg" => "规上、高新技术、专精特新企业上传材料"];
  272. } else {
  273. $fields = ["Name" => "企业名称", "IdCard" => "统一社会信用代码", "Legal" => "法人代表", "Address" => "企业地址", "Street" => "所属街道", "Ephone" => "企业电话", "BankCard" => "企业银行账号", "Bank" => "企业开户银行", "BankNetwork" => "企业开户银行网点",
  274. "AgentName" => "人才联络员姓名", "AgentPhone" => "人才联络员电话", "AgentEmail" => "人才联络员邮箱"];
  275. $files = ["newImgurl" => "企业营业执照", "newBankImg" => "开户许可证", "newBeian" => "人才联络员备案表"];
  276. }
  277. } else {
  278. $fields = ["Name" => "单位名称", "IdCard" => "统一社会信用代码", "Legal" => "法人代表", "Address" => "单位地址", "Street" => "所属街道", "Ephone" => "单位电话", "BankCard" => "单位银行账号", "Bank" => "单位开户银行", "BankNetwork" => "单位开户银行网点",
  279. "AgentName" => "人才联络员姓名", "AgentPhone" => "人才联络员电话", "AgentEmail" => "人才联络员邮箱"];
  280. $files = ["newImgurl" => "法人证或批文", "newBankImg" => "开户许可证", "newBeian" => "人才联络员备案表"];
  281. }
  282. $modify_fields = [];
  283. foreach ($fields as $key => $value) {
  284. $oldFieldName = "old" . $key;
  285. $newFieldName = "new" . $key;
  286. //if ($ecr[$oldFieldName] != $ecr[$newFieldName]) {
  287. $modify_fields[$newFieldName] = ["field" => $newFieldName, "name" => $value, "checked" => false];
  288. //}
  289. }
  290. if ($ecr["modify_fields"]) {
  291. $_modify_fields = explode(",", $ecr["modify_fields"]);
  292. foreach ($_modify_fields as $_field) {
  293. if ($modify_fields[$_field]) {
  294. $modify_fields[$_field]["checked"] = true;
  295. } else {
  296. $modify_fields[$_field] = ["field" => $_field, "name" => $fields[substr($_field, 3)], "checked" => true];
  297. }
  298. }
  299. }
  300. /* $currencyType = $ep["special"] == 0 ? "enterpriseChange" : "governmentChange";
  301. $where = [];
  302. $where[] = ["type", "=", $currencyType];
  303. $where[] = ["active", "=", 1];
  304. $fileTypes = \app\admin\model\CurrencyFiletype::where($where)->order("sn asc")->column("name", "id");
  305. $where = [];
  306. $where[] = ['mainId', '=', $id];
  307. $uploadTypeIds = TalentCommonFile::distinct(true)->field("typeId")->where($where)->column("typeId"); */
  308. $oldtypes = ["1161965644164075522" => "newImgurl", "1518753449987148467" => "newImgurl", "1518328155588131269" => "newBankImg", "1518926324960220206" => "newBankImg",
  309. "1518941016720463523" => "newDomainImg", "1519109971871948101" => "newBeian", "1519185486755815382" => "newBeian"];
  310. $modify_files = [];
  311. foreach ($files as $key => $value) {
  312. $modify_files[$key] = ["field" => $key, "name" => $value, "checked" => false];
  313. }
  314. if ($ecr["modify_files"]) {
  315. $_modify_files = explode(",", $ecr["modify_files"]);
  316. foreach ($_modify_files as $_file) {
  317. if ($modify_files[$_file]) {
  318. $modify_files[$_file]["checked"] = true;
  319. } else {
  320. if (strtotime($ecr["createTime"]) < strtotime($this->compatible_time)) {
  321. //兼容旧的typeid
  322. $_file = $oldtypes[$_file];
  323. }
  324. $modify_files[$_file] = ["field" => $_file, "name" => $files[$_file], "checked" => true];
  325. }
  326. }
  327. }
  328. return view("", ['ecr' => $ecr, 'fields' => $modify_fields, "files" => $modify_files]);
  329. }
  330. public function doExamine() {
  331. $id = trim($this->request['id']);
  332. if (!$id) {
  333. return json(["msg" => 'ID不能为空!', 'code' => 500]);
  334. }
  335. $ecr = EnterpriseApi::getOneRecord($id);
  336. if (!$ecr) {
  337. return json(["msg" => '原始数据不存在!', 'code' => 500]);
  338. }
  339. $checkState = trim($this->request['checkState']);
  340. $files = $this->request["files"];
  341. $fields = $this->request["fields"];
  342. if ($checkState == null || ($checkState != 4 && $checkState != 3)) {
  343. return json(["msg" => '请选择审核状态!', 'code' => 500]);
  344. }
  345. $checkMsg = trim($this->request['checkMsg']);
  346. //如果审核状态为 审核驳回, 需要填写审核意见
  347. if ($checkState == 3 && \StrUtil::isEmpOrNull($checkMsg)) {
  348. return json(["msg" => '审核驳回时,需要填写审核意见!', 'code' => 500]);
  349. }
  350. if ($checkState == 3 && !$files && !$fields) {
  351. return json(["msg" => '审核驳回时,需要选择可修改的字段或者附件!', 'code' => 500]);
  352. }
  353. if (\StrUtil::isNotEmpAndNull($checkMsg) && strlen($checkMsg) > 200) {
  354. return json(["msg" => '审核意见最多200个字符!', 'code' => 500]);
  355. }
  356. if ($ecr['checkState'] != 2 && $ecr['checkState'] != 3 && $ecr['checkState'] != 5) {
  357. return json(["msg" => '不在审核范围内!', 'code' => 500]);
  358. }
  359. //如果为审核驳回,更新表中的审核状态 和 审核意见, 直接返回结果
  360. if ($checkState == 3) {
  361. $ecr->checkState = 3;
  362. $ecr->checkMsg = $checkMsg;
  363. $ecr->updateUser = session('user')['uid'];
  364. $ecr->updateTime = date("Y-m-d H:i:s");
  365. $ecr->modify_fields = $fields ? implode(",", $fields) : null;
  366. $ecr->modify_files = $files ? implode(",", $files) : null;
  367. $ecr->save();
  368. //发送短信
  369. $record_data = [
  370. 'id' => getStringId(),
  371. 'bizId' => getStringId(),
  372. 'userId' => $ecr['mainId'],
  373. 'type' => 2,
  374. 'smsType' => 2,
  375. 'name' => $ecr['newName'],
  376. 'phone' => $ecr['newAgentPhone'],
  377. 'templateCode' => "【晋江市人才服务平台】您好!您提交申请的优秀人才{$checkMsg}因信息填写错误或上传不完整已被退回,请及时登录申报系统查看审核意见并重新提交。",
  378. 'params' => '机构信息变更',
  379. 'state' => 1,
  380. 'sendingDate' => date("Y-m-d H:i:s", time()),
  381. 'createTime' => date("Y-m-d H:i:s", time())
  382. ];
  383. $smsapi = new ChuanglanSmsApi();
  384. $result = $smsapi->sendSMS($ecr['newAgentPhone'], $record_data['templateCode']);
  385. MessageRecord::create($record_data);
  386. $company = CompanyApi::getOne(session('user')['companyId']);
  387. TalentChecklog::create([
  388. 'id' => getStringId(),
  389. 'category' => 'enterprise_change',
  390. 'mainId' => $ecr['id'],
  391. 'type' => 10,
  392. 'typeField' => null,
  393. 'active' => 1,
  394. 'state' => 3,
  395. 'step' => 101,
  396. 'stateChange' => "<span class='label label-info'>审核驳回</span>",
  397. 'description' => $checkMsg,
  398. 'createTime' => date("Y-m-d H:i:s", time()),
  399. 'createUser' => session('user')['name'] . "({$company['name']})"
  400. ]);
  401. return json(["msg" => '操作成功!', "code" => 200]);
  402. } else {
  403. $ecr->checkState = 4;
  404. $ecr->checkMsg = $checkMsg;
  405. $ecr->updateUser = session('user')['uid'];
  406. $ecr->updateTime = date("Y-m-d H:i:s");
  407. $ecr->modify_fields = null;
  408. $ecr->modify_files = null;
  409. $ecr->save();
  410. $ep = EnterpriseApi::getOne($ecr['mainId']);
  411. $ep->name = $ecr['newName'];
  412. $ep->idCard = $ecr['newIdCard'];
  413. $ep->enterpriseTag = $ecr['newEnterpriseTag'];
  414. $ep->street = $ecr['newStreet'];
  415. $ep->address = $ecr['newAddress'];
  416. $ep->legal = $ecr['newLegal'];
  417. $ep->ephone = $ecr['newEphone'];
  418. $ep->agentName = $ecr['newAgentName'];
  419. $ep->agentEmail = $ecr['newAgentEmail'];
  420. $ep->agentPhone = $ecr['newAgentPhone'];
  421. $ep->industryFieldNew = $ecr['newIndustryFieldNew'];
  422. $ep->industryFieldOld = $ecr['newIndustryFieldOld'];
  423. $ep->enterpriseType = $ecr['newEnterpriseType'];
  424. $ep->bankCard = $ecr['newBankCard'];
  425. $ep->bankNetwork = $ecr['newBankNetwork'];
  426. $ep->bank = $ecr['newBank'];
  427. $ep->updateUser = session('user')['uid'];
  428. $ep->updateTime = date("Y-m-d H:i:s");
  429. $ep->imgurl = $ecr['newImgurl'] ?: $ep->imgurl;
  430. $ep->bankImg = $ecr['newBankImg'] ?: $ep->bankImg;
  431. $ep->domainImg = $ecr['newDomainImg'] ?: $ep->domainImg;
  432. $ep->typeImg = $ecr['newTypeImg'];
  433. $ep->beian = $ecr['newBeian'] ?: $ep->beian;
  434. //查询此次上传的文件
  435. /* $list = TalentCommonFile::where('mainId', $ecr['id'])->select()->toArray();
  436. if (count($list) > 0) {
  437. foreach ($list as $k => $v) {
  438. $fileInfo = CurrentcyFileType::where('id', $v['typeId'])->select()->toArray();
  439. if (count($fileInfo) > 0) {
  440. foreach ($fileInfo as $item) {
  441. switch ($item['api']) {
  442. case 'businessLicense':
  443. $ep->imgurl = $v['url'];
  444. break;
  445. case 'businessBank':
  446. $ep->bankImg = $v['url'];
  447. break;
  448. case 'businessDomain':
  449. $ep->domainImg = $v['url'];
  450. break;
  451. case 'businessBeian':
  452. $ep->beian = $v['url'];
  453. break;
  454. }
  455. }
  456. }
  457. }
  458. } */
  459. //同步人才库与津贴库 TODO
  460. $ep->save();
  461. //发送短信
  462. $record_data = [
  463. 'id' => getStringId(),
  464. 'bizId' => getStringId(),
  465. 'userId' => $ecr['mainId'],
  466. 'type' => 2,
  467. 'smsType' => 2,
  468. 'name' => $ecr['newName'],
  469. 'phone' => $ecr['newAgentPhone'],
  470. 'templateCode' => "【晋江市人才服务平台】您好!您提交申请的优秀人才{$checkMsg}已审核通过,可登录申报系统做相关事宜申报。",
  471. 'params' => '机构信息变更',
  472. 'state' => 1,
  473. 'sendingDate' => date("Y-m-d H:i:s", time()),
  474. 'createTime' => date("Y-m-d H:i:s", time())
  475. ];
  476. $smsapi = new ChuanglanSmsApi();
  477. $result = $smsapi->sendSMS($ecr['newAgentPhone'], $record_data['templateCode']);
  478. MessageRecord::create($record_data);
  479. $company = CompanyApi::getOne(session('user')['companyId']);
  480. TalentChecklog::create([
  481. 'id' => getStringId(),
  482. 'category' => 'enterprise_change',
  483. 'mainId' => $ecr['id'],
  484. 'type' => 10,
  485. 'typeField' => null,
  486. 'active' => 1,
  487. 'state' => 4,
  488. 'step' => 101,
  489. 'stateChange' => "<span class='label label-info'>审核通过</span>",
  490. 'description' => $checkMsg,
  491. 'createTime' => date("Y-m-d H:i:s", time()),
  492. 'createUser' => session('user')['name'] . "({$company['name']})"
  493. ]);
  494. return json(["msg" => '操作成功!', "code" => 200]);
  495. }
  496. }
  497. }