EnterpriseApi.php 27 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554
  1. <?php
  2. namespace app\common\api;
  3. use app\admin\controller\EnterpriseChangeRecord;
  4. use app\common\api\CompanyApi;
  5. use app\enterprise\model\EnterpriseRecord;
  6. use think\facade\Db;
  7. use app\admin\model\Enterprise;
  8. class EnterpriseApi {
  9. public static function getOne($id) {
  10. return Enterprise::findOrEmpty($id);
  11. }
  12. public static function getSimpleList() {
  13. $where[] = ["active", "=", 1];
  14. return $list = Enterprise::where($where)->order("name", 'asc')->field("name,id")->select()->toArray();
  15. }
  16. public static function getList($request, $isExport = false) {
  17. $companyId = session('user')['companyId'];
  18. $company_info = CompanyApi::getOne($companyId);
  19. $where = [];
  20. $whereRaw = "";
  21. if ($company_info['code'] != 'super' && !self::chkUserInSuperusers()) {
  22. $where[] = ['type', '=', session('user')['type']];
  23. if (session('user')['type'] == 1) {
  24. $whr[] = ["companyId", "=", $companyId];
  25. $whr[] = ["delete", "=", 0];
  26. $list = \app\common\model\EnterpriseVerifyMgr::where($whr)->select()->toArray();
  27. $talentType = []; //查找单位对应标签
  28. $org = [];
  29. $ins = [];
  30. $uniCodes = []; //查找单位对应例外
  31. foreach ($list as $k => $v) {
  32. if (!empty($v['enterpriseTag'])) {
  33. array_push($talentType, $v['enterpriseTag']);
  34. }
  35. if (!empty($v['organizationTag'])) {
  36. array_push($org, $v['organizationTag']);
  37. }
  38. if (!empty($v['institutionTag'])) {
  39. array_push($ins, $v['institutionTag']);
  40. }
  41. if (!empty($v["uniCode"])) {
  42. $codes = explode(",", $v["uniCode"]);
  43. $uniCodes = array_merge($uniCodes, (array) $codes);
  44. }
  45. }
  46. $_whr[] = ["uniCode", "<>", ""];
  47. $_whr[] = ["delete", "=", 0];
  48. $_whr[] = ["companyId", "<>", $companyId];
  49. $_list = \app\common\model\EnterpriseVerifyMgr::where($_whr)->select()->toArray();
  50. $expUniCodes = []; //排除其它单位的例外
  51. foreach ($_list as $_v) {
  52. $codes = explode(",", $_v["uniCode"]);
  53. $expUniCodes = array_merge($expUniCodes, (array) $codes);
  54. }
  55. if (($talentType || $org || $ins) && $uniCodes) {
  56. if ($expUniCodes) {
  57. $whereRaw = sprintf('(enterpriseTag in ("%s") or organizationTag in ("%s") or institutionTag in ("%s") and idCard not in ("%s")) or idCard in ("%s")', implode('","', $talentType), implode('","', $org), implode('","', $ins), implode('","', $expUniCodes), implode('","', $uniCodes));
  58. } else {
  59. $whereRaw = sprintf('enterpriseTag in ("%s") or organizationTag in ("%s") or institutionTag in ("%s") or idCard in ("%s")', implode('","', $talentType), implode('","', $org), implode('","', $ins), implode('","', $uniCodes));
  60. }
  61. }
  62. if (($talentType || $org || $ins) && !$uniCodes) {
  63. if ($expUniCodes) {
  64. $whereRaw = sprintf('enterpriseTag in ("%s") or organizationTag in ("%s") or institutionTag in ("%s") and idCard not in ("%s")', implode('","', $talentType), implode('","', $org), implode('","', $ins), implode('","', $expUniCodes));
  65. } else {
  66. $whereRaw = sprintf('enterpriseTag in ("%s") or organizationTag in ("%s") or institutionTag in ("%s") ', implode('","', $talentType), implode('","', $org), implode('","', $ins));
  67. }
  68. }
  69. if (!$talentType && !$org && !$ins && $uniCodes) {
  70. $where[] = ["idCard", "in", $uniCodes];
  71. }
  72. }
  73. }
  74. $offset = trim($request->param("offset")) ?: 0;
  75. $limit = trim($request->param("limit")) ?: 10;
  76. $name = urldecode(trim($request->param("name")));
  77. $idCard = urldecode(trim($request->param("idCard")));
  78. $legal = urldecode(trim($request->param("legal")));
  79. $ephone = urldecode(trim($request->param("ephone")));
  80. $agentName = urldecode(trim($request->param("agentName")));
  81. $agentPhone = urldecode(trim($request->param("agentPhone")));
  82. $checkState = urldecode(trim($request->param("checkState")));
  83. $active = urldecode(trim($request->param("active")));
  84. $street = urldecode(trim($request->param("street")));
  85. $special = urldecode(trim($request->param("special")));
  86. $agencyType = urldecode(trim($request->param("agencyType")));
  87. $industryFieldNew = urldecode(trim($request->param("industryFieldNew")));
  88. $industryFieldOld = urldecode(trim($request->param("industryFieldOld")));
  89. $enterpriseTag = urldecode(trim($request->param("enterpriseTag")));
  90. $enterpriseType = urldecode(trim($request->param("enterpriseType")));
  91. if ($name) {
  92. $where[] = ["name", "like", "%{$name}%"];
  93. }
  94. if ($idCard) {
  95. $where[] = ["idCard", "like", "%{$idCard}%"];
  96. }
  97. if ($legal) {
  98. $where[] = ["legal", "like", "%{$legal}%"];
  99. }
  100. if ($ephone) {
  101. $where[] = ["ephone", "like", "%{$ephone}%"];
  102. }
  103. if ($agentName) {
  104. $where[] = ["agentName", "like", "%{$agentName}%"];
  105. }
  106. if ($agentPhone) {
  107. $where[] = ["agentPhone", "like", "%{$agentPhone}%"];
  108. }
  109. if ($checkState) {
  110. $where[] = ["checkState", "=", "{$checkState}"];
  111. }
  112. if ($active) {
  113. $where[] = ["active", "=", "{$active}"];
  114. }
  115. if ($street) {
  116. $where[] = ["street", "=", "{$street}"];
  117. }
  118. if ($special !== "") {
  119. $where[] = ["special", "=", "{$special}"];
  120. }
  121. if ($agencyType) {
  122. $where[] = ["agencyType", "=", "{$agencyType}"];
  123. }
  124. if ($industryFieldNew) {
  125. $where[] = ["industryFieldNew", "=", "{$industryFieldNew}"];
  126. }
  127. if ($industryFieldOld) {
  128. $where[] = ["industryFieldOld", "=", "{$industryFieldOld}"];
  129. }
  130. if ($enterpriseTag) {
  131. if ($special == 1) {
  132. $where[] = ["institutionTag", "=", "{$enterpriseTag}"];
  133. } else if ($special == 3) {
  134. $where[] = ["organizationTag", "=", "{$enterpriseTag}"];
  135. } else {
  136. $where[] = ["enterpriseTag", "=", "{$enterpriseTag}"];
  137. }
  138. }
  139. if ($enterpriseType) {
  140. $where[] = ["enterpriseType", "=", "{$enterpriseType}"];
  141. }
  142. if ($whereRaw) {
  143. $count = Enterprise::where($where)->whereRaw($whereRaw)->count();
  144. } else {
  145. $count = Enterprise::where($where)->count();
  146. }
  147. if ($count > 0) {
  148. $talentTypeList = DictApi::selectByParentCode("enterprise_tag");
  149. $orgList = DictApi::selectByParentCode("organization_tag");
  150. $insList = DictApi::selectByParentCode("institution_tag");
  151. $industryFieldNewList = DictApi::selectByParentCode("industry_field");
  152. $streetList = DictApi::selectByParentCode("street");
  153. //dd($talentTypeList);
  154. if ($whereRaw) {
  155. if ($isExport) {
  156. $list = Enterprise::where($where)->whereRaw($whereRaw)->order("createTime", 'desc')->select()->toArray();
  157. } else {
  158. $list = Enterprise::where($where)->whereRaw($whereRaw)->limit($offset, $limit)->order("createTime", 'desc')->select()->toArray();
  159. }
  160. } else {
  161. if ($isExport) {
  162. $list = Enterprise::where($where)->order("createTime", 'desc')->select()->toArray();
  163. } else {
  164. $list = Enterprise::where($where)->limit($offset, $limit)->order("createTime", 'desc')->select()->toArray();
  165. }
  166. }
  167. foreach ($list as $k => &$v) {
  168. unset($v['password']);
  169. $v['enterpriseTagName'] = array_key_exists($v['enterpriseTag'], $talentTypeList) ? $talentTypeList[$v['enterpriseTag']] : ''; //此处旧字段为talentType,新字段为enterpriseTag,为防止数据污染与丢失,因而这样写
  170. $v['organizationTagName'] = array_key_exists($v['organizationTag'], $orgList) ? $orgList[$v['organizationTag']] : '';
  171. $v['institutionTagName'] = array_key_exists($v['institutionTag'], $orgList) ? $orgList[$v['institutionTag']] : '';
  172. $v['industryFieldNewName'] = $industryFieldNewList[$v['industryFieldNew']];
  173. $v['streetName'] = $streetList[$v['street']];
  174. }
  175. } else {
  176. $list = [];
  177. }
  178. return ["total" => $count, "rows" => $list];
  179. }
  180. public static function getRecordList($request) {
  181. $companyId = session('user')['companyId'];
  182. $company_info = CompanyApi::getOne($companyId);
  183. $where = [];
  184. $whereRaw = "";
  185. if ($company_info['code'] != 'super' && !self::chkUserInSuperusers()) {
  186. $where[] = ['type', '=', session('user')['type']];
  187. if (session('user')['type'] == 1) {
  188. $whr[] = ["companyId", "=", $companyId];
  189. $whr[] = ["delete", "=", 0];
  190. $list = \app\common\model\EnterpriseVerifyMgr::where($whr)->select()->toArray();
  191. $talentType = []; //查找单位对应标签
  192. $org = [];
  193. $ins = [];
  194. $uniCodes = [];
  195. foreach ($list as $k => $v) {
  196. if (!empty($v['enterpriseTag'])) {
  197. array_push($talentType, $v['enterpriseTag']);
  198. }
  199. if (!empty($v['organizationTag'])) {
  200. array_push($org, $v['organizationTag']);
  201. }
  202. if (!empty($v['institutionTag'])) {
  203. array_push($ins, $v['institutionTag']);
  204. }
  205. if (!empty($v["uniCode"])) {
  206. $codes = explode(",", $v["uniCode"]);
  207. $uniCodes = array_merge($uniCodes, (array) $codes);
  208. }
  209. }
  210. $_whr[] = ["uniCode", "<>", ""];
  211. $_whr[] = ["delete", "=", 0];
  212. $_whr[] = ["companyId", "<>", $companyId];
  213. $_list = \app\common\model\EnterpriseVerifyMgr::where($_whr)->select()->toArray();
  214. $expUniCodes = []; //排除其它单位的例外
  215. foreach ($_list as $_v) {
  216. $codes = explode(",", $_v["uniCode"]);
  217. $expUniCodes = array_merge($expUniCodes, (array) $codes);
  218. }
  219. if (($talentType || $org || $ins) && $uniCodes) {
  220. if ($expUniCodes) {
  221. $whereRaw = sprintf('(newEnterpriseTag in ("%s") or newOrganizationTag in ("%s") or newInstitutionTag in ("%s") and newIdCard not in ("%s")) or newIdCard in ("%s")', implode('","', $talentType), implode('","', $org), implode('","', $ins), implode('","', $expUniCodes), implode('","', $uniCodes));
  222. } else {
  223. $whereRaw = sprintf('newEnterpriseTag in ("%s") or newOrganizationTag in ("%s") or newInstitutionTag in ("%s") or newIdCard in ("%s")', implode('","', $talentType), implode('","', $org), implode('","', $ins), implode('","', $uniCodes));
  224. }
  225. }
  226. if (($talentType || $org || $ins) && !$uniCodes) {
  227. if ($expUniCodes) {
  228. $whereRaw = sprintf('newEnterpriseTag in ("%s") or newOrganizationTag in ("%s") or newInstitutionTag in ("%s") and newIdCard not in ("%s")', implode('","', $talentType), implode('","', $org), implode('","', $ins), implode('","', $expUniCodes));
  229. } else {
  230. $whereRaw = sprintf('newEnterpriseTag in ("%s") or newOrganizationTag in ("%s") or newInstitutionTag in ("%s") ', implode('","', $talentType), implode('","', $org), implode('","', $ins));
  231. }
  232. }
  233. }
  234. }
  235. $offset = trim($request->param("offset")) ?: 0;
  236. $limit = trim($request->param("limit")) ?: 10;
  237. $oldName = trim($request->param("oldName"));
  238. $oldIdCard = trim($request->param("oldIdCard"));
  239. $oldLegal = trim($request->param("oldLegal"));
  240. $oldStreet = trim($request->param("oldStreet"));
  241. $oldEnterpriseTag = trim($request->param("oldEnterpriseTag"));
  242. $oldIndustryFieldNew = trim($request->param("oldIndustryFieldNew"));
  243. $newName = trim($request->param("newName"));
  244. $newIdCard = trim($request->param("newIdCard"));
  245. $newAgentName = trim($request->param("newAgentName"));
  246. $newStreet = trim($request->param("newStreet"));
  247. $newEnterpriseTag = trim($request->param("newEnterpriseTag"));
  248. $newIndustryFieldNew = trim($request->param("newIndustryFieldNew"));
  249. $checkState = trim($request->param("checkState"));
  250. if ($oldName) {
  251. $where[] = ["oldName", "like", "%{$oldName}%"];
  252. }
  253. if ($oldIdCard) {
  254. $where[] = ["oldIdCard", "like", "%{$oldIdCard}%"];
  255. }
  256. if ($oldLegal) {
  257. $where[] = ["oldLegal", "like", "%{$oldLegal}%"];
  258. }
  259. if ($oldStreet) {
  260. $where[] = ["oldStreet", "=", "{$oldStreet}"];
  261. }
  262. if ($oldEnterpriseTag) {
  263. $where[] = ["oldEnterpriseTag", "=", "{$oldEnterpriseTag}"];
  264. }
  265. if ($oldIndustryFieldNew) {
  266. $where[] = ["oldIndustryFieldNew", "=", "{$oldIndustryFieldNew}"];
  267. }
  268. if ($newName) {
  269. $where[] = ["newName", "like", "%{$newName}%"];
  270. }
  271. if ($newIdCard) {
  272. $where[] = ["newIdCard", "like", "%{$newIdCard}%"];
  273. }
  274. if ($newAgentName) {
  275. $where[] = ["newAgentName", "like", "%{$newAgentName}%"];
  276. }
  277. if ($checkState) {
  278. $where[] = ["checkState", "=", "{$checkState}"];
  279. } else {
  280. $where[] = ['checkState', '>', 1];
  281. }
  282. if ($newStreet) {
  283. $where[] = ["newStreet", "=", "{$newStreet}"];
  284. }
  285. if ($newEnterpriseTag) {
  286. $where[] = ["newEnterpriseTag", "=", "{$newEnterpriseTag}"];
  287. }
  288. if ($newIndustryFieldNew) {
  289. $where[] = ["newIndustryFieldNew", "=", "{$newIndustryFieldNew}"];
  290. }
  291. if ($whereRaw) {
  292. $count = EnterpriseRecord::where($where)->whereRaw($whereRaw)->count();
  293. } else {
  294. $count = EnterpriseRecord::where($where)->count();
  295. }
  296. if ($count > 0) {
  297. $talentTypeList = DictApi::selectByParentCode("enterprise_tag");
  298. $industryFieldNewList = DictApi::selectByParentCode("industry_field");
  299. $streetList = DictApi::selectByParentCode("street");
  300. if ($whereRaw) {
  301. $list = EnterpriseRecord::where($where)->whereRaw($whereRaw)->limit($offset, $limit)->order("createTime", 'desc')->select()->toArray();
  302. } else {
  303. $list = EnterpriseRecord::where($where)->limit($offset, $limit)->order("createTime", 'desc')->select()->toArray();
  304. }
  305. foreach ($list as $k => &$v) {
  306. $v['oldStreetName'] = $streetList[$v['oldStreet']];
  307. $v['newStreetName'] = $streetList[$v['newStreet']];
  308. $v['oldEnterpriseTagName'] = $talentTypeList[$v['oldEnterpriseTag']];
  309. $v['newEnterpriseTagName'] = $talentTypeList[$v['newEnterpriseTag']]; //此处旧字段为talentType,新字段为enterpriseTag,为防止数据污染与丢失,因而这样写
  310. $v['oldIndustryFieldNewName'] = $industryFieldNewList[$v['oldIndustryFieldNew']];
  311. $v['newIndustryFieldNewName'] = $industryFieldNewList[$v['newIndustryFieldNew']];
  312. }
  313. } else {
  314. $list = [];
  315. }
  316. return ["total" => $count, "rows" => $list];
  317. }
  318. public static function getExportList($request) {
  319. $companyId = session('user')['companyId'];
  320. $company_info = CompanyApi::getOne($companyId);
  321. $where = [];
  322. $whereRaw = "";
  323. if ($company_info['code'] != 'super' && !self::chkUserInSuperusers()) {
  324. $where[] = ['type', '=', session('user')['type']];
  325. if (session('user')['type'] == 1) {
  326. $whr[] = ["companyId", "=", $companyId];
  327. $whr[] = ["delete", "=", 0];
  328. $list = \app\common\model\EnterpriseVerifyMgr::where($whr)->select()->toArray();
  329. $talentType = []; //查找单位对应标签
  330. $org = [];
  331. $ins = [];
  332. $uniCodes = [];
  333. foreach ($list as $k => $v) {
  334. if (!empty($v['enterpriseTag'])) {
  335. array_push($talentType, $v['enterpriseTag']);
  336. }
  337. if (!empty($v['organizationTag'])) {
  338. array_push($org, $v['organizationTag']);
  339. }
  340. if (!empty($v['institutionTag'])) {
  341. array_push($ins, $v['institutionTag']);
  342. }
  343. if (!empty($v["uniCode"])) {
  344. $codes = explode(",", $v["uniCode"]);
  345. $uniCodes = array_merge($uniCodes, (array) $codes);
  346. }
  347. }
  348. $_whr[] = ["uniCode", "<>", ""];
  349. $_whr[] = ["delete", "=", 0];
  350. $_whr[] = ["companyId", "<>", $companyId];
  351. $_list = \app\common\model\EnterpriseVerifyMgr::where($_whr)->select()->toArray();
  352. $expUniCodes = []; //排除其它单位的例外
  353. foreach ($_list as $_v) {
  354. $codes = explode(",", $_v["uniCode"]);
  355. $expUniCodes = array_merge($expUniCodes, (array) $codes);
  356. }
  357. if (($talentType || $org || $ins) && $uniCodes) {
  358. if ($expUniCodes) {
  359. $whereRaw = sprintf('(newEnterpriseTag in ("%s") or newOrganizationTag in ("%s") or newInstitutionTag in ("%s") and newIdCard not in ("%s")) or newIdCard in ("%s")', implode('","', $talentType), implode('","', $org), implode('","', $ins), implode('","', $expUniCodes), implode('","', $uniCodes));
  360. } else {
  361. $whereRaw = sprintf('newEnterpriseTag in ("%s") or newOrganizationTag in ("%s") or newInstitutionTag in ("%s") or newIdCard in ("%s")', implode('","', $talentType), implode('","', $org), implode('","', $ins), implode('","', $uniCodes));
  362. }
  363. }
  364. if (($talentType || $org || $ins) && !$uniCodes) {
  365. if ($expUniCodes) {
  366. $whereRaw = sprintf('newEnterpriseTag in ("%s") or newOrganizationTag in ("%s") or newInstitutionTag in ("%s") and newIdCard not in ("%s")', implode('","', $talentType), implode('","', $org), implode('","', $ins), implode('","', $expUniCodes));
  367. } else {
  368. $whereRaw = sprintf('newEnterpriseTag in ("%s") or newOrganizationTag in ("%s") or newInstitutionTag in ("%s") ', implode('","', $talentType), implode('","', $org), implode('","', $ins));
  369. }
  370. }
  371. }
  372. }
  373. $offset = trim($request->param("offset")) ?: 0;
  374. $limit = trim($request->param("limit")) ?: 10;
  375. $oldName = urldecode(trim($request->param("oldName")));
  376. $oldIdCard = urldecode(trim($request->param("oldIdCard")));
  377. $oldLegal = urldecode(trim($request->param("oldLegal")));
  378. $oldStreet = urldecode(trim($request->param("oldStreet")));
  379. $oldEnterpriseTag = urldecode(trim($request->param("oldEnterpriseTag")));
  380. $oldIndustryFieldNew = urldecode(trim($request->param("oldIndustryFieldNew")));
  381. $newName = urldecode(trim($request->param("newName")));
  382. $newIdCard = urldecode(trim($request->param("newIdCard")));
  383. $newAgentName = urldecode(trim($request->param("newAgentName")));
  384. $newStreet = urldecode(trim($request->param("newStreet")));
  385. $newEnterpriseTag = urldecode(trim($request->param("newEnterpriseTag")));
  386. $newIndustryFieldNew = urldecode(trim($request->param("newIndustryFieldNew")));
  387. $checkState = urldecode(trim($request->param("checkState")));
  388. if ($oldName) {
  389. $where[] = ["oldName", "like", "%{$oldName}%"];
  390. }
  391. if ($oldIdCard) {
  392. $where[] = ["oldIdCard", "like", "%{$oldIdCard}%"];
  393. }
  394. if ($oldLegal) {
  395. $where[] = ["oldLegal", "like", "%{$oldLegal}%"];
  396. }
  397. if ($oldStreet) {
  398. $where[] = ["oldStreet", "=", "{$oldStreet}"];
  399. }
  400. if ($oldEnterpriseTag) {
  401. $where[] = ["oldEnterpriseTag", "=", "{$oldEnterpriseTag}"];
  402. }
  403. if ($oldIndustryFieldNew) {
  404. $where[] = ["oldIndustryFieldNew", "=", "{$oldIndustryFieldNew}"];
  405. }
  406. if ($newName) {
  407. $where[] = ["newName", "like", "%{$newName}%"];
  408. }
  409. if ($newIdCard) {
  410. $where[] = ["newIdCard", "like", "%{$newIdCard}%"];
  411. }
  412. if ($newAgentName) {
  413. $where[] = ["newAgentName", "like", "%{$newAgentName}%"];
  414. }
  415. if ($checkState) {
  416. $where[] = ["checkState", "=", "{$checkState}"];
  417. } else {
  418. $where[] = ['checkState', '>', 1];
  419. }
  420. if ($newStreet) {
  421. $where[] = ["newStreet", "=", "{$newStreet}"];
  422. }
  423. if ($newEnterpriseTag) {
  424. $where[] = ["newEnterpriseTag", "=", "{$newEnterpriseTag}"];
  425. }
  426. if ($newIndustryFieldNew) {
  427. $where[] = ["newIndustryFieldNew", "=", "{$newIndustryFieldNew}"];
  428. }
  429. if ($whereRaw) {
  430. $count = EnterpriseRecord::where($where)->whereRaw($whereRaw)->count();
  431. } else {
  432. $count = EnterpriseRecord::where($where)->count();
  433. }
  434. if ($count > 0) {
  435. $organizationTagList = DictApi::selectByParentCode("organization_tag");
  436. $institutionTag = DictApi::selectByParentCode("institution_tag");
  437. $talentTypeList = DictApi::selectByParentCode("enterprise_tag");
  438. $enterpriseTypeList = DictApi::selectByParentCode("enterprise_type");
  439. $industryFieldNewList = DictApi::selectByParentCode("industry_field");
  440. $streetList = DictApi::selectByParentCode("street");
  441. $agencyTypeList = DictApi::selectByParentCode("agency_type");
  442. if ($whereRaw) {
  443. $list = EnterpriseRecord::where($where)->whereRaw($whereRaw)->order("createTime", 'desc')->select()->toArray();
  444. } else {
  445. $list = EnterpriseRecord::where($where)->order("createTime", 'desc')->select()->toArray();
  446. }
  447. foreach ($list as $k => &$v) {
  448. if ($v["special"] == 1) {
  449. $v["typeName"] = "事业单位";
  450. $v["oldAgencyTagName"] = $institutionTag[$v["oldInstitutionTag"]];
  451. $v["newAgencyTagName"] = $institutionTag[$v["newInstitutionTag"]];
  452. } else if ($v["special"] == 2) {
  453. $v["typeName"] = "民办非企业";
  454. $v["oldAgencyTagName"] = $organizationTagList[$v["oldOrganizationTag"]];
  455. $v["newAgencyTagName"] = $organizationTagList[$v["newOrganizationTag"]];
  456. } else {
  457. $v["typeName"] = "企业用户";
  458. if ($v["type"] == 1) {
  459. $v["typeName"] .= "(晋江市现代产业体系人才)";
  460. } else if ($v["type"] == 2) {
  461. $v["typeName"] .= "(集成电路优秀人才)";
  462. }
  463. }
  464. $v['oldStreetName'] = $streetList[$v['oldStreet']];
  465. $v['newStreetName'] = $streetList[$v['newStreet']];
  466. $v['oldEnterpriseTagName'] = $talentTypeList[$v['oldEnterpriseTag']];
  467. $v['newEnterpriseTagName'] = $talentTypeList[$v['newEnterpriseTag']]; //此处旧字段为talentType,新字段为enterpriseTag,为防止数据污染与丢失,因而这样写
  468. $v['oldIndustryFieldNewName'] = $industryFieldNewList[$v['oldIndustryFieldNew']];
  469. $v['newIndustryFieldNewName'] = $industryFieldNewList[$v['newIndustryFieldNew']];
  470. $v["oldIndustryFieldOldName"] = DictApi::findDictByCode($v['oldIndustryFieldOld'])["name"];
  471. $v["newIndustryFieldOldName"] = DictApi::findDictByCode($v['newIndustryFieldOld'])["name"];
  472. $v["oldEnterpriseTypeName"] = $enterpriseTypeList[$v["oldEnterpriseType"]];
  473. $v["newEnterpriseTypeName"] = $enterpriseTypeList[$v["newEnterpriseType"]];
  474. $v["oldAgencyTypeName"] = $agencyTypeList[$v["oldAgencyType"]];
  475. $v["newAgencyTypeName"] = $agencyTypeList[$v["newAgencyType"]];
  476. switch ($v["checkState"]) {
  477. case 1:
  478. $v['checkStateName'] = '保存未提交审核';
  479. break;
  480. case 2:
  481. $v['checkStateName'] = '待审核';
  482. break;
  483. case 3:
  484. $v['checkStateName'] = "审核驳回";
  485. break;
  486. case 4:
  487. $v['checkStateName'] = "审核通过";
  488. break;
  489. case 5:
  490. $v['checkStateName'] = '重新提交';
  491. break;
  492. case 6:
  493. $v['checkStateName'] = '初审驳回';
  494. break;
  495. case 7:
  496. $v['checkStateName'] = '初审通过';
  497. break;
  498. }
  499. }
  500. } else {
  501. $list = [];
  502. }
  503. return $list;
  504. }
  505. public static function updateById($data) {
  506. return Enterprise::update($data);
  507. }
  508. public static function getOneRecord($id) {
  509. return EnterpriseRecord::findOrEmpty($id);
  510. }
  511. private static function getSuperusersForEnterprise() {
  512. $superusers = getJsonConfig("../sys_config.json", "super_users_for_enterprise");
  513. return $superusers;
  514. }
  515. public static function chkUserInSuperusers() {
  516. $superusers = self::getSuperusersForEnterprise();
  517. $account = session("user")["account"];
  518. return in_array($account, $superusers);
  519. }
  520. }