|
@@ -11,14 +11,16 @@ class Export extends BaseController
|
|
|
|
|
|
//相关字段的文字转换
|
|
//相关字段的文字转换
|
|
private $qrdType = [1 => '库存品', 2 => '非库存品', 3 => '采购反馈'];
|
|
private $qrdType = [1 => '库存品', 2 => '非库存品', 3 => '采购反馈'];
|
|
- private $qrdSource = [1 => '直接下单', 2 => '竞价转单', 3 => '项目转单', 4 => '平台导入', 5 => '有赞平台', 6 => '售后补换货'];
|
|
|
|
|
|
+ private $qrdSource = [1 => '直接下单', 2 => '竞价转单', 3 => '项目转单', 4 => '平台导入', 5 => '有赞平台', 6 => '售后补换货',7=>'报备转单',8=>'支付渠道拆单'];
|
|
private $sendType = [1 => '包邮', 2 => '自提'];
|
|
private $sendType = [1 => '包邮', 2 => '自提'];
|
|
- private $inv_status = [1 => '未开', 2 => '部分', 3 => '已开'];
|
|
|
|
- private $pay_status = [1 => '未回', 2 => '部分', 3 => '已回'];
|
|
|
|
|
|
+ private $pay_status = [1 => '未回', 2 => '部分回款', 3 => '已回'];
|
|
|
|
+ private $inv_status = [1 => '未开', 2 => '部分开票', 3 => '已开'];
|
|
|
|
+ private $cgd_inv_status = [1 => '未回', 2 => '部分回票', 3 => '已回'];
|
|
|
|
+ private $cgd_pay_status = [1 => '未付', 2 => '部分付款', 3 => '已付'];
|
|
private $invoice_pool_status = [1 => '财务审核通过', 2 => '待财务上传发票', 3 => '金税开票中/验票中', 4 => '开票成功', 5 => '开票失败', 6 => '发票退票/废弃', 7 => '取消申请', 8 => '财务驳回', 9 => '验票失败'];
|
|
private $invoice_pool_status = [1 => '财务审核通过', 2 => '待财务上传发票', 3 => '金税开票中/验票中', 4 => '开票成功', 5 => '开票失败', 6 => '发票退票/废弃', 7 => '取消申请', 8 => '财务驳回', 9 => '验票失败'];
|
|
private $cgdType = [1 => '库存', 2 => '非库存', 3 => '咨询'];
|
|
private $cgdType = [1 => '库存', 2 => '非库存', 3 => '咨询'];
|
|
private $invoice_return_status = [0 => '待财务审核', 1 => '退票中', 2 => '退票成功', 3 => '审核驳回', 4 => '退票失败'];
|
|
private $invoice_return_status = [0 => '待财务审核', 1 => '退票中', 2 => '退票成功', 3 => '审核驳回', 4 => '退票失败'];
|
|
- private $sendStatus = [];
|
|
|
|
|
|
+ private $sendStatus = [1=>'未发货',2=>'部分发货',3=>'全部发货'];
|
|
|
|
|
|
//销售发票申请信息导出
|
|
//销售发票申请信息导出
|
|
public function invoicePoolExport()
|
|
public function invoicePoolExport()
|
|
@@ -68,12 +70,12 @@ class Export extends BaseController
|
|
//进项发票等级导出
|
|
//进项发票等级导出
|
|
public function invListExport()
|
|
public function invListExport()
|
|
{
|
|
{
|
|
- $param = $this->request->only(['start' => '', 'end' => '', 'invType' => '', 'companyNo' => '', 'relaComNo' => '', 'supplierNo' => '', 'hpNo' => '', 'payNo' => '', 'invoiceType' => '', 'status' => '', 'invoiceNumber' => '', 'checkApi' => '', 'invoiceCode' => '', 'open_start' => '', 'open_end' => '', 'apply_id' => '', 'apply_name' => ''], 'post', 'trim');
|
|
|
|
|
|
+ $param = $this->request->only(['start' => '', 'end' => '', 'invType' => '', 'company' => '', 'relaComNo' => '', 'supplierNo' => '', 'hpNo' => '', 'payNo' => '', 'invoiceType' => '', 'status' => '', 'invoiceNumber' => '', 'checkApi' => '', 'invoiceCode' => '', 'open_start' => '', 'open_end' => '', 'apply_id' => '', 'apply_name' => ''], 'post', 'trim');
|
|
|
|
|
|
$where = [['a.is_del', '=', 0], ['b.is_del', '=', 0]];
|
|
$where = [['a.is_del', '=', 0], ['b.is_del', '=', 0]];
|
|
if (($param['start'] != '') && ($param['end'] != '')) $where[] = ['a.addtime', 'between', [$param['start'] . ' 00:00:00', $param['end'] . ' 23:59:59']];
|
|
if (($param['start'] != '') && ($param['end'] != '')) $where[] = ['a.addtime', 'between', [$param['start'] . ' 00:00:00', $param['end'] . ' 23:59:59']];
|
|
if ($param['invType'] != '') $where[] = ['a.invType', '=', $param['invType']];
|
|
if ($param['invType'] != '') $where[] = ['a.invType', '=', $param['invType']];
|
|
- if ($param['companyNo'] != '') $where[] = ['b.companyNo', 'like', '%' . $param['companyNo'] . '%'];
|
|
|
|
|
|
+ if ($param['company'] != '') $where[] = ['b.companyNo', 'like', '%' . $param['company'] . '%'];
|
|
if ($param['relaComNo'] != '') $where[] = ['b.companyNo|b.supplierNo', 'like', '%' . $param['relaComNo'] . '%'];
|
|
if ($param['relaComNo'] != '') $where[] = ['b.companyNo|b.supplierNo', 'like', '%' . $param['relaComNo'] . '%'];
|
|
if ($param['supplierNo'] != '') $where[] = ['b.supplierNo', '=', $param['supplierNo']];
|
|
if ($param['supplierNo'] != '') $where[] = ['b.supplierNo', '=', $param['supplierNo']];
|
|
if ($param['hpNo'] != '') $where[] = ['a.hpNo', 'like', '%' . $param['hpNo'] . '%'];
|
|
if ($param['hpNo'] != '') $where[] = ['a.hpNo', 'like', '%' . $param['hpNo'] . '%'];
|
|
@@ -157,14 +159,14 @@ class Export extends BaseController
|
|
//资金认领导出
|
|
//资金认领导出
|
|
public function orderPayExport()
|
|
public function orderPayExport()
|
|
{
|
|
{
|
|
- $param = $this->request->only(['start' => '', 'end' => '', 'name' => '', 'bank' => '', 'status' => '', 'tradNo' => '', 'companyNo' => '', 'userd_lower' => '', 'used_upper' => ''], 'post', 'trim');
|
|
|
|
|
|
+ $param = $this->request->only(['start' => '', 'end' => '', 'name' => '', 'bank' => '', 'status' => '', 'tradNo' => '', 'company' => '', 'userd_lower' => '', 'used_upper' => ''], 'post', 'trim');
|
|
$where = [['a.is_del', '=', 0], ['b.is_del', '=', 0]];
|
|
$where = [['a.is_del', '=', 0], ['b.is_del', '=', 0]];
|
|
if (($param['start'] != '') && ($param['end'] != '')) $where[] = ['a.trade_time', 'between', [$param['start'] . ' 00:00:00', $param['end'] . ' 23:59:59']];
|
|
if (($param['start'] != '') && ($param['end'] != '')) $where[] = ['a.trade_time', 'between', [$param['start'] . ' 00:00:00', $param['end'] . ' 23:59:59']];
|
|
if ($param['name'] != '') $where[] = ['a.trade_out', 'like', '%' . $param['name'] . '%'];
|
|
if ($param['name'] != '') $where[] = ['a.trade_out', 'like', '%' . $param['name'] . '%'];
|
|
if ($param['bank'] != '') $where[] = ['a.trade_bank', 'like', '%' . $param['bank'] . '%'];
|
|
if ($param['bank'] != '') $where[] = ['a.trade_bank', 'like', '%' . $param['bank'] . '%'];
|
|
if ($param['status'] != '') $where[] = ['a.status', '=', $param['status']];
|
|
if ($param['status'] != '') $where[] = ['a.status', '=', $param['status']];
|
|
if ($param['tradNo'] != '') $where[] = ['a.tradNo', 'like', '%' . $param['tradNo'] . '%'];
|
|
if ($param['tradNo'] != '') $where[] = ['a.tradNo', 'like', '%' . $param['tradNo'] . '%'];
|
|
- if ($param['companyNo'] != '') $where[] = ['a.companyNo', 'like', '%' . $param['companyNo'] . '%'];
|
|
|
|
|
|
+ if ($param['company'] != '') $where[] = ['a.companyNo', 'like', '%' . $param['company'] . '%'];
|
|
if ($param['userd_lower'] != '') $where[] = ['a.used_fee', '>=', $param['userd_lower']];
|
|
if ($param['userd_lower'] != '') $where[] = ['a.used_fee', '>=', $param['userd_lower']];
|
|
if ($param['used_upper'] != '') $where[] = ['a.used_fee', '<=', $param['used_upper']];
|
|
if ($param['used_upper'] != '') $where[] = ['a.used_fee', '<=', $param['used_upper']];
|
|
|
|
|
|
@@ -175,7 +177,7 @@ class Export extends BaseController
|
|
->alias('a')
|
|
->alias('a')
|
|
->field('a.companyNo 收款方公司编码,a.trade_in 收款单位名称,a.trade_account 付款银行单位账号,a.trade_out 付款银行单位名称,a.trade_remark 付款备注,a.trade_time 交易时间,a.tradNo 资金编号,a.status 状态,a.total_fee 收入金额,a.balance 未认领金额,a.used_fee 已认领金额,b.logNo 资金认领编号,a.customerNo 认领企业,c.orderCode 订单编号,d.poCode 平台编号,d.goodName 产品名称,d.ownerName 资金创建人,c.apply_name 认领创建人,b.status 认领审批状态,b.remark 驳回原因')
|
|
->field('a.companyNo 收款方公司编码,a.trade_in 收款单位名称,a.trade_account 付款银行单位账号,a.trade_out 付款银行单位名称,a.trade_remark 付款备注,a.trade_time 交易时间,a.tradNo 资金编号,a.status 状态,a.total_fee 收入金额,a.balance 未认领金额,a.used_fee 已认领金额,b.logNo 资金认领编号,a.customerNo 认领企业,c.orderCode 订单编号,d.poCode 平台编号,d.goodName 产品名称,d.ownerName 资金创建人,c.apply_name 认领创建人,b.status 认领审批状态,b.remark 驳回原因')
|
|
->leftJoin('trade_pool b', 'b.tradNo=a.tradNo')
|
|
->leftJoin('trade_pool b', 'b.tradNo=a.tradNo')
|
|
- ->leftJoin('assoc c', 'c.viceCode=b.logNo')
|
|
|
|
|
|
+ ->leftJoin('assoc c', 'c.viceCode=b.logNo and c.type=2 and c.status<>3')
|
|
->leftJoin('qrd_info d', 'd.sequenceNo=c.orderCode')
|
|
->leftJoin('qrd_info d', 'd.sequenceNo=c.orderCode')
|
|
->withAttr('状态', function ($val) use ($status) {
|
|
->withAttr('状态', function ($val) use ($status) {
|
|
return $status[$val] ?? '';
|
|
return $status[$val] ?? '';
|
|
@@ -195,17 +197,17 @@ class Export extends BaseController
|
|
//回款核销明细表
|
|
//回款核销明细表
|
|
public function orderlistExport()
|
|
public function orderlistExport()
|
|
{
|
|
{
|
|
- $param = $this->request->only(['companyNo' => '', 'start' => '', 'end' => ''], 'post', 'trim');
|
|
|
|
|
|
+ $param = $this->request->only(['company' => '', 'start' => '', 'end' => ''], 'post', 'trim');
|
|
|
|
|
|
- $where = [['a.is_del', '=', 0]];
|
|
|
|
|
|
+ $where = [['a.is_del', '=', 0],['b.status',">=",2],["b.type","=",2]];
|
|
|
|
|
|
- if (($param['start'] != '') && ($param['end'] != '')) $where[] = ['a.addtime', 'between', [$param['start'] . ' 00:00:00', $param['end'] . ' 23:59:59']];
|
|
|
|
- if ($param['companyNo'] != '') $where[] = ['a.companyNo', '=', $param['companyNo']];
|
|
|
|
|
|
+ if (($param['start'] != '') && ($param['end'] != '')) $where[] = ['b.addtime', 'between', [$param['start'] . ' 00:00:00', $param['end'] . ' 23:59:59']];
|
|
|
|
+ if ($param['company'] != '') $where[] = ['a.companyNo', '=', $param['company']];
|
|
|
|
|
|
- $data = Db::name('qrd_info')
|
|
|
|
- ->alias('a')
|
|
|
|
- ->field('DATE_FORMAT(a.addtime,\'%Y\') 年,DATE_FORMAT(a.addtime,\'%m\') 月,DATE_FORMAT(a.addtime,\'%d\') 日,a.companyName 业务公司名称,a.companyNo 业务公司编号,b.viceCode 资金认领编号,c.tradNo 资金编号,c.total_fee 本次核销金额,c.addtime 本次核销时间,c.status 资金认领状态,a.sequenceNo 确认单编号,a.department 业务员部门,a.ownerName 业务员,a.platName 平台类型,a.qrdSource 确认单类型,a.qrdType 商品类型,a.poCode PO编号,a.customerAttr 客户属性,a.branch 分公司,a.customerName 客户名称,a.firstCat 一级分类,a.goodName 产品名称,round(a.tax/100,2) 税点,(a.goodNum-a.thNum) 下单数量,a.goodPrice 销售单价,(a.totalPrice-a.th_fee) 销售总额')
|
|
|
|
- ->leftJoin('assoc b', 'b.orderCode=a.sequenceNo')
|
|
|
|
|
|
+ $data = Db::name('assoc')
|
|
|
|
+ ->alias('b')
|
|
|
|
+ ->field('DATE_FORMAT(b.addtime,\'%Y\') 年,DATE_FORMAT(b.addtime,\'%m\') 月,DATE_FORMAT(b.addtime,\'%d\') 日,a.companyName 业务公司名称,a.companyNo 业务公司编号,b.viceCode 资金认领编号,c.tradNo 资金编号,c.total_fee 本次核销金额,c.addtime 本次核销时间,c.status 资金认领状态,a.sequenceNo 确认单编号,a.department 业务员部门,a.ownerName 业务员,a.platName 平台类型,a.qrdSource 确认单类型,a.qrdType 商品类型,a.poCode PO编号,a.customerAttr 客户属性,a.branch 分公司,a.customerName 客户名称,a.firstCat 一级分类,a.goodName 产品名称,round(a.tax/100,2) 税点,(a.goodNum-a.thNum) 下单数量,a.goodPrice 销售单价,(a.totalPrice-a.th_fee) 销售总额')
|
|
|
|
+ ->leftJoin('qrd_info a', 'b.orderCode=a.sequenceNo')
|
|
->leftJoin('trade_pool c', 'c.logNo=b.viceCode')
|
|
->leftJoin('trade_pool c', 'c.logNo=b.viceCode')
|
|
->where($where)
|
|
->where($where)
|
|
->order(['a.id' => 'desc'])
|
|
->order(['a.id' => 'desc'])
|
|
@@ -232,12 +234,12 @@ class Export extends BaseController
|
|
//回票明细表
|
|
//回票明细表
|
|
public function invExport()
|
|
public function invExport()
|
|
{
|
|
{
|
|
- $param = $this->request->only(['companyNo' => '', 'start' => '', 'end' => ''], 'post', 'trim');
|
|
|
|
|
|
+ $param = $this->request->only(['company' => '', 'start' => '', 'end' => ''], 'post', 'trim');
|
|
|
|
|
|
$where = [['a.is_del', '=', 0], ['b.is_del', '=', 0], ['c.is_del', '=', 0], ['d.is_del', '=', 0]];
|
|
$where = [['a.is_del', '=', 0], ['b.is_del', '=', 0], ['c.is_del', '=', 0], ['d.is_del', '=', 0]];
|
|
|
|
|
|
if (($param['start'] != '') && ($param['end'] != '')) $where[] = ['a.check_time', 'between', [$param['start'] . ' 00:00:00', $param['end'] . ' 23:59:59']];
|
|
if (($param['start'] != '') && ($param['end'] != '')) $where[] = ['a.check_time', 'between', [$param['start'] . ' 00:00:00', $param['end'] . ' 23:59:59']];
|
|
- if ($param['companyNo'] != '') $where[] = ['b.companyNo', '=', $param['companyNo']];
|
|
|
|
|
|
+ if ($param['company'] != '') $where[] = ['b.companyNo', '=', $param['company']];
|
|
|
|
|
|
$data = Db::name('pay_invoice')
|
|
$data = Db::name('pay_invoice')
|
|
->alias('a')
|
|
->alias('a')
|
|
@@ -284,19 +286,19 @@ class Export extends BaseController
|
|
//经营分析报表
|
|
//经营分析报表
|
|
public function analysisExport()
|
|
public function analysisExport()
|
|
{
|
|
{
|
|
- $param = $this->request->only(['companyNo' => '', 'start' => '', 'end' => ''], 'post', 'trim');
|
|
|
|
|
|
+ $param = $this->request->only(['company' => '', 'start' => '', 'end' => ''], 'post', 'trim');
|
|
|
|
|
|
- $where = [['a.is_del', '=', 0], ['b.is_del', '=', 0]];
|
|
|
|
|
|
+ $where = [['a.is_del', '=', 0]];
|
|
|
|
|
|
- if (($param['start'] != '') && ($param['end'] != '')) $where[] = ['a.addtime', 'between', [$param['start'] . ' 00:00:00', $param['end'] . ' 23:59:59']];
|
|
|
|
- if ($param['companyNo'] != '') $where[] = ['a.companyNo', '=', $param['companyNo']];
|
|
|
|
|
|
+ if (($param['start'] != '') && ($param['end'] != '')) $where[] = ['a.createdTime', 'between', [$param['start'] . ' 00:00:00', $param['end'] . ' 23:59:59']];
|
|
|
|
+ if ($param['company'] != '') $where[] = ['a.companyNo', '=', $param['company']];
|
|
|
|
|
|
$data = Db::name('qrd_info')
|
|
$data = Db::name('qrd_info')
|
|
->alias('a')
|
|
->alias('a')
|
|
->field('
|
|
->field('
|
|
- DATE_FORMAT(a.addtime,\'%Y\') 年,
|
|
|
|
- DATE_FORMAT(a.addtime,\'%m\') 月,
|
|
|
|
- DATE_FORMAT(a.addtime,\'%d\') 日,
|
|
|
|
|
|
+ DATE_FORMAT(a.createdTime,\'%Y\') 年,
|
|
|
|
+ DATE_FORMAT(a.createdTime,\'%m\') 月,
|
|
|
|
+ DATE_FORMAT(a.createdTime,\'%d\') 日,
|
|
a.companyName 业务公司名称,
|
|
a.companyName 业务公司名称,
|
|
a.companyNo 业务公司编号,
|
|
a.companyNo 业务公司编号,
|
|
a.department 销售部门,
|
|
a.department 销售部门,
|
|
@@ -304,6 +306,7 @@ class Export extends BaseController
|
|
a.qrdSource 订单来源,
|
|
a.qrdSource 订单来源,
|
|
"" 活动类型,
|
|
"" 活动类型,
|
|
a.sequenceNo 确认单编号,
|
|
a.sequenceNo 确认单编号,
|
|
|
|
+ a.cxCode 销售订单号,
|
|
b.bkCode 备库单编号,
|
|
b.bkCode 备库单编号,
|
|
b.sequenceNo 采购单单号,
|
|
b.sequenceNo 采购单单号,
|
|
a.platName 平台类型,
|
|
a.platName 平台类型,
|
|
@@ -321,8 +324,6 @@ class Export extends BaseController
|
|
a.goodPrice 销售单价,
|
|
a.goodPrice 销售单价,
|
|
a.totalPrice 销售总额,
|
|
a.totalPrice 销售总额,
|
|
round(a.tax/100,2) 税点,
|
|
round(a.tax/100,2) 税点,
|
|
- a.inv_status 开票状态,
|
|
|
|
- a.pay_status 回款状态,
|
|
|
|
b.ownerName 采购员,
|
|
b.ownerName 采购员,
|
|
b.goodPrice 采购裸价,
|
|
b.goodPrice 采购裸价,
|
|
b.markPrice 加标费,
|
|
b.markPrice 加标费,
|
|
@@ -340,9 +341,9 @@ class Export extends BaseController
|
|
a.qrdType 库存性质,
|
|
a.qrdType 库存性质,
|
|
b.supplierName 供应商名称,
|
|
b.supplierName 供应商名称,
|
|
b.sendType 发货方式,
|
|
b.sendType 发货方式,
|
|
- b.thNum 退货数量,
|
|
|
|
- b.fundCode 财务核算编码')
|
|
|
|
- ->leftJoin('cgd_info b', 'b.qrdCode=a.sequenceNo')
|
|
|
|
|
|
+ a.thNum 退货数量,
|
|
|
|
+ a.fundCode 财务核算编码')
|
|
|
|
+ ->leftJoin('cgd_info b', 'b.qrdCode=a.sequenceNo and b.is_del=0')
|
|
->where($where)
|
|
->where($where)
|
|
->order(['a.id' => 'desc'])
|
|
->order(['a.id' => 'desc'])
|
|
->cursor();
|
|
->cursor();
|
|
@@ -352,13 +353,13 @@ class Export extends BaseController
|
|
foreach ($data as $value) {
|
|
foreach ($data as $value) {
|
|
$value['订单来源'] = $this->qrdSource[$value['订单来源']] ?? '';
|
|
$value['订单来源'] = $this->qrdSource[$value['订单来源']] ?? '';
|
|
$value['库存性质'] = $this->qrdType[$value['库存性质']] ?? '';
|
|
$value['库存性质'] = $this->qrdType[$value['库存性质']] ?? '';
|
|
- $value['开票状态'] = $this->inv_status[$value['开票状态']] ?? '';
|
|
|
|
- $value['回款状态'] = $this->pay_status[$value['回款状态']] ?? '';
|
|
|
|
|
|
+// $value['开票状态'] = $this->inv_status[$value['开票状态']] ?? '';
|
|
|
|
+// $value['回款状态'] = $this->pay_status[$value['回款状态']] ?? '';
|
|
$value['发货方式'] = $this->sendType[$value['发货方式']] ?? '';
|
|
$value['发货方式'] = $this->sendType[$value['发货方式']] ?? '';
|
|
|
|
|
|
$value['毛利润'] = round(bcsub($value['销售总额'], $value['采购总货款'], 3), 2);
|
|
$value['毛利润'] = round(bcsub($value['销售总额'], $value['采购总货款'], 3), 2);
|
|
$value['毛利率'] = $value['销售总额'] == 0 ? 0 : round(bcmul(bcsub(1, bcdiv($value['采购总货款'], $value['销售总额'], 5), 5), 100), 2) . '%';
|
|
$value['毛利率'] = $value['销售总额'] == 0 ? 0 : round(bcmul(bcsub(1, bcdiv($value['采购总货款'], $value['销售总额'], 5), 5), 100), 2) . '%';
|
|
- $value['不含税采购成本'] = round(bcdiv($value['采购总货款'], bcadd(1, bcdiv($value['采购税点'], 100, 3)), 3), 2);
|
|
|
|
|
|
+ $value['不含税采购成本'] = round(bcdiv($value['采购总货款'], bcadd(1,$value['采购税点']), 3), 2);
|
|
|
|
|
|
$list[] = $value;
|
|
$list[] = $value;
|
|
}
|
|
}
|
|
@@ -372,18 +373,20 @@ class Export extends BaseController
|
|
//收入成本明细表
|
|
//收入成本明细表
|
|
public function orderInvExport()
|
|
public function orderInvExport()
|
|
{
|
|
{
|
|
- $param = $this->request->only(['companyNo' => '', 'start' => '', 'end' => ''], 'post', 'trim');
|
|
|
|
|
|
+ $param = $this->request->only(['company' => '', 'start' => '', 'end' => ''], 'post', 'trim');
|
|
|
|
|
|
- $where = [['a.is_del', '=', 0], ['d.is_del', '=', 0], ['a.status', '=', 4]];
|
|
|
|
|
|
+ $where = [['a.is_del', '=', 0], ['d.is_del', '=', 0], ['a.status', '>=', 4]];
|
|
|
|
|
|
if (($param['start'] != '') && ($param['end'] != '')) $where[] = ['a.addtime', 'between', [$param['start'] . ' 00:00:00', $param['end'] . ' 23:59:59']];
|
|
if (($param['start'] != '') && ($param['end'] != '')) $where[] = ['a.addtime', 'between', [$param['start'] . ' 00:00:00', $param['end'] . ' 23:59:59']];
|
|
- if ($param['companyNo'] != '') $where[] = ['a.inv_out', '=', $param['companyNo']];
|
|
|
|
|
|
+ if ($param['company'] != '') $where[] = ['a.inv_out', '=', $param['company']];
|
|
|
|
|
|
$data = Db::name('invoice_pool')
|
|
$data = Db::name('invoice_pool')
|
|
->alias('a')
|
|
->alias('a')
|
|
->field('
|
|
->field('
|
|
a.invNo 发票申请编号,
|
|
a.invNo 发票申请编号,
|
|
d.orderCode 确认单编号,
|
|
d.orderCode 确认单编号,
|
|
|
|
+ e.cxCode 销售主单编号,
|
|
|
|
+ e.qrdSource 销售来源,
|
|
b.seller_title 销售方抬头,
|
|
b.seller_title 销售方抬头,
|
|
e.department 业务部门,
|
|
e.department 业务部门,
|
|
e.ownerName 业务人员,
|
|
e.ownerName 业务人员,
|
|
@@ -398,8 +401,9 @@ class Export extends BaseController
|
|
e.firstCat 一级分类,
|
|
e.firstCat 一级分类,
|
|
e.secCat 二级分类,
|
|
e.secCat 二级分类,
|
|
e.thirdCat 三级分类,
|
|
e.thirdCat 三级分类,
|
|
|
|
+ e.goodNo 产品编号,
|
|
e.goodName 产品名称,
|
|
e.goodName 产品名称,
|
|
- f.qrdCode 采购单编号,
|
|
|
|
|
|
+ f.sequenceNo 采购单编号,
|
|
f.supplierName 卖出方公司,
|
|
f.supplierName 卖出方公司,
|
|
f.sendType 发货方式,
|
|
f.sendType 发货方式,
|
|
e.qrdType 商品类型,
|
|
e.qrdType 商品类型,
|
|
@@ -416,7 +420,7 @@ class Export extends BaseController
|
|
ifnull(f.totalPrice,e.total_origin_price) 采购货款,
|
|
ifnull(f.totalPrice,e.total_origin_price) 采购货款,
|
|
round(f.tax/100,2) 采购单税点,
|
|
round(f.tax/100,2) 采购单税点,
|
|
g.returnCode 退票编号,
|
|
g.returnCode 退票编号,
|
|
- a.inv_value 退票金额,
|
|
|
|
|
|
+ if(g.returnCode<>"",a.inv_value,"") 退票金额,
|
|
g.status 退票状态,
|
|
g.status 退票状态,
|
|
g.return_type 退票方式,
|
|
g.return_type 退票方式,
|
|
f.thNum 退货数量,
|
|
f.thNum 退货数量,
|
|
@@ -424,7 +428,7 @@ class Export extends BaseController
|
|
')
|
|
')
|
|
->leftJoin('invoice_pool_info b', 'b.invNo=a.invNo')
|
|
->leftJoin('invoice_pool_info b', 'b.invNo=a.invNo')
|
|
->leftJoin('invoice_ticket c', 'c.invNo=a.invNo and c.type=0 and c.status=1')
|
|
->leftJoin('invoice_ticket c', 'c.invNo=a.invNo and c.type=0 and c.status=1')
|
|
- ->leftJoin('assoc d', 'd.viceCode=a.invNo and d.status=2 and d.type=1')
|
|
|
|
|
|
+ ->leftJoin('assoc d', 'd.viceCode=a.invNo and d.type=1')
|
|
->leftJoin('qrd_info e', 'e.sequenceNo=d.orderCode')
|
|
->leftJoin('qrd_info e', 'e.sequenceNo=d.orderCode')
|
|
->leftJoin('cgd_info f', 'f.qrdCode=d.orderCode')
|
|
->leftJoin('cgd_info f', 'f.qrdCode=d.orderCode')
|
|
->leftJoin('invoice_return g', 'g.invNo=a.invNo and g.status=2')
|
|
->leftJoin('invoice_return g', 'g.invNo=a.invNo and g.status=2')
|
|
@@ -439,6 +443,7 @@ class Export extends BaseController
|
|
$value['发货方式'] = $this->sendType[$value['发货方式']] ?? '';
|
|
$value['发货方式'] = $this->sendType[$value['发货方式']] ?? '';
|
|
$value['商品类型'] = $this->qrdType[$value['商品类型']] ?? '';
|
|
$value['商品类型'] = $this->qrdType[$value['商品类型']] ?? '';
|
|
$value['退票状态'] = $this->invoice_return_status[$value['退票状态']] ?? '';
|
|
$value['退票状态'] = $this->invoice_return_status[$value['退票状态']] ?? '';
|
|
|
|
+ $value['销售来源'] = $this->qrdSource[$value['销售来源']] ?? '';
|
|
$list[] = $value;
|
|
$list[] = $value;
|
|
}
|
|
}
|
|
|
|
|
|
@@ -451,23 +456,21 @@ class Export extends BaseController
|
|
//应收台账表
|
|
//应收台账表
|
|
public function standingBookExport()
|
|
public function standingBookExport()
|
|
{
|
|
{
|
|
- $param = $this->request->only(['companyNo' => '', 'start' => '', 'end' => ''], 'post', 'trim');
|
|
|
|
|
|
+ $param = $this->request->only(['company' => '', 'start' => '', 'end' => ''], 'post', 'trim');
|
|
|
|
|
|
- $where = [['a.is_del', '=', 0], ['b.is_del', '=', 0]];
|
|
|
|
|
|
+ $where = [['a.is_del', '=', 0]];
|
|
|
|
|
|
- if (($param['start'] != '') && ($param['end'] != '')) $where[] = ['a.addtime', 'between', [$param['start'] . ' 00:00:00', $param['end'] . ' 23:59:59']];
|
|
|
|
- if ($param['companyNo'] != '') $where[] = ['a.companyNo', '=', $param['companyNo']];
|
|
|
|
|
|
+ if (($param['start'] != '') && ($param['end'] != '')) $where[] = ['a.createdTime', 'between', [$param['start'] . ' 00:00:00', $param['end'] . ' 23:59:59']];
|
|
|
|
+ if ($param['company'] != '') $where[] = ['a.companyNo', '=', $param['company']];
|
|
|
|
|
|
$data = Db::name('qrd_info')
|
|
$data = Db::name('qrd_info')
|
|
->alias('a')
|
|
->alias('a')
|
|
->field('
|
|
->field('
|
|
- a.addtime,
|
|
|
|
- DATE_FORMAT(a.addtime,\'%Y\') 年,
|
|
|
|
- DATE_FORMAT(a.addtime,\'%m\') 月,
|
|
|
|
- DATE_FORMAT(a.addtime,\'%d\') 日,
|
|
|
|
|
|
+ a.createdTime 下单时间,
|
|
a.companyName 业务公司名称,
|
|
a.companyName 业务公司名称,
|
|
a.companyNo 业务公司编号,
|
|
a.companyNo 业务公司编号,
|
|
- a.sequenceNo 销售单编号,
|
|
|
|
|
|
+ a.sequenceNo 业务订单编号,
|
|
|
|
+ a.cxCode 销售订单主编号,
|
|
a.department 销售部门,
|
|
a.department 销售部门,
|
|
a.ownerName 销售员,
|
|
a.ownerName 销售员,
|
|
a.qrdSource 订单来源,
|
|
a.qrdSource 订单来源,
|
|
@@ -481,7 +484,8 @@ class Export extends BaseController
|
|
round(a.tax/100,2) 税点,
|
|
round(a.tax/100,2) 税点,
|
|
(a.goodNum - a.thNum) 下单数量,
|
|
(a.goodNum - a.thNum) 下单数量,
|
|
a.goodPrice 销售单价,
|
|
a.goodPrice 销售单价,
|
|
- (a.totalPrice - a.th_fee) 销售总额,
|
|
|
|
|
|
+ a.totalPrice 销售总额,
|
|
|
|
+ a.th_fee 退货总额,
|
|
a.pay_status 回款状态,
|
|
a.pay_status 回款状态,
|
|
a.apay_fee 总已回款,
|
|
a.apay_fee 总已回款,
|
|
a.pay_fee 回款中,
|
|
a.pay_fee 回款中,
|
|
@@ -493,18 +497,15 @@ class Export extends BaseController
|
|
a.winv_fee 总未开票,
|
|
a.winv_fee 总未开票,
|
|
a.inv_tag_fee 开票标签金额,
|
|
a.inv_tag_fee 开票标签金额,
|
|
a.invtime 最近开票时间,
|
|
a.invtime 最近开票时间,
|
|
- d.addtime 业务提票时间,
|
|
|
|
|
|
+ "" 业务提票时间,
|
|
a.paytime 最近回款时间,
|
|
a.paytime 最近回款时间,
|
|
0 账期,
|
|
0 账期,
|
|
0 比率,
|
|
0 比率,
|
|
"" 订单是否超期,
|
|
"" 订单是否超期,
|
|
"" 开票是否超期,
|
|
"" 开票是否超期,
|
|
- b.sendStatus 发货状态,
|
|
|
|
|
|
+ a.sendStatus 发货状态,
|
|
"" 最近一次发货时间
|
|
"" 最近一次发货时间
|
|
')
|
|
')
|
|
- ->leftJoin('cgd_info b', 'b.qrdCode=a.sequenceNo')
|
|
|
|
- ->leftJoin('assoc c', 'c.orderCode=a.sequenceNo')
|
|
|
|
- ->leftJoin('invoice_pool d', 'd.invNo=c.viceCode')
|
|
|
|
->where($where)
|
|
->where($where)
|
|
->order(['a.id' => 'desc'])
|
|
->order(['a.id' => 'desc'])
|
|
->cursor();
|
|
->cursor();
|
|
@@ -518,20 +519,20 @@ class Export extends BaseController
|
|
$value['回款状态'] = $this->pay_status[$value['回款状态']] ?? '';
|
|
$value['回款状态'] = $this->pay_status[$value['回款状态']] ?? '';
|
|
$value['开票状态'] = $this->inv_status[$value['开票状态']] ?? '';
|
|
$value['开票状态'] = $this->inv_status[$value['开票状态']] ?? '';
|
|
$value['发货状态'] = $this->sendStatus[$value['发货状态']] ?? '';
|
|
$value['发货状态'] = $this->sendStatus[$value['发货状态']] ?? '';
|
|
-
|
|
|
|
|
|
+ $value['业务提票时间'] =Db::name("assoc")->where(["type"=>1,"status"=>[1,2],"is_del"=>0,'orderCode'=>$value['业务订单编号']])
|
|
|
|
+ ->order("id desc")->value('addtime','');
|
|
//计算账期
|
|
//计算账期
|
|
- $value['账期'] = round(bcdiv(bcsub($time, strtotime($value['addtime']), 3), 86400, 3), 2);
|
|
|
|
|
|
+ $value['账期'] = round(bcdiv(bcsub($time,strtotime($value['最近回款时间']??$value['下单时间']), 3), 86400, 3),
|
|
|
|
+ 2);
|
|
$value['比率'] = round(bcdiv($value['账期'], 30, 1));
|
|
$value['比率'] = round(bcdiv($value['账期'], 30, 1));
|
|
$value['订单是否超期'] = $value['比率'] > 6 ? '是' : '否';
|
|
$value['订单是否超期'] = $value['比率'] > 6 ? '是' : '否';
|
|
|
|
|
|
- $value['开票是否超期'] = round(bcdiv(bcsub($time, $value['最近开票时间'], 1), 86400, 1)) > 15 ? '是' : '否';
|
|
|
|
|
|
+ $value['开票是否超期'] = round(bcdiv(bcsub($time, strtotime($value['最近开票时间']??$value['下单时间']), 1), 86400, 1)) > 15 ? '是' : '否';
|
|
|
|
|
|
$value['最近一次发货时间'] = Db::table('fh_source')
|
|
$value['最近一次发货时间'] = Db::table('fh_source')
|
|
- ->where(['qrdNo' => $value['销售单编号']])
|
|
|
|
|
|
+ ->where(['qrdNo' => $value['业务订单编号']])
|
|
->order(['id' => 'desc'])
|
|
->order(['id' => 'desc'])
|
|
->value('send_date', '');
|
|
->value('send_date', '');
|
|
-
|
|
|
|
- unset($value['addtime']);
|
|
|
|
$list[] = $value;
|
|
$list[] = $value;
|
|
}
|
|
}
|
|
|
|
|
|
@@ -544,12 +545,12 @@ class Export extends BaseController
|
|
//用友销票表
|
|
//用友销票表
|
|
public function payInvoiceExport()
|
|
public function payInvoiceExport()
|
|
{
|
|
{
|
|
- $param = $this->request->only(['companyNo' => '', 'start' => '', 'end' => ''], 'post', 'trim');
|
|
|
|
|
|
+ $param = $this->request->only(['company' => '', 'start' => '', 'end' => ''], 'post', 'trim');
|
|
|
|
|
|
$where = [['a.is_del', '=', 0], ['c.is_del', '=', 0], ['d.is_del', '=', 0], ['e.is_del', '=', 0]];
|
|
$where = [['a.is_del', '=', 0], ['c.is_del', '=', 0], ['d.is_del', '=', 0], ['e.is_del', '=', 0]];
|
|
|
|
|
|
if (($param['start'] != '') && ($param['end'] != '')) $where[] = ['a.addtime', 'between', [$param['start'] . ' 00:00:00', $param['end'] . ' 23:59:59']];
|
|
if (($param['start'] != '') && ($param['end'] != '')) $where[] = ['a.addtime', 'between', [$param['start'] . ' 00:00:00', $param['end'] . ' 23:59:59']];
|
|
- if ($param['companyNo'] != '') $where[] = ['e.companyNo', '=', $param['companyNo']];
|
|
|
|
|
|
+ if ($param['company'] != '') $where[] = ['e.companyNo', '=', $param['company']];
|
|
|
|
|
|
$data = Db::name('pay_invoice')
|
|
$data = Db::name('pay_invoice')
|
|
->alias('a')
|
|
->alias('a')
|
|
@@ -628,6 +629,8 @@ class Export extends BaseController
|
|
createdTime '采购时间',
|
|
createdTime '采购时间',
|
|
cgdType '采购单类型',
|
|
cgdType '采购单类型',
|
|
if(qrdCode='',bkCode,qrdCode) '确认单编号/备库单编号',
|
|
if(qrdCode='',bkCode,qrdCode) '确认单编号/备库单编号',
|
|
|
|
+ cxCode '销售单主单号',
|
|
|
|
+ goodNo '商品编号',
|
|
goodName '商品名称',
|
|
goodName '商品名称',
|
|
firstCat '一级分类',
|
|
firstCat '一级分类',
|
|
secCat '二级分类',
|
|
secCat '二级分类',
|
|
@@ -643,6 +646,7 @@ class Export extends BaseController
|
|
deliveryPrice '物流费',
|
|
deliveryPrice '物流费',
|
|
goodPrice '单价',
|
|
goodPrice '单价',
|
|
isStock '是否库存',
|
|
isStock '是否库存',
|
|
|
|
+ diff_fee '工差金额',
|
|
goodNum '商品数量',
|
|
goodNum '商品数量',
|
|
totalPrice '总价',
|
|
totalPrice '总价',
|
|
sendStatus '发货状态',
|
|
sendStatus '发货状态',
|
|
@@ -656,11 +660,13 @@ class Export extends BaseController
|
|
$value['采购单类型'] = $this->cgdType[$value['采购单类型']];
|
|
$value['采购单类型'] = $this->cgdType[$value['采购单类型']];
|
|
$payinfo = Db::name("pay_info")->alias("a")
|
|
$payinfo = Db::name("pay_info")->alias("a")
|
|
->leftJoin("pay b", "a.payNo=b.payNo and b.status=2")
|
|
->leftJoin("pay b", "a.payNo=b.payNo and b.status=2")
|
|
- ->where(["a.status" => 1, "a.is_del" => 0])
|
|
|
|
|
|
+ ->where(["a.status" => 1, "a.is_del" => 0,'cgdNo'=>$value['采购单编号']])
|
|
->field("b.payNo,b.inv_status,b.pay_status")->find();
|
|
->field("b.payNo,b.inv_status,b.pay_status")->find();
|
|
$value['对账编号'] = $payinfo['payNo'] ?? "";
|
|
$value['对账编号'] = $payinfo['payNo'] ?? "";
|
|
- $value['付款状态'] = $this->pay_status[$payinfo['pay_status'] ?? "1"];
|
|
|
|
- $value['回票状态'] = $this->inv_status[$payinfo['inv_status'] ?? "1"];
|
|
|
|
|
|
+ $value['付款状态'] = $this->cgd_pay_status[$payinfo['pay_status'] ?? "1"];
|
|
|
|
+ $value['回票状态'] = $this->cgd_inv_status[$payinfo['inv_status'] ?? "1"];
|
|
|
|
+ $value['是否库存'] = $value['是否库存']==1?'是':'否';
|
|
|
|
+ $value['发货状态'] = $this->sendStatus[$value['发货状态']];
|
|
$list[] = $value;
|
|
$list[] = $value;
|
|
}
|
|
}
|
|
|
|
|
|
@@ -687,29 +693,36 @@ class Export extends BaseController
|
|
apply_name '申请人',
|
|
apply_name '申请人',
|
|
addtime '申请时间',
|
|
addtime '申请时间',
|
|
supplierName '供应商名称',
|
|
supplierName '供应商名称',
|
|
- addtime '对账时间',
|
|
|
|
|
|
+ '' as '付款时间',
|
|
payNo '对账编号',
|
|
payNo '对账编号',
|
|
total_fee '对账总额',
|
|
total_fee '对账总额',
|
|
apay_fee '已付款',
|
|
apay_fee '已付款',
|
|
pay_fee '付款中',
|
|
pay_fee '付款中',
|
|
wpay_fee '未付款',
|
|
wpay_fee '未付款',
|
|
- inv_status '付款状态',
|
|
|
|
|
|
+ pay_status '付款状态',
|
|
pay_tag_fee '付款加签金额',
|
|
pay_tag_fee '付款加签金额',
|
|
pay_tag as '付款加签时间',
|
|
pay_tag as '付款加签时间',
|
|
|
|
+ '' as '付款标签名称',
|
|
ainv_fee '已回票',
|
|
ainv_fee '已回票',
|
|
inv_fee '回票中',
|
|
inv_fee '回票中',
|
|
winv_fee '未回票',
|
|
winv_fee '未回票',
|
|
inv_status '回票状态',
|
|
inv_status '回票状态',
|
|
inv_tag_fee '回票加签金额',
|
|
inv_tag_fee '回票加签金额',
|
|
inv_tag as '回票加签时间',
|
|
inv_tag as '回票加签时间',
|
|
|
|
+ '' as '回票标签名称',
|
|
remark '备注'
|
|
remark '备注'
|
|
")->cursor();
|
|
")->cursor();
|
|
foreach ($data as $value) {
|
|
foreach ($data as $value) {
|
|
- $tag = Db::name("tag_log")->alias("a")->leftJoin("order_tag b", "a.tag_id=b.id")->where(["a.code" => $value['对账编号'], "a.status" => 1])->column("a.addtime", "b.type");
|
|
|
|
- $value['付款加签时间'] = $tag[1] ?? "";
|
|
|
|
- $value['回票加签时间'] = $tag[2] ?? "";
|
|
|
|
|
|
+ $tag = Db::name("tag_log")->alias("a")->leftJoin("order_tag b", "a.tag_id=b.id")->where(["a.code" =>
|
|
|
|
+ $value['对账编号'], "a.status" => 1])->column("a.addtime,b.tag_name", "b.type");
|
|
|
|
+ $value['付款加签时间'] = $tag[1]['addtime'] ?? "";
|
|
|
|
+ $value['回票加签时间'] = $tag[2]['addtime'] ?? "";
|
|
|
|
+ $value['回票标签名称'] = $tag[2]['tag_name'] ?? "";
|
|
|
|
+ $value['付款标签名称'] = $tag[1]['tag_name']?? "";
|
|
$value['付款状态'] = $this->pay_status[$value['付款状态']];
|
|
$value['付款状态'] = $this->pay_status[$value['付款状态']];
|
|
$value['回票状态'] = $this->inv_status[$value['回票状态']];
|
|
$value['回票状态'] = $this->inv_status[$value['回票状态']];
|
|
|
|
+ $value['付款时间'] = Db::name("pay_payment")->where(['payNo'=>$value['对账编号'],"is_del"=>0])->order("id desc")
|
|
|
|
+ ->value('return_time','');
|
|
$list[] = $value;
|
|
$list[] = $value;
|
|
}
|
|
}
|
|
if (empty($list)) $list[] = ['导出数据为空' => ''];
|
|
if (empty($list)) $list[] = ['导出数据为空' => ''];
|