Manager.php 4.0 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485868788899091929394
  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'=>'','companyNo'=>'','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['companyNo']==''?: $where[]=['companyNo','like',"%{$param['companyNo']}%"];
  51. $param['manager']==''?: $where[]=['manager','like',"%{$param['manager']}%"];
  52. $param['status']==''?: $where[]=['status','=',$param['status']];
  53. $list = $this->model->where($where)->json(['orderCode'])->order('id','desc')->paginate(['page'=>$param['page'],'list_rows'=>$param['size']]);
  54. return app_show(0,'获取成功',['list'=>$list->items(),'count'=>$list->total()]);
  55. }
  56. public function info(){
  57. $param = $this->request->only(['id'],'post','trim');
  58. $info = $this->model->json(['orderCode'])->findOrEmpty($param['id']);
  59. return app_show(0,'获取成功',$info);
  60. }
  61. public function status(){
  62. $param = $this->request->only(['id'=>'','status'=>'','remark'=>''],'post','trim');
  63. $Valid =Validate::rule(['id|申请id'=>'require','status|状态'=>'require|number|in:2,3']);
  64. if($Valid->check($param)==false) return error_show(1004,$Valid->getError());
  65. $info = $this->model->findOrEmpty($param['id']);
  66. if($info->isEmpty())return error_show(1004,'未找到申请单数据');
  67. if($info->status!=1) return error_show(1004,'申请单数据已审核');
  68. $info->status=$param['status'];
  69. $info->remark=$param['remark'];
  70. $this->model->startTrans();
  71. try{
  72. $up=$info->save();
  73. if($up==false)throw new \Exception('申请单审核失败');
  74. if($param['status']==2){
  75. $update=["manager"=>$info->manager,"managerid"=>$info->managerid,"updatetime"=>date("Y-m-d H:i:s")];
  76. $orderCode =json_decode($info->orderCode,true);
  77. Db::name("sale")->whereIn("orderCode",$orderCode)->update($update);
  78. }
  79. $this->model->commit();
  80. }catch (\Exception $exception){
  81. $this->model->rollback();
  82. return error_show(1004,$exception->getMessage());
  83. }
  84. return app_show(0,'申请数据处理完成');
  85. }
  86. }