Manager.php 4.0 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586878889909192939495
  1. <?php
  2. declare (strict_types = 1);
  3. namespace app\admin\controller;
  4. use app\admin\model\ManagerChange;
  5. use think\App;
  6. use think\facade\Db;
  7. use think\facade\Validate;
  8. class Manager extends Base
  9. {
  10. protected $model=null;
  11. public function __construct(App $app) {
  12. parent::__construct($app);
  13. $this->model=new ManagerChange();
  14. }
  15. public function create(){
  16. $param = $this->request->only(["orderCode"=>[],"manager"=>"","managerid"=>"","companyNo"=>"","remark"=>""],"post","trim");
  17. $valid=Validate::rule([
  18. "orderCode|订单集合"=>"require|array",
  19. "manager|项目经理"=>"require|max:255",
  20. "managerid|项目经理"=>"require|number|gt:0",
  21. "companyNo|业务公司"=>"require"
  22. ]);
  23. if($valid->check($param)==false) return error_show(1004,$valid->getError());
  24. $orderinfo= Db::name("sale")->whereIn("orderCode",$param['orderCode'])->where("supplierNo",$param['companyNo'])
  25. ->column("orderCode");
  26. if(count($orderinfo)!= count($param['orderCode'])) return error_show(1004,"数据存在业务公司不一致");
  27. $userCommon = \app\admin\common\User::getIns();
  28. $supp = $userCommon->handle("getCodeAndName",["code"=>$param['companyNo']]);
  29. if(!isset($supp['data']) || empty($supp['data'])) return error_show(1004,'业务公司数据未获取到');
  30. $companyName = $supp['data'][$param['companyNo']]?:"";
  31. $data=[
  32. "apply_id"=>$this->uid,
  33. "apply_name"=>$this->uname,
  34. "orderCode"=>json_encode($param['orderCode']),
  35. "companyName"=>$companyName,
  36. "companyNo"=>$param['companyNo'],
  37. "manager"=>$param['manager'],
  38. "managerid"=>$param['managerid'],
  39. "remark"=>$param['remark'],
  40. "status"=>1
  41. ];
  42. $ad =$this->model->save($data);
  43. return $ad? app_show(0,"创建成功"): error_show(1004,"创建失败");
  44. }
  45. public function list(){
  46. $param = $this->request->only(['orderCode'=>'','oaCode'=>'','apply_name'=>'','status'=>'','manager'=>'','page'=>1,'size'=>15],'post','trim');
  47. $where=[];
  48. $param['orderCode']==''?: $where[]=['orderCode','like',"%{$param['orderCode']}%"];
  49. $param['apply_name']==''?: $where[]=['apply_name','like',"%{$param['apply_name']}%"];
  50. $param['manager']==''?: $where[]=['manager','like',"%{$param['manager']}%"];
  51. // $param['oaCode']==''?: $where[]=['oaCode','like',"%{$param['oaCode']}%"];
  52. // $param['type']==''?: $where[]=['type','=',$param['type']];
  53. $param['status']==''?: $where[]=['status','=',$param['status']];
  54. $list = $this->model->where($where)->json(['orderCode'])->order('id','desc')->paginate(['page'=>$param['page'],
  55. 'list_rows'=>$param['size']]);
  56. return app_show(0,'获取成功',['list'=>$list->items(),'count'=>$list->total()]);
  57. }
  58. public function info(){
  59. $param = $this->request->only(['id'],'post','trim');
  60. $info = $this->model->json(['orderCode'])->findOrEmpty($param['id']);
  61. return app_show(0,'获取成功',$info);
  62. }
  63. public function status(){
  64. $param = $this->request->only(['id'=>'','status'=>'','remark'=>''],'post','trim');
  65. $Valid =Validate::rule(['id|申请id'=>'require','status|状态'=>'require|number|in:2,3']);
  66. if($Valid->check($param)==false) return error_show(1004,$Valid->getError());
  67. $info = $this->model->json(['orderCode'])->findOrEmpty($param['id']);
  68. if($info->isEmpty())return error_show(1004,'未找到申请单数据');
  69. if($info->status!=1) return error_show(1004,'申请单数据已审核');
  70. $info->status=$param['status'];
  71. $info->remark=$param['remark'];
  72. $this->model->startTrans();
  73. try{
  74. $up=$info->save();
  75. if($up==false)throw new \Exception('申请单审核失败');
  76. if($param['status']==2){
  77. $update=["manager"=>$info->manager,"managerid"=>$info->managerid,"updatetime"=>date("Y-m-d H:i:s")];
  78. Db::name("sale")->whereIn("orderCode",$info->orderCode)->update($update);
  79. }
  80. $this->model->commit();
  81. }catch (\Exception $exception){
  82. $this->model->rollback();
  83. return error_show(1004,$exception->getMessage());
  84. }
  85. return app_show(0,'申请数据处理完成');
  86. }
  87. }