|
@@ -1397,7 +1397,7 @@ class SaleReport extends Base
|
|
{
|
|
{
|
|
$param = $this->request->only(['token', 'start_date' => '', 'end_date' => '', 'start_sendtime' => '', 'end_sendtime' => '', 'status' => '', 'apply_company' => '', 'page' => 1, 'size' => 15, 'order_type' => ''], 'post', 'trim');
|
|
$param = $this->request->only(['token', 'start_date' => '', 'end_date' => '', 'start_sendtime' => '', 'end_sendtime' => '', 'status' => '', 'apply_company' => '', 'page' => 1, 'size' => 15, 'order_type' => ''], 'post', 'trim');
|
|
|
|
|
|
- $where = [['b.is_del', '=', 0], ['b.send_type', '=', 2]];//send_type==2 延迟发货
|
|
|
|
|
|
+ $where = [['b.is_del', '=', 0], ['b.send_type', '=', 2], ['a.send_num', '>', 0]];//send_type==2 延迟发货
|
|
if ($param['start_date'] != '' && $param['end_date'] != '') $where[] = ['a.addtime', 'between', [$param['start_date'] . ' 00:00:00', $param['end_date'] . ' 23:59:59']];
|
|
if ($param['start_date'] != '' && $param['end_date'] != '') $where[] = ['a.addtime', 'between', [$param['start_date'] . ' 00:00:00', $param['end_date'] . ' 23:59:59']];
|
|
if ($param['start_sendtime'] != '' && $param['end_sendtime'] != '') $where[] = ['a.sendtime', 'between', [$param['start_sendtime'] . ' 00:00:00', $param['end_sendtime'] . ' 23:59:59']];
|
|
if ($param['start_sendtime'] != '' && $param['end_sendtime'] != '') $where[] = ['a.sendtime', 'between', [$param['start_sendtime'] . ' 00:00:00', $param['end_sendtime'] . ' 23:59:59']];
|
|
if ($param['status'] != '') $where[] = ['a.status', '=', $param['status']];
|
|
if ($param['status'] != '') $where[] = ['a.status', '=', $param['status']];
|
|
@@ -1470,7 +1470,7 @@ class SaleReport extends Base
|
|
|
|
|
|
$param = $this->request->only(['token', 'start_date' => '', 'end_date' => '', 'start_sendtime' => '', 'end_sendtime' => '', 'status' => '', 'apply_company' => '', 'page' => 1, 'size' => 15, 'order_type' => ''], 'post', 'trim');
|
|
$param = $this->request->only(['token', 'start_date' => '', 'end_date' => '', 'start_sendtime' => '', 'end_sendtime' => '', 'status' => '', 'apply_company' => '', 'page' => 1, 'size' => 15, 'order_type' => ''], 'post', 'trim');
|
|
|
|
|
|
- $where = [['b.is_del', '=', 0], ['b.send_type', '=', 2]];//send_type==2 延迟发货
|
|
|
|
|
|
+ $where = [['b.is_del', '=', 0], ['b.send_type', '=', 2], ['a.send_num', '>', 0]];//send_type==2 延迟发货
|
|
if ($param['start_date'] != '' && $param['end_date'] != '') $where[] = ['a.addtime', 'between', [$param['start_date'] . ' 00:00:00', $param['end_date'] . ' 23:59:59']];
|
|
if ($param['start_date'] != '' && $param['end_date'] != '') $where[] = ['a.addtime', 'between', [$param['start_date'] . ' 00:00:00', $param['end_date'] . ' 23:59:59']];
|
|
if ($param['start_sendtime'] != '' && $param['end_sendtime'] != '') $where[] = ['a.sendtime', 'between', [$param['start_sendtime'] . ' 00:00:00', $param['end_sendtime'] . ' 23:59:59']];
|
|
if ($param['start_sendtime'] != '' && $param['end_sendtime'] != '') $where[] = ['a.sendtime', 'between', [$param['start_sendtime'] . ' 00:00:00', $param['end_sendtime'] . ' 23:59:59']];
|
|
if ($param['status'] != '') $where[] = ['a.status', '=', $param['status']];
|
|
if ($param['status'] != '') $where[] = ['a.status', '=', $param['status']];
|
|
@@ -1537,7 +1537,7 @@ class SaleReport extends Base
|
|
{
|
|
{
|
|
$param = $this->request->only(['token', 'start_date' => '', 'end_date' => '', 'start_sendtime' => '', 'end_sendtime' => '', 'status' => '', 'apply_company' => '', 'page' => 1, 'size' => 15, 'order_type' => ''], 'post', 'trim');
|
|
$param = $this->request->only(['token', 'start_date' => '', 'end_date' => '', 'start_sendtime' => '', 'end_sendtime' => '', 'status' => '', 'apply_company' => '', 'page' => 1, 'size' => 15, 'order_type' => ''], 'post', 'trim');
|
|
|
|
|
|
- $where = [['b.send_type', '=', 1]];//send_type==1 直接发货
|
|
|
|
|
|
+ $where = [['b.send_type', '=', 1], ['a.send_num', '>', 0]];//send_type==1 直接发货
|
|
if ($param['start_date'] != '' && $param['end_date'] != '') $where[] = ['a.addtime', 'between', [$param['start_date'] . ' 00:00:00', $param['end_date'] . ' 23:59:59']];
|
|
if ($param['start_date'] != '' && $param['end_date'] != '') $where[] = ['a.addtime', 'between', [$param['start_date'] . ' 00:00:00', $param['end_date'] . ' 23:59:59']];
|
|
if ($param['start_sendtime'] != '' && $param['end_sendtime'] != '') $where[] = ['a.sendtime', 'between', [$param['start_sendtime'] . ' 00:00:00', $param['end_sendtime'] . ' 23:59:59']];
|
|
if ($param['start_sendtime'] != '' && $param['end_sendtime'] != '') $where[] = ['a.sendtime', 'between', [$param['start_sendtime'] . ' 00:00:00', $param['end_sendtime'] . ' 23:59:59']];
|
|
if ($param['status'] != '') $where[] = ['a.status', '=', $param['status']];
|
|
if ($param['status'] != '') $where[] = ['a.status', '=', $param['status']];
|
|
@@ -1599,7 +1599,7 @@ class SaleReport extends Base
|
|
{
|
|
{
|
|
$param = $this->request->only(['token', 'start_date' => '', 'end_date' => '', 'start_sendtime' => '', 'end_sendtime' => '', 'status' => '', 'apply_company' => '', 'order_type' => ''], 'post', 'trim');
|
|
$param = $this->request->only(['token', 'start_date' => '', 'end_date' => '', 'start_sendtime' => '', 'end_sendtime' => '', 'status' => '', 'apply_company' => '', 'order_type' => ''], 'post', 'trim');
|
|
|
|
|
|
- $where = [['b.send_type', '=', 1]];//send_type==1 直接发货
|
|
|
|
|
|
+ $where = [['b.send_type', '=', 1], ['a.send_num', '>', 0]];//send_type==1 直接发货
|
|
if ($param['start_date'] != '' && $param['end_date'] != '') $where[] = ['a.addtime', 'between', [$param['start_date'] . ' 00:00:00', $param['end_date'] . ' 23:59:59']];
|
|
if ($param['start_date'] != '' && $param['end_date'] != '') $where[] = ['a.addtime', 'between', [$param['start_date'] . ' 00:00:00', $param['end_date'] . ' 23:59:59']];
|
|
if ($param['start_sendtime'] != '' && $param['end_sendtime'] != '') $where[] = ['a.sendtime', 'between', [$param['start_sendtime'] . ' 00:00:00', $param['end_sendtime'] . ' 23:59:59']];
|
|
if ($param['start_sendtime'] != '' && $param['end_sendtime'] != '') $where[] = ['a.sendtime', 'between', [$param['start_sendtime'] . ' 00:00:00', $param['end_sendtime'] . ' 23:59:59']];
|
|
if ($param['status'] != '') $where[] = ['a.status', '=', $param['status']];
|
|
if ($param['status'] != '') $where[] = ['a.status', '=', $param['status']];
|
|
@@ -1817,18 +1817,18 @@ class SaleReport extends Base
|
|
->whereMonth('a.addtime')
|
|
->whereMonth('a.addtime')
|
|
->cursor();
|
|
->cursor();
|
|
$list = [];
|
|
$list = [];
|
|
- $total = ['部门' => '总计', '库存' => 0, '非库存' => 0, '咨询采反' => 0, '总计' => 0];
|
|
|
|
|
|
+ $total = ['部门' => '总计', '库存品' => 0, '非库存品' => 0, '咨询采反' => 0, '总计' => 0];
|
|
foreach ($data as $k => $val) {
|
|
foreach ($data as $k => $val) {
|
|
- if (!isset($list[$val['itemid']])) $list[$val['itemid']] = ['部门' => $val['name'], '库存' => 0, '非库存' => 0, '咨询采反' => 0, '总计' => 0];
|
|
|
|
|
|
+ if (!isset($list[$val['itemid']])) $list[$val['itemid']] = ['部门' => $val['name'], '库存品' => 0, '非库存品' => 0, '咨询采反' => 0, '总计' => 0];
|
|
|
|
|
|
switch ($val['order_type']) {
|
|
switch ($val['order_type']) {
|
|
case 1:
|
|
case 1:
|
|
- $list[$val['itemid']]['库存']++;
|
|
|
|
- $total['库存']++;
|
|
|
|
|
|
+ $list[$val['itemid']]['库存品']++;
|
|
|
|
+ $total['库存品']++;
|
|
break;
|
|
break;
|
|
case 2:
|
|
case 2:
|
|
- $list[$val['itemid']]['非库存']++;
|
|
|
|
- $total['非库存']++;
|
|
|
|
|
|
+ $list[$val['itemid']]['非库存品']++;
|
|
|
|
+ $total['非库存品']++;
|
|
break;
|
|
break;
|
|
case 3:
|
|
case 3:
|
|
$list[$val['itemid']]['咨询采反']++;
|
|
$list[$val['itemid']]['咨询采反']++;
|
|
@@ -1848,5 +1848,116 @@ class SaleReport extends Base
|
|
|
|
|
|
}
|
|
}
|
|
|
|
|
|
|
|
+ //【十二、本月采购订单和库存品发货情况】
|
|
|
|
+ public function orderOutMonth()
|
|
|
|
+ {
|
|
|
|
+
|
|
|
|
+// $param = $this->request->only(['token'], 'post', 'trim');
|
|
|
|
+
|
|
|
|
+ $where = [['a.is_del', '=', 0]];
|
|
|
|
+
|
|
|
|
+ $data = Db::name('order_out')
|
|
|
|
+ ->alias('a')
|
|
|
|
+ ->field('a.id,b.order_type,b.cat_id')
|
|
|
|
+ ->leftJoin("sale b", "b.orderCode=a.orderCode AND b.is_del=0")
|
|
|
|
+ ->where($where)
|
|
|
|
+ ->whereMonth('a.addtime')
|
|
|
|
+ ->cursor();
|
|
|
|
+ $list = [];
|
|
|
|
+ $total = ['cat_1' => '总计', 'cat_2' => '', 'cat_3' => '', 'tag_1' => 0, 'tag_2' => 0, 'tag_3' => 0, 'tag_total' => 0];
|
|
|
|
+ foreach ($data as $val) {
|
|
|
|
+
|
|
|
|
+ if (!isset($list[$val['cat_id']])) {
|
|
|
|
+ $cat = made($val['cat_id']);
|
|
|
|
+ $list[$val['cat_id']] = [
|
|
|
|
+ 'cat_1' => $cat[0]['name'] ?? '',
|
|
|
|
+ 'cat_2' => $cat[1]['name'] ?? '',
|
|
|
|
+ 'cat_3' => $cat[2]['name'] ?? '',
|
|
|
|
+ 'tag_1' => 0,
|
|
|
|
+ 'tag_2' => 0,
|
|
|
|
+ 'tag_3' => 0,
|
|
|
|
+ 'tag_total' => 0,
|
|
|
|
+ ];
|
|
|
|
+ }
|
|
|
|
+
|
|
|
|
+ $list[$val['cat_id']]['tag_' . $val['order_type']]++;
|
|
|
|
+ $list[$val['cat_id']]['tag_total']++;
|
|
|
|
+ $total['tag_' . $val['order_type']]++;
|
|
|
|
+ $total['tag_total']++;
|
|
|
|
+
|
|
|
|
+ }
|
|
|
|
+ $list = array_merge($list);//重置下标
|
|
|
|
+ $list[] = $total;
|
|
|
|
+ return app_show(0, '请求成功', $list);
|
|
|
|
+
|
|
|
|
+ }
|
|
|
|
+
|
|
|
|
+ //【十二、本月采购订单和库存品发货情况-导出】
|
|
|
|
+ public function orderOutMonthExport()
|
|
|
|
+ {
|
|
|
|
+// $param = $this->request->only(['token'], 'post', 'trim');
|
|
|
|
+
|
|
|
|
+ $where = [['a.is_del', '=', 0]];
|
|
|
|
+
|
|
|
|
+ $data = Db::name('order_out')
|
|
|
|
+ ->alias('a')
|
|
|
|
+ ->field('a.id,b.order_type,b.cat_id')
|
|
|
|
+ ->leftJoin("sale b", "b.orderCode=a.orderCode AND b.is_del=0")
|
|
|
|
+ ->where($where)
|
|
|
|
+ ->whereMonth('a.addtime')
|
|
|
|
+ ->cursor();
|
|
|
|
+ $list = [];
|
|
|
|
+ $total = ['一级分类' => '总计', '二级分类' => '', '三级分类' => '', '库存品' => 0, '非库存品' => 0, '咨询采反' => 0, '总计' => 0];
|
|
|
|
+ foreach ($data as $val) {
|
|
|
|
+
|
|
|
|
+ if (!isset($list[$val['cat_id']])) {
|
|
|
|
+ $cat = made($val['cat_id']);
|
|
|
|
+ $list[$val['cat_id']] = [
|
|
|
|
+ '一级分类' => $cat[0]['name'] ?? '',
|
|
|
|
+ '二级分类' => $cat[1]['name'] ?? '',
|
|
|
|
+ '三级分类' => $cat[2]['name'] ?? '',
|
|
|
|
+ '库存品' => 0,
|
|
|
|
+ '非库存品' => 0,
|
|
|
|
+ '咨询采反' => 0,
|
|
|
|
+ '总计' => 0,
|
|
|
|
+ ];
|
|
|
|
+ }
|
|
|
|
+
|
|
|
|
+
|
|
|
|
+ switch ($val['order_type']) {
|
|
|
|
+ case 1:
|
|
|
|
+ $list[$val['cat_id']]['库存品']++;
|
|
|
|
+ $total['库存品']++;
|
|
|
|
+ break;
|
|
|
|
+ case 2:
|
|
|
|
+ $list[$val['cat_id']]['非库存品']++;
|
|
|
|
+ $total['非库存品']++;
|
|
|
|
+ break;
|
|
|
|
+ case 3:
|
|
|
|
+ $list[$val['cat_id']]['咨询采反']++;
|
|
|
|
+ $total['咨询采反']++;
|
|
|
|
+ break;
|
|
|
|
+ }
|
|
|
|
+
|
|
|
|
+ $list[$val['cat_id']]['总计']++;
|
|
|
|
+ $total['总计']++;
|
|
|
|
+
|
|
|
|
+ }
|
|
|
|
+ $list = array_merge($list);//重置下标
|
|
|
|
+ $list[] = $total;
|
|
|
|
+
|
|
|
|
+ if (empty($list)) $list[] = '没有相关可导出的数据';
|
|
|
|
+ excelSave('本月采购订单和库存品发货情况' . date('YmdHis'), array_keys($list[0]), $list);
|
|
|
|
+
|
|
|
|
+ }
|
|
|
|
+
|
|
|
|
+ //【十三、本月采购订单和库存品发货情况---(统计发货)供应商发货、负责人发货、物流岗发货】
|
|
|
|
+
|
|
|
|
+
|
|
|
|
+ //【十四、本月供应商采购订单情况】
|
|
|
|
+ public function purcheaseOrderMonth()
|
|
|
|
+ {
|
|
|
|
+
|
|
|
|
+ }
|
|
|
|
|
|
}
|
|
}
|