|
@@ -152,38 +152,17 @@ class Report extends Base
|
|
|
|
|
|
$rs = Db::name('good_zixun')
|
|
|
->alias('gz')
|
|
|
- ->field('gz.id,DATE_FORMAT(gz.addtime,"%Y-%m-%d") addtime,gz.createrid,du.itemid,ci.name')
|
|
|
+ ->field('count(gz.id) total,DATE_FORMAT(gz.addtime,"%Y-%m-%d") addtime,du.itemid,ci.name')
|
|
|
->leftJoin('depart_user du', 'du.uid=gz.createrid AND du.is_del=0')
|
|
|
->leftJoin('company_item ci', 'ci.id=du.itemid AND ci.is_del=0')
|
|
|
->where('gz.is_del', 0)
|
|
|
- ->whereBetween('gz.addtime', [$param['start_date'] . ' 00:00:00', $param['end_date'] . ' 23:59:59'])
|
|
|
- ->cursor();
|
|
|
-
|
|
|
- $data = [];
|
|
|
- foreach ($rs as $value) {
|
|
|
- $addtime_stamp = strtotime($value['addtime']);
|
|
|
-
|
|
|
- if (!isset($data[$addtime_stamp])) $data[$addtime_stamp] = [
|
|
|
- 'date' => $value['addtime'],
|
|
|
- 'list' => [],
|
|
|
- ];
|
|
|
-
|
|
|
- if (isset($data[$addtime_stamp]['list'][$value['itemid']])) {
|
|
|
- $data[$addtime_stamp]['list'][$value['itemid']]['total']++;
|
|
|
- } else {
|
|
|
- $data[$addtime_stamp]['list'][$value['itemid']] = [
|
|
|
- 'total' => 1,
|
|
|
- 'name' => $value['name'],
|
|
|
- ];
|
|
|
- }
|
|
|
- }
|
|
|
-
|
|
|
- //去掉下标
|
|
|
- foreach ($data as &$v) {
|
|
|
- $v['list'] = array_merge($v['list']);
|
|
|
- }
|
|
|
+ ->group('addtime,du.itemid,ci.name')
|
|
|
+ ->order('addtime')
|
|
|
+// ->whereBetween('gz.addtime', [$param['start_date'] . ' 00:00:00', $param['end_date'] . ' 23:59:59'])
|
|
|
+ ->select()
|
|
|
+ ->toArray();
|
|
|
|
|
|
- return app_show(0, '请求成功', array_merge($data));
|
|
|
+ return app_show(0, '请求成功', $rs);
|
|
|
|
|
|
}
|
|
|
|
|
@@ -472,8 +451,9 @@ class Report extends Base
|
|
|
{
|
|
|
$param = $this->request->only([
|
|
|
'token',
|
|
|
- 'start_date' => date('Y-m-d'),
|
|
|
- 'end_date' => date('Y-m-d'),
|
|
|
+ 'addtime_start' => date('Y-m-d'),
|
|
|
+ 'addtime_end' => date('Y-m-d'),
|
|
|
+ 'status' => '',
|
|
|
'page' => 1,
|
|
|
'size' => 15,
|
|
|
'is_export' => 0,//是否导出,1导出,0不导出
|
|
@@ -488,26 +468,27 @@ class Report extends Base
|
|
|
if (!$val_params->check($param)) return error_show(1004, $val_params->getError());
|
|
|
|
|
|
$rs = Db::name('purchease_order')
|
|
|
- ->alias('po');
|
|
|
-// ->leftJoin('consult_info ci', 'ci.zxNo=cb.zxNo AND ci.is_del=0')
|
|
|
-// ->leftJoin('consult_order co', 'co.zxNo=cb.zxNo AND co.is_del=0')
|
|
|
-// ->leftJoin('customer_info csi', 'csi.companyNo=co.khNo AND csi.is_del=0')
|
|
|
-// ->where('cb.is_del', 0)
|
|
|
-// ->order('co.endtime', 'desc');
|
|
|
+ ->alias('po')
|
|
|
+ ->leftJoin('business b', 'b.companyNo=po.companyNo AND b.is_del=0');
|
|
|
|
|
|
- if ($param['start_date'] != '' && $param['end_date'] != '') $rs->whereBetween('ci.addtime', [$param['start_date'] . ' 00:00:00', $param['end_date'] . ' 23:59:59']);
|
|
|
- if ($param['companyName'] != '') $rs->whereLike('csi.companyName', '%' . $param['companyName'] . '%');
|
|
|
+ if ($param['addtime_start'] != '' && $param['addtime_end'] != '') $rs->whereBetween('po.addtime', [$param['addtime_start'] . ' 00:00:00', $param['addtime_end'] . ' 23:59:59']);
|
|
|
+ if ($param['status'] != '') $rs->where('po.status', '=', $param['status']);
|
|
|
+
|
|
|
+ $all_status = ['待与供应商确认', '待入库', '部分入库', '入库完成', '已取消订单'];
|
|
|
|
|
|
if ($param['is_export'] == 1) {
|
|
|
$data = $rs
|
|
|
- ->field('cb.zxNo 咨询订单号,cb.good_name 产品名称,ci.num 需求数量,csi.companyName 客户名称,ci.addtime 咨询时间,co.endtime 截止时间')
|
|
|
+ ->field('po.cgdNo 采购单编号,po.addtime 创建时间,po.supplierNo 供应商编号,po.supplier_name 供应商名称,po.good_name 产品名称,po.good_num 购买数量,po.nake_fee 裸价,po.total_fee 成本合计,po.status 单据状态,po.wsend_num 未发货数量,"" 创建人,b.company 客户名称,po.cgder 采购员,"" 发货时间')
|
|
|
+ ->withAttr('单据状态', function ($val) use ($all_status) {
|
|
|
+ return isset($all_status[$val]) ? $all_status[$val] : '';
|
|
|
+ })
|
|
|
->select()
|
|
|
->toArray();
|
|
|
|
|
|
if (empty($data)) return error_show(1005, '没有可供导出的数据');
|
|
|
else {
|
|
|
$headerArr = array_keys($data[0]);
|
|
|
- excelSave('咨询单报表-未采反信息' . date('YmdHis'), $headerArr, $data);
|
|
|
+ excelSave('订单明细报表' . date('YmdHis'), $headerArr, $data);
|
|
|
}
|
|
|
|
|
|
} else {
|
|
@@ -515,7 +496,10 @@ class Report extends Base
|
|
|
$total = $rs->count('po.id');
|
|
|
|
|
|
$data = $rs
|
|
|
- ->field('po.,po.,po.,po.,po.,po.,po.,po.')
|
|
|
+ ->field('po.cgdNo,po.addtime,po.supplierNo,po.supplier_name,po.good_name,po.good_num,po.nake_fee,po.total_fee,po.status,po.wsend_num,"" 创建人,b.company,po.cgder,"" 发货时间')
|
|
|
+ ->withAttr('status', function ($val) use ($all_status) {
|
|
|
+ return isset($all_status[$val]) ? $all_status[$val] : '';
|
|
|
+ })
|
|
|
->page($param['page'], $param['size'])
|
|
|
->select()
|
|
|
->toArray();
|