panlumeng 3 سال پیش
والد
کامیت
d09208b2c1

+ 37 - 36
app/admin/controller/After.php

@@ -261,7 +261,7 @@ class After extends \app\BaseController
         $addr_code = isset($this->post['addr_code']) && $this->post['addr_code']!=""&&!empty($this->post['addr_code']) ?
             $this->post['addr_code']:"";
         $remark = isset($this->post['remark']) && $this->post['remark']!="" ? trim($this->post['remark']):"";
-        if($info['is_th']==1 && $info['order_type']==2){
+        if($info['is_th']==1 && $info['order_type']==1){
             if($contactor==''){
                 return error_show(1005,"参数 contactor 不能为空");
             }
@@ -274,15 +274,15 @@ class After extends \app\BaseController
             if($addr_code==''){
                 return error_show(1005,"参数 addr_code 不能为空");
             }
-
-        }
-        if($addr_code!==''&&is_array($addr_code)){
-            $addrs=[];
-            $addrs['provice_code'] = $addr_code[0];
-            $addrs['city_code'] = $addr_code[1];
-            $addrs['area_code'] = $addr_code[2];
-            $addr_code = json_encode($addrs);
+            if($addr_code!==''&&is_array($addr_code)){
+                $addrs=[];
+                $addrs['provice_code'] = $addr_code[0];
+                $addrs['city_code'] = $addr_code[1];
+                $addrs['area_code'] = $addr_code[2];
+                $addr_code = json_encode($addrs);
+            }
         }
+
         Db::startTrans();
         try{
             $var=$info['status'];
@@ -304,15 +304,17 @@ class After extends \app\BaseController
                     ];
                 }else{
                     $returninfo['return_wsm'] = $wsm_code;
-                    $returninfo['contactor'] = $contactor;
-                    $returninfo['mobile'] = $mobile;
-                    $returninfo['addr'] = $addr;
-                    $returninfo['addr_code'] = $addr_code;
+                    if($info['is_th']==1 && $info['order_type']==1) {
+                        $returninfo['contactor'] = $contactor;
+                        $returninfo['mobile'] = $mobile;
+                        $returninfo['addr'] = $addr;
+                        $returninfo['addr_code'] = $addr_code;
+                    }
                 }
                 $in=Db::name("order_returninfo")->save($returninfo);
                 if($in){
                     $order = ["order_code"=>$info['returnCode'],"status"=>$var,"action_remark"=>'',"action_type"=>"edit"];
-                    ActionLog::logAdd($this->post['token'],$order,$info['status'],$order);
+                    ActionLog::logAdd($this->post['token'],$order,"AFTER",$info['status'],$order);
                     Db::commit();
                     return app_show(0,"更新成功");
                 }
@@ -550,7 +552,7 @@ class After extends \app\BaseController
                     return error_show(1005, "未找到供应商仓库数据");
                 }
                 $data = [];
-                $data['wsm_code'] = isset($returninfo['return_wsm']) && $returninfo['return_wsm'] != "-" ? $returninfo['return_wsm'] : "-";
+                $data['wsm_code'] = isset($returninfo['return_wsm']) && $returninfo['return_wsm'] != "" ? $returninfo['return_wsm'] : "-";
                 $data['wsm_name'] = '供应商仓';
                 $data['supplier_name'] = '供应商';
                 $data['contactor'] = $returninfo['contactor'];
@@ -560,28 +562,27 @@ class After extends \app\BaseController
                 $data['addr_code'] = $returninfo['addr_code'];
                 $list[] = $data;
             }
-        }else{
-            $supplier = Db::name("supplier")->where(["is_platform"=>1,"status"=>1,"is_del"=>0])->column("code,name");
-            if(empty($supplier)){
-                return error_show(1005,"未找到供应商仓库数据");
-            }
-            foreach ($supplier as $value){
-                $temp=[];
-                $ware = Db::name("warehouse_info")->alias("a")->leftJoin("warehouse_addr b","a.wsm_code=b.wsm_code and b.status=1 and b.is_del=0")
-                    ->where(["a.wsm_type"=>1,"a.status"=>1,"a.is_del"=>0,"a.supplierNo"=>$value['code']])->field("a.wsm_code,a.name,b.wsm_name,b.wsm_mobile,b.wsm_addr,b.addr_code")->find();
-                if(empty($ware)){
-                    continue;
-                }
-                $temp['wsm_code']=isset($ware['wsm_code'])?$ware['wsm_code']:"";
-                $temp['wsm_name']=isset($ware['name'])?$ware['name']:"";
-                $temp['supplier_name']=$value['name'];
-                $temp['contactor'] = isset($ware['wsm_name'])?$ware['wsm_name']:"";
-                $temp['mobile'] =isset($ware['wsm_mobile'])?$ware['wsm_mobile']:"";
-                $temp['addr'] =isset($ware['wsm_addr'])?$ware['wsm_addr']:"";
-                $temp['addr_cn'] =GetAddr($ware['addr_code']);
-                $temp['addr_code'] = isset($ware['addr_code'])?$ware['addr_code']:"";
-                $list[]=$temp;
+        }
+        $supplier = Db::name("supplier")->where(["is_platform"=>1,"status"=>1,"is_del"=>0])->column("code,name");
+        if(empty($supplier)){
+            return error_show(1005,"未找到供应商仓库数据");
+        }
+        foreach ($supplier as $value){
+            $temp=[];
+            $ware = Db::name("warehouse_info")->alias("a")->leftJoin("warehouse_addr b","a.wsm_code=b.wsm_code and b.status=1 and b.is_del=0")
+                ->where(["a.wsm_type"=>1,"a.status"=>1,"a.is_del"=>0,"a.supplierNo"=>$value['code']])->field("a.wsm_code,a.name,b.wsm_name,b.wsm_mobile,b.wsm_addr,b.addr_code")->find();
+            if(empty($ware)){
+                continue;
             }
+            $temp['wsm_code']=isset($ware['wsm_code'])?$ware['wsm_code']:"";
+            $temp['wsm_name']=isset($ware['name'])?$ware['name']:"";
+            $temp['supplier_name']=$value['name'];
+            $temp['contactor'] = isset($ware['wsm_name'])?$ware['wsm_name']:"";
+            $temp['mobile'] =isset($ware['wsm_mobile'])?$ware['wsm_mobile']:"";
+            $temp['addr'] =isset($ware['wsm_addr'])?$ware['wsm_addr']:"";
+            $temp['addr_cn'] =GetAddr($ware['addr_code']);
+            $temp['addr_code'] = isset($ware['addr_code'])?$ware['addr_code']:"";
+            $list[]=$temp;
         }
         return app_show(0,"获取成功",$list);
     }

+ 7 - 1
app/admin/controller/Orderback.php

@@ -77,6 +77,11 @@ class Orderback extends \app\BaseController
                 $value['wsm_supplier'] =isset($wsmcode['name']) ? $wsmcode['name']:"";
                 $value['wsm_supplierNo'] =isset($wsmcode['code']) ? $wsmcode['code']:"";
             }
+            $value['customer_name']='';
+            if($value['customer_code']!=''){
+                $customer = Db::name("customer_info")->where(['companyNo'=>$value['customer_code']])->find();
+                $value['customer_name']=isset($customer['companyName'])?$customer['companyName']:'';
+            }
             $inorder= Db::name("order_backinfo")->where(['thNo'=>$value['thNo'],"is_del"=>0])->select();
             $value['child']=empty($inorder)? [] : $inorder;
             $data[]=$value;
@@ -109,7 +114,8 @@ class Orderback extends \app\BaseController
           $info['wsm_supplier'] =isset($wsmcode['name']) ? $wsmcode['name']:"";
           $info['wsm_supplierNo'] =isset($wsmcode['code']) ? $wsmcode['code']:"";
       }
-      $inorder= Db::name("order_backinfo")->where(['thNo'=>$info['thNo'],"is_del"=>0])->select();
+      $inorder= Db::name("order_backinfo")->alias("a")->leftJoin("result_info b","a.error_code=b.result_code")
+          ->where(['a.thNo'=>$info['thNo'],"a.is_del"=>0])->field("a.*,b.result as error_msg")->select();
       $info['child']=empty($inorder)? [] : $inorder;
       return  app_show(0,"获取成功",$info);
   }

+ 123 - 2
app/admin/controller/Reorder.php

@@ -26,8 +26,8 @@ class Reorder extends \app\BaseController
             return error_show(1005,"未找到订单数据");
         }
         $errorCode = isset($this->post['errorCode']) &&$this->post['errorCode']!=''?trim($this->post['errorCode']) :"";
-        if($ordeCode==''){
-            return error_show(1004,"参数orderCode 不能为空");
+        if($errorCode==''){
+            return error_show(1004,"参数errorCode 不能为空");
         }
         $error =Db::name('result_info')->where(["result_code"=>$errorCode,"is_del"=>0])->find();
         if(empty($error)){
@@ -326,7 +326,25 @@ class Reorder extends \app\BaseController
             return error_show(1004,"参数status不能为空");
         }
         $remark =  isset($this->post['remark']) && $this->post['remark'] !="" ? trim($this->post['remark']) :"";
+
        $var = $info['status'];
+
+        if($info['order_type']==2){
+            $wsend_th =  isset($this->post['wsend_th']) && $this->post['wsend_th'] !=="" ? intval($this->post['wsend_th']) :"";
+            if($status==3){
+                if($wsend_th===''){
+                    return error_show(1004,"参数wsend_th不能为空");
+                }
+                $info['wsend_th'] =$wsend_th;
+            }
+            $return_wsm =  isset($this->post['return_wsm']) && $this->post['return_wsm'] !="" ? trim($this->post['return_wsm']) :"";
+            if($status==4){
+                if($return_wsm===''){
+                    return error_show(1004,"参数return_wsm不能为空");
+                }
+                $info['return_wsm'] =$return_wsm;
+            }
+        }
         $info['status'] =$status;
         $info['remark'] =$remark;
         $info["updatetime"]=date("Y-m-d H:i:s");
@@ -339,4 +357,107 @@ class Reorder extends \app\BaseController
             return error_show(1004,"更新失败");
         }
     }
+
+    public function zxcreate(){
+        $ordeCode = isset($this->post['orderCode']) &&$this->post['orderCode']!=''?trim($this->post['orderCode']) :"";
+        if($ordeCode==''){
+            return error_show(1004,"参数orderCode 不能为空");
+        }
+        $order= Db::name("sale")->where(["orderCode"=>$ordeCode,"is_del"=>0])->find();
+        if(empty($order)){
+            return error_show(1005,"未找到订单数据");
+        }
+        $errorCode = isset($this->post['errorCode']) &&$this->post['errorCode']!=''?trim($this->post['errorCode']) :"";
+        if($errorCode==''){
+            return error_show(1004,"参数errorCode 不能为空");
+        }
+        $error =Db::name('result_info')->where(["result_code"=>$errorCode,"is_del"=>0])->find();
+        if(empty($error)){
+            return error_show(1005,"未找到退货原因数据");
+        }
+        $remark =isset($this->post['remark']) &&$this->post['remark']!=''?trim($this->post['remark']) :"";
+        $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,"申请人数据不存在");
+        }
+        $rm= isset($user["data"]['id']) ?  $user["data"]['id'] : "";
+        $ri= isset($user["data"]['nickname']) ?  $user["data"]['nickname'] : "";
+        $num = isset($this->post['num'])&&$this->post['num']!='' ? intval($this->post['num']):"";
+        if($num==''){
+            return error_show(1005,"参数num不能为空");
+        }
+        if($order['wsend_num']<$num){
+            return error_show(1002,"仓库未发货数量不足退货");
+        }
+
+        $returnCode=makeNo("RXS");
+        Db::startTrans();
+        try{
+            $in = [
+                "returnCode"=>$returnCode,
+                "orderCode"=>$ordeCode,
+                "good_code"=>$order['good_code'],
+                "good_name"=>$order['good_name'],
+                "apply_id"=>$rm,
+                "apply_name"=>$ri,
+                "error_code"=>$errorCode,
+                "num"=>$num,
+                "remark"=>$remark,
+                "order_type"=>2,
+                "status"=>0,
+                "is_del"=>0,
+                "addtime"=>date("Y-m-d H:i:s"),
+                "updatetime"=>date("Y-m-d H:i:s")
+            ];
+            $create = Db::name("sale_return")->insert($in);
+            if($create){
+                $addrorder= Db::name("order_addr")->where(['orderCode'=>$ordeCode])->select();
+                $addrinfo=[];
+                foreach ($addrorder as $value){
+                    $addrorder= Db::name("order_addr")->where(['orderCode'=>$ordeCode,"id"=>$value['addrid']])
+                        ->find();
+                    if(empty($addrorder)){
+                        Db::rollback();
+                        return error_show(1002,"订单地址数据不存在");
+                    }
+                    $total = Db::name("sale_returnaddr")->where(['orderCode'=>$ordeCode,"id"=>$value['addrid'],"is_del"=>0])
+                        ->sum("return_num");
+                    if($addrorder['receipt_quantity']-$total<$value['return_num']){
+                        Db::rollback();
+                        return error_show(1002,"订单地址退货数量超出发货数量");
+                    }
+                    $temp=[];
+                    $temp['returnCode']=$returnCode;
+                    $temp['orderCode']=$ordeCode;
+                    $temp['addrid']=$value['addrid'];
+                    $temp['return_num']=$value['return_num'];
+                    $temp['send_num']= $addrorder['receipt_quantity'];
+                    $temp['addtime']= date("Y-m-d H:i:s");
+                    $temp['updatetime']= date("Y-m-d H:i:s");
+                    $addrinfo[]=$temp;
+                }
+                $return = Db::name("sale_returnaddr")->insertAll($addrinfo);
+                if($return<=0){
+                    Db::rollback();
+                    return error_show(1002,"订单地址退货数据更新失败");
+                }
+                $info=[];
+                $wsmorder= Db::name("sale_info")->where(['orderCode'=>$ordeCode])->find();
+                    Db::commit();
+                    return app_show(0,"退货单新建成功");
+            }
+            Db::rollback();
+            return error_show(1005,"退货单新建失败");
+        }catch (\Exception $e){
+            Db::rollback();
+            return error_show(1005,$e->getMessage());
+        }
+    }
+
+
+
 }

+ 2 - 1
app/admin/controller/Sale.php

@@ -550,9 +550,10 @@ class Sale extends BaseController
             $dio['updatetime'] = date("Y-m-d H:i:s");
             $st = Db::name('sale')->save($dio);
             if ($st) {
+
                 $stc = ["order_code"=>$id,"status"=>$vmp,"action_remark"=>'',"action_type"=>"edit"];
                 ActionLog::logAdd($this->post['token'],$stc,"xsd",$dio['status'],$stc);
-                if ($status == 3) {
+                if ($status == 3 && $dio['order_type'] == 1) {
                     $dn = Db::name('sale_info')->where(['orderCode' => $st['orderCode']])->select();
                     foreach ($dn as $value) {
                         $dm = Db::name('good_stock')->where(['wsm_code' => $value['wsm_code'], 'good_type_code' => $st['good_code']])->find();

+ 7 - 6
app/admin/controller/Share.php

@@ -108,9 +108,9 @@ class Share extends BaseController
         $data=[
             "action_collect"=>$collect,
             "share_user"=>$user,
-            "to_user"=>$touser,
-            "to_group"=>$togroup,
-            "action"=>$action,
+            "to_user"=>$touser==0?"":$touser,
+            "to_group"=>$togroup==0?'':$togroup,
+            "action"=>$action==0?'':$action,
             "status"=>1,
             "addtime"=>date("Y-m-d H:i:s"),
             "updatetime"=>date("Y-m-d H:i:s")
@@ -166,9 +166,9 @@ class Share extends BaseController
         $data=[
             "action_collect"=>$collect,
             "share_user"=>$user,
-            "to_user"=>$touser,
-            "to_group"=>$togroup,
-            "action"=>$action,
+            "to_user"=>$touser==0?"":$touser,
+            "to_group"=>$togroup==0?'':$togroup,
+            "action"=>$action==0?'':$action,
             "updatetime"=>date("Y-m-d H:i:s")
         ];
         $result= Db::name("role_share")->where("id","=",$id)->update($data);
@@ -222,6 +222,7 @@ class Share extends BaseController
             }
         }
         $info['to_group']==0 ? $info['to_group']='':"";
+        $info['to_user']==0 ? $info['to_user']='':"";
         $togroup= $info['to_group']!="" ?Db::name("role_group")->where("id","=",$info["to_group"])->find()
             :['group_name'=>""];
         $info['share_user_name']=$share_name;