123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281 |
- <?php
- namespace app\admin\controller;
- use app\BaseController;
- use think\App;
- use think\facade\Db;
- class Sale extends BaseController
- {
- public $post="";
- public function __construct(App $app)
- {
- parent::__construct($app);
- $this->post=$this->request->post();
- }
- // $str=Db::name('sale_info')->alias('a')->join("order_addr b","b.orderCode=a.orderCode","left")
- // ->join("good_stock c","c.wsm_code=a.wsm_code","left")
- // ->where(['b.is_del'=>0])->field('b.contactor,b.mobile,b.addr,b.arrive_time,c.good_type_code,c.usable_stock')->insertAll();
- //$temp =[];
- //$temp['good_type_code']="";
- //$temp['usable_stock']=$str['num'];
- public function create(){
- $token = isset($this->post['token']) && $this->post['token'] !=="" ?trim($this->post['token']):"";
- $orderCode=makeNo("CX");
- $good_code = $this->post['good_code'] && $this->post['good_code'] !=="" ? trim($this->post['good_code']) :"";
- if($good_code==""){
- return error_show(1002,"商品code不能为空");
- }
- $customer_code= $this->post['customer_code'] && $this->post['customer_code'] !=="" ? trim($this->post['customer_code']) :"";
- if($customer_code==""){
- return error_show(1002,"客户code不能为空");
- }
- $apply_id =GetUserInfo($token);
- if(empty($apply_id)||$apply_id['code']!=0){
- return error_show(1002,"申请人数据不存在");
- }
- $rm= isset($apply_id["data"]['id']) ? $apply_id["data"]['id'] : "";
- $ri= isset($apply_id["data"]['nickname']) ? $apply_id["data"]['nickname'] : "";
- $good_name=isset($this->post['good_name']) && $this->post['good_name'] !=="" ? trim($this->post['good_name']) :"";
- $good_num=isset($this->post['good_num']) && $this->post['good_num'] !=="" ? intval($this->post['good_num']) :"";
- $origin_price = isset($this->post['origin_price']) && $this->post['origin_price'] !=="" ? intval($this->post['origin_price']) :"";
- $sale_price=isset($this->post['sale_price']) && $this->post['sale_price'] !=="" ? trim($this->post['sale_price']) :"";
- $total_price=isset($this->post['total_price']) && $this->post['total_price'] !=="" ? trim($this->post['total_price']) :"";
- $post_fee=isset($this->post['post_fee']) && $this->post['post_fee'] !=="" ? trim($this->post['post_fee']) :"";
- $status = isset($this->post['status']) && $this->post['status'] !=="" ? intval($this->post['status']) :"";
- // $contactor=isset($this->post['contactor']) && $this->post['contactor'] !=="" ?trim($this->post['contactor']) :"";
- // if($contactor==""){
- // return error_show(1002,"联系人不能为空");
- // }
- // $mobile = isset($this->post['mobile']) && $this->post['mobile'] !=="" ? intval($this->post['mobile']) :"";
- // if($mobile==""){
- // return error_show(1002,"联系电话不能为空");
- // }
- // $customer_code = isset($this->post['customer_code']) && $this->post['customer_code'] !=="" ? intval($this->post['customer_code']) :"";
- // $arrive_time=isset($this->post['arrive_time']) && $this->post['arrive_time'] ? $this->post['arrive_time']:date("Y-m-d H:i:s");
- // if($arrive_time==""){
- // return error_show(1002,"到货日期不能为空");
- // }
- $va= isset($this->post['order_addr']) && $this->post['order_addr'] !=="" ? $this->post['order_addr']:"";
- if($va==""){
- return error_show(1002,"参数order_addr不能为空");
- }
- Db::startTrans();
- try {
- $data=[
- "orderCode"=>$orderCode,
- "good_code"=>$good_code,
- "customer_code"=>$customer_code,
- "good_name"=>$good_name,
- "good_num"=>$good_num,
- "apply_id"=>$rm,
- "apply_name"=>$ri,
- "origin_price"=>$origin_price,
- "sale_price"=>$sale_price,
- "total_price"=>$total_price,
- "post_fee"=>$post_fee,
- "status"=>$status,
- "is_del"=>0,
- "addtime"=>date("Y-m-d H:i:s"),
- "updatetime"=>date("Y-m-d H:i:s")
- ];
- $datainfo = Db::name('sale')->insert($data,true);
- $vat=[];
- if($datainfo>0){
- foreach ($va as $value){
- $temp=[];
- $temp['orderCode']=$orderCode;
- $temp['contactor']=$value['contactor'];
- $temp['mobile'] = $value['mobile'];
- $temp['addr'] = $value['addr'];
- $temp['addr_code'] =$value['addr_code'];
- $temp['customer_code'] =$customer_code;
- $temp['receipt_quantity']=$value['receipt_quantity'];
- $temp['post_fee'] =0;
- $temp['is_del'] =0;
- $temp['addtime'] =date("Y-m-d H:i:s");
- $temp['updatetime'] =date("Y-m-d H:i:s");
- $temp['arrive_time']=date("Y-m-d H:i:s");
- $vat[]=$temp;
- }
- $vmp = Db::name('order_addr')->insertAll($vat);
- if($vmp){
- Db::commit();
- return error_show(0,"销售订单创建成功");
- }
- }
- Db::rollback();
- return error_show(1002,"销售订单创建失败");
- }catch(\Exception $e){
- Db::rollback();
- return error_show(1005,$e->getMessage());
- }
- }
- 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[] = ['is_del',"=",0];
- $orderCode=isset($this->post['orderCode']) && $this->post['orderCode'] !=="" ? intval($this->post['orderCode']):"";
- if($orderCode !==""){
- $where[]=['orderCode',"=",$orderCode];
- }
- $status=isset($this->post['status']) && $this->post['status'] !=="" ? intval($this->post['status']):"";
- if($status !==""){
- $where[]=['orderCode',"=",$status];
- }
- $count = Db::name('sale')->where($where)->count();
- $total = ceil($count/$size);
- $page = $page >= $total ? $total : $page;
- $list= Db::name('sale')->where($where)->order("addtime desc")->page($page,$size)->select();
- return app_show(0,"获取成功",['list'=>$list,'count'=>$count]);
- }
- public function edit(){
- $token = isset($this->post['token']) && $this->post['token'] !=="" ? trim($this->post['token']) :"";
- $id = isset($this->post['id']) && $this->post['id'] !=="" ? trim($this->post['id']) :"";
- if($id==""){
- return error_show(1002,"参数id不能为空");
- }
- $etid = Db::name("sale")->where(["id"=>$id,"is_del"=>0])->find();
- if(empty($etid)){
- return error_show(1002,"未找到数据");
- }
- // $orderCode=isset($this->post['orderCode']) && $this->post['orderCode'] !=="" ? trim($this->post['orderCode']) :"";
- // if($orderCode==""){
- // return error_show(1002,"销售单code不能为空");
- // }
- $good_code = isset($this->post['good_code']) && $this->post['good_code'] !=="" ? trim($this->post['good_code']) :"";
- if($good_code==""){
- return error_show(1002,"商品code不能为空");
- }
- $customer_code=isset($this->post['customer_code']) && $this->post['customer_code'] !=="" ? intval($this->post['customer_code']):"";
- if($customer_code==""){
- return error_show(1002,"客户code不能为空");
- }
- $apply_id =GetUserInfo($token);
- if(empty($apply_id)||$apply_id['code']!=0){
- return error_show(1002,"申请人数据不存在");
- }
- $rm= isset($apply_id["data"]['id']) ? $apply_id["data"]['id'] : "";
- $ri= isset($apply_id["data"]['nickname']) ? $apply_id["data"]['nickname'] : "";
- $good_name=isset($this->post['good_name']) && $this->post['good_name'] !=="" ? trim($this->post['good_name']) :"";
- $good_num=isset($this->post['good_num']) && $this->post['good_num'] !=="" ? intval($this->post['good_num']) :"";
- $origin_price = isset($this->post['origin_price']) && $this->post['origin_price'] !=="" ? intval($this->post['origin_price']) :"";
- $sale_price=isset($this->post['sale_price']) && $this->post['sale_price'] !=="" ? trim($this->post['sale_price']) :"";
- $total_price=isset($this->post['total_price']) && $this->post['total_price'] !=="" ? trim($this->post['total_price']) :"";
- $post_fee=isset($this->post['post_fee']) && $this->post['post_fee'] !=="" ? trim($this->post['post_fee']) :"";
- $status = isset($this->post['status']) && $this->post['status'] !=="" ? intval($this->post['status']) :"";
- $vr= isset($this->post['order_addr']) && $this->post['order_addr'] !=="" ? $this->post['order_addr']:"";
- if($vr==""){
- return error_show(1002,"参数order_addr不能为空");
- }
- Db::startTrans();
- try {
- $datn=[
- "id"=>$id,
- "good_code"=>$good_code,
- "customer_code"=>$customer_code,
- "good_name"=>$good_name,
- "good_num"=>$good_num,
- "apply_id"=>$rm,
- "apply_name"=>$ri,
- "origin_price"=>$origin_price,
- "sale_price"=>$sale_price,
- "total_price"=>$total_price,
- "post_fee"=>$post_fee,
- "status"=>$status,
- "is_del"=>0,
- "updatetime"=>date("Y-m-d H:i:s")
- ];
- $datninfo = Db::name('sale')->where(['id'=>$id,'is_del'=>0])->save($datn);
- //$vat=[];
- if($datninfo>0){
- foreach ($vr as $value){
- $temp=[];
- isset($value['id'])&&$value['id']!=="" ? $temp['id'] = $value['id']:'';
- $temp['orderCode']=$etid['orderCode'];
- $temp['contactor']=$value['contactor'];
- $temp['mobile'] = $value['mobile'];
- $temp['addr'] = $value['addr'];
- $temp['addr_code'] =$value['addr_code'];
- $temp['customer_code'] =$customer_code;
- $temp['receipt_quantity']=$value['receipt_quantity'];
- $temp['post_fee'] =0;
- $temp['is_del'] =$value['is_del'];
- isset($value['id'])&&$value['id']!=="" ? '' : $temp['addtime'] =date("Y-m-d H:i:s");
- $temp['updatetime'] =date("Y-m-d H:i:s");
- $temp['arrive_time']=date("Y-m-d H:i:s");
- $dat = Db::name('order_addr')->save($temp);
- if($dat==false){
- Db::rollback();
- return error_show(1002,"更新失败");
- }
- Db::commit();
- return error_show(0,"更新成功");
- }
- }
- Db::rollback();
- return error_show(1002,"更新失败");
- }catch(\Exception $e){
- Db::rollback();
- return error_show(1005,$e->getMessage());
- }
- }
- public function info(){
- $id = isset($this->post['id']) && $this->post['id'] !=="" ? intval($this->post['id']):"";
- if($id==""){
- return error_show(1002,"参数id不能为空");
- }
- $einfo = Db::name('sale')->alias('a')->join("order_addr b","b.orderCode=a.orderCode","left")
- ->where(['a.id'=>$id,'a.is_del'=>0])->field('b.addr,b.contactor,b.mobile,b.arrive_time,a.*')->find();
- if(empty($einfo)){
- return error_show(1002,"未找到销售订单数据");
- }
- $fo = Db::name('order_addr')->where(['orderCode'=>$einfo['orderCode']])->select();
- $einfo['item'][]=$fo;
- if(empty($einfo)){
- return error_show(1002,"未找到销售订单数据");
- }else{
- return app_show(0,"获取成功",$einfo);
- }
- }
- public function del(){
- $id = isset($this->post['id']) && $this->post['id'] !=="" ? intval($this->post['id']) :"";
- if($id===""){
- return error_show(1002,"参数id不能为空");
- }
- $ed = Db::name('sale')->where(['id'=>$id,'is_del'=>0])->find();
- if(empty($ed)){
- return error_show(1002,"未找到销售订单数据");
- }
- $str =Db::name('sale')->update(['id'=>$id,'is_del'=>1,'updatetime'=>date("Y-m-d H:i:s")]);
- if($str){
- 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不能为空");
- }
- $status = isset($this->post['status']) && $this->post['status'] !=="" ? intval($this->post['status']) :"";
- if($status==""){
- return error_show(1002,"订单状态不能为空");
- }
- $dio = Db::name('sale')->where(['id'=>$id,'is_del'=>0])->find();
- if(empty($dio)){
- return error_show(1002,"销售单信息未找到");
- }
- $dio['status']=$status;
- $dio['updatetime']=date("Y-m-d H:i:s");
- $st = Db::name('sale')->save($dio);
- return error_show(0,"订单状态更新成功");
- }
- }
|