浏览代码

订单用途关联公司

wufeng 2 年之前
父节点
当前提交
f7701da74b
共有 1 个文件被更改,包括 252 次插入143 次删除
  1. 252 143
      app/admin/controller/Orderuse.php

+ 252 - 143
app/admin/controller/Orderuse.php

@@ -2,170 +2,279 @@
 
 namespace app\admin\controller;
 
-use app\BaseController;
 use think\App;
 use think\facade\Db;
+use think\facade\Validate;
 
 //订单用途
-class Orderuse extends BaseController
+class Orderuse extends Base
 {
-    public $post="";
-    public function __construct(App $app)
+
+    public function create()
     {
-        parent::__construct($app);
-        $this->post=$this->request->post();
-    }
-    public function create(){
-        $order_use = isset($this->post['order_use']) && $this->post['order_use']!=="" ? trim($this->post['order_use']):"";
-        if($order_use==""){
-            return error_show(1002,"参数order_use不能为空");
-        }
-        $token = isset($this->post['token'])&& $this->post['token']!='' ? trim($this->post['token']):"";
-        if($token==''){
-            return error_show(1005,"参数token不能为空");
-        }
-        $user =GetUserInfo($token);
-        if(empty($user)||$user['code']!=0){
-            return error_show(1002,"创建人数据不存在");
-        }
-        $createrid= isset($user["data"]['id']) ?  $user["data"]['id'] : "";
-        $creater= isset($user["data"]['nickname']) ?  $user["data"]['nickname'] : "";
-        $status = isset($this->post['status']) && $this->post['status'] !=="" ? intval($this->post['status']):"0";
-        $data =[
-            "order_use"=>$order_use,
-            "creater"=>$creater,
-            "createrid"=>$createrid,
-            "status"=>0,
-            "is_del"=>0,
-            "addtime"=>date("Y-m-d H:i:s"),
-            "updatetime"=>date("Y-m-d H:i:s")
-        ];
-        $datainfo = Db::name('order_use')->insert($data);
-        if($datainfo){
-            return error_show(0,"新建成功");
-        }else{
-            return error_show(1002,"新建失败");
-        }
+
+        $param = $this->request->only(['companyNo', 'companyName', 'order_use'], 'post', 'trim');
+
+        $val = Validate::rule([
+            'companyNo|公司编码' => 'require|length:18',
+            'companyName|公司名称' => 'require|max:255',
+            'order_use|订单用途' => 'require|max:255',
+        ]);
+
+        if ($val->check($param) == false) return json_show(1004, $val->getError());
+
+//        $order_use = isset($this->post['order_use']) && $this->post['order_use']!=="" ? trim($this->post['order_use']):"";
+//        if($order_use==""){
+//            return error_show(1002,"参数order_use不能为空");
+//        }
+//        $token = isset($this->post['token'])&& $this->post['token']!='' ? trim($this->post['token']):"";
+//        if($token==''){
+//            return error_show(1005,"参数token不能为空");
+//        }
+//        $user =GetUserInfo($token);
+//        if(empty($user)||$user['code']!=0){
+//            return error_show(1002,"创建人数据不存在");
+//        }
+//        $createrid= isset($user["data"]['id']) ?  $user["data"]['id'] : "";
+//        $creater= isset($user["data"]['nickname']) ?  $user["data"]['nickname'] : "";
+//        $status = isset($this->post['status']) && $this->post['status'] !=="" ? intval($this->post['status']):"0";
+//        $data =[
+//            "order_use"=>$order_use,
+//            "creater"=>$creater,
+//            "createrid"=>$createrid,
+//            "status"=>0,
+//            "is_del"=>0,
+//            "addtime"=>date("Y-m-d H:i:s"),
+//            "updatetime"=>date("Y-m-d H:i:s")
+//        ];
+
+        $tmp = Db::name('order_use')
+            ->field('id')
+            ->where([
+                'is_del' => 0,
+                'companyNo' => $param['companyNo'],
+                'order_use' => $param['order_use'],
+            ])
+            ->findOrEmpty();
+        if (!empty($tmp)) return json_show(1004, '同一公司下该订单用途已存在');
+
+        $datainfo = Db::name('order_use')->insert([
+            "companyNo" => $param['companyNo'],
+            "companyName" => $param['companyName'],
+            "order_use" => $param['order_use'],
+            "creater" => $this->uname,
+            "createrid" => $this->uid,
+            "status" => 0,
+            "is_del" => 0,
+            "addtime" => date("Y-m-d H:i:s"),
+            "updatetime" => date("Y-m-d H:i:s")
+        ]);
+
+        return $datainfo ? app_show(0, "新建成功") : error_show(1002, "新建失败");
+//        if($datainfo){
+//            return error_show(0,"新建成功");
+//        }else{
+//            return error_show(1002,"新建失败");
+//        }
     }
-    public function list(){
-        $page = isset($this->post['page']) && $this->post['page'] !=="" ? intval($this->post['page']):"1";
-        $size = isset($this->post['size']) && $this->post['size'] !=="" ? intval($this->post['size']):"10";
-        $where =[['ou.is_del',"=",0]];
-        $status = isset($this->post['status']) && $this->post['status'] !=="" ? intval($this->post['status']):"";
-        if($status !==""){
-            $where [] = ['ou.status',"=",$status];
-        }
-        $order_use = isset($this->post['order_use']) && $this->post['order_use'] !=="" ? trim($this->post['order_use']):"";
-        if($order_use !==""){
-            $where [] =['ou.order_use',"like","%$order_use%"];
-        }
-        $creater = isset($this->post['creater']) && $this->post['creater'] !=="" ? trim($this->post['creater']):"";
-        if($creater !==""){
-            $where [] =['ou.creater',"like","%$creater%"];
-        }
-        $start = isset($this->post['start']) && $this->post['start']!=="" ? $this->post['start']:"";
-        if($start!==""){
-            $where[]=['ou.addtime',">=",date('Y-m-d H:i:s',strtotime($start))];
-        }
-        $end = isset($this->post['end']) && $this->post['end']!=="" ? $this->post['end']:"";
-        if($end!==""){
-            $where[]=['ou.addtime',"<",date('Y-m-d H:i:s',strtotime($end)+24*3600)];
-        }
-        $company_name = isset($this->post['company_name']) && $this->post['company_name'] !== "" ? trim($this->post['company_name']) : "";
-        if ($company_name !== "") $where[] = ["ou.createrid", 'in', get_company_item_user_by_name($company_name)];
+
+    public function list()
+    {
+
+        $param = $this->request->only([
+            'page' => 1,
+            'size' => 10,
+            'status' => '',
+            'order_use' => '',
+            'creater' => '',
+            'start' => '',
+            'end' => '',
+            'company_name' => '',
+            'companyNo' => '',
+        ], 'post', 'trim');
+
+//        $page = isset($this->post['page']) && $this->post['page'] !== "" ? intval($this->post['page']) : "1";
+//        $size = isset($this->post['size']) && $this->post['size'] !== "" ? intval($this->post['size']) : "10";
+        $where = [['is_del', "=", 0]];
+//        $status = isset($this->post['status']) && $this->post['status'] !== "" ? intval($this->post['status']) : "";
+        if ($param['status'] !== "") $where [] = ['status', "=", $param['status']];
+
+//        $order_use = isset($this->post['order_use']) && $this->post['order_use'] !== "" ? trim($this->post['order_use']) : "";
+        if ($param['order_use'] !== "") $where [] = ['order_use', "like", '%' . $param['order_use'] . '%'];
+
+//        $creater = isset($this->post['creater']) && $this->post['creater'] !== "" ? trim($this->post['creater']) : "";
+        if ($param['creater'] !== "") $where [] = ['creater', "like", '%' . $param['creater'] . '%'];
+
+//        $start = isset($this->post['start']) && $this->post['start'] !== "" ? $this->post['start'] : "";
+        if ($param['start'] !== "") $where[] = ['addtime', ">=", date('Y-m-d H:i:s', strtotime($param['start']))];
+
+//        $end = isset($this->post['end']) && $this->post['end'] !== "" ? $this->post['end'] : "";
+        if ($param['end'] !== "") $where[] = ['addtime', "<", date('Y-m-d H:i:s', strtotime($param['end']) + 24 * 3600)];
+
+//        $company_name = isset($this->post['company_name']) && $this->post['company_name'] !== "" ? trim($this->post['company_name']) : "";
+        if ($param['company_name'] !== "") $where[] = ["createrid", 'in', get_company_item_user_by_name($param['company_name'])];
+        if ($param['companyNo'] !== "") $where[] = ["companyNo", '=', $param['companyNo']];
 
         $count = Db::name('order_use')
-            ->alias('ou')
             ->where($where)
-            ->count();
-        $total = ceil($count / $size);
-        $page = $page >= $total ? $total :$page;
+            ->count('id');
+
         $list = Db::name('order_use')
-            ->alias('ou')
             ->where($where)
-            ->page($page, $size)
-            ->order("addtime desc")
+            ->page($param['page'], $param['size'])
+            ->order(['addtime' => 'desc', 'id' => 'desc'])
             ->select()
             ->toArray();
-        $all_createrid = array_column($list,'createrid');
+
+        //补全部门信息
+        $all_createrid = array_column($list, 'createrid');
         $item = get_company_name_by_uid($all_createrid);
 
-        foreach ($list as &$value){
-            $val['company_name']=$item[$value['createrid']]??'';
+        foreach ($list as &$value) {
+            $val['company_name'] = $item[$value['createrid']] ?? '';
         }
         return app_show(0, "获取成功", ["list" => $list, "count" => $count]);
     }
-    public function edit(){
-        $id = isset($this->post['id']) && $this->post['id'] !=="" ? intval($this->post['id']) :"";
-        if($id==""){
-            return error_show(1002,"参数id不能为空");
-        }
-        $info =Db::name('order_use')->where(['id'=>$id,'is_del'=>0])->find();
-        if($info==""){
-            return error_show(1004,"未找到数据");
-        }
-        $order_use = isset($this->post['order_use']) && $this->post['order_use'] !==""? trim($this->post['order_use']):"";
-        if ($order_use==""){
-            return error_show(1002,"参数order_use不能为空");
-        }
-        $status = isset($this->post['status']) && $this->post['status'] !=="" ? intval($this->post['status']):"0";
-        $data =[
-            "id"=>$id,
-            "order_use"=>$order_use,
-            "is_del"=>0,
-            "updatetime"=>date("Y-m-d H:i:s")
-        ];
-        $datainfo = Db::name("order_use")->save($data);
-        if($datainfo){
-            return error_show(0,"编辑成功");
-        }else{
-            return error_show(1002,"编辑失败");
-        }
+
+    public function edit()
+    {
+        $param = $this->request->only(['id', 'companyNo', 'companyName', 'order_use'], 'post', 'trim');
+
+        $val = Validate::rule([
+            'id' => 'require|number|gt:0',
+            'companyNo|公司编码' => 'require|length:18',
+            'companyName|公司名称' => 'require|max:255',
+            'order_use|订单用途' => 'require|max:255',
+        ]);
+
+        if ($val->check($param) == false) return json_show(1004, $val->getError());
+
+
+//        $id = isset($this->post['id']) && $this->post['id'] !== "" ? intval($this->post['id']) : "";
+//        if ($id == "") {
+//            return error_show(1002, "参数id不能为空");
+//        }
+//        $info = Db::name('order_use')->where(['id' => $id, 'is_del' => 0])->find();
+//        if ($info == "") {
+//            return error_show(1004, "未找到数据");
+//        }
+//        $order_use = isset($this->post['order_use']) && $this->post['order_use'] !== "" ? trim($this->post['order_use']) : "";
+//        if ($order_use == "") {
+//            return error_show(1002, "参数order_use不能为空");
+//        }
+//        $status = isset($this->post['status']) && $this->post['status'] !== "" ? intval($this->post['status']) : "0";
+//        $data = [
+//            "id" => $id,
+//            "order_use" => $order_use,
+//            "is_del" => 0,
+//            "updatetime" => date("Y-m-d H:i:s")
+//        ];
+
+        $tmp = Db::name('order_use')
+            ->field('id')
+            ->where([
+                'is_del' => 0,
+                'companyNo' => $param['companyNo'],
+                'order_use' => $param['order_use'],
+            ])
+            ->where('id', '<>', $param['id'])
+            ->findOrEmpty();
+        if (!empty($tmp)) return json_show(1004, '同一公司下该订单用途已存在');
+
+
+        $datainfo = Db::name("order_use")
+            ->where(['is_del' => 0, 'id' => $param['id']])
+            ->update([
+                "companyNo" => $param['companyNo'],
+                "companyName" => $param['companyName'],
+                "order_use" => $param['order_use'],
+                "updatetime" => date("Y-m-d H:i:s")
+            ]);
+
+        return $datainfo ? app_show(0, "编辑成功") : error_show(1002, "编辑失败");
+
+//        if ($datainfo) {
+//            return error_show(0, "编辑成功");
+//        } else {
+//            return error_show(1002, "编辑失败");
+//        }
     }
-    public function dele(){
-        $id = isset($this->post['id']) && $this->post['id'] !=="" ? intval($this->post['id']) :"";
-        if($id==""){
-            return error_show(1002,"参数id不能为空");
-        }
-        $info = Db::name('order_use')->where(['id'=>$id,'is_del'=>0])->find();
-        if(empty($info)){
-            return error_show(1004,"未找到数据");
-        }
-        $item = Db::name('order_use')->update(['id'=>$id,'is_del'=>1,'updatetime'=>date("y-m-d H:i:s")]);
-        if($item){
-            return error_show(0,"删除成功");
-        }else{
-            return error_show(1002,"删除失败");
-        }
+
+    public function dele()
+    {
+        $id = $this->request->filter('trim')->post('id/d', 0);
+//        $id = isset($this->post['id']) && $this->post['id'] !== "" ? intval($this->post['id']) : "";
+//        if ($id == "") {
+//            return error_show(1002, "参数id不能为空");
+//        }
+//        $info = Db::name('order_use')->where(['id' => $id, 'is_del' => 0])->find();
+//        if (empty($info)) {
+//            return error_show(1004, "未找到数据");
+//        }
+        $item = Db::name('order_use')
+            ->where(['is_del' => 0, 'id' => $id])
+            ->update(['is_del' => 1, 'updatetime' => date("Y-m-d H:i:s")]);
+
+        return $item ? app_show(0, "删除成功") : error_show(1002, "删除失败");
+//        if ($item) {
+//            return error_show(0, "删除成功");
+//        } else {
+//            return error_show(1002, "删除失败");
+//        }
     }
-    public function status(){
-        $id = isset($this->post['id']) && $this->post['id'] !==""? intval($this->post['id']):"";
-        if($id==""){
-            return error_show(1002,"参数id不能为空");
-        }
-        $info =  Db::name("order_use")->where([["id","=",$id],["is_del","=",0]])->find();
-        if(!$info){
-            return error_show(1002,"未找到对应数据");
-        }
-        $msg = $info['status']==0? "启用":"禁用";
-        $info['status'] = $info['status']==0?1:0;
-        $info['updatetime'] =date("Y-m-d H:i:s");
-        $in =Db::name("order_use")->save($info);
-        if($in){
-            return app_show(0,"{$msg}成功");
-        }else{
-            return error_show(1004,"{$msg}失败");
-        }
+
+    public function status()
+    {
+        $param = $this->request->only(['id', 'status'], 'post', 'trim');
+
+        $val = Validate::rule([
+            'id' => 'require|number|gt:0',
+            'status|状态' => 'require|number|in:0,1',
+        ]);
+
+        if ($val->check($param) == false) return json_show(1004, $val->getError());
+
+//        $id = isset($this->post['id']) && $this->post['id'] !== "" ? intval($this->post['id']) : "";
+//        if ($id == "") {
+//            return error_show(1002, "参数id不能为空");
+//        }
+//        $info = Db::name("order_use")->where([["id", "=", $id], ["is_del", "=", 0]])->find();
+//        if (!$info) {
+//            return error_show(1002, "未找到对应数据");
+//        }
+//        $msg = $info['status'] == 0 ? "启用" : "禁用";
+//        $info['status'] = $info['status'] == 0 ? 1 : 0;
+//        $info['updatetime'] = date("Y-m-d H:i:s");
+        $in = Db::name("order_use")
+            ->where(['is_del' => 0, 'id' => $param['id']])
+            ->where('status', '<>', $param['status'])
+            ->update(['status' => $param['status'], 'updatetime' => date("Y-m-d H:i:s")]);
+
+        return $in ? app_show(0, "操作成功") : error_show(1004, "操作失败");
+//        if ($in) {
+//            return app_show(0, "{$msg}成功");
+//        } else {
+//            return error_show(1004, "{$msg}失败");
+//        }
     }
-    public function info(){
-        $id = isset($this->post['id']) && $this->post['id'] !=="" ? trim($this->post['id']) :"";
-        if($id==""){
-            return error_show(1002,"参数id不能为空");
-        }
-        $info = Db::name('order_use')->where(['id'=>$id,'is_del'=>0])->find();
-        if(empty($info)){
-            return error_show(1004,'未找到数据');
-        }
-        return  app_show(0,"获取成功",$info);
+
+    public function info()
+    {
+        $id = $this->request->filter('trim')->post('id/d', 0);
+
+//        $id = isset($this->post['id']) && $this->post['id'] !== "" ? trim($this->post['id']) : "";
+//        if ($id == "") {
+//            return error_show(1002, "参数id不能为空");
+//        }
+        $info = Db::name('order_use')
+            ->where(['id' => $id, 'is_del' => 0])
+            ->findOrEmpty();
+//        if (empty($info)) {
+//            return error_show(1004, '未找到数据');
+//        }
+//        return app_show(0, "获取成功", $info);
+
+        return empty($info) ? error_show(1004, '未找到数据') : app_show(0, "获取成功", $info);
     }
+
 }