Api.php 12 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290
  1. <?php
  2. namespace app\enterprise\controller;
  3. use app\admin\model\Enterprise;
  4. use app\common\api\DictApi;
  5. use app\common\model\CurrentcyFileType;
  6. use app\common\model\TalentChecklog;
  7. use app\common\model\TalentCommonFile;
  8. use app\enterprise\model\EnterpriseRecord;
  9. use app\enterprise\common\EnterpriseController;
  10. use app\Request;
  11. use think\exception\ValidateException;
  12. class Api extends EnterpriseController {
  13. public function findEnterpriseChangeByPage()
  14. {
  15. $order = trim($this->request->param("order")) ?: "desc";
  16. $offset = trim($this->request->param("offset")) ?: 0;
  17. $limit = trim($this->request->param("limit")) ?: 10;
  18. $list = EnterpriseRecord::where('mainId',session("user")["uid"])->limit($offset, $limit)->order('createTime ' . $order)->select()->toArray();
  19. $count = count($list);
  20. if($count > 0){
  21. $streetList = DictApi::selectByParentCode('street');
  22. $typeList = DictApi::selectByParentCode('enterprise_type');
  23. $industryFieldNew = DictApi::selectByParentCode('industry_field');
  24. foreach ($list as $k => &$v){
  25. $v['newIndustryFieldNewName'] = $industryFieldNew[$v['newIndustryFieldNew']];
  26. $v['newEnterpriseType'] = $typeList[$v['newEnterpriseType']];
  27. $v['newStreetName'] = $streetList[$v['newStreet']];
  28. }
  29. }
  30. return json(["total" => $count, "rows" => $list]);
  31. }
  32. public function findUnfinishedChangeRecord(){
  33. return EnterpriseRecord::where('mainId',session("user")["uid"])->where('checkState','<>', 4)->select()->toArray();
  34. }
  35. public function toAdd()
  36. {
  37. $ep = Enterprise::where('id',session("user")["uid"])->find();
  38. $ecr = [
  39. 'enterprise_id' => $ep['id'],
  40. 'newName' => $ep['name'],
  41. 'newIdCard' => $ep['idCard'],
  42. 'newStreet' => $ep['street'],
  43. 'newAddress' => $ep['address'],
  44. 'newLegal' => $ep['legal'],
  45. 'newEphone' => $ep['ephone'],
  46. 'newAgentName' => $ep['agentName'],
  47. 'newAgentEmail' => $ep['agentEmail'],
  48. 'newAgentPhone' => $ep['agentPhone'],
  49. 'type' => $ep['type'],
  50. 'newEnterpriseTag' => $ep['enterpriseTag'],
  51. 'newIndustryFieldNew' => $ep['industryFieldNew'],
  52. 'newIndustryFieldOld' => $ep['industryFieldOld']
  53. ];
  54. switch ($ep['checkState']){
  55. case 1:
  56. $ecr['checkStateName'] = '保存未提交审核';
  57. break;
  58. case 2:
  59. $ecr['checkStateName'] = '待审核';
  60. break;
  61. case 3:
  62. $ecr['checkStateName'] = '审核驳回';
  63. break;
  64. case 4:
  65. $ecr['checkStateName'] = '审核通过';
  66. break;
  67. case 5:
  68. $ecr['checkStateName'] = '重新提交';
  69. break;
  70. default:
  71. $ecr['checkStateName'] = '';
  72. }
  73. return view("", ['ecr' => $ecr]);
  74. }
  75. public function upsert(){
  76. $data = [
  77. 'id' => \StrUtil::getRequestDecodeParam($this->request,'enterprise_id'),
  78. 'name' => \StrUtil::getRequestDecodeParam($this->request,'newName'),//单位名称
  79. 'idCard' => \StrUtil::getRequestDecodeParam($this->request,'newIdCard'),//社会信用代码
  80. 'agentName' => \StrUtil::getRequestDecodeParam($this->request,'newAgentName'),//经办人
  81. 'agentPhone' => \StrUtil::getRequestDecodeParam($this->request,'newAgentPhone'),//经办人电话
  82. 'legal' => \StrUtil::getRequestDecodeParam($this->request,'newLegal'),//法人
  83. 'street' => \StrUtil::getRequestDecodeParam($this->request,'newStreet'),//镇街
  84. 'address' => \StrUtil::getRequestDecodeParam($this->request,'newAddress'),//地址
  85. 'type' => intval($this->request['type']),
  86. 'enterpriseTag' => \StrUtil::getRequestDecodeParam($this->request,'newEnterpriseTag'),//单位标签
  87. 'enterpriseType' => \StrUtil::getRequestDecodeParam($this->request,'newEnterpriseType'),//单位类型
  88. 'agentEmail' => \StrUtil::getRequestDecodeParam($this->request,'newAgentEmail'),//邮箱
  89. 'ephone' => \StrUtil::getRequestDecodeParam($this->request,'newEphone'),//单位电话
  90. 'industryFieldNew' => \StrUtil::getRequestDecodeParam($this->request,'newIndustryFieldNew'),//产业领域
  91. 'industryFieldOld' => \StrUtil::getRequestDecodeParam($this->request,'newIndustryFieldOld'),//行业领域
  92. 'bankCard' => \StrUtil::getRequestDecodeParam($this->request,'newBankCard'),//银行
  93. 'bank' => \StrUtil::getRequestDecodeParam($this->request,'newBank'),//开户行
  94. 'bankNetwork' => \StrUtil::getRequestDecodeParam($this->request,'newBankNetwork')//网点
  95. ];
  96. try {
  97. validate(\app\common\validate\Enterprise::class)->batch(true)->scene('change')->check($data);
  98. $ep = Enterprise::where('id',session("user")["uid"])->find();
  99. $record_id = \StrUtil::getRequestDecodeParam($this->request,'id');
  100. if(!$record_id){
  101. $record_data = [
  102. 'id' => getStringId(),
  103. 'mainId' => $data['id'],
  104. 'type' => $data['type'],
  105. 'oldName' => $ep['name'],
  106. 'oldIdCard' => $ep['idCard'],
  107. 'oldIndustryFieldNew' => $ep['industryFieldNew'],
  108. 'oldIndustryFieldOld' => $ep['industryFieldOld'],
  109. 'oldStreet' => $ep['street'],
  110. 'oldAddress' => $ep['address'],
  111. 'oldLegal' => $ep['legal'],
  112. 'oldEphone' => $ep['ephone'],
  113. 'oldAgentName' => $ep['agentName'],
  114. 'oldAgentEmail' => $ep['agentEmail'],
  115. 'oldAgentPhone' => $ep['agentPhone'],
  116. 'oldEnterpriseTag' => $ep['enterpriseTag'],
  117. 'oldEnterpriseType' => $ep['enterpriseType'],
  118. 'oldBankCard' => $ep['bankCard'],
  119. 'oldBank' => $ep['bank'],
  120. 'oldBankNetwork' => $ep['bankNetwork'],
  121. 'newName' => htmlspecialchars($data['name']),
  122. 'newIdCard' => htmlspecialchars($data['idCard']),
  123. 'newIndustryFieldNew' => $data['industryFieldNew'],
  124. 'newIndustryFieldOld' => $data['industryFieldOld'],
  125. 'newStreet' => $data['street'],
  126. 'newAddress' => $data['address'],
  127. 'newLegal' => $data['legal'],
  128. 'newEphone' => $data['ephone'],
  129. 'newAgentName' => $data['agentName'],
  130. 'newAgentEmail' => $data['agentEmail'],
  131. 'newAgentPhone' => $data['agentPhone'],
  132. 'newEnterpriseTag' => $data['enterpriseTag'],
  133. 'newEnterpriseType' => $data['enterpriseType'],
  134. 'newBankCard' => $data['bankCard'],
  135. 'newBank' => $data['bank'],
  136. 'newBankNetwork' => $data['bankNetwork'],
  137. 'checkState' => 1,
  138. 'createTime' => date("Y-m-d H:i:s",time()),
  139. 'createUser' => session("user")["uid"]
  140. ];
  141. EnterpriseRecord::create($record_data);
  142. $log = [
  143. 'id' => getStringId(),
  144. 'mainId' => $record_data['id'],
  145. 'type' => 10,
  146. 'active' => 1,
  147. 'state' => 1,
  148. 'step' => 100,
  149. 'stateChange' => '保存未提交',
  150. 'description' => '企业信息变更记录添加成功',
  151. 'createTime' => date("Y-m-d H:i:s",time()),
  152. 'createUser' => '用户'
  153. ];
  154. $res = ['msg' => '添加成功', 'code' => 200, 'obj' => $record_data];
  155. } else {
  156. $record = EnterpriseRecord::find($record_id);
  157. $record->name = htmlspecialchars($data['name']);
  158. $record->updateTime = date("Y-m-d H:i:s");
  159. $record->updateUser = session("user")["uid"];
  160. $record->save();
  161. $log = [
  162. 'id' => getStringId(),
  163. 'mainId' => '',
  164. 'type' => 10,
  165. 'active' => 1,
  166. 'state' => 1,
  167. 'step' => 100,
  168. 'stateChange' => '保存未提交',
  169. 'description' => '企业信息变更记录修改成功',
  170. 'createTime' => date("Y-m-d H:i:s",time()),
  171. 'createUser' => '用户'
  172. ];
  173. $res = ['msg' => '修改成功', 'code' => 200, 'obj' => $record];
  174. }
  175. TalentChecklog::create($log);
  176. return json($res);
  177. } catch (ValidateException $e){
  178. $error = $e->getError();
  179. return json(["msg" => array_pop($error)],500);
  180. }
  181. }
  182. public function toUpdate(){
  183. $id = trim($this->request['id']);
  184. $ecr = EnterpriseRecord::findOrEmpty($id);
  185. return view("", ['ecr' => $ecr]);
  186. }
  187. public function submitToCheck(){
  188. $id = trim($this->request->post('id'));
  189. if(!$id){
  190. return json(['msg' => '记录为空', 'code' => 500]);
  191. }
  192. $obj = EnterpriseRecord::find($id);
  193. if(!$obj){
  194. return json(['msg' => '提交审核失败,请先填写基础信息', 'code' => 500]);
  195. }
  196. if($obj['checkState'] != 1 && $obj['checkState'] != 3){
  197. return json(['msg' => '不能重复提交审核', 'code' => 500]);
  198. }
  199. $list = CurrentcyFileType::where('type','enterpriseChange')->where('active',1)->select();
  200. if(!$list || count($list) <= 0){
  201. return json(['msg' => '缺少附件', 'code' => 500]);
  202. }
  203. $error_msg = "";
  204. foreach ($list as $k => $v){
  205. if($v['must'] == 1){
  206. $count = TalentCommonFile::where('mainId',$id)->where('typeId',$v['id'])->count();
  207. if($count == 0){
  208. if(strlen($error_msg) == 0){
  209. $error_msg = "以下为必传附件:";
  210. }
  211. $error_msg .= $v['name'] . ";";
  212. }
  213. }
  214. }
  215. if(strlen($error_msg) > 0){
  216. return json(['msg' => $error_msg, 'code' => 500]);
  217. }
  218. if($obj['checkState'] == 3){
  219. $obj['checkState'] = 5;
  220. $state = 9;
  221. }else{
  222. $obj['checkState'] = 2;
  223. }
  224. $obj->save();
  225. $log = [
  226. 'id' => getStringId(),
  227. 'mainId' => $id,
  228. 'type' => 10,
  229. 'active' => 1,
  230. 'state' => $state,
  231. 'step' => 100,
  232. 'stateChange' => "<span class='label'>待提交</span>-><span class='label label-success'>待审核</span>" ,
  233. 'description' => '提交审核',
  234. 'createTime' => date("Y-m-d H:i:s",time()),
  235. 'createUser' => '用户'
  236. ];
  237. TalentChecklog::create($log);
  238. return json(['msg' => '提交审核成功', 'code' => 200, 'obj' => 1]);
  239. }
  240. public function toDetail(){
  241. $id = trim($this->request['id']);
  242. if(!$id){
  243. return json(['msg' => '记录为空', 'code' => 500]);
  244. }
  245. $ecr = EnterpriseRecord::find($id);
  246. $streetList = DictApi::selectByParentCode('street');
  247. $tagList = DictApi::selectByParentCode('enterprise_tag');
  248. $typeList = DictApi::selectByParentCode('enterprise_type');
  249. $industryFieldNew = DictApi::selectByParentCode('industry_field');
  250. $ecr['oldStreetName'] = $streetList[$ecr['oldStreet']];
  251. $ecr['newStreetName'] = $streetList[$ecr['newStreet']];
  252. $ecr['oldEnterpriseTagName'] = $tagList[$ecr['oldEnterpriseTag']];
  253. $ecr['newEnterpriseTagName'] = $tagList[$ecr['newEnterpriseTag']];
  254. $ecr['oldEnterpriseTypeName'] = $typeList[$ecr['oldEnterpriseType']];
  255. $ecr['newEnterpriseTypeName'] = $typeList[$ecr['newEnterpriseType']];
  256. $ecr['oldIndustryFieldNewName'] = $industryFieldNew[$ecr['oldIndustryFieldNew']];
  257. $ecr['newIndustryFieldNewName'] = $industryFieldNew[$ecr['newIndustryFieldNew']];
  258. return view("",['ecr' => $ecr]);
  259. }
  260. }