Procházet zdrojové kódy

Merge branch 'master-new-wgg' of wugg/phpstock into master-new

wugg před 1 rokem
rodič
revize
33cca5cc92

+ 1 - 1
app/admin/controller/Consult.php

@@ -801,7 +801,7 @@ class Consult extends Base
 //        $catinfo = Db::name("cat")->where(["id"=>$cat_id])->find();
 
         //计算毛利率
-        $budget = get_budget($zxinfo['cat_id'], $relaComNo, $zx['platform_code']);
+        $budget = get_budget($zxinfo['cat_id'], $zx['companyNo'], $zx['platform_code']);
 //        $budget = isset($catinfo['order_rate']) ? $catinfo['order_rate']/100:0;
 
         //部分参数的大小校验

+ 24 - 16
app/admin/controller/Filing.php

@@ -680,6 +680,7 @@ class Filing extends Base
             "tax" => "",
             "goodNum" => "",
             "goodPrice" => "",
+            "sale_total" => "",
             "goodUnit" => "",
             "mobile" => "",
             "addr" => "",
@@ -689,6 +690,7 @@ class Filing extends Base
             "cat_id" => '',
             "supplierNo" => "",
             "cgdPrice" => "",
+            "cgd_total" => "",
             "platform_id" => "0",
         ], "post", "trim");
 
@@ -702,13 +704,15 @@ class Filing extends Base
             "goodUnit|商品单位" => "require|number|gt:0",
             "tax|税率" => "require|number|gt:0",
             "goodNum|商品数量" => "require|number|gt:0",
-            "goodPrice|商品单价" => "require|float|gt:0",
+            "sale_total|销售总额" => "require|float|gt:0",
+            "cgd_total|采购总额" => "require|float|gt:0",
+//            "goodPrice|商品单价" => "require|float|gt:0",
             "mobile|联系人电话" => "require|number|mobile",
             "contactor|联系人" => "require|max:255|min:1",
             "addr|收货地址" => "require|max:255|min:1",
             "sendtime|发货时间" => "require|date",
             "cat_id|商品分类id" => "require|number|gt:0",
-            "cgdPrice|采购单价" => "require|float|gt:0",
+//            "cgdPrice|采购单价" => "require|float|gt:0",
             "platform_id|平台" => "require|number"
         ]);
         if ($valid->check($param) == false) return error_show(1004, $valid->getError());
@@ -725,15 +729,14 @@ class Filing extends Base
             $payinfo = Db::name("platform")->where(["id"=> $param['platform_id'],"is_del"=>0])->findOrEmpty();
             if (empty($payinfo)) return error_show(1004, "平台信息未找到");
             if ($payinfo['status'] != 1) return error_show(1004, "平台信息已禁用");
-
-//	            $supplierArr = Db::name("platform_pay_rate")->where(["platform_id" => $param['platform_id'], "status" => 1, "is_del" => 0])->column("companyNo");
-//	            if (in_array($param['companyNo'], $supplierArr)) return error_show(1004, "平台支付渠道含有该业务公司,平台无法使用!");
-	             if($payinfo['is_select_pay_rate']==1 && channel_is_company($param['platform_id'],$param['companyNo']))return error_show(1004, "平台渠道包含当前业务公司 {$tmp['data'][$param['companyNo']]}");
+            if($payinfo['is_select_pay_rate']==1 && channel_is_company($param['platform_id'],$param['companyNo']))return error_show(1004, "平台渠道包含当前业务公司 {$tmp['data'][$param['companyNo']]}");
 
 		$supplierinfo = $userCommon->handle("hqInfo",["code"=>$param['supplierNo']]);
 		if(!isset($supplierinfo['data'])|| empty($supplierinfo['data'])) return json_show(1004, "未找到供应商公司数据");
 		$person =$supplierinfo['data']['child']??["person"=>'',"person_id"=>0];
 		 if($param['companyNo']== $supplierinfo['data']['relation_code']) return json_show(1004,'供应商和业务公司不能为同一家公司');
+		 $cgdprice = round($param['cgd_total']/$param['goodNum'],2);
+		 $saleprice = round($param['sale_total']/$param['goodNum'],2);
         $qrddata = [
             "orderCode" => $qrdcode,
             "apply_id" => $this->uid,
@@ -747,9 +750,9 @@ class Filing extends Base
             "good_name" => $param['goodName'],
             "good_num" => $param['goodNum'],
             "good_type" => 1,
-            "origin_price" => $param['cgdPrice'],
-            "sale_price" => $param['goodPrice'],
-            "total_price" => round($param['goodPrice'] * $param['goodNum'], 2),
+            "origin_price" => $cgdprice,
+            "sale_price" => $saleprice,
+            "total_price" =>$param['sale_total'],
             "post_fee" => 0,
             "is_diff" => 0,
             "is_activity" => 0,
@@ -796,8 +799,8 @@ class Filing extends Base
             "spuCode" => $goodCode,
             "good_name" => $param['goodName'],
             "good_num" => $param['goodNum'],
-            "good_price" => $param['cgdPrice'],
-            "total_fee" => round($param['cgdPrice'] * $param['goodNum'], 2),
+            "good_price" => $cgdprice,
+            "total_fee" => $param['cgd_total'],
             "supplierNo" => $param['supplierNo'],
             "supplier_name" =>$tmp['data'][$param['supplierNo']],
             "companyNo" => $param['companyNo'],
@@ -927,6 +930,7 @@ class Filing extends Base
             "unitName" => Db::name("unit")->where(["id" => $goodinfo['good_unit']])->value("unit", ""),
             "goodNum" => $saleinfo['good_num'],
             "goodPrice" => $saleinfo['sale_price'],
+            "sale_total" => $saleinfo['total_price'],
             "mobile" => $addr['mobile'],
             "addr" => $addr['addr'],
             "addr_cn" => GetAddr(json_encode($addinfo)),
@@ -939,8 +943,9 @@ class Filing extends Base
             "cat_name" => Db::name("cat")->where(["id" => $saleinfo['cat_id']])->value("cat_name", ''),
             "supplierNo" => $cgd['supplierNo'],
             "supplierNanme" => $cgd['supplier_name'],
-            "cgd_tax" => round(($saleinfo['sale_price'] - $saleinfo['origin_price']) / $saleinfo['sale_price'], 4) * 100,
+            "cgd_tax" => round((1 -  $cgd['total_fee']/ $saleinfo['total_price']), 4) * 100,
             "cgdPrice" => $saleinfo['origin_price'],
+            "cgd_total" => $cgd['total_fee'],
             "pay_id" => $saleinfo['pay_id'],
             "pay_name" =>$platform['pay_title']??"",
         ];
@@ -961,7 +966,8 @@ class Filing extends Base
             "contactor" => "",
             "sendtime" => "",
             "supplierNo" => "",
-            "cgdPrice" => ""
+            "cgd_total" => "",
+//            "sale_total" => "",
         ], "post", "trim");
 
         $valid = Validate::rule([
@@ -974,7 +980,8 @@ class Filing extends Base
             "addr|收货地址" => "require|max:255|min:1",
             "sendtime|发货时间" => "require|date",
             "tax|商品利率" => "require|number",
-            "cgdPrice|采购单价" => "require|float|gt:0",
+            "cgd_total|采购总额" => "require|float|gt:0",
+//            "sale_total|销售总额" => "require|float|gt:0",
         ]);
         if ($valid->check($param) == false) return error_show(1004, $valid->getError());
         $saleinfo = Db::name("sale")->where(["orderCode" => $param['orderCode']])->findOrEmpty();
@@ -992,7 +999,8 @@ class Filing extends Base
         if (empty($good)) return error_show(1004, "商品信息不存在");
         $addr = Db::name("order_addr")->where(["orderCode" => $param['orderCode']])->findOrEmpty();
         if (empty($addr)) return error_show(1004, "地址信息不存在");
-        $cgdPrice = $param['cgdPrice'];
+        $cgdPrice = round($param['cgd_total']/$saleinfo['good_num'],2);
+//        $salePrice = round($param['sale_total']/$saleinfo['good_num'],2);
 		$supplierinfo = $userCommon->handle("hqInfo",["code"=>$param['supplierNo']]);
 		if(!isset($supplierinfo['data'])|| empty($supplierinfo['data'])) return json_show(1004, "未找到供应商公司数据");
 		$person =$supplierinfo['data']['child']??["person"=>'',"person_id"=>0];
@@ -1010,7 +1018,7 @@ class Filing extends Base
             "cgder_id" => $person['personid'],
             'cgder' => $person['person'],
             "good_price" => $cgdPrice,
-            "total_fee" => round($cgdPrice * $saleinfo['good_num'], 2),
+            "total_fee" => $param['cgd_total'],
             "supplierNo" => $param['supplierNo'],
             "supplier_name" => $supplierinfo['data']['name'],
 //			"companyNo"=>$param['companyNo'],

+ 8 - 42
app/admin/controller/InterOrder.php

@@ -48,8 +48,8 @@ class InterOrder extends Base
 			"good_unit|商品单位"=>"require|max:255|min:1",
 			"good_tax|商品税率"=>"require|float",
 			"good_num|商品数量"=>"require|number|gt:0",
-			"sale_price|销售单价"=>"require|float|gt:0",
-			"cgd_price|采购单价"=>"require|float|gt:0",
+			"sale_total|销售总价"=>"require|float|gt:0",
+			"cgd_total|采购总价"=>"require|float|gt:0",
 			"contactor|收货联系人"=>"require|max:255|min:1",
 			"mobile|收货联系方式"=>"require|max:255|min:1",
 			"addr|收货地址"=>"require|max:255|min:1",
@@ -86,10 +86,11 @@ class InterOrder extends Base
 				"good_unit"=>$item['good_unit'],
 				"good_tax"=>$item['good_tax'],
 				"good_num"=>$item['good_num'],
-				"sale_price"=>$item['sale_price'],
-				"cgd_price"=>$item['cgd_price'],
-				"cgd_tax"=>round(1-($item['cgd_price']/$item['sale_price']),4)*100 ,
-				"sale_total"=>round($item['good_num']*$item['sale_price'],2),
+				"sale_price"=>round($item['sale_total']/$item['good_num'],2),
+				"cgd_price"=>round($item['cgd_total']/$item['good_num'],2),
+				"cgd_tax"=>round(1-($item['cgd_total']/$item['sale_total']),4)*100 ,
+				"sale_total"=>$item['sale_total'],
+				"cgd_total"=>$item['cgd_total'],
 				"contactor"=>$item['contactor'],
 				"mobile"=>$item['mobile'],
 				"addr"=>$item['addr'],
@@ -103,17 +104,6 @@ class InterOrder extends Base
 		return error_show(0,"订单录入成功");
     }
 
-    /**
-     * 保存新建的资源
-     *
-     * @param  \think\Request  $request
-     * @return \think\Response
-     */
-    public function save()
-    {
-
-    }
-
     /**
      * 显示指定的资源
      *
@@ -147,35 +137,11 @@ class InterOrder extends Base
 		->page(intval($page),intval($param['size']))
 		->withAttr("cat_info",function ($v){return made($v);})
 		->withAttr("good_unit",function ($v){return Db::name("unit")->where(["id"=>$v])->value("unit",'');})
-
-			->order("id desc")
+		->order("id desc")
 		->select();
 		return app_show(0,"获取成功",["list"=>$list,"count"=>$count]);
     }
 
-    /**
-     * 显示编辑资源表单页.
-     *
-     * @param  int  $id
-     * @return \think\Response
-     */
-    public function edit($id)
-    {
-        //
-    }
-
-    /**
-     * 保存更新的资源
-     *
-     * @param  \think\Request  $request
-     * @param  int  $id
-     * @return \think\Response
-     */
-    public function update(Request $request, $id)
-    {
-        //
-    }
-
     /**
      * 删除指定资源
      *

+ 8 - 4
app/admin/controller/OrderOutChild.php

@@ -67,6 +67,7 @@ class OrderOutChild extends Base
             'relaComNo' => '',
             'use_type' => '',
             'IsByMe' => '0',
+            "cgdNo"=>""
         ], 'post', 'trim');
 
         $where = [['a.is_del', '=', 0]];
@@ -88,7 +89,7 @@ class OrderOutChild extends Base
         if ($param['order_type'] != '') $where[] = ['a.order_type', '=', $param['order_type']];
         if ($param['relaComNo'] != '') $where[] = ['a.companyNo', '=', $param['relaComNo']];
         if ($param['use_type'] !== '') $where[] = ['p.use_type', '=', $param['use_type']];
-
+		if ($param['cgdNo'] !== '') $where[] = ['m.cgdNo', '=', $param['cgdNo']];
         $condition = '1=1';
         if($param['IsByMe']==1)$condition = '1=0';
         //只有level2的账号过滤数据权限
@@ -103,7 +104,6 @@ class OrderOutChild extends Base
             	if($param['IsByMe']==0){
 	                 $role = $this->checkDataShare();
 	                if (!empty($role[DataGroupModel::$type_全部])) {
-//	                    if ($condition != '') $condition .= " or ";
 	                    $condition .= " or (a.apply_id in (" . implode(',', $role[DataGroupModel::$type_全部]) . "))";
 	                }
             	}
@@ -137,16 +137,18 @@ class OrderOutChild extends Base
             ->leftJoin('warehouse_info c', 'c.wsm_code=a.wsm_code AND c.is_del=0')
             ->leftJoin('sale d', 'd.orderCode=a.orderCode AND d.is_del=0')
             ->leftJoin('platform p', 'p.id=d.platform_id AND p.is_del=0')
+            ->leftJoin('order_send m', 'a.outCode=m.outCode')
             ->where($where)
             ->where($condition)
             ->count('a.id');
 
         $list = Db::name('order_out_child')
             ->alias('a')
-            ->field('a.*,c.supplierNo wsm_supplierNo,c.supplierName wsm_supplierName,c.name wsm_name,c.contactor_name,p.use_type')
+            ->field('a.*,c.supplierNo wsm_supplierNo,c.supplierName wsm_supplierName,c.name wsm_name,c.contactor_name,p.use_type,m.cgdNo')
             ->leftJoin('warehouse_info c', 'c.wsm_code=a.wsm_code AND c.is_del=0')
             ->leftJoin('sale d', 'd.orderCode=a.orderCode AND d.is_del=0')
             ->leftJoin('platform p', 'p.id=d.platform_id AND p.is_del=0')
+            ->leftJoin('order_send m', 'a.outCode=m.outCode')
             ->order(['a.addtime' => 'desc', 'a.id' => 'desc'])
             ->page($param['page'], $param['size'])
             ->where($where)
@@ -193,6 +195,7 @@ class OrderOutChild extends Base
             'relaComNo' => '',
             'use_type' => '',
             'IsByMe' => '0',
+            "cgdNo"=>'',
         ], 'post', 'trim');
 
         $where = [['a.is_del', '=', 0]];
@@ -214,6 +217,7 @@ class OrderOutChild extends Base
         if ($param['order_type'] != '') $where[] = ['a.order_type', '=', $param['order_type']];
         if ($param['relaComNo'] != '') $where[] = ['a.companyNo', '=', $param['relaComNo']];
         if ($param['use_type'] !== '') $where[] = ['p.use_type', '=', $param['use_type']];
+        if ($param['cgdNo'] !== '') $where[] = ['m.cgdNo', '=', $param['cgdNo']];
         $condition = '1=1';
         if($param['IsByMe']==1)$condition = '1=0';
         //只有level2的账号过滤数据权限
@@ -228,7 +232,6 @@ class OrderOutChild extends Base
             	if($param['IsByMe']==0){
 	                 $role = $this->checkDataShare();
 	                if (!empty($role[DataGroupModel::$type_全部])) {
-//	                    if ($condition != '') $condition .= " or ";
 	                    $condition .= " or (a.apply_id in (" . implode(',', $role[DataGroupModel::$type_全部]) . "))";
 	                }
             	}
@@ -253,6 +256,7 @@ class OrderOutChild extends Base
             $tmp = Db::name('warehouse_info')->field('id')->where(['is_del' => 0, 'contactor' => $this->uid])->findOrEmpty();
              //库管看到所有的库存品发货申请单
             if (!empty($tmp)) $condition .= " or (a.order_type=1 AND c.contactor=" . $this->uid.")";
+            $condition .= " or (a.order_type <>1 )";
 
         }
 

+ 4 - 7
app/admin/controller/Sale.php

@@ -3481,6 +3481,10 @@ class Sale extends Base
         if ($companyNo != "") {
             $where[] = ['b.supplierNo', "like", "%$companyNo%"];
         }
+        $customer_code = isset($this->post['customerCode']) && $this->post['customerCode'] !== "" ? trim($this->post['customerCode']) : "";
+        if ($customer_code != "") {
+            $where[] = ['b.customer_code', "like", "%$customer_code%"];
+        }
 
         $relaComNo = isset($this->post['relaComNo']) && $this->post['relaComNo'] !== "" ? trim($this->post['relaComNo']) : "";
         if ($relaComNo != '') $where[] = ['b.supplierNo', '=', $relaComNo];
@@ -3499,14 +3503,7 @@ class Sale extends Base
         if ($cgdNo != "") {
             $where[] = ["os.cgdNo", 'like', '%' . $cgdNo . '%'];
         }
-//        $role = $this->checkRole();
         $condition = '';
-//        if (!empty($role['write']) && $this->uid != "") {
-//            // $where[]=["a.apply_id","in",$role['write']];
-//            $condition .= " (b.is_stock=1 and n.contactor = {$this->uid}) or (b.is_stock=0 and wpo.cgder_id = {$this->uid}) or a.apply_id in (" . implode(',',
-//                    $role['write']) . ")";
-//        }
-
         //只有level2的账号过滤数据权限
         if ($this->level == 2) {