EnterpriseChangeRecord.php 11 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273
  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. public function gotoEnterpriseChangeRecordPage(){
  15. $talentTypeList = DictApi::findChildDictByCode("enterprise_tag");
  16. $industryFieldNewList = DictApi::findChildDictByCode("industry_field");
  17. $streetList = DictApi::findChildDictByCode("street");
  18. return view("",['enterprise_tag' => $talentTypeList,'industryFieldNew' => $industryFieldNewList,'street' => $streetList]);
  19. }
  20. public function findEnterpriseChangeRecordByPage(){
  21. $res = EnterpriseApi::getRecordList($this->request);
  22. return json($res);
  23. }
  24. public function gotoEnterpriseChangeDetailPage(){
  25. $id = trim($this->request['id']);
  26. if(!$id){
  27. return json(["msg" => 'ID不能为空!']);
  28. }
  29. $ecr = EnterpriseApi::getOneRecord($id);
  30. if (\StrUtil::isNotEmpAndNull($ecr['oldStreet']) || \StrUtil::isNotEmpAndNull($ecr['newStreet'])) {
  31. $streetList = DictApi::selectByParentCode("street");
  32. if (\StrUtil::isNotEmpAndNull($ecr['oldStreet'])) {
  33. $ecr['oldStreetName'] = $streetList[$ecr['oldStreet']];
  34. }
  35. if (\StrUtil::isNotEmpAndNull($ecr['newStreet'])) {
  36. $ecr['newStreetName'] = $streetList[$ecr['newStreet']];
  37. }
  38. }
  39. if (\StrUtil::isNotEmpAndNull($ecr['oldEnterpriseTag']) || \StrUtil::isNotEmpAndNull($ecr['newEnterpriseTag'])) {
  40. $talentTypeList = DictApi::selectByParentCode("enterprise_tag");
  41. if (\StrUtil::isNotEmpAndNull($ecr['oldEnterpriseTag'])) {
  42. $ecr['oldEnterpriseTagName'] = $talentTypeList[$ecr['oldEnterpriseTag']];
  43. }
  44. if (\StrUtil::isNotEmpAndNull($ecr['newEnterpriseTag'])) {
  45. $ecr['newEnterpriseTagName'] = $talentTypeList[$ecr['newEnterpriseTag']];
  46. }
  47. }
  48. if (\StrUtil::isNotEmpAndNull($ecr['oldIndustryFieldNew']) || \StrUtil::isNotEmpAndNull($ecr['newIndustryFieldNew'])) {
  49. $industryFieldNewList = DictApi::selectByParentCode("industry_field");
  50. if (\StrUtil::isNotEmpAndNull($ecr['oldIndustryFieldNew'])) {
  51. $ecr['oldIndustryFieldNewName'] = $industryFieldNewList[$ecr['oldIndustryFieldNew']];
  52. }
  53. if (\StrUtil::isNotEmpAndNull($ecr['newIndustryFieldNew'])) {
  54. $ecr['newIndustryFieldNewName'] = $industryFieldNewList[$ecr['newIndustryFieldNew']];
  55. }
  56. }
  57. if (\StrUtil::isNotEmpAndNull($ecr['oldIndustryFieldOld'])) {
  58. $industry = DictApi::findDictByCode($ecr['oldIndustryFieldOld']);
  59. $ecr['oldIndustryFieldOldName'] = $industry['name'];
  60. }
  61. if (\StrUtil::isNotEmpAndNull($ecr['newIndustryFieldOld'])) {
  62. $industry = DictApi::findDictByCode($ecr['newIndustryFieldOld']);
  63. $ecr['newIndustryFieldOldName'] = $industry['name'];
  64. }
  65. switch ($ecr['checkState']){
  66. case 1:
  67. $ecr['checkStateName'] = '保存未提交';
  68. break;
  69. case 2:
  70. $ecr['checkStateName'] = '待审核';
  71. break;
  72. case 3:
  73. $ecr['checkStateName'] = '审核驳回';
  74. break;
  75. case 4:
  76. $ecr['checkStateName'] = '审核通过';
  77. break;
  78. case 5:
  79. $ecr['checkStateName'] = '重新提交';
  80. break;
  81. default:
  82. $ecr['checkStateName'] = '';
  83. break;
  84. }
  85. return view("",['ecr' => $ecr]);
  86. }
  87. public function gotoEnterpriseChangeExaminePage(){
  88. $id = trim($this->request['id']);
  89. if(!$id){
  90. return json(["msg" => 'ID不能为空!']);
  91. }
  92. $ecr = EnterpriseApi::getOneRecord($id);
  93. return view("",['ecr' => $ecr]);
  94. }
  95. public function doExamine(){
  96. $id = trim($this->request['id']);
  97. if(!$id){
  98. return json(["msg" => 'ID不能为空!','code' => 500]);
  99. }
  100. $ecr = EnterpriseApi::getOneRecord($id);
  101. if(!$ecr){
  102. return json(["msg" => '原始数据不存在!','code' => 500]);
  103. }
  104. $checkState = trim($this->request['checkState']);
  105. if ($checkState==null || ($checkState!=4 && $checkState!=3)) {
  106. return json(["msg" => '请选择审核状态!','code' => 500]);
  107. }
  108. $checkMsg = trim($this->request['checkMsg']);
  109. //如果审核状态为 审核驳回, 需要填写审核意见
  110. if ($checkState==3 && \StrUtil::isEmpOrNull($checkMsg)) {
  111. return json(["msg" => '审核驳回时,需要填写审核意见!','code' => 500]);
  112. }
  113. if (\StrUtil::isNotEmpAndNull($checkMsg) && strlen($checkMsg)>200) {
  114. return json(["msg" => '审核意见最多200个字符!','code' => 500]);
  115. }
  116. if ($ecr['checkState']!=2 && $ecr['checkState']!=3 && $ecr['checkState']!=5) {
  117. return json(["msg" => '不在审核范围内!','code' => 500]);
  118. }
  119. //如果为审核驳回,更新表中的审核状态 和 审核意见, 直接返回结果
  120. if ($checkState == 3) {
  121. $ecr->checkState = 3;
  122. $ecr->checkMsg = $checkMsg;
  123. $ecr->updateUser = session('user')['uid'];
  124. $ecr->updateTime = date("Y-m-d H:i:s");
  125. $ecr->save();
  126. //发送短信
  127. $record_data = [
  128. 'id' => getStringId(),
  129. 'bizId' => getStringId(),
  130. 'userId' => $ecr['mainId'],
  131. 'type' => 2,
  132. 'smsType' => 2,
  133. 'name' => $ecr['newName'],
  134. 'phone' => $ecr['newAgentPhone'],
  135. 'templateCode' => "【晋江市人才服务平台】您好!您提交申请的优秀人才{$checkMsg}因信息填写错误或上传不完整已被退回,请及时登录申报系统查看审核意见并重新提交。",
  136. 'params' => '企业信息变更',
  137. 'state' => 1,
  138. 'sendingDate' => date("Y-m-d H:i:s",time()),
  139. 'createTime' => date("Y-m-d H:i:s",time())
  140. ];
  141. $smsapi = new ChuanglanSmsApi();
  142. $result = $smsapi->sendSMS($ecr['newAgentPhone'],$record_data['templateCode']);
  143. MessageRecord::create($record_data);
  144. $company = CompanyApi::getOne(session('user')['companyId']);
  145. TalentChecklog::create([
  146. 'id' => getStringId(),
  147. 'category' => 'enterprise_change',
  148. 'mainId' => $ecr['id'],
  149. 'type' => 10,
  150. 'typeField' => null,
  151. 'active' => 1,
  152. 'state' => 3,
  153. 'step' => 101,
  154. 'stateChange' => "<span class='label label-info'>审核驳回</span>",
  155. 'description' => $checkMsg,
  156. 'createTime' => date("Y-m-d H:i:s",time()),
  157. 'createUser' => session('user')['name']."({$company['name']})"
  158. ]);
  159. return json(["msg" => '操作成功!',"code" => 200]);
  160. }else{
  161. $ecr->checkState = 4;
  162. $ecr->checkMsg = $checkMsg;
  163. $ecr->updateUser = session('user')['uid'];
  164. $ecr->updateTime = date("Y-m-d H:i:s");
  165. $ecr->save();
  166. $ep = EnterpriseApi::getOne($ecr['mainId']);
  167. $ep->name = $ecr['newName'];
  168. $ep->idCard = $ecr['newIdCard'];
  169. $ep->enterpriseTag = $ecr['newEnterpriseTag'];
  170. $ep->street = $ecr['newStreet'];
  171. $ep->address = $ecr['newAddress'];
  172. $ep->legal = $ecr['newLegal'];
  173. $ep->ephone = $ecr['newEphone'];
  174. $ep->agentName = $ecr['newAgentName'];
  175. $ep->agentEmail = $ecr['newAgentEmail'];
  176. $ep->agentPhone = $ecr['newAgentPhone'];
  177. $ep->industryFieldNew = $ecr['newIndustryFieldNew'];
  178. $ep->industryFieldOld = $ecr['newIndustryFieldOld'];
  179. $ep->enterpriseType = $ecr['newEnterpriseType'];
  180. $ep->bankCard = $ecr['newBankCard'];
  181. $ep->bankNetwork = $ecr['newBankNetwork'];
  182. $ep->bank = $ecr['newBank'];
  183. $ep->updateUser = session('user')['uid'];
  184. $ep->updateTime = date("Y-m-d H:i:s");
  185. //查询此次上传的文件
  186. $list = TalentCommonFile::where('mainId',$ecr['id'])->select()->toArray();
  187. if(count($list) > 0){
  188. foreach ($list as $k => $v){
  189. $fileInfo = CurrentcyFileType::where('id',$v['typeId'])->select()->toArray();
  190. if(count($fileInfo) > 0){
  191. foreach ($fileInfo as $item) {
  192. switch ($item['api']){
  193. case 'businessLicense':
  194. $ep->imgurl = $v['url'];
  195. break;
  196. case 'businessBank':
  197. $ep->bankImg = $v['url'];
  198. break;
  199. case 'businessDomain':
  200. $ep->domainImg = $v['url'];
  201. break;
  202. }
  203. }
  204. }
  205. }
  206. }
  207. //同步人才库与津贴库 TODO
  208. $ep->save();
  209. //发送短信
  210. $record_data = [
  211. 'id' => getStringId(),
  212. 'bizId' => getStringId(),
  213. 'userId' => $ecr['mainId'],
  214. 'type' => 2,
  215. 'smsType' => 2,
  216. 'name' => $ecr['newName'],
  217. 'phone' => $ecr['newAgentPhone'],
  218. 'templateCode' => "【晋江市人才服务平台】您好!您提交申请的优秀人才{$checkMsg}已审核通过,可登录申报系统做相关事宜申报。",
  219. 'params' => '企业信息变更',
  220. 'state' => 1,
  221. 'sendingDate' => date("Y-m-d H:i:s",time()),
  222. 'createTime' => date("Y-m-d H:i:s",time())
  223. ];
  224. $smsapi = new ChuanglanSmsApi();
  225. $result = $smsapi->sendSMS($ecr['newAgentPhone'],$record_data['templateCode']);
  226. MessageRecord::create($record_data);
  227. $company = CompanyApi::getOne(session('user')['companyId']);
  228. TalentChecklog::create([
  229. 'id' => getStringId(),
  230. 'category' => 'enterprise_change',
  231. 'mainId' => $ecr['id'],
  232. 'type' => 10,
  233. 'typeField' => null,
  234. 'active' => 1,
  235. 'state' => 4,
  236. 'step' => 101,
  237. 'stateChange' => "<span class='label label-info'>审核通过</span>",
  238. 'description' => $checkMsg,
  239. 'createTime' => date("Y-m-d H:i:s",time()),
  240. 'createUser' => session('user')['name']."({$company['name']})"
  241. ]);
  242. return json(["msg" => '操作成功!',"code" => 200]);
  243. }
  244. }
  245. }