|
@@ -46,6 +46,8 @@ class ExportFileService extends Service
|
|
|
const type_eight = 8;
|
|
|
const type_nine = 9;
|
|
|
const type_ten = 10;
|
|
|
+ const type_eve = 11;
|
|
|
+ const type_twl = 12;
|
|
|
|
|
|
//导出文件方法
|
|
|
protected static $fuc = [
|
|
@@ -59,6 +61,8 @@ class ExportFileService extends Service
|
|
|
self::type_eight => 'eight',
|
|
|
self::type_nine => 'nine',
|
|
|
self::type_ten => 'ten',
|
|
|
+ self::type_eve => 'eve',
|
|
|
+ self::type_twl => 'twl',
|
|
|
];
|
|
|
|
|
|
protected static $fuc_name = [
|
|
@@ -72,6 +76,8 @@ class ExportFileService extends Service
|
|
|
self::type_eight => '进销存报表',
|
|
|
self::type_nine => '虚拟采购单',
|
|
|
self::type_ten => '客户',
|
|
|
+ self::type_eve => '现存量',
|
|
|
+ self::type_twl => '库存台账',
|
|
|
];
|
|
|
|
|
|
public static $filename = "";
|
|
@@ -98,7 +104,7 @@ class ExportFileService extends Service
|
|
|
if($search['page_size'] > 1000) return [false,'请选择导出数据的条数每次最多1000条'];
|
|
|
$id = $this->getListForSearch($data, $user);
|
|
|
$data['id'] = $id;
|
|
|
- unset($data['order_search']);
|
|
|
+ if($data['type'] != self::type_twl) unset($data['order_search']);
|
|
|
}
|
|
|
|
|
|
//不超时
|
|
@@ -677,7 +683,7 @@ class ExportFileService extends Service
|
|
|
foreach ($data as $value){
|
|
|
$tmp_sales = $sales_map[$value['sales_order_id']] ?? [];
|
|
|
$handover_time = $value['handover_time'] ? date("Y-m-d",$value['handover_time']) : "";
|
|
|
- $sales_order_number = $tmp_sales['order_number'];
|
|
|
+ $sales_order_number = $tmp_sales['order_number'] ?? "";
|
|
|
$crt_time = empty($value['crt_time']) ? '' : date('Y-m-d',$value['crt_time']);
|
|
|
$crt_name = $emp_map[$value['crt_id']] ?? "";
|
|
|
$value['crt_name'] = $crt_name;
|
|
@@ -1159,6 +1165,74 @@ class ExportFileService extends Service
|
|
|
'this_jc_money' => 0,
|
|
|
];
|
|
|
|
|
|
+ $service = new StatisticsService();
|
|
|
+ $model = $service->statisticsJcNewCommon($ergs, $user);
|
|
|
+ $model->whereIn('product_id', $id)
|
|
|
+ ->orderBy('product_id','desc')
|
|
|
+ ->chunk(500,function ($data) use(&$return,&$total,$user,$ergs,$service){
|
|
|
+ $data = $data->toArray();
|
|
|
+ $list['data'] = $data;
|
|
|
+ $list = $service->fillDataNew($list);
|
|
|
+ foreach ($list['data'] as $value){
|
|
|
+ $return[] = [
|
|
|
+ 'code' => $value['code'],
|
|
|
+ 'title' => $value['title'],
|
|
|
+ 'last_jc_number' => $value['last_jc_number'],
|
|
|
+ 'last_jc_price' => $value['last_jc_price'],
|
|
|
+ 'last_jc_money' => $value['last_jc_money'],
|
|
|
+ 'this_in_number' => $value['this_in_number'],
|
|
|
+ 'this_in_price' => $value['this_in_price'],
|
|
|
+ 'this_in_money' => $value['this_in_money'],
|
|
|
+ 'this_out_number' => $value['this_out_number'],
|
|
|
+ 'this_out_price' => $value['this_out_price'],
|
|
|
+ 'this_out_money' => $value['this_out_money'],
|
|
|
+ 'this_jc_number' => $value['this_jc_number'],
|
|
|
+ 'this_jc_price' => $value['this_jc_price'],
|
|
|
+ 'this_jc_money' => $value['this_jc_money'],
|
|
|
+ ];
|
|
|
+
|
|
|
+ $total['last_jc_number'] += $value['last_jc_number'];
|
|
|
+ $total['last_jc_money'] += $value['last_jc_money'];
|
|
|
+ $total['this_in_number'] += $value['this_in_number'];
|
|
|
+ $total['this_in_money'] += $value['this_in_money'];
|
|
|
+ $total['this_out_number'] += $value['this_out_number'];
|
|
|
+ $total['this_out_money'] += $value['this_out_money'];
|
|
|
+ $total['this_jc_number'] += $value['this_jc_number'];
|
|
|
+ $total['this_jc_money'] += $value['this_jc_money'];
|
|
|
+ }
|
|
|
+ });
|
|
|
+
|
|
|
+ $header = [
|
|
|
+ ['产品编码','产品名称','上月结存','','','本月入库','','','本月出库','','','本月结存','',''],
|
|
|
+ ['产品编码','产品名称','数量','单价','金额','数量','单价','金额','数量','单价','金额','数量','单价','金额'],
|
|
|
+ ];
|
|
|
+
|
|
|
+ $return[] = $total;
|
|
|
+ return $this->saveExportData($return,$header,'jc');
|
|
|
+ }
|
|
|
+
|
|
|
+ public function eightOld($ergs,$user){
|
|
|
+ $id = $ergs['id'];
|
|
|
+
|
|
|
+ // 导出数据
|
|
|
+ $return = [];
|
|
|
+ $total = [
|
|
|
+ 'code' => "",
|
|
|
+ 'title' => "",
|
|
|
+ 'last_jc_number' => 0,
|
|
|
+ 'last_jc_price' => "",
|
|
|
+ 'last_jc_money' => 0,
|
|
|
+ 'this_in_number' => 0,
|
|
|
+ 'this_in_price' => "",
|
|
|
+ 'this_in_money' => 0,
|
|
|
+ 'this_out_number' => 0,
|
|
|
+ 'this_out_price' => "",
|
|
|
+ 'this_out_money' => 0,
|
|
|
+ 'this_jc_number' => 0,
|
|
|
+ 'this_jc_price' => "",
|
|
|
+ 'this_jc_money' => 0,
|
|
|
+ ];
|
|
|
+
|
|
|
$model = Product::ProductClear2($user,$ergs);
|
|
|
$model->whereIn('id', $id)
|
|
|
->select('title','id','code','depart_id','top_depart_id','product_attribute')
|
|
@@ -1307,7 +1381,7 @@ class ExportFileService extends Service
|
|
|
->whereIn('id', $id)
|
|
|
->select('title','id','model_type','customer_intention','customer_from','customer_type','car_type','consulting_product','intention_product','progress_stage','address1','address2','crt_id','crt_time','mark','importance','company','company_short_name','depart_id','state_type','customer_state','pond_state','top_depart_id','fp_time','fp_top_depart_id','enter_time')
|
|
|
->orderBy('id','desc')
|
|
|
- ->chunk(200,function ($data) use(&$return,$user){
|
|
|
+ ->chunk(200,function ($data) use(&$return,$user,$ergs){
|
|
|
$data = Collect($data)->map(function ($object) {
|
|
|
return (array)$object;
|
|
|
})->toArray();
|
|
@@ -1315,7 +1389,7 @@ class ExportFileService extends Service
|
|
|
|
|
|
//订单数据
|
|
|
$service = new CustomerService();
|
|
|
- $list = $service->fillData($list,$user);
|
|
|
+ $list = $service->fillData($list,$ergs,$user);
|
|
|
|
|
|
foreach ($list['data'] as $value){
|
|
|
$fz = $value['fz'];
|
|
@@ -1334,7 +1408,7 @@ class ExportFileService extends Service
|
|
|
'progress_stage_title' => $value['progress_stage_title'] ?? "",
|
|
|
'address' => $value['address'] ?? "",
|
|
|
'mark' => $value['mark'] ?? "",
|
|
|
- 'crt_time' => $value['crt_time'] ?? "",
|
|
|
+ 'enter_time' => $value['enter_time'] ?? "",
|
|
|
'crt_name' => $value['crt_name'] ?? "",
|
|
|
];
|
|
|
}
|
|
@@ -1349,6 +1423,111 @@ class ExportFileService extends Service
|
|
|
return $this->saveExportData($return,$header);
|
|
|
}
|
|
|
|
|
|
+ public function eve($ergs,$user){
|
|
|
+ $id = $ergs['id'];
|
|
|
+
|
|
|
+ // 导出数据
|
|
|
+ $return = [];
|
|
|
+ $total = [
|
|
|
+ 'code' => "",
|
|
|
+ 'title' => "",
|
|
|
+ 'product_category_title' => "",
|
|
|
+ 'bar_code' => "",
|
|
|
+ 'top_depart_title' => "",
|
|
|
+ 'unit_title' => "",
|
|
|
+ 'number' => 0,
|
|
|
+ 'crt_time' => "",
|
|
|
+ ];
|
|
|
+
|
|
|
+ $service = new ProductInventoryService();
|
|
|
+ $model = $service->productInventoryListCommon($ergs, $user);
|
|
|
+ $model->whereIn('a.id', $id)
|
|
|
+ ->chunk(500,function ($data) use(&$return,&$total,$user,$ergs,$service){
|
|
|
+ $data = $data->toArray();
|
|
|
+ $list['data'] = $data;
|
|
|
+ $list = $service->fillListData($list);
|
|
|
+ foreach ($list['data'] as $value){
|
|
|
+ $return[] = [
|
|
|
+ 'code' => $value['code'],
|
|
|
+ 'title' => $value['title'],
|
|
|
+ 'product_category_title' => $value['product_category_title'],
|
|
|
+ 'bar_code' => $value['bar_code'],
|
|
|
+ 'top_depart_title' => $value['top_depart_title'],
|
|
|
+ 'unit_title' => $value['unit_title'],
|
|
|
+ 'number' => $value['number'],
|
|
|
+ 'crt_time' => $value['crt_time'],
|
|
|
+ ];
|
|
|
+
|
|
|
+ $total['number'] += $value['number'];
|
|
|
+ }
|
|
|
+ });
|
|
|
+
|
|
|
+ $header = [
|
|
|
+ ['产品编码','产品名称','产品分类','产品条码','仓库','计量单位','现存数量','入库时间'],
|
|
|
+ ];
|
|
|
+
|
|
|
+ $return[] = $total;
|
|
|
+ return $this->saveExportData($return,$header);
|
|
|
+ }
|
|
|
+
|
|
|
+ public function twl($ergs,$user){
|
|
|
+ $id = $ergs['id'];
|
|
|
+ $ergs['crt_time'] = $ergs['order_search']['crt_time'] ?? [];
|
|
|
+ $return_time = $this->changeDateToTimeStampAboutRange($ergs['crt_time']);
|
|
|
+
|
|
|
+ // 导出数据
|
|
|
+ $return = [];
|
|
|
+ $total = [
|
|
|
+ 'code' => "",
|
|
|
+ 'title' => "",
|
|
|
+ 'product_category_title' => "",
|
|
|
+ 'unit_title' => "",
|
|
|
+ 'crt_time' => "",
|
|
|
+ 'order_number' => "",
|
|
|
+ 'order_name' => "",
|
|
|
+ 'start_number' => 0,
|
|
|
+ 'in_number' => 0,
|
|
|
+ 'out_number' => 0,
|
|
|
+ 'end_number' => 0,
|
|
|
+ ];
|
|
|
+
|
|
|
+ $service = new ProductInventoryService();
|
|
|
+ $model = $service->productInventoryStockListCommon($ergs, $user);
|
|
|
+ $model->whereIn('a.id', $id)
|
|
|
+ ->chunk(500,function ($data) use(&$return,&$total,$user,$ergs,$service,$return_time){
|
|
|
+ $data = $data->toArray();
|
|
|
+ $list = $data;
|
|
|
+ $list = $service->fillData($list,$return_time);
|
|
|
+ foreach ($list as $value){
|
|
|
+ $return[] = [
|
|
|
+ 'code' => $value['code'],
|
|
|
+ 'title' => $value['title'],
|
|
|
+ 'product_category_title' => $value['product_category_title'],
|
|
|
+ 'unit_title' => $value['unit_title'],
|
|
|
+ 'crt_time' => $value['crt_time'],
|
|
|
+ 'order_number' => $value['order_number'],
|
|
|
+ 'order_name' => $value['order_name'],
|
|
|
+ 'start_number' => $value['start_number'],
|
|
|
+ 'in_number' => $value['in_number'],
|
|
|
+ 'out_number' => $value['out_number'],
|
|
|
+ 'end_number' => $value['end_number'],
|
|
|
+ ];
|
|
|
+
|
|
|
+ $total['start_number'] += $value['start_number'];
|
|
|
+ $total['in_number'] += $value['in_number'];
|
|
|
+ $total['out_number'] += $value['out_number'];
|
|
|
+ $total['end_number'] += $value['end_number'];
|
|
|
+ }
|
|
|
+ });
|
|
|
+
|
|
|
+ $header = [
|
|
|
+ ['产品编码','产品名称','产品分类','计量单位','流水日期','单据编码','单据类型','期初数量','本期收入','本期发出','期末结存'],
|
|
|
+ ];
|
|
|
+
|
|
|
+ $return[] = $total;
|
|
|
+ return $this->saveExportData($return,$header);
|
|
|
+ }
|
|
|
+
|
|
|
public function getListForSearch($ergs, $user){
|
|
|
$data = $ergs['order_search'];
|
|
|
$id = [];
|
|
@@ -1382,6 +1561,11 @@ class ExportFileService extends Service
|
|
|
$model = $service->invoiceCommon($data, $user, ['id']);
|
|
|
$return = $this->limitData($model,'',$data);
|
|
|
$id = array_column($return,'id');
|
|
|
+ }elseif ($ergs['type'] == self::type_eight){
|
|
|
+ $service = new StatisticsService();
|
|
|
+ $model = $service->statisticsJcNewCommon($data, $user, ['product_id as id']);
|
|
|
+ $return = $this->limitData($model,'',$data);
|
|
|
+ $id = array_column($return,'id');
|
|
|
}elseif ($ergs['type'] == self::type_nine){
|
|
|
$service = new PurchaseOrderSpecialService();
|
|
|
$model = $service->purchaseCommon($data, $user, ['id']);
|
|
@@ -1392,6 +1576,16 @@ class ExportFileService extends Service
|
|
|
$model = $service->customerCommonSearch($data, $user, ['id']);
|
|
|
$return = $this->limitData($model,'',$data);
|
|
|
$id = array_column($return,'id');
|
|
|
+ }elseif ($ergs['type'] == self::type_eve){
|
|
|
+ $service = new ProductInventoryService();
|
|
|
+ $model = $service->productInventoryListCommon($data, $user, ['a.id']);
|
|
|
+ $return = $this->limitData($model,'',$data);
|
|
|
+ $id = array_column($return,'id');
|
|
|
+ }elseif ($ergs['type'] == self::type_twl){
|
|
|
+ $service = new ProductInventoryService();
|
|
|
+ $model = $service->productInventoryStockListCommon($data, $user, ['a.id']);
|
|
|
+ $return = $this->limitData($model,'',$data);
|
|
|
+ $id = array_column($return,'id');
|
|
|
}
|
|
|
|
|
|
return $id;
|