|
@@ -0,0 +1,506 @@
|
|
|
+<?php
|
|
|
+
|
|
|
+
|
|
|
+namespace app\admin\controller;
|
|
|
+
|
|
|
+use think\facade\Db;
|
|
|
+use think\facade\Validate;
|
|
|
+use think\App;
|
|
|
+class InterOrder extends Base {
|
|
|
+ public function __construct(App $app) {
|
|
|
+ parent::__construct($app);
|
|
|
+ }
|
|
|
+ /**
|
|
|
+ * @return \think\response\Json|void
|
|
|
+ * @throws \think\db\exception\DataNotFoundException
|
|
|
+ * @throws \think\db\exception\DbException
|
|
|
+ * @throws \think\db\exception\ModelNotFoundException
|
|
|
+ */
|
|
|
+ public function list(){
|
|
|
+ $param = $this->request->only(["page"=>1,"size"=>10,'cgdNo'=>"","qrdNo"=>"","khNo"=>"",
|
|
|
+ "supplierNo"=>"","companyNo"=>"","starttime"=>"","endtime"=>"","sale_name"=>"","cgd_saler"=>""],"post","trim");
|
|
|
+ $where=[];
|
|
|
+ if($param['cgdNo']!="") $where[]=["a.cgdNo","like","%{$param['cgdNo']}%"];
|
|
|
+ if($param['qrdNo']!="") $where[]=["a.orderCode","like","%{$param['qrdNo']}%"];
|
|
|
+ if($param['khNo']!="") $where[]=["b.customer_code","like","%{$param['khNo']}%"];
|
|
|
+ if($param['companyNo']!="") $where[]=["c.companyNo","like","%{$param['companyNo']}%"];
|
|
|
+ if($param['supplierNo']!="") $where[]=["c.supplierNo","like","%{$param['supplierNo']}%"];
|
|
|
+ if($param['starttime']!="") $where[]=["a.addtime",">=",date("Y-m-d 00:00:00",strtotime($param['starttime']))];
|
|
|
+ if($param['endtime']!="") $where[]=["a.addtime","<=",date("Y-m-d 23:59:59",strtotime($param['endtime']))];
|
|
|
+ if($param['sale_name']!="") $where[]=["b.apply_name","like","%{$param['sale_name']}%"];
|
|
|
+ if($param['cgd_saler']!="") $where[]=["c.cgder","like","%{$param['cgd_saler']}%"];
|
|
|
+
|
|
|
+ $count= Db::name("inter_order")->alias("a")
|
|
|
+ ->leftJoin("qrd_caixiao b","a.orderCode=b.sequenceNo")
|
|
|
+ ->leftJoin("cgd_caixiao c","a.cgdNo=c.s.cgdNo")->where($where)->count();
|
|
|
+ $total =ceil($count/$param['size']);
|
|
|
+ $page =$total>=$param['page'] ? intval($param['page']): intval($total);
|
|
|
+ $list= Db::name("inter_order")->alias("a")
|
|
|
+ ->leftJoin("qrd_info b","a.orderCode=b.orderCode")
|
|
|
+ ->leftJoin("cgd_info c","a.cgdNo=c.sequenceNo")
|
|
|
+ ->field("a.id,
|
|
|
+ a.orderCode,
|
|
|
+ b.customer_name ,
|
|
|
+ b.customer_code,
|
|
|
+ c.companyName,
|
|
|
+ c.companyNo,
|
|
|
+ a.rate*100 as cgd_tax,
|
|
|
+ c.supplier_name,
|
|
|
+ c.supplierNo,
|
|
|
+ b.poNo,
|
|
|
+ a.addtime,
|
|
|
+ b.apply_name as sale_name,
|
|
|
+ c.cgder as cgd_saler,
|
|
|
+ c.depart as cgd_depart,
|
|
|
+ b.depart as sale_depart,
|
|
|
+ b.goodName,
|
|
|
+ b.tax,
|
|
|
+ b.sale_price,
|
|
|
+ b.good_num ,
|
|
|
+ b.total_price,
|
|
|
+ b.order_type,
|
|
|
+ b.cat_name,
|
|
|
+ a.cgdNo,
|
|
|
+ b.workNo")
|
|
|
+ ->json(["cat_name"])
|
|
|
+ ->where($where)->page($page,intval($param['size']))
|
|
|
+ ->select()->toArray();
|
|
|
+
|
|
|
+ return app_show(0,"获取成功",["list"=>$list,"count"=>$count]);
|
|
|
+ }
|
|
|
+
|
|
|
+ public function create(){
|
|
|
+ $param =$this->request->only(["token"=>"",
|
|
|
+ "saleid"=>"","companyNo"=>'',"poNo"=>"","workNo"=>"","khNo"=>"","order_type"=>"","goodName"=>"",
|
|
|
+ "tax"=>"","goodNum"=>"","goodPrice"=>"","mobile"=>"","addr"=>"","contactor"=>"",
|
|
|
+ "buyerid"=>"","sendtime"=>"","cat_id"=>'',"supplierNo"=>"","cgd_tax"=>""
|
|
|
+ ],"post");
|
|
|
+ $valid =Validate::rule([
|
|
|
+ "token"=>"require|max:255|min:1",
|
|
|
+ "saleid|业务员名称"=>"require|number|gt:0",
|
|
|
+ "companyNo|业务公司编号"=>"require|max:255|min:1",
|
|
|
+ "supplierNo|业务公司编号"=>"require|max:255|min:1",
|
|
|
+ "poNo|PO编号"=>"require|max:255|min:1",
|
|
|
+ "workNo|单据编号"=>"require|max:255|min:1",
|
|
|
+ "khNo|客户公司编号"=>"require|max:255|min:1",
|
|
|
+ "order_type|订单类型"=>"require|number|in:[1,2,3]",
|
|
|
+ "goodName|商品名称"=>"require|max:255|min:1",
|
|
|
+ "tax|税率"=>"require|number|gt:0",
|
|
|
+ "goodNum|商品数量"=>"require|number|gt:0",
|
|
|
+ "goodPrice|商品单价"=>"require|number|gt:0",
|
|
|
+ "mobile|联系人电话"=>"require|number|mobile",
|
|
|
+ "contactor|联系人"=>"require|max:255|min:1",
|
|
|
+ "addr|收货地址"=>"require|max:255|min:1",
|
|
|
+ "buyerid|销售员"=>"require|number|gt:0",
|
|
|
+ "sendtime|发货时间"=>"require|date",
|
|
|
+ "cat_id|商品分类ID"=>"require|number|gt:0",
|
|
|
+ "cgd_tax|采购毛利率"=>"require|number|gt:0",
|
|
|
+ ]);
|
|
|
+ if($valid->check($param)==false)return error_show(1004,$valid->getError());
|
|
|
+ $qrdcode =makeNo("QRD");
|
|
|
+ $cgddcode =makeNo("CGD");
|
|
|
+ $goodCode =makeNo("SPU");
|
|
|
+ $customer =Db::name("customer_info")->where('companyNo', "=", $param['khNo'])->find();
|
|
|
+ $supplierName =Db::name("supplier")->where('code', "=", $param['supplierNo'])->value("name","");
|
|
|
+ $companyName =Db::name("supplier")->where('code', "=", $param['companyNo'])->value("name","");
|
|
|
+ $param["cgd_tax"]=$param["cgd_tax"]/100;
|
|
|
+ $inter=[
|
|
|
+ "cgdNo"=>$cgddcode,
|
|
|
+ "orderCode"=>$qrdcode,
|
|
|
+ "rate"=>$param["cgd_tax"],
|
|
|
+ "apply_id"=>$this->uid,
|
|
|
+ "apply_name"=>$this->uname,
|
|
|
+ "mobile"=>$param['mobile'],
|
|
|
+ "contactor"=>$param['contactor'],
|
|
|
+ "sendtime"=>$param['sendtime'],
|
|
|
+ "addr"=>$param['addr'],
|
|
|
+ ];
|
|
|
+ $saleinfo= GetInfoById($param['token'],['id'=>$param['saleid']]);
|
|
|
+ if(empty($to)||$to['code']!=0){
|
|
|
+ return app_show(1002,"销售员工信息不存在");
|
|
|
+ }
|
|
|
+ $buyer= GetInfoById($param['token'],['id'=>$param['buyerid']]);
|
|
|
+ if(empty($to)||$to['code']!=0){
|
|
|
+ return app_show(1002,"采购员工信息不存在");
|
|
|
+ }
|
|
|
+ $qrd =['orderCode' => $qrdcode,
|
|
|
+ 'apply_id' => $param['saleid'] ?? 0,
|
|
|
+ 'apply_name' => $saleinfo['data']['nickname'] ?? '',
|
|
|
+ 'order_type' => 2,
|
|
|
+ 'order_source' =>1,
|
|
|
+ 'platform_id' => '',
|
|
|
+ 'good_code' => $goodCode,
|
|
|
+ 'cat_id' => $param['cat_id'] ?? 0,
|
|
|
+ 'cat_name' => json_encode($this->_get_cat_list($param['cat_id']), JSON_UNESCAPED_UNICODE),
|
|
|
+ 'good_name' => $param['goodName'] ?? '',
|
|
|
+ 'good_num' => $param['goodNum'] ?? 0,
|
|
|
+ 'good_type' =>1,
|
|
|
+ 'is_activity' => 0,
|
|
|
+ 'is_stock' => 0,
|
|
|
+ 'arrive_time' => '',
|
|
|
+ 'customer_code' => $customer['companyNo'] ?? '',
|
|
|
+ 'customer_name' => $customer['companyName'] ?? '',
|
|
|
+ 'supplierNo' => $param['companyNo'],
|
|
|
+ 'supplier_name' => $companyName ?? '',
|
|
|
+ 'zxNo' => '',
|
|
|
+ 'proof_id' => 0,
|
|
|
+ 'proof_url' => '',
|
|
|
+ 'other_orderNo' =>'' ,
|
|
|
+ 'paytime' => '',
|
|
|
+ 'workNo' => $param['workNo'] ?? '',
|
|
|
+ 'poNo' => $param['poNo'] ?? '',
|
|
|
+ 'use_order' => '',
|
|
|
+ 'good_weight' => 0,
|
|
|
+ 'addtime' => date("Y-m-d H:i:s"),
|
|
|
+ 'noble_metal' => '',
|
|
|
+ 'brand' =>'',
|
|
|
+ 'unit' => '',
|
|
|
+ 'cost_desc' => '',
|
|
|
+ 'noble_weight' => 0,
|
|
|
+ 'tax' => $param['tax'],
|
|
|
+ 'lead_time' => 0,
|
|
|
+ 'depart' => get_company_name_by_uid($param['saleid'] ?? 0) ?? '',
|
|
|
+ 'cgdNo' => $cgddcode,
|
|
|
+ 'pay_id' =>0,
|
|
|
+ 'oldCode' => 0,
|
|
|
+ 'origin_price' => 0,
|
|
|
+ 'sale_price' => round($param['goodPrice'], 4),
|
|
|
+ 'total_price' =>round($param['goodPrice']*$param['goodNum'], 4),
|
|
|
+ 'post_fee' => 0,
|
|
|
+ 'is_diff' => 0,
|
|
|
+ 'send_num' => $param['goodNum'],
|
|
|
+ 'wsend_num' => 0,
|
|
|
+ 'th_num' => 0,
|
|
|
+ 'send_type' => 0,
|
|
|
+ 'gold_price' =>0,
|
|
|
+ 'cost_price' => 0,
|
|
|
+ 'status' => 2,
|
|
|
+ 'updatetime' =>date("Y-m-d H:i:s"),
|
|
|
+ 'delivery_day' => 0,
|
|
|
+ 'th_fee' => 0,
|
|
|
+ 'cost_fee' => 0,
|
|
|
+ 'diff_fee' => 0,
|
|
|
+ 'diff_weight' => 0,
|
|
|
+ 'send_status' =>3,
|
|
|
+ ];
|
|
|
+ $cgd=[
|
|
|
+ 'cgdNo' => $cgddcode,
|
|
|
+ 'bkcode' => '',
|
|
|
+ 'wsm_code' => '',
|
|
|
+ 'cgder' => $buyer['data']['nickname'] ?? '',
|
|
|
+ 'cgder_id' => $param['buyerid'] ?? 0,
|
|
|
+ 'depart' => get_company_name_by_uid($param['buyerid'] ?? 0) ?? '',
|
|
|
+ 'qrdNo' => $qrdcode,
|
|
|
+ 'spuCode' => $goodCode,
|
|
|
+ 'good_name' => $param['goodName'],
|
|
|
+ 'skuCode' =>'',
|
|
|
+ 'good_num' => $param['goodNum'] ?? 0,
|
|
|
+ 'cat_name' => json_encode($this->_get_cat_list($param['cat_id']), JSON_UNESCAPED_UNICODE),
|
|
|
+ 'companyNo' => $param['companyNo'],
|
|
|
+ 'companyName' => $companyName,
|
|
|
+ 'supplierNo' => $param['supplierNo'],
|
|
|
+ 'supplier_name' => $supplierName,
|
|
|
+ 'bktime' => '',
|
|
|
+ 'bkcreater' => '',
|
|
|
+ 'noble_metal' => '',
|
|
|
+ 'brand' => '',
|
|
|
+ 'unit' => '',
|
|
|
+ 'cost_desc' => '',
|
|
|
+ 'noble_weight' => '',
|
|
|
+ 'tax' => $param['tax'] ?? '',
|
|
|
+ 'is_stock' =>0,
|
|
|
+ 'delivery_day' => 0,
|
|
|
+ 'lead_time' => 0,
|
|
|
+ 'is_diff' =>0,
|
|
|
+ 'addtime' =>date("Y-m-d H:i:s"),
|
|
|
+ 'supplier_persion' => $buyer['data']['nickname'] ?? '',
|
|
|
+ 'supplier_persionid' => $param['buyerid'] ?? 0,
|
|
|
+ 'pay_id' => 0,
|
|
|
+ 'oldCode' => '',
|
|
|
+ 'good_price' => round($param['goodPrice']*(1-$param['cgd_tax']), 4),
|
|
|
+ 'total_fee' => round($param['goodNum']*$param['goodPrice']*(1-$param['cgd_tax']),4),
|
|
|
+ 'pakage_fee' => 0,
|
|
|
+ 'open_fee' => 0,
|
|
|
+ 'cert_fee' => 0,
|
|
|
+ 'delivery_fee' => 0,
|
|
|
+ 'mark_fee' => 0,
|
|
|
+ 'teach_fee' => 0,
|
|
|
+ 'nake_fee' => 0,
|
|
|
+ 'demo_fee' => 0,
|
|
|
+ 'weight' => 0,
|
|
|
+ 'diff_weight' =>0,
|
|
|
+ 'diff_fee' => 0,
|
|
|
+ 'gold_price' =>0,
|
|
|
+ 'send_num' => $param['goodNum'],
|
|
|
+ 'wsend_num' => 0,
|
|
|
+ 'status' =>3 ,
|
|
|
+ 'order_type' =>2,
|
|
|
+ 'order_source' => 1,//支付渠道
|
|
|
+ 'good_type' => 1,
|
|
|
+ 'last_time' => '',
|
|
|
+ 'send_type' => 1,
|
|
|
+ 'send_status' => 3,
|
|
|
+ 'th_num' => 0,
|
|
|
+ 'th_fee' =>0,
|
|
|
+ 'updatetime' =>date("Y-m-d H:i:s"),
|
|
|
+ ];
|
|
|
+
|
|
|
+ $good=[
|
|
|
+ "spuCode" => $goodCode,
|
|
|
+ "good_name" => $param['goodName'],
|
|
|
+ "brand_id" => 0,
|
|
|
+ "good_unit" => 0,
|
|
|
+ "cat_id" => $param['cat_id'],
|
|
|
+ "good_type" => 1,
|
|
|
+ "moq" => 1,
|
|
|
+ "customized" => 0,
|
|
|
+ "tax" => $param['tax'],
|
|
|
+ "supplierNo" => $param["supplierNo"],
|
|
|
+ "is_auth" => 0,
|
|
|
+ "craft_desc" => $param['goodName'],
|
|
|
+ "good_remark" => "",
|
|
|
+ "platform_id" =>0,
|
|
|
+ "good_img" => '',
|
|
|
+ "good_thumb_img" => "",
|
|
|
+ "good_info_img" => "",
|
|
|
+ "specinfo" => '',
|
|
|
+ "work_day" => 0,
|
|
|
+ "noble_metal" => 0,
|
|
|
+ "is_gold_price" =>0,
|
|
|
+ "config" => '',
|
|
|
+ "other_config" => '',
|
|
|
+ "weight" =>0,
|
|
|
+ "good_weight" => 0,
|
|
|
+ "is_diff" => 0,
|
|
|
+ "supply_area" =>0,
|
|
|
+ "pay_way" => 0,
|
|
|
+ "send_way" => 1,
|
|
|
+ "companyNo" => $param['comapnyNo'],
|
|
|
+ "status" => 1,
|
|
|
+ "is_del" => 0,
|
|
|
+ "createrid" => $this->uid,
|
|
|
+ "creater" => $this->uname,
|
|
|
+ "addtime" => date("Y-m-d H:i:s"),
|
|
|
+ "updatetime" => date("Y-m-d H:i:s"),
|
|
|
+ 'proof_type' => 0,//凭证类型
|
|
|
+ 'proof_url' => '',//凭证文件
|
|
|
+ ];
|
|
|
+ Db::startTrans();
|
|
|
+ try {
|
|
|
+ $a = Db::name("qrd_caixiao")->insert($qrd);
|
|
|
+ $d = Db::name("inter_order")->insert($inter);
|
|
|
+ $b = Db::name('cgd_caixiao')->insert($cgd);
|
|
|
+ $c = Db::name('good_zixun')->insert($good);
|
|
|
+ if ($a && $b && $c&&$d) {
|
|
|
+ Db::commit();
|
|
|
+ return app_show(0,'新建成功');
|
|
|
+ } else {
|
|
|
+ Db::rollback();
|
|
|
+ return error_show(1004,'新建失败');
|
|
|
+ }
|
|
|
+ } catch (\Exception $e) {
|
|
|
+ Db::rollback();
|
|
|
+ return error_show(1004, $e->getMessage());
|
|
|
+ }
|
|
|
+
|
|
|
+ }
|
|
|
+
|
|
|
+ public function save(){
|
|
|
+ $param =$this->request->only(["token"=>"",
|
|
|
+ "saleid"=>"","companyNo"=>'',"poNo"=>"","workNo"=>"","khNo"=>"","order_type"=>"","goodName"=>"",
|
|
|
+ "tax"=>"","goodNum"=>"","goodPrice"=>"","mobile"=>"","addr"=>"","contactor"=>"",
|
|
|
+ "buyerid"=>"","sendtime"=>"","cat_id"=>'',"supplierNo"=>"","cgd_tax"=>"","id"=>""
|
|
|
+ ],"post");
|
|
|
+ $valid =Validate::rule([
|
|
|
+ "token"=>"require|max:255|min:1",
|
|
|
+ "id|主键ID"=>"require|number|gt:0",
|
|
|
+ "saleid|业务员名称"=>"require|number|gt:0",
|
|
|
+ "companyNo|业务公司编号"=>"require|max:255|min:1",
|
|
|
+ "supplierNo|业务公司编号"=>"require|max:255|min:1",
|
|
|
+ "poNo|PO编号"=>"require|max:255|min:1",
|
|
|
+ "workNo|单据编号"=>"require|max:255|min:1",
|
|
|
+ "khNo|客户公司编号"=>"require|max:255|min:1",
|
|
|
+ "order_type|订单类型"=>"require|number|in:[1,2,3]",
|
|
|
+ "goodName|商品名称"=>"require|max:255|min:1",
|
|
|
+ "tax|税率"=>"require|number|gt:0",
|
|
|
+ "goodNum|商品数量"=>"require|number|gt:0",
|
|
|
+ "goodPrice|商品单价"=>"require|number|gt:0",
|
|
|
+ "mobile|联系人电话"=>"require|number|mobile",
|
|
|
+ "contactor|联系人"=>"require|max:255|min:1",
|
|
|
+ "addr|收货地址"=>"require|max:255|min:1",
|
|
|
+ "buyerid|销售员"=>"require|number|gt:0",
|
|
|
+ "sendtime|发货时间"=>"require|date",
|
|
|
+ "cat_id|商品分类ID"=>"require|number|gt:0",
|
|
|
+ "cgd_tax|采购毛利率"=>"require|number|gt:0",
|
|
|
+ ]);
|
|
|
+ if($valid->check($param)==false)return error_show(1004,$valid->getError());
|
|
|
+ $inter_order=Db::name("inter_order")->where(["id"=>$param['id']])->findOrEmpty();
|
|
|
+ if(empty($inter_order)) return error_show(1004,"未找到订单数据");
|
|
|
+ $qrd_order=Db::name("qrd_caixiao")->where(["orderCode"=>$inter_order['orderCode']])->findOrEmpty();
|
|
|
+ if(empty($qrd_order)) return error_show(1004,"未找到销售单数据");
|
|
|
+ $cgd_order=Db::name("cgd_caixiao")->where(["cgdNo"=>$inter_order['cgdNo']])->findOrEmpty();
|
|
|
+ if(empty($cgd_order)) return error_show(1004,"未找到采购单数据");
|
|
|
+ $customer =Db::name("customer_info")->where('companyNo', "=", $param['khNo'])->find();
|
|
|
+ $supplierName =Db::name("supplier")->where('code', "=", $param['supplierNo'])->value("name","");
|
|
|
+ $companyName =Db::name("supplier")->where('code', "=", $param['companyNo'])->value("name","");
|
|
|
+ $param["cgd_tax"]=$param["cgd_tax"]/100;
|
|
|
+ $inter=[
|
|
|
+ "id"=>$inter_order['id'],
|
|
|
+ "rate"=>$param["cgd_tax"],
|
|
|
+ "mobile"=>$param['mobile'],
|
|
|
+ "contactor"=>$param['contactor'],
|
|
|
+ "addr"=>$param['addr'],
|
|
|
+ "sendtime"=>$param['sendtime'],
|
|
|
+ "updatetime"=>date("Y-m-d H:i:s")
|
|
|
+ ];
|
|
|
+ $saleinfo= GetInfoById($param['token'],['id'=>$param['saleid']]);
|
|
|
+ if(empty($to)||$to['code']!=0){
|
|
|
+ return app_show(1002,"销售员工信息不存在");
|
|
|
+ }
|
|
|
+ $buyer= GetInfoById($param['token'],['id'=>$param['buyerid']]);
|
|
|
+ if(empty($to)||$to['code']!=0){
|
|
|
+ return app_show(1002,"采购员工信息不存在");
|
|
|
+ }
|
|
|
+ $qrd =['id' => $qrd_order['id'],
|
|
|
+ 'apply_id' => $param['saleid'] ?? 0,
|
|
|
+ 'apply_name' => $saleinfo['data']['nickname'] ?? '',
|
|
|
+ 'cat_id' => $param['cat_id'] ?? 0,
|
|
|
+ 'cat_name' => json_encode($this->_get_cat_list($param['cat_id']), JSON_UNESCAPED_UNICODE),
|
|
|
+ 'good_name' => $param['goodName'] ?? '',
|
|
|
+ 'good_num' => $param['goodNum'] ?? 0,
|
|
|
+ 'customer_code' => $customer['companyNo'] ?? '',
|
|
|
+ 'customer_name' => $customer['companyName'] ?? '',
|
|
|
+ 'supplierNo' => $param['companyNo'],
|
|
|
+ 'supplier_name' => $companyName ?? '',
|
|
|
+ 'workNo' => $param['workNo'] ?? '',
|
|
|
+ 'poNo' => $param['poNo'] ?? '',
|
|
|
+ 'tax' => $param['tax'],
|
|
|
+ 'depart' => get_company_name_by_uid($param['saleid'] ?? 0) ?? '',
|
|
|
+ 'sale_price' => round($param['goodPrice'], 4),
|
|
|
+ 'total_price' =>round($param['goodPrice']*$param['goodNum'], 4),
|
|
|
+ 'send_num' => $param['goodNum'],
|
|
|
+ 'updatetime' =>date("Y-m-d H:i:s")];
|
|
|
+ $cgd=[
|
|
|
+ 'id' => $cgd_order['id'],
|
|
|
+ 'cgder' => $buyer['data']['nickname'] ?? '',
|
|
|
+ 'cgder_id' => $param['buyerid'] ?? 0,
|
|
|
+ 'depart' => get_company_name_by_uid($param['buyerid'] ?? 0) ?? '',
|
|
|
+ 'good_name' => $param['goodName'],
|
|
|
+ 'good_num' => $param['goodNum'] ?? 0,
|
|
|
+ 'cat_name' => json_encode($this->_get_cat_list($param['cat_id']), JSON_UNESCAPED_UNICODE),
|
|
|
+ 'companyNo' => $param['companyNo'],
|
|
|
+ 'companyName' => $companyName,
|
|
|
+ 'supplierNo' => $param['supplierNo'],
|
|
|
+ 'supplier_name' => $supplierName,
|
|
|
+ 'tax' => $param['tax'] ?? '',
|
|
|
+ 'supplier_persion' => $buyer['data']['nickname'] ?? '',
|
|
|
+ 'supplier_persionid' => $param['buyerid'] ?? 0,
|
|
|
+ 'good_price' => round($param['goodPrice']*(1-$param['cgd_tax']), 4),
|
|
|
+ 'total_fee' => round($param['goodNum']*$param['goodPrice']*(1-$param['cgd_tax']),4),
|
|
|
+ 'send_num' => $param['goodNum'],
|
|
|
+ 'updatetime' =>date("Y-m-d H:i:s"),
|
|
|
+ ];
|
|
|
+ Db::startTrans();
|
|
|
+ try {
|
|
|
+ $a = Db::name("qrd_caixiao")->save($qrd);
|
|
|
+ $d = Db::name("inter_order")->save($inter);
|
|
|
+ $b = Db::name('cgd_caixiao')->save($cgd);
|
|
|
+ if ($a && $b && $d) {
|
|
|
+ Db::commit();
|
|
|
+ return app_show(0,'更新成功');
|
|
|
+ } else {
|
|
|
+ Db::rollback();
|
|
|
+ return error_show(1004,'更新失败');
|
|
|
+ }
|
|
|
+ } catch (\Exception $e) {
|
|
|
+ Db::rollback();
|
|
|
+ return error_show(1004, $e->getMessage());
|
|
|
+ }
|
|
|
+ }
|
|
|
+// "id|主键ID"=>"require|number|gt:0",
|
|
|
+// "sale_name|业务员名称"=>"require|max:255|min:1",
|
|
|
+// "sale_id|业务员名称"=>"require|number|gt:0",
|
|
|
+// "companyNo|业务公司编号"=>"require|max:255|min:1",
|
|
|
+// "supplierNo|业务公司编号"=>"require|max:255|min:1",
|
|
|
+// "poNo|PO编号"=>"require|max:255|min:1",
|
|
|
+// "sequenceNo|单据编号"=>"require|max:255|min:1",
|
|
|
+// "khNo|客户公司编号"=>"require|max:255|min:1",
|
|
|
+// "qrdType|订单类型"=>"require|number|in:[1,2,3]",
|
|
|
+// "goodName|商品名称"=>"require|max:255|min:1",
|
|
|
+// "tax|税率"=>"require|number|gt:0",
|
|
|
+// "goodNum|商品数量"=>"require|number|gt:0",
|
|
|
+// "goodPrice|商品单价"=>"require|number|gt:0",
|
|
|
+// "mobile|联系人电话"=>"require|number|mobile",
|
|
|
+// "contactor|联系人"=>"require|max:255|min:1",
|
|
|
+// "addr|收货地址"=>"require|max:255|min:1",
|
|
|
+// "buyer|销售员"=>"require|max:255|min:1",
|
|
|
+// "buyerid|销售员"=>"require|number|gt:0",
|
|
|
+// "sendtime|发货时间"=>"require|date",
|
|
|
+// "cat|商品分类"=>"require|array",
|
|
|
+// "cgd_tax|采购毛利率"=>"require|number|gt:0",
|
|
|
+// "sale_depart|销售员部门"=>"require|max:255|min:1",
|
|
|
+// "cgd_depart|采购员部门"=>"require|max:255|min:1",
|
|
|
+ public function info(){
|
|
|
+ $post=$this->request->post();
|
|
|
+ $id = isset($post['id'])&&$post['id']!='' ? $post['id'] :"";
|
|
|
+ if($id=='') return error_show(1004,"参数id 不能为空");
|
|
|
+ $condition = [['a.id',"=",$id]];
|
|
|
+ $list=Db::name('inter_order')->alias('a')->join('qrd_caixiao b','a.orderCode=b.orderCode','left')
|
|
|
+ ->join('cgd_caixiao c','a.cgdNo=c.cgdNo','left')->json(["cat_name"])->where($condition)
|
|
|
+ ->order("a.addtime desc")->field('a.id,
|
|
|
+ b.good_code ,
|
|
|
+ a.orderCode,
|
|
|
+ b.customer_code as khNo,
|
|
|
+ b.customer_name as khName,
|
|
|
+ c.companyName,
|
|
|
+ c.companyNo,
|
|
|
+ b.poNo,
|
|
|
+ b.workNo,
|
|
|
+ a.addtime,
|
|
|
+ b.apply_name as sale_name,
|
|
|
+ b.apply_id as saleid,
|
|
|
+ b.depart as sale_depart,
|
|
|
+ b.good_name goodName,
|
|
|
+ b.tax,
|
|
|
+ b.cat_name as cat,
|
|
|
+ b.sale_price goodPrice,
|
|
|
+ b.good_num goodNum,
|
|
|
+ b.total_price,
|
|
|
+ b.order_type,
|
|
|
+ c.supplier_name,
|
|
|
+ c.supplierNo,
|
|
|
+ a.cgdNo,
|
|
|
+ c.cgder as buyer,
|
|
|
+ c.cgderid as buyerid,
|
|
|
+ c.depart as cgd_depart,
|
|
|
+ a.sendtime ,
|
|
|
+ a.rate*100 as cgd_tax,
|
|
|
+ a.contactor,
|
|
|
+ a.mobile,
|
|
|
+ a.addr
|
|
|
+ ')->findOrEmpty();
|
|
|
+ if(empty($list)){
|
|
|
+ return error_show(1004,'未找到数据');
|
|
|
+ }
|
|
|
+ return app_show(0,"获取成功",$list);
|
|
|
+ }
|
|
|
+
|
|
|
+ //获取分类层级信息,id、cat_name(分类名称)和fund_code(财务核算码)
|
|
|
+ private function _get_cat_list($var, $data = [])
|
|
|
+ {
|
|
|
+ $str = Db::name('cat')
|
|
|
+ ->field('id,cat_name,fund_code,pid')
|
|
|
+ ->where(['id' => $var])
|
|
|
+ ->findOrEmpty();
|
|
|
+ if ($str == false) return [];
|
|
|
+
|
|
|
+ $vmn = [];
|
|
|
+ $vmn['id'] = $str['id'];
|
|
|
+ $vmn['cat_name'] = $str['cat_name'];
|
|
|
+ $vmn['fund_code'] = $str['fund_code'];
|
|
|
+ array_unshift($data, $vmn);
|
|
|
+ if ($str['pid'] == 0) return $data;
|
|
|
+ else return $this->_get_cat_list($str['pid'], $data);
|
|
|
+
|
|
|
+ }
|
|
|
+}
|