|
@@ -2,8 +2,8 @@
|
|
|
|
|
|
namespace app\admin\controller;
|
|
|
|
|
|
-use app\abutment\model\SupplierRelationUser;
|
|
|
-use app\abutment\model\SupplierUser;
|
|
|
+//use app\abutment\model\SupplierRelationUser;
|
|
|
+//use app\abutment\model\SupplierUser;
|
|
|
use think\facade\Db;
|
|
|
|
|
|
//前端报表处理类
|
|
@@ -2186,20 +2186,20 @@ class SaleReport extends Base
|
|
|
|
|
|
$data = Db::name('order_out')
|
|
|
->alias('a')
|
|
|
- ->field('a.addtime,a.orderCode,a.sendtime,a.outCode,a.status,b.good_name,b.sale_price,a.send_num,a.apply_name,ci.name apply_company,c.person cgder,a.post_name,a.post_code,oa.contactor,oa.mobile,oa.addr,oa.addr_code,a.remark,b.order_type')
|
|
|
+ ->field('a.addtime,a.orderCode,a.sendtime,a.outCode,a.status,b.good_name,b.sale_price,a.send_num,a.apply_name,ci.name apply_company,"" cgder,a.post_name,a.post_code,oa.contactor,oa.mobile,oa.addr,oa.addr_code,a.remark,b.order_type,po.supplierNo')
|
|
|
->leftJoin("sale b", "b.orderCode=a.orderCode")
|
|
|
->leftJoin("order_send os", "os.outCode=a.outCode")
|
|
|
->leftJoin("purchease_order po", "po.cgdNo=os.cgdNo")
|
|
|
->leftJoin("order_addr oa", "oa.id=a.addrid")
|
|
|
->leftJoin("depart_user u", "u.uid=a.apply_id AND u.is_del=0")
|
|
|
->leftJoin("company_item ci", "ci.id=u.itemid")
|
|
|
- ->leftJoin("supplier c", "c.code=po.supplierNo")
|
|
|
+// ->leftJoin("supplier c", "c.code=po.supplierNo")
|
|
|
->where($where)
|
|
|
->page($param['page'], $param['size'])
|
|
|
->order("a.addtime desc")
|
|
|
->cursor();
|
|
|
|
|
|
- $list = [];
|
|
|
+ $list = $tmp=[];
|
|
|
foreach ($data as $value) {
|
|
|
|
|
|
$value['send_total_price'] = round($value['send_num'] * $value['sale_price'], 2);
|
|
@@ -2213,10 +2213,20 @@ class SaleReport extends Base
|
|
|
}
|
|
|
|
|
|
$value['addr'] = GetAddr($value['addr_code']) . $value['addr'];
|
|
|
+ if(!isset($tmp[$value['supplierNo']])) $tmp[$value['supplierNo']] = $value['supplierNo'];
|
|
|
|
|
|
$list[] = $value;
|
|
|
}
|
|
|
|
|
|
+ $person = \app\admin\common\User::getIns()->handle('sGetList',['more_code'=>array_values($tmp),'size'=>count($tmp)]);
|
|
|
+ $person = array_column($person['data']['list'],'person','code');
|
|
|
+ foreach ($list as &$value){
|
|
|
+ $value['cgder'] = $person[$value['supplierNo']]??'';
|
|
|
+ }
|
|
|
+
|
|
|
+ unset($tmp);
|
|
|
+ unset($person);
|
|
|
+
|
|
|
return app_show(0, '请求成功', ['list' => $list, 'count' => $count]);
|
|
|
|
|
|
}
|
|
@@ -2236,19 +2246,19 @@ class SaleReport extends Base
|
|
|
|
|
|
$data = Db::name('order_out')
|
|
|
->alias('a')
|
|
|
- ->field('a.addtime 下单日期,a.orderCode 订单编号,a.sendtime 发货时间,a.outCode 发货申请单号,a.status 发货申请单状态,b.good_name 商品名称,b.sale_price 产品单价,a.send_num 发货数量,"" 发货申请单总价,a.apply_name 申请人,ci.name 部门,c.person 采购员,a.post_name 快递公司,a.post_code 快递单号,oa.contactor 收货人,oa.mobile 收货电话,oa.addr 收货地址,oa.addr_code,a.remark 备注,b.order_type 订单类型')
|
|
|
+ ->field('a.addtime 下单日期,a.orderCode 订单编号,a.sendtime 发货时间,a.outCode 发货申请单号,a.status 发货申请单状态,b.good_name 商品名称,b.sale_price 产品单价,a.send_num 发货数量,"" 发货申请单总价,a.apply_name 申请人,ci.name 部门,"" 采购员,a.post_name 快递公司,a.post_code 快递单号,oa.contactor 收货人,oa.mobile 收货电话,oa.addr 收货地址,oa.addr_code,a.remark 备注,b.order_type 订单类型,po.supplierNo')
|
|
|
->leftJoin("sale b", "b.orderCode=a.orderCode")
|
|
|
->leftJoin("order_send os", "os.outCode=a.outCode")
|
|
|
->leftJoin("purchease_order po", "po.cgdNo=os.cgdNo")
|
|
|
->leftJoin("order_addr oa", "oa.id=a.addrid")
|
|
|
->leftJoin("depart_user u", "u.uid=a.apply_id AND u.is_del=0")
|
|
|
->leftJoin("company_item ci", "ci.id=u.itemid")
|
|
|
- ->leftJoin("supplier c", "c.code=po.supplierNo")
|
|
|
+// ->leftJoin("supplier c", "c.code=po.supplierNo")
|
|
|
->where($where)
|
|
|
->order("a.addtime desc")
|
|
|
->cursor();
|
|
|
|
|
|
- $list = [];
|
|
|
+ $list = $tmp = [];
|
|
|
foreach ($data as $value) {
|
|
|
|
|
|
$value['发货申请单总价'] = round(bcmul($value['发货数量'], $value['产品单价'], 3), 2);
|
|
@@ -2264,11 +2274,23 @@ class SaleReport extends Base
|
|
|
|
|
|
$value['收货地址'] = GetAddr($value['addr_code']) . $value['收货地址'];
|
|
|
|
|
|
+ if(!isset($tmp[$value['supplierNo']])) $tmp[$value['supplierNo']] = $value['supplierNo'];
|
|
|
+
|
|
|
unset($value['addr_code']);
|
|
|
+ unset($value['supplierNo']);
|
|
|
|
|
|
$list[] = $value;
|
|
|
}
|
|
|
|
|
|
+ $person = \app\admin\common\User::getIns()->handle('sGetList',['more_code'=>array_values($tmp),'size'=>count($tmp)]);
|
|
|
+ $person = array_column($person['data']['list'],'person','code');
|
|
|
+ foreach ($list as &$value){
|
|
|
+ $value['采购员'] = $person[$value['supplierNo']]??'';
|
|
|
+ }
|
|
|
+
|
|
|
+ unset($tmp);
|
|
|
+ unset($person);
|
|
|
+
|
|
|
if (empty($list)) $list[] = ['没有相关可导出的数据'];
|
|
|
excelSave('直接发货申请单统计' . date('YmdHis'), array_keys($list[0]), $list);
|
|
|
|
|
@@ -2499,9 +2521,10 @@ class SaleReport extends Base
|
|
|
$list = [];
|
|
|
// $total = ['cat_1' => '总计', 'cat_2' => '', 'cat_3' => '', 'tag_1' => 0, 'tag_2' => 0, 'tag_3' => 0, 'tag_supplier' => 0, 'tag_person' => 0, 'tag_logistics' => 0, 'tag_total' => 0];
|
|
|
|
|
|
- $supplierNos = SupplierRelationUser::where(['is_del' => SupplierUser::$is_del_normal, 'status' => SupplierUser::$status_normal])
|
|
|
- ->group('supplierNo')
|
|
|
- ->column('supplierNo');
|
|
|
+// $supplierNos = SupplierRelationUser::where(['is_del' => SupplierUser::$is_del_normal, 'status' => SupplierUser::$status_normal])
|
|
|
+// ->group('supplierNo')
|
|
|
+// ->column('supplierNo');
|
|
|
+ $has_sup_acc=checkHasAccountBySupplierNos();
|
|
|
|
|
|
foreach ($data as $val) {
|
|
|
|
|
@@ -2527,7 +2550,7 @@ class SaleReport extends Base
|
|
|
break;
|
|
|
case 2: //非库存品
|
|
|
case 3: //咨询采反
|
|
|
- if (in_array($val['supplierNo'], $supplierNos)) $list[$val['cat_id']]['tag_supplier']++;
|
|
|
+ if (in_array($val['supplierNo'], $has_sup_acc)) $list[$val['cat_id']]['tag_supplier']++;
|
|
|
else $list[$val['cat_id']]['tag_person']++;
|
|
|
break;
|
|
|
|
|
@@ -2562,9 +2585,11 @@ class SaleReport extends Base
|
|
|
->where($where)
|
|
|
->cursor();
|
|
|
|
|
|
- $supplierNos = SupplierRelationUser::where(['is_del' => SupplierUser::$is_del_normal, 'status' => SupplierUser::$status_normal])
|
|
|
- ->group('supplierNo')
|
|
|
- ->column('supplierNo');
|
|
|
+ $has_sup_acc=checkHasAccountBySupplierNos();
|
|
|
+
|
|
|
+// $supplierNos = SupplierRelationUser::where(['is_del' => SupplierUser::$is_del_normal, 'status' => SupplierUser::$status_normal])
|
|
|
+// ->group('supplierNo')
|
|
|
+// ->column('supplierNo');
|
|
|
|
|
|
$list = [];
|
|
|
|
|
@@ -2598,12 +2623,12 @@ class SaleReport extends Base
|
|
|
case 2:
|
|
|
$list[$val['cat_id']]['非库存品']++;
|
|
|
// $total['非库存品']++;
|
|
|
- if (in_array($val['supplierNo'], $supplierNos)) $list[$val['cat_id']]['供应商发货']++;
|
|
|
+ if (in_array($val['supplierNo'], $has_sup_acc)) $list[$val['cat_id']]['供应商发货']++;
|
|
|
else $list[$val['cat_id']]['负责人发货']++;
|
|
|
break;
|
|
|
case 3:
|
|
|
$list[$val['cat_id']]['咨询采反']++;
|
|
|
- if (in_array($val['supplierNo'], $supplierNos)) $list[$val['cat_id']]['供应商发货']++;
|
|
|
+ if (in_array($val['supplierNo'], $has_sup_acc)) $list[$val['cat_id']]['供应商发货']++;
|
|
|
else $list[$val['cat_id']]['负责人发货']++;
|
|
|
// $total['咨询采反']++;
|
|
|
break;
|
|
@@ -2803,11 +2828,13 @@ class SaleReport extends Base
|
|
|
if ($param['start_day'] != '' && $param['end_day'] != '') $where[] = ['a.addtime', 'between', [$param['start_day'] . ' 00:00:00', $param['end_day'] . ' 23:59:59']];
|
|
|
|
|
|
if ($param['flag'] != '') {
|
|
|
- $supplierNos = SupplierRelationUser::where(['is_del' => SupplierUser::$is_del_normal, 'status' => SupplierUser::$status_normal])
|
|
|
- ->group('supplierNo')
|
|
|
- ->column('supplierNo');
|
|
|
- if ($param['flag'] == 1) $where[] = ['a.supplierNo', 'in', $supplierNos];//1.开通账号的
|
|
|
- else $where[] = ['a.supplierNo', 'not in', $supplierNos];//2.未开通账号的
|
|
|
+// $supplierNos = SupplierRelationUser::where(['is_del' => SupplierUser::$is_del_normal, 'status' => SupplierUser::$status_normal])
|
|
|
+// ->group('supplierNo')
|
|
|
+// ->column('supplierNo');
|
|
|
+ $has_sup_acc = checkHasAccountBySupplierNos();
|
|
|
+
|
|
|
+ if ($param['flag'] == 1) $where[] = ['a.supplierNo', 'in', array_keys($has_sup_acc)];//1.开通账号的
|
|
|
+ else $where[] = ['a.supplierNo', 'not in', array_keys($has_sup_acc)];//2.未开通账号的
|
|
|
}
|
|
|
|
|
|
$data = Db::name('purchease_order')
|
|
@@ -2903,11 +2930,13 @@ class SaleReport extends Base
|
|
|
if ($param['start_day'] != '' && $param['end_day'] != '') $where[] = ['a.addtime', 'between', [$param['start_day'] . ' 00:00:00', $param['end_day'] . ' 23:59:59']];
|
|
|
|
|
|
if ($param['flag'] != '') {
|
|
|
- $supplierNos = SupplierRelationUser::where(['is_del' => SupplierUser::$is_del_normal, 'status' => SupplierUser::$status_normal])
|
|
|
- ->group('supplierNo')
|
|
|
- ->column('supplierNo');
|
|
|
- if ($param['flag'] == 1) $where[] = ['a.supplierNo', 'in', $supplierNos];//1.开通账号的
|
|
|
- else $where[] = ['a.supplierNo', 'not in', $supplierNos];//2.未开通账号的
|
|
|
+// $supplierNos = SupplierRelationUser::where(['is_del' => SupplierUser::$is_del_normal, 'status' => SupplierUser::$status_normal])
|
|
|
+// ->group('supplierNo')
|
|
|
+// ->column('supplierNo');
|
|
|
+ $has_sup_acc = checkHasAccountBySupplierNos();
|
|
|
+
|
|
|
+ if ($param['flag'] == 1) $where[] = ['a.supplierNo', 'in', array_keys($has_sup_acc)];//1.开通账号的
|
|
|
+ else $where[] = ['a.supplierNo', 'not in', array_keys($has_sup_acc)];//2.未开通账号的
|
|
|
}
|
|
|
|
|
|
$data = Db::name('purchease_order')
|