EnterpriseApi.php 27 KB

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