Browse Source

Merge branch 'dev_wf' of wugg/phpstock into version1.5

wufeng 2 years ago
parent
commit
98833e3462
1 changed files with 50 additions and 51 deletions
  1. 50 51
      app/command/NowReportHandle.php

+ 50 - 51
app/command/NowReportHandle.php

@@ -86,34 +86,22 @@ class NowReportHandle extends Command
     //退货台账-业务口径
     private function A(string $start_date = '', string $end_date = '')
     {
-
-        $data = Db::name('sale_return')
-            ->alias('sr')
-            ->field('sr.returnCode 退货单号,sr.status 流程进度,sr.addtime 退货发起日期,b.company 公司名称, ci1.name 退货人所在部门,sr.apply_name 退货人,sr.num 退货数量,sr.total_fee 退货销售货款,sr.remark 退货备注,c.companyName 客户名称,or.customer_code 客户编码,"" 一级组织,"" 二级组织,"" 三级组织,p.platform_name 平台名称,s.poNo PO编号,sr.orderCode 确认单编号,s.order_type 确认单类型,s.addtime 确认单下单时间,ci2.name 业务人员所在部门,s.apply_name 业务人员,sr.orderCode 确认单产品编号,sr.good_name 产品名称,sr.good_code 产品编码,"" 一级分类,s.cat_id,c.itemid')
-            ->leftJoin('platform p', 'p.id = sr.platform_id')
-            ->leftJoin('order_return or', 'or.orderCode = sr.orderCode')
-            ->leftJoin('customer_info c', 'c.companyNo = or.customer_code')
-            ->leftJoin('sale s', 's.orderCode = sr.orderCode')
-            ->leftJoin('business b', 'b.companyNo = s.supplierNo')
-            ->leftJoin('depart_user du1', 'du1.uid = sr.apply_id')
-            ->leftJoin('company_item ci1', 'ci1.id = du1.itemid')
-            ->leftJoin('depart_user du2', 'du2.uid = s.apply_id')
-            ->leftJoin('company_item ci2', 'ci2.id = du2.itemid')
-            ->where('sr.is_del', 0)
-            ->whereBetween('sr.addtime', [$start_date, $end_date])
-            ->order('sr.addtime', 'desc')
+        $data = Db::name('order_back')
+            ->alias('ob')
+            ->field('ob.thNo 退货单号,ob.status 流程进度,ob.addtime 退货发起日期,"" 退货人所在部门,ob.apply_name 退货人,ob.return_num 退货数量,ob.total_fee 退货销售货款,ob.remark 退货备注,c.companyName 客户名称,ob.customer_code 客户编码,"" 一级组织,"" 二级组织,"" 三级组织,p.platform_name 平台名称,s.poNo PO编号,s.orderCode 确认单编号,s.order_type 确认单类型,s.addtime 确认单下单时间,"" 业务人员所在部门,ob.cgder 业务人员,s.good_code 确认单产品编号,ob.good_name 产品名称,s.skuCode 产品编码,"" 一级分类,0 售前记录总数,ob.apply_id,ob.cgderid,s.cat_id,c.itemid')
+            ->leftJoin('sale s', 's.orderCode=ob.orderCode')
+            ->leftJoin('customer_info c', 'c.companyNo=ob.customer_code AND c.is_del=0')
+            ->leftJoin('platform p', 'p.id=ob.platform_id')
+            ->where(['ob.is_del' => 0, 'ob.status' => 4])
+            ->whereBetween('ob.addtime', [$start_date, $end_date])
             ->cursor();
 
-        $all_sale_return_status = [1 => '待业务审批', 2 => '待专员审批', 3 => '待主管审批', 4 => '退货完成', 5 => '业务驳回', 6 => '采购驳回', 7 => '专员审批不通过'];
-        $all_sale_order_type = [1 => '备库', 2 => '非库存', 3 => '咨询采反', 4 => '项目采反', 5 => '平台部订单销售',];
+        $all_status = [1 => '待业务审批', 2 => '待专员审批', 3 => '待主管审批', 4 => '退货完成', 5 => '业务驳回', 6 => '采购驳回', 7 => '专员审批不通过'];
+        $all_order_type = [1 => '备库', 2 => '非库存', 3 => '咨询采反', 4 => '项目采反', 5 => '平台部订单库存品', 6 => '平台部订单非库存品'];
         $list = [];
         foreach ($data as $value) {
 
-            $value['流程进度'] = isset($all_sale_return_status[$value['流程进度']]) ? $all_sale_return_status[$value['流程进度']] : '';
-            $value['确认单类型'] = isset($all_sale_order_type[$value['确认单类型']]) ? $all_sale_order_type[$value['确认单类型']] : '';
-
-            $top = made($value['cat_id']);
-            $value['一级分类'] = isset($top[0]['name']) ? $top[0]['name'] : '';
+            $value['流程进度'] = isset($all_status[$value['流程进度']]) ? $all_status[$value['流程进度']] : '';
 
             if (!empty($value['itemid'])) {
                 $customer_org1 = get_top_customer_org($value['itemid']);
@@ -133,8 +121,16 @@ class NowReportHandle extends Command
                 }
             }
 
+            $value['退货人所在部门'] = get_company_name_by_uid($value['apply_id']);
+            $value['业务人员所在部门'] = get_company_name_by_uid($value['cgderid']);
+            $value['确认单类型'] = isset($all_order_type[$value['确认单类型']]) ? $all_order_type[$value['确认单类型']] : '';
+            $top = made($value['cat_id']);
+            $value['一级分类'] = isset($top[0]['name']) ? $top[0]['name'] : '';
+            $value['售前记录总数'] = Db::name('sale_return')->where(['orderCode' => $value['确认单编号'], 'is_del' => 0])->count('id');
             unset($value['cat_id']);
             unset($value['itemid']);
+            unset($value['apply_id']);
+            unset($value['cgderid']);
 
             yield $list[] = $value;
         }
@@ -188,43 +184,32 @@ class NowReportHandle extends Command
     //退货台账
     private function C(string $start_date = '', string $end_date = '')
     {
-
-        $data = Db::name('sale_return')
-            ->alias('sr')
-            ->field('DATE_FORMAT(sr.addtime,"%Y") 年,DATE_FORMAT(sr.addtime,"%m") 月,DATE_FORMAT(sr.addtime,"%d") 日,b.company 公司名称,sr.returnCode 退货单号,sr.status 流程进度,ci2.name 业务人员所在部门,s.apply_name 业务人员,sr.orderCode 订单编号,p.platform_name 平台名称,s.workNo 平台订单号,"" 一级组织,"" 二级组织,"" 三级组织,c.companyName 客户名称,gp.spuCode 产品编码,sr.good_name 产品名称,"" 一级分类,"" 二级分类,"" 三级分类,cat.fund_code 财务核算码,u.unit 单位,sr.num 退货数量,s.sale_price 销售单价,round(sale_price*sr.num,2) 退货销售货款,sr.remark 退货备注,on.cgdNo 采购单号,po.cgder 采购员,po.nake_fee 成本裸价,po.pakge_fee 包装费,po.delivery_fee 物流费,po.cert_fee 证书费,po.mark_fee 加标费,po.open_fee 开模费,po.diff_weight 工差,po.diff_fee 采购工差金额,po.good_price 采购单价,round(sr.num*po.good_price-po.diff_fee,2) 退货采购货款,gb.tax 采购税点,supp.name 供应商名称,wi.name 库房名称,pi.sendtype 发货方式,supp.pay_type 结算方式,c.itemid,s.cat_id')
-            ->leftJoin('platform p', 'p.id = sr.platform_id')
-            ->leftJoin('order_return or', 'or.orderCode = sr.orderCode')
-            ->leftJoin('customer_info c', 'c.companyNo = or.customer_code')
-            ->leftJoin('sale s', 's.orderCode = sr.orderCode')
-            ->leftJoin('business b', 'b.companyNo = s.supplierNo')
-            ->leftJoin('depart_user du2', 'du2.uid = s.apply_id')
-            ->leftJoin('company_item ci2', 'ci2.id = du2.itemid')
-            ->leftJoin('good_platform gp', 'gp.skuCode = s.skuCode')
-            ->leftJoin('good_basic gb', 'gb.spuCode = gp.spuCode')
-            ->leftJoin('unit u', 'u.id = gb.good_unit')
-            ->leftJoin('order_num on', 'on.orderCode =sr.orderCode')
+        $data = Db::name('order_back')
+            ->alias('ob')
+            ->field('DATE_FORMAT(ob.addtime,"%Y") 年,DATE_FORMAT(ob.addtime,"%m") 月,DATE_FORMAT(ob.addtime,"%d") 日,c.companyName 公司名称,ob.thNo 退货单号,ob.status 流程进度,"" 业务人员部门,ob.cgder 业务人员,ob.orderCode 订单编号,p.platform_name 平台名称,s.workNo 平台订单号,"" 一级组织,"" 二级组织,"" 三级组织,c.companyName 客户名称,s.good_code 产品编码,ob.good_name 产品名称,"" 一级分类,"" 二级分类,"" 三级分类,cat.fund_code 财务核算码,gb.good_unit 单位,ob.return_num 退货数量,s.sale_price 销售单价,0.00 退货销售货款,ob.remark 退货备注,on.cgdNo 采购单号,po.cgder 采购员,po.nake_fee 成本裸价,po.pakge_fee 包装费,po.delivery_fee 物流费,po.cert_fee 证书费,po.mark_fee 加标费,po.open_fee 开模费,po.diff_weight 工差,po.diff_fee 采购工差金额,po.good_price 采购单价,0.00 退货采购货款,gb.tax 采购税点,supp.name 供应商名称,wi.name 库房名称,pi.sendtype 发货方式,supp.pay_type 结算方式,"" 售前记录总数,c.itemid,s.cat_id,ob.cgderid')
+            ->leftJoin('sale s', 's.orderCode=ob.orderCode')
+            ->leftJoin('customer_info c', 'c.companyNo=ob.customer_code AND c.is_del=0')
+            ->leftJoin('platform p', 'p.id=ob.platform_id')
             ->leftJoin('cat cat', 'cat.id =s.cat_id')
+            ->leftJoin('order_num on', 'on.orderCode =ob.orderCode')
             ->leftJoin('purchease_order po', 'po.cgdNo =on.cgdNo')
-            ->leftJoin('purchease_in pi', 'pi.cgdNo =on.cgdNo')
-            ->leftJoin('supplier supp', 'supp.code =s.supplierNo')
+            ->leftJoin('good_basic gb', 'gb.spuCode =ob.good_code')
+            ->leftJoin('supplier supp', 'supp.code =po.supplierNo')
             ->leftJoin('warehouse_info wi', 'wi.wsm_code =po.wsm_code')
-            ->where('sr.is_del', 0)
-            ->whereBetween('sr.addtime', [$start_date, $end_date])
-            ->order('sr.addtime', 'desc')
+            ->leftJoin('purchease_in pi', 'pi.cgdNo =on.cgdNo')
+            ->where(['ob.is_del' => 0, 'ob.status' => 4])
+            ->whereBetween('ob.addtime', [$start_date, $end_date])
             ->cursor();
 
-        $all_sale_return_status = [1 => '待业务审批', 2 => '待专员审批', 3 => '待主管审批', 4 => '退货完成', 5 => '业务驳回', 6 => '采购驳回', 7 => '专员审批不通过'];
+        $all_status = [1 => '待业务审批', 2 => '待专员审批', 3 => '待主管审批', 4 => '退货完成', 5 => '业务驳回', 6 => '采购驳回', 7 => '专员审批不通过'];
         $all_sendtype = [1 => '公司自提', 2 => '供应商包邮'];
+        $all_pay_type = [0 => '现结', 1 => '月清', 2 => '双月清'];
+
         $list = [];
         foreach ($data as $value) {
 
-            $value['流程进度'] = isset($all_sale_return_status[$value['流程进度']]) ? $all_sale_return_status[$value['流程进度']] : '';
-            $value['发货方式'] = isset($all_sendtype[$value['发货方式']]) ? $all_sendtype[$value['发货方式']] : '';
-
-            $top = made($value['cat_id']);
-            $value['一级分类'] = isset($top[0]['name']) ? $top[0]['name'] : '';
-            $value['二级分类'] = isset($top[1]['name']) ? $top[1]['name'] : '';
-            $value['三级分类'] = isset($top[2]['name']) ? $top[2]['name'] : '';
+            $value['流程进度'] = isset($all_status[$value['流程进度']]) ? $all_status[$value['流程进度']] : '';
+            $value['结算方式'] = isset($all_pay_type[$value['结算方式']]) ? $all_pay_type[$value['结算方式']] : '';
 
             if (!empty($value['itemid'])) {
                 $customer_org1 = get_top_customer_org($value['itemid']);
@@ -244,8 +229,20 @@ class NowReportHandle extends Command
                 }
             }
 
+            $value['业务人员部门'] = get_company_name_by_uid($value['cgderid']);
+            $top = made($value['cat_id']);
+            $value['一级分类'] = isset($top[0]['name']) ? $top[0]['name'] : '';
+            $value['二级分类'] = isset($top[1]['name']) ? $top[1]['name'] : '';
+            $value['三级分类'] = isset($top[2]['name']) ? $top[2]['name'] : '';
+
+            $value['售前记录总数'] = Db::name('sale_return')->where(['orderCode' => $value['订单编号'], 'is_del' => 0])->count('id');
+            $value['发货方式'] = isset($all_sendtype[$value['发货方式']]) ? $all_sendtype[$value['发货方式']] : '';
+            $value['退货销售货款'] = round($value['退货数量'] * $value['销售单价'], 2);
+            $value['退货采购货款'] = round($value['退货数量'] * $value['采购单价'] - $value['采购工差金额'], 2);
+
             unset($value['cat_id']);
             unset($value['itemid']);
+            unset($value['cgderid']);
 
             yield $list[] = $value;
         }
@@ -254,6 +251,7 @@ class NowReportHandle extends Command
 
     }
 
+    //出入库明细
     public function D($start,$end){
         $list =Db::name("order_out")->alias('woo')->leftJoin("sale a","a.orderCode=woo.orderCode")
             ->leftJoin("order_back wor","wor.outCode=woo.outCode and wor.status=4")
@@ -327,6 +325,7 @@ class NowReportHandle extends Command
             return $data;
         }
 
+    //备库单入库明细
     public function E($start,$end){
         $list =Db::name("purchease_in")->alias('wpi')->leftJoin("purchease_order wpo","wpo.cgdNo=wpi.cgdNo")
             ->leftJoin("purchease wp","wpo.bkcode=wp.bk_code")