123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170 |
- <?php
- namespace App\Service;
- use App\Jobs\ProcessDataJob;
- use App\Model\Depart;
- use App\Model\Employee;
- use App\Model\EmployeeDepartPermission;
- use App\Model\EmployeeIndex;
- use App\Model\Product;
- use App\Model\Record;
- use App\Model\RevenueCost;
- use App\Model\RevenueCostTotal;
- use App\Model\SalaryEmployee;
- use Illuminate\Database\Schema\Blueprint;
- use Illuminate\Support\Facades\DB;
- use Illuminate\Support\Facades\Log;
- use Illuminate\Support\Facades\Schema;
- class U8ServerService extends Service
- {
- protected $databaseService;
- /**
- * @var string|null
- */
- protected $error;
- /**
- * U8ServerService constructor.
- */
- public function __construct($loginUser = [])
- {
- $service = new U8DatabaseServerService($loginUser);
- $this->databaseService = $service->db;
- $this->error = $service->error;
- }
- /**
- * 获取错误信息
- *
- * @return string|null
- */
- public function getError()
- {
- return $this->error;
- }
- public function purchaseRequisition($data, $user){
- $model = $this->databaseService->table('PU_AppVouch as a')
- ->leftJoin('Person as c', 'c.cPersonCode', 'a.cPersonCode')
- ->where('a.cMaker',$user['username'])
- ->where('a.iverifystateex',0)
- ->select('a.cMaker as crt_name', 'c.cPersonName as purchase_name','a.cBusType as business_type','a.cCode as order_number','a.dDate as order_date')
- ->orderBy('a.ID','desc');
- $list = $this->limit($model,'',$data);
- return [true , $list];
- }
- public function purchaseRequisitionDetail($data, $user){
- if(empty($data['order_number'])) return [false, '采购请购单号不能为空'];
- $order = $this->databaseService->table('PU_AppVouch as a')
- ->leftJoin('Person as c', 'c.cPersonCode', 'a.cPersonCode')
- // ->where('a.cMaker',$user['username'])
- // ->where('a.iverifystateex',0)
- ->select('a.cMaker as crt_name', 'c.cPersonName as purchase_name','a.cBusType as business_type','a.cCode as order_number','a.dDate as order_date','a.ID as id')
- ->first();
- if(empty($order)) return [false, '采购请购单不存在'];
- $order = $order->toArray();
- $detail = $this->databaseService->table('PU_AppVouchs as a')
- ->leftJoin('Inventory as b', 'b.cInvCode', 'a.cInvCode')
- ->leftJoin('ComputationUnit as c', 'c.cComunitCode', 'b.cComUnitCode')
- ->where('a.ID', $order['id'])
- ->select('b.cInvName as product_title','b.cInvCode as product_code','a.fQuantity as quantity','c.cComUnitName as unit_title','a.dRequirDate as need_arrived_date')
- ->get()->toArray();
- $order['detail'] = $detail;
- return [true, $order];
- }
- public function purchaseOrder($data, $user){
- $model = $this->databaseService->table('PO_Pomain as a')
- ->leftJoin('Vendor as c', 'c.cVenCode', 'a.cVenCode')
- ->where('a.cMaker',$user['username'])
- ->where('a.iverifystateex',0)
- ->select('a.cMaker as crt_name', 'a.cBusType as business_type','a.cPOID as order_number','a.dPODate as order_date','c.cVenName as supplier_title')
- ->orderBy('a.POID','desc');
- $list = $this->limit($model,'',$data);
- return [true , $list];
- }
- public function purchaseOrderDetail($data, $user){
- if(empty($data['order_number'])) return [false, '采购单号不能为空'];
- $order = $this->databaseService->table('PO_Pomain as a')
- ->leftJoin('Vendor as c', 'c.cVenCode', 'a.cVenCode')
- // ->where('a.cMaker',$user['username'])
- // ->where('a.iverifystateex',0)
- ->select('a.cMaker as crt_name', 'a.cBusType as business_type','a.cPOID as order_number','a.dPODate as order_date','c.cVenName as supplier_title','a.POID as id')
- ->first();
- if(empty($order)) return [false, '采购单不存在'];
- $order = $order->toArray();
- $detail = $this->databaseService->table('PO_Podetails as a')
- ->leftJoin('Inventory as b', 'b.cInvCode', 'a.cInvCode')
- ->leftJoin('ComputationUnit as c', 'c.cComunitCode', 'b.cComUnitCode')
- ->where('a.POID', $order['id'])
- ->select('b.cInvName as product_title','b.cInvCode as product_code','a.iQuantity as quantity','c.cComUnitName as unit_title','a.iSum as amount')
- ->get()->toArray();
- $order['detail'] = $detail;
- return [true, $order];
- }
- public function paymentOrder($data, $user){
- $model = $this->databaseService->table('AP_ApplyPayVouch as a')
- ->leftJoin('Vendor as c', 'c.cVenCode', 'a.cDwCode')
- ->where('a.cOperator',$user['username'])
- ->whereNull('a.cCheckMan')
- ->select('a.cOperator as crt_name', 'c.cVenName as supplier_title','a.cVouchID as order_number','a.dVouchDate as order_date')
- ->orderBy('a.PID','desc');
- $list = $this->limit($model,'',$data);
- return [true , $list];
- }
- public function paymentOrderDetail($data, $user){
- if(empty($data['order_number'])) return [false, '付款单号不能为空'];
- $order = $this->databaseService->table('AP_ApplyPayVouch as a')
- ->leftJoin('Vendor as c', 'c.cVenCode', 'a.cDwCode')
- // ->where('a.cOperator',$user['username'])
- // ->whereNull('a.cCheckMan')
- ->select('a.cOperator as crt_name', 'c.cVenName as supplier_title','a.cVouchID as order_number','a.dVouchDate as order_date','a.PID as id')
- ->first();
- if(empty($order)) return [false, '付款单不存在'];
- $order = $order->toArray();
- $detail = $this->databaseService->table('AP_ApplyPayVouchs as a')
- ->where('a.PID', $order['id'])
- ->select('a.cSource as source','a.cCoVouchID as source_order_number','a.iApplyAmt_f as amount')
- ->get()->toArray();
- $order['detail'] = $detail;
- return [true, $order];
- }
- public function getOrderDetails($data,$user){
- $type = $data['type'];
- if($type == 1){
- // 采购单
- [$success, $order] = $this->purchaseOrderDetail($data,$user);
- }elseif ($type == 2){
- // 请购单
- [$success, $order] = $this->purchaseRequisitionDetail($data,$user);
- }else{
- // 付款单
- [$success, $order] = $this->paymentOrderDetail($data,$user);
- }
- return [$success, $order];
- }
- }
|