DictApi.php 27 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659660661662663664665666667668669670671672673674675676677678679680681682683684685686687688689690691
  1. <?php
  2. namespace app\common\api;
  3. use app\common\model\Dict;
  4. use think\Facade\Db;
  5. use app\common\state\CommonConst;
  6. /**
  7. * Description of DictApi
  8. *
  9. * @author sgq
  10. */
  11. class DictApi {
  12. public static function create($params) {
  13. $data["code"] = $params["dictCode"];
  14. $data["name"] = $params["dictName"];
  15. $data["tips"] = $params["dictTips"];
  16. $data["pid"] = 0;
  17. $values = $params["dictValues"];
  18. if (self::isExistByCode($data["code"]))
  19. return ["msg" => sprintf("编码[%s]已经存在", $data["code"])];
  20. $items = array_filter(explode(";", $values));
  21. $id = Dict::insertGetId($data);
  22. $childs = [];
  23. for ($i = 0; $i < count($items); $i++) {
  24. $fields = array_filter(explode(":", $items[$i]));
  25. $childs[] = ["pid" => $id, "code" => $fields[0], "name" => $fields[1], "num" => $fields[2]];
  26. }
  27. Dict::insertAll($childs);
  28. return ["code" => 200, "msg" => "成功"];
  29. }
  30. public static function update($params) {
  31. $data["id"] = $params["dictId"];
  32. $data["code"] = $params["dictCode"];
  33. $data["name"] = $params["dictName"];
  34. $data["tips"] = $params["dictTips"];
  35. $data["pid"] = 0;
  36. $values = $params["dictValues"];
  37. if (self::isExistByCode($data["code"], $params["dictId"]))
  38. return ["msg" => sprintf("编码[%s]已经存在", $data["code"])];
  39. $items = array_filter(explode(";", $values));
  40. Dict::update($data);
  41. //删除原来的子项
  42. Dict::where(["pid" => $params["dictId"]])->delete();
  43. $childs = [];
  44. for ($i = 0; $i < count($items); $i++) {
  45. $fields = array_filter(explode(":", $items[$i]));
  46. $childs[] = ["pid" => $params["dictId"], "code" => $fields[0], "name" => $fields[1], "num" => $fields[2]];
  47. }
  48. Dict::insertAll($childs);
  49. return ["code" => 200, "msg" => "成功"];
  50. }
  51. public static function delete($id) {
  52. Dict::where(["id" => $id])->delete();
  53. Dict::where(["pid" => $id])->delete();
  54. return ["code" => 200, "msg" => "成功"];
  55. }
  56. public static function isExistByCode($code, $id = 0) {
  57. $where = [];
  58. if ($id > 0) {
  59. $where[] = ["id", "<>", $id];
  60. }
  61. $where[] = ["code", "=", $code];
  62. $dict = Dict::where($where)->findOrEmpty()->toArray();
  63. return $dict;
  64. }
  65. /**
  66. * 获取一条
  67. * @param type $id
  68. * @return type
  69. */
  70. public static function getOne($id) {
  71. $info = Dict::where("id", $id)->findOrEmpty()->toArray();
  72. if ($info) {
  73. $items = Dict::where("pid", "=", $id)->order("num asc")->select()->toArray();
  74. $info["children"] = $items;
  75. }
  76. return $info;
  77. }
  78. /**
  79. * 获取列表
  80. * @param type $request
  81. * @return type
  82. */
  83. public static function getList($request) {
  84. $order = trim($request->param("order")) ?: "desc";
  85. $offset = trim($request->param("offset")) ?: 0;
  86. $limit = trim($request->param("limit")) ?: 10;
  87. $name = trim($request->param("condition"));
  88. $where = [];
  89. $where[] = ["pid", "=", "0"];
  90. if ($name) {
  91. $where[] = ["name", "like", "%" . $name . "%"];
  92. }
  93. $count = Dict::where($where)->count();
  94. $list = Dict::where($where)->limit($offset, $limit)->order("id " . $order)->select()->toArray();
  95. foreach ($list as &$item) {
  96. $items = Dict::where("pid", "=", $item["id"])->column("name");
  97. $item["detail"] = implode(",", $items);
  98. }
  99. return ["total" => $count, "rows" => $list];
  100. }
  101. /**
  102. *
  103. * @param type $code
  104. * @return type
  105. */
  106. public static function selectByParentCode($code) {
  107. $parent = Dict::where("code", $code)->findOrEmpty()->toArray();
  108. $dictList = Dict::where("pid", $parent["id"])->select()->toArray();
  109. $tmp = [];
  110. foreach ($dictList as $dict) {
  111. $tmp[$dict["code"]] = $dict["name"];
  112. }
  113. return $tmp;
  114. }
  115. /**
  116. *
  117. * @param type $code
  118. * @return type
  119. */
  120. public static function findChildDictByCode($code) {
  121. $parent = Dict::where("code", $code)->findOrEmpty()->toArray();
  122. $dictList = Dict::where("pid", $parent["id"])->select()->toArray();
  123. return $dictList;
  124. }
  125. public static function findDictByCode($code) {
  126. $dict = Dict::where("code", $code)->findOrEmpty();
  127. return $dict;
  128. }
  129. public static function getIntegralFields() {
  130. return [
  131. "name" => "姓名",
  132. "card_type" => "证件类型",
  133. "card_number" => "证件号码",
  134. "phone" => "手机号码",
  135. "email" => "电子邮箱",
  136. "shareholder" => "是否股东"
  137. ];
  138. }
  139. public static function getTalentFields($step, $isImport = 0) {
  140. $dict1 = [
  141. "name" => "姓名",
  142. "nation" => "民族",
  143. "headimgurl" => "头像",
  144. "card_type" => "证件类型",
  145. "card_number" => "证件号码",
  146. "sex" => "性别",
  147. "birthday" => "出生日期",
  148. "politics" => "政治面貌",
  149. "nationality" => "国籍/地区",
  150. "province" => "籍贯省",
  151. "city" => "籍贯市",
  152. "county" => "籍贯县",
  153. "talent_type" => "人才类型",
  154. "fst_work_time" => "来晋工作时间",
  155. "tax_insurance_month" => "在我市缴交社会保险或个人所得税月份",
  156. "labor_contract_rangetime" => "劳动合同起止时间",
  157. "salary_pay_way" => "工资发放渠道",
  158. "salary_pay_month" => "工资发放月份",
  159. "pre_import_type" => "预引进类型",
  160. "return" => "流出晋江满3年后又返回晋江的",
  161. "import_way" => "引进方式",
  162. "cur_entry_time" => "本单位入职时间",
  163. "position" => "本单位现任职务",
  164. "experience" => "工作简历",
  165. "education" => "教育背景",
  166. ];
  167. $dict2 = [
  168. "apply_year" => "申报年度",
  169. "phone" => "手机号码",
  170. "email" => "电子邮箱",
  171. "highest_degree" => "最高学历",
  172. "graduate_school" => "毕业院校",
  173. "major" => "专业",
  174. "study_abroad" => "是否有留学经历",
  175. "abroad_school" => "留学毕业院校",
  176. "abroad_major" => "留学专业",
  177. "pro_qua" => "职业资格",
  178. "professional" => "专业技术职称",
  179. ];
  180. if ($isImport) {
  181. $dict2["isMatchZhiren"] = "是否符合直认条件";
  182. }
  183. $dict2_ = [
  184. "source" => "申报来源",
  185. "source_city" => "入选来源地级市",
  186. "source_county" => "入选来源县市区",
  187. "talent_arrange" => "人才层次",
  188. "talent_arrange_category" => "人才条款",
  189. "talent_condition" => "认定条件",
  190. "identifyGetTime" => "认定条件取得时间",
  191. "annual_salary" => "上一年度年薪(元)",
  192. "bank" => "开户银行",
  193. "bank_number" => "银行行号",
  194. "bank_branch_name" => "开户银行网点",
  195. "bank_account" => "个人银行账号"
  196. //"source_batch" => "入选名单的文件号及批次",
  197. //"fujian_highcert_pubtime" => "福建省高层次人才证书发证日期",
  198. //"fujian_highcert_exptime" => "福建省高层次人才证书有效期",
  199. //"quanzhou_highcert_pubtime" => "泉州高层次人才证书发证日期",
  200. //"quanzhou_highcert_exptime" => "泉州高层次人才证书有效期",
  201. ];
  202. $dict2 = array_merge($dict2, $dict2_);
  203. if ($step == 1) {
  204. return $dict1;
  205. }
  206. if ($step == 2) {
  207. return $dict2;
  208. }
  209. if ($step == 3) {
  210. return null;
  211. }
  212. return array_merge($dict1, $dict2);
  213. }
  214. public static function getTalentFields_IC() {
  215. $dict = [
  216. "name" => "姓名",
  217. "card_type" => "证件类型",
  218. "card_number" => "证件号码",
  219. "sex" => "性别",
  220. "birthday" => "出生日期",
  221. "nationality" => "国籍/地区",
  222. "province" => "籍贯省",
  223. "city" => "籍贯市",
  224. "county" => "籍贯县",
  225. "nation" => "民族",
  226. "politics" => "政治面貌",
  227. "break_faith" => "是否曾被相关主管部门列为失信个人",
  228. "phone" => "手机号码",
  229. "email" => "电子邮箱",
  230. "highest_degree" => "最高学历",
  231. "graduate_school" => "毕业院校",
  232. "major" => "专业",
  233. "study_abroad" => "是否有留学经历",
  234. "position" => "职务",
  235. "cur_entry_time" => "入职时间",
  236. "labor_contract_rangetime" => "工作合同起止时间",
  237. "talent_arrange" => "人才层次",
  238. "talent_condition" => "认定条件",
  239. "identifyConditionName" => "认定条件名称",
  240. "identifyGetTime" => "认定条件取得时间",
  241. "title" => "职称",
  242. "pro_qua" => "国家职业资格",
  243. "bank" => "开户银行",
  244. "bank_branch_name" => "开户银行网点",
  245. "bank_account" => "银行账号",
  246. "education" => "教育背景及工作简历",
  247. "experience" => "主要业绩及取得的荣誉",
  248. "description" => "备注",
  249. "headimgurl" => "头像"
  250. ];
  251. return $dict;
  252. }
  253. public static function getTalentFields_WJ() {
  254. $dict = [
  255. "name" => "姓名",
  256. "sex" => "性别",
  257. "nation" => "民族",
  258. "politics" => "政治面貌",
  259. "card_type" => "证件类型",
  260. "card_number" => "证件号码",
  261. "birthday" => "出生日期",
  262. "talent_type" => "人才类型",
  263. "highest_degree" => "最高学历",
  264. "graduate_school" => "毕业院校",
  265. "major" => "专业",
  266. "study_abroad" => "是否有留学经历",
  267. "abroad_school" => "留学毕业院校",
  268. "abroad_major" => "留学专业",
  269. "position" => "职务",
  270. "cur_entry_time" => "入职时间",
  271. "labor_contract_rangetime" => "工作合同起止时间",
  272. "title" => "职称",
  273. "fst_city_work_time" => "来泉工作时间",
  274. "is_fujian_talent" => "是否认定福建省或泉州市高层次人才",
  275. "is_jinjiang_talent" => "是否符合晋江人才认定标准",
  276. "talent_arrange" => "人才层次",
  277. "talent_condition" => "认定条件",
  278. "phone" => "手机号码",
  279. "email" => "电子邮箱",
  280. "bank" => "开户银行",
  281. "bank_account" => "银行账号",
  282. "bank_number" => "银行行号",
  283. "bank_branch_name" => "开户银行网点",
  284. "education" => "教育背景及工作简历",
  285. "experience" => "主要业绩及取得的荣誉",
  286. "headimgurl" => "头像"
  287. ];
  288. return $dict;
  289. }
  290. public static function getTalentFields_GJ() {
  291. $dict = [
  292. "name" => "姓名",
  293. "nation" => "民族",
  294. "card_type" => "证件类型",
  295. "card_number" => "证件号码",
  296. "sex" => "性别",
  297. "birthday" => "出生日期",
  298. "politics" => "政治面貌",
  299. "nationality" => "国籍/地区",
  300. "province" => "籍贯省",
  301. "city" => "籍贯市",
  302. "county" => "籍贯县",
  303. "talent_type" => "人才类型",
  304. "position" => "职务",
  305. "cur_entry_time" => "入职时间",
  306. "labor_contract_rangetime" => "工作合同起止时间",
  307. "highest_degree" => "最高学历",
  308. "graduate_school" => "毕业院校",
  309. "major" => "专业",
  310. "study_abroad" => "是否有留学经历",
  311. "abroad_school" => "留学院校",
  312. "abroad_major" => "留学专业",
  313. "title" => "职称",
  314. "pro_qua" => "职业资格",
  315. "phone" => "手机号码",
  316. "email" => "电子邮箱",
  317. "is_fujian_talent" => "是否认定福建省或泉州市高层次人才",
  318. "is_jinjiang_talent" => "是否符合晋江人才认定标准",
  319. "talent_arrange" => "人才层次",
  320. "talent_arrange_category" => "人才条款",
  321. "talent_condition" => "认定条件",
  322. "identifyGetTime" => "认定条件取得时间",
  323. "bank" => "开户银行",
  324. "bank_account" => "银行账号",
  325. "bank_number" => "银行行号",
  326. "bank_branch_name" => "开户银行网点",
  327. "education" => "教育背景及工作简历",
  328. "experience" => "主要业绩及取得的荣誉",
  329. "headimgurl" => "头像"
  330. ];
  331. return $dict;
  332. }
  333. public static function getTalentTypeChangeFields($type) {
  334. $fields = [];
  335. switch ($type) {
  336. case CommonConst::ENTERPRISE_NORMAL:
  337. $fields = [
  338. "newSource" => "新申报来源",
  339. "newSourceCity" => "新入选来源地级市",
  340. "newSourceCounty" => "新入选来源县市区",
  341. "newTalentArrange" => "新人才层次",
  342. "newIdentifyConditionCategory" => "新人才条款",
  343. "newIdentifyCondition" => "新认定条件",
  344. "newIdentifyGetTime" => "新认定条件证书取得时间",
  345. "newAnnualSalary" => "新年薪",
  346. "newIntroductionMode" => "新引进方式"
  347. ];
  348. break;
  349. case CommonConst::ENTERPRISE_JC:
  350. $fields = [
  351. "newTalentArrange" => "新人才层次",
  352. "newIdentifyCondition" => "新认定条件",
  353. "newIdentifyConditionName" => "新认定条件名称",
  354. "newIdentifyGetTime" => "新认定条件证书取得时间",
  355. ];
  356. break;
  357. case CommonConst::ENTERPRISE_WJ:
  358. $fields = [
  359. "newTalentArrange" => "新人才层次",
  360. "newIdentifyCondition" => "新认定条件",
  361. "newIdentifyGetTime" => "新认定条件证书取得时间",
  362. "newAnnualSalary" => "新年薪",
  363. ];
  364. break;
  365. case CommonConst::ENTERPRISE_GJ:
  366. $fields = [
  367. "newTalentArrange" => "新人才层次",
  368. "newIdentifyConditionCategory" => "新人才条款",
  369. "newIdentifyCondition" => "新认定条件",
  370. "newIdentifyGetTime" => "新认定条件证书取得时间",
  371. "newAnnualSalary" => "新年薪",
  372. ];
  373. break;
  374. }
  375. return $fields;
  376. }
  377. // 1保存未提交 2已提交未审核 3已审核 4驳回 5保存补充材料未提交 6提交补充材料进入初审 7初审通过 8初审驳回 9部门审核通过 10部门审核驳回 11复核通过 12复核驳回 13复核失败
  378. public static function getCheckLogStepName($state, $step) {
  379. $stepName = "";
  380. switch ($state) {
  381. case -1:
  382. case 3:
  383. case 4:
  384. $stepName = '<span class="label label-primary">总院审核</span>';
  385. break;
  386. case 5:
  387. case 6:
  388. case 7:
  389. $stepName = '<span class="label label-primary">基础信息复审</span>';
  390. break;
  391. case -2:
  392. case 10:
  393. case 11:
  394. if ($step == 3) {
  395. $stepName = '<span class="label label-primary">部门审核</span>';
  396. } else {
  397. $stepName = '<span class="label label-primary">初级审核</span>';
  398. }
  399. break;
  400. case 12:
  401. case 13:
  402. $stepName = '<span class="label label-primary">部门审核</span>';
  403. break;
  404. case -14:
  405. case 14:
  406. case 15:
  407. $stepName = '<span class="label label-info">复核</span>';
  408. break;
  409. case 16:
  410. $stepName = '<span class="label label-danger">审核不通过</span>';
  411. break;
  412. case 21:
  413. case 22:
  414. $stepName = '<span class="label label-info">核查征信</span>';
  415. break;
  416. case 23:
  417. case 24:
  418. case 25:
  419. $stepName = '<span class="label label-info">公示</span>';
  420. break;
  421. case 26:
  422. case 27:
  423. $stepName = '<span class="label label-info">公布</span>';
  424. break;
  425. case 28:
  426. $stepName = '<span class="label label-inverse">发放人才码</span>';
  427. break;
  428. default:
  429. switch ($step) {
  430. case 60:
  431. $stepName = '<span class="label">取消优秀人才</span>';
  432. break;
  433. case 65:
  434. $stepName = '<span class="label">恢复优秀人才</span>';
  435. break;
  436. default:
  437. $stepName = '<span class="label">用户操作</span>';
  438. break;
  439. }
  440. break;
  441. }
  442. return $stepName;
  443. }
  444. public static function getTalentInfoStateName($state, $step = 0, $last_state = 0) {
  445. $str = "";
  446. switch ($state) {
  447. case -14:
  448. $str = '<span class="label label-success">待复审</span>';
  449. break;
  450. case -2:
  451. $str = '<span class="label label-danger">初审失败</span>';
  452. break;
  453. case -1:
  454. $str = '<span class="label label-danger">基础信息审核失败</span>';
  455. break;
  456. case 1:
  457. if ($last_state > $state) {
  458. $str = '<span class="label label-danger">驳回到分院</span>';
  459. } else {
  460. $str = '<span class="label">待提交总院</span>';
  461. }
  462. break;
  463. case 2:
  464. /* if ($last_state > $state) {
  465. $str = '<span class="label label-success">待重审</span>';
  466. } else */
  467. if ($last_state == 3) {
  468. $str = '<span class="label label-danger">基础信息复审驳回</span>';
  469. } else {
  470. $str = '<span class="label label-success">待总院审核</span>';
  471. }
  472. break;
  473. case 3:
  474. $str = '<span class="label label-primary">总院审核通过</span>';
  475. break;
  476. case 4:
  477. $str = '<span class="label">再提交总院</span>';
  478. break;
  479. case 5:
  480. $str = '<span class="label label-primary">基础信息复审通过</span>';
  481. break;
  482. case 6:
  483. $str = '<span class="label label-danger">基础信息复审驳回</span>';
  484. break;
  485. case 7:
  486. $str = '<span class="label label-danger">基础信息复审失败</span>';
  487. break;
  488. case 8:
  489. if ($last_state > $state) {
  490. $str = '<span class="label label-danger">初审驳回</span>';
  491. } else {
  492. $str = '<span class="label">待提交认定材料</span>';
  493. }
  494. break;
  495. case 9:
  496. if ($step == 3) {
  497. $str = '<span class="label label-danger">部门驳回</span>';
  498. } else {
  499. if ($last_state == TalentState::FST_VERIFY_REJECT) {
  500. $str = '<span class="label label-success">待重审</span>';
  501. } else if ($last_state == TalentState::DEPT_VERIFY_REJECT) {
  502. $str = '<span class="label label-danger">部门驳回</span>';
  503. } else if ($last_state == TalentState::REVERIFY_REJECT) {
  504. $str = '<span class="label label-danger">复核驳回</span>';
  505. } else {
  506. $str = '<span class="label label-success">待初审</span>';
  507. }
  508. }
  509. break;
  510. case 10:
  511. if ($step == 3) {
  512. $str = '<span class="label label-success">待部门审核</span>';
  513. } else {
  514. $str = '<span class="label label-success">待复审</span>';
  515. }
  516. break;
  517. case 11:
  518. $str = '<span class="label">再提交认定材料</span>';
  519. break;
  520. case 12:
  521. if ($step == 3) {
  522. $str = '<span class="label label-primary">部门通过</span>';
  523. } else {
  524. $str = '<span class="label label-success">待复审</span>';
  525. }
  526. break;
  527. case 13:
  528. if ($step == 3) {
  529. $str = '<span class="label label-danger">部门驳回</span>';
  530. } else {
  531. $str = '<span class="label label-success">待初审</span>';
  532. }
  533. break;
  534. case 14:
  535. $str = '<span class="label label-success">待核查征信</span>';
  536. break;
  537. case 15:
  538. $str = '<span class="label label-danger">待重新审核</span>';
  539. break;
  540. case 16:
  541. $str = '<span class="label label-danger">复核不通过</span>';
  542. break;
  543. case 22:
  544. $str = '<span class="label label-danger">征信不通过</span>';
  545. break;
  546. case 25:
  547. $str = '<span class="label label-danger">公示审核不通过</span>';
  548. break;
  549. case 27:
  550. $str = '<span class="label label-danger">公布不通过</span>';
  551. break;
  552. case 21:
  553. $str = '<span class="label label-success">待公示</span>';
  554. break;
  555. case 23:
  556. $str = '<span class="label label-success">待公示审核</span>';
  557. break;
  558. case 24:
  559. $str = '<span class="label label-success">待公布</span>';
  560. break;
  561. case 26:
  562. $str = '<span class="label label-success">待发放人才码</span>';
  563. break;
  564. case 28:
  565. $str = '<span class="label label-primary">已发放人才码</span>';
  566. break;
  567. }
  568. return $str;
  569. }
  570. public static function getOldStateNameByState($state) {
  571. switch ($state) {
  572. case -2:
  573. return "<span class='label label-success'>待提交</span>";
  574. case -1:
  575. return "<span class='label label-success'>审核不通过</span>";
  576. case 1:
  577. return "<span class='label label-success'>待审核</span>";
  578. case 2:
  579. return "<span class='label label-danger'>审核驳回</span>";
  580. case 3:
  581. return "<span class='label label-primary'>审核通过</span>";
  582. case 4:
  583. return "<span class='label label-warm'>上级驳回</span>";
  584. case 10:
  585. return "<span class='label label-default'>冻结</span>";
  586. case 8:
  587. return "<span class='label label-primary'>提交审核</span>";
  588. case 11:
  589. return "<span class='label label-primary'>撤销审核</span>";
  590. case 9:
  591. return "<span class='label label-primary'>重新提交</span>";
  592. default:
  593. return "";
  594. }
  595. }
  596. public static function getOldStepNameByStep($step) {
  597. switch ($step) {
  598. case -1:
  599. return "<span class='label label-primary'>部门初审</span>";
  600. case 0:
  601. return "<span class='label'>用户操作</span>";
  602. case 1:
  603. return "<span class='label label-primary'>初级审核</span>";
  604. case 2:
  605. return "<span class='label label-success'>部门审核</span>";
  606. case 3:
  607. return "<span class='label label-danger'>复核</span>";
  608. case 4:
  609. return "<span class='label label-warning'>核查征信</span>";
  610. case 5:
  611. return "<span class='label label-warning'>公示</span>";
  612. case 6:
  613. return "<span class='label label-success'>公示再审核</span>";
  614. case 7:
  615. return "<span class='label label-warning'>公布</span>";
  616. case 8:
  617. return "<span class='label label-info'>发证</span>";
  618. case 11:
  619. return "<span class='label label-danger'>审核</span>";
  620. case 12:
  621. return "<span class='label label-primary'>撤回审核</span>";
  622. case 20:
  623. return "<span class='label label-success'>人才层次变更</span>";
  624. case 21:
  625. return "<span class='label label-success'>工作单位变更</span>";
  626. case 22:
  627. return "<span class='label label-success'>离职变更</span>";
  628. case 23:
  629. return "<span class='label label-success'>银行账号变更</span>";
  630. case 24:
  631. return "<span class='label label-success'>基础信息变更</span>";
  632. case 50:
  633. return "<span class='label label-primary'>兑现</span>";
  634. case 55:
  635. return "<span class='label label-primary'>撤销公布</span>";
  636. case 60:
  637. return "<span class='label label-primary'>取消优秀人才</span>";
  638. case 65:
  639. return "<span class='label label-primary'>恢复优秀人才</span>";
  640. case 70:
  641. return "<span class='label label-danger'>设置审核不通过</span>";
  642. default:
  643. return "";
  644. }
  645. }
  646. public static function findByParentCodeAndCode($parentCode, $code) {
  647. $parent_info = Dict::where('code', $parentCode)->findOrEmpty();
  648. if ($parent_info) {
  649. return Dict::where('pid', $parent_info['id'])->where('code', $code)->findOrEmpty();
  650. }
  651. return false;
  652. }
  653. public static function getLayerCatsByLayer($lv) {
  654. $kv = [1 => "A", 2 => "B", 3 => "C", 4 => "D", 5 => "E", 6 => "F", 7 => "G"];
  655. $chr = $kv[$lv];
  656. if ($chr) {
  657. $parent_info = Dict::where('code', "talent_condition_cats")->findOrEmpty();
  658. $where[] = ["pid", "=", $parent_info["id"]];
  659. if ($parent_info) {
  660. $where[] = ["code", "like", $chr . "%"];
  661. return Dict::where($where)->select()->toArray();
  662. }
  663. }
  664. return false;
  665. }
  666. }