Simulator.php 3.3 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990
  1. <?php
  2. namespace app\admin\controller;
  3. use app\admin\model\Admin;
  4. use app\admin\model\User;
  5. use app\common\controller\Backend;
  6. use app\common\model\Attachment;
  7. use app\common\model\Config as ConfigModel;
  8. use fast\Date;
  9. use think\Db;
  10. use think\Env;
  11. class Simulator extends Backend
  12. {
  13. protected $noNeedRight = ['readfault'];
  14. /**
  15. * 查看
  16. */
  17. public function index()
  18. {
  19. $simNum = [];
  20. if(Env::get('app.is_fault')){
  21. $url = config('site.url_type').'/sim/sim/listAllEnable';
  22. $ret = json_decode(send_get($url),true);
  23. if($ret['code'] == 200){
  24. foreach ($ret['data'] as $k => $val){
  25. $simNum[] = [
  26. 'simNum'=>$val['simNum'],
  27. 'simType'=>$val['simType'],
  28. ];
  29. }
  30. }
  31. }
  32. $this->assign('simNum', $simNum);
  33. $this->assignConfig('url_type', config('site.url_type'));
  34. return $this->view->fetch();
  35. }
  36. public function readfault($type = null){
  37. if($type==1){
  38. $list = Db::name('debug_fault')->where(['flag'=>1])->select();
  39. if(!empty($list)){
  40. foreach ($list as $k1 =>$t1){
  41. $fault_name = Db::name('fault')->where(['fault_id'=>$t1['fault_id']])->value('name');
  42. $list[$k1]['fault_name'] = $fault_name;
  43. $list[$k1]['xiufu_name'] = '待修复';
  44. }
  45. }
  46. }else{
  47. $fault_list = Db::name('debug_fault')->where(['flag'=>1])->select();
  48. $question_arr = ['0002GZBW0001','0002GZBW0003','0002GZBW0005','0002GZBW0009','0002GZBW0010','0003GZBW0006','0003GZBW0007','0003GZBW0008'];
  49. if(!empty($fault_list)){
  50. foreach ($fault_list as $k =>$t){
  51. $answer_right = 2;
  52. //真实故障id 故障部位在 特殊故障部位里面
  53. if(in_array($t['fault_id'],$question_arr)){
  54. if(substr($t['sim_fault_answer_value'], -1,1)==0){
  55. $answer_right=1;
  56. }
  57. }else{
  58. if(!empty($t['sim_fault_question_value']) && !empty($t['sim_fault_answer_value'])){
  59. if($t['sim_fault_question_value']!=$t['sim_fault_answer_value'] ){
  60. $answer_right=1;
  61. }
  62. }
  63. }
  64. Db::name('debug_fault')->where(['ref_id'=>$t['ref_id']])->update(['answer_right'=>$answer_right]);
  65. }
  66. }
  67. $list = Db::name('debug_fault')->where(['flag'=>1,'answer_right'=>['>',0]])->select();
  68. if(!empty($list)){
  69. foreach ($list as $k1 =>$t1){
  70. $fault_name = Db::name('fault')->where(['fault_id'=>$t1['fault_id']])->value('name');
  71. $list[$k1]['fault_name'] = $fault_name;
  72. if($t1['answer_right']==1){
  73. $list[$k1]['xiufu_name'] = '已修复';
  74. }else{
  75. $list[$k1]['xiufu_name'] = '待修复';
  76. }
  77. }
  78. }
  79. }
  80. $url = '"/admin/simulator/readfault';
  81. $this->success('读取成功',$url, $list);
  82. }
  83. }