|
@@ -70,7 +70,7 @@ class CheckService extends Service
|
|
|
//改为待审核状态
|
|
|
public static $opt_1case = [
|
|
|
self::two => 'waitInvoice',//发货单
|
|
|
- self::three => 'waitPurchase',//采购单 入库
|
|
|
+// self::three => 'waitPurchase',//采购单 入库
|
|
|
self::five => 'waitConstruction',//施工单
|
|
|
self::six => 'waitReturnExchange',//退换货单
|
|
|
self::seven => 'waitPurchaseConfirm', //采购单确认
|
|
@@ -78,6 +78,7 @@ class CheckService extends Service
|
|
|
];
|
|
|
|
|
|
public static $finished = [
|
|
|
+ self::three => 'confirmPurchaseOrder',//采购单 入库
|
|
|
self::four => 'settleSalesOrder', // 合同 安装件 合同公司完结
|
|
|
self::nine => 'settleSalesOrderCustomer', // 合同 安装件 合同客户完结
|
|
|
];
|
|
@@ -85,7 +86,7 @@ class CheckService extends Service
|
|
|
//单据操作
|
|
|
public static $opt_case = [
|
|
|
self::two => 'confirmInvoiceOrder',
|
|
|
- self::three => 'confirmPurchaseOrder',
|
|
|
+// self::three => 'confirmPurchaseOrder',
|
|
|
self::five => 'confirmConstruction',
|
|
|
self::six => 'confirmReturnExchangeOrder',
|
|
|
self::seven => 'confirmPurchaseOrderState',
|
|
@@ -109,7 +110,8 @@ class CheckService extends Service
|
|
|
//审核通过后 驳回
|
|
|
public static $opt_case_reject = [
|
|
|
self::four => 'reject_sales', // 合同
|
|
|
- self::three => 'reject_purchase', //采购
|
|
|
+// self::three => 'reject_purchase', //采购入库
|
|
|
+ self::seven => 'reject_purchase_confirm', //采购确认驳回
|
|
|
self::five => 'reject_construction',//施工单
|
|
|
self::six => 'reject_return_exchange',//退换货
|
|
|
];
|
|
@@ -142,6 +144,7 @@ class CheckService extends Service
|
|
|
self::six => OrderOperation::ten, //退换货弃审
|
|
|
self::five => OrderOperation::twl, //施工单弃审
|
|
|
self::three => OrderOperation::fif,//采购单入库弃审
|
|
|
+ self::seven => OrderOperation::twenty,//采购单确认弃审
|
|
|
];
|
|
|
|
|
|
//改为待审核---------------------------------
|
|
@@ -311,15 +314,9 @@ class CheckService extends Service
|
|
|
->where('del_time',0)
|
|
|
->first();
|
|
|
if(empty($model)) return [false, '采购订单不存在或已被删除'];
|
|
|
- if($model->state != PurchaseOrder::STATE_Three) return [false, '请确认采购订单状态,操作失败'];
|
|
|
-
|
|
|
- if($data['type'] == self::TYPE_ONE){
|
|
|
- $model->state = PurchaseOrder::STATE_Four;
|
|
|
- $model->save();
|
|
|
- }else{
|
|
|
- $model->state = PurchaseOrder::STATE_TWO;
|
|
|
- $model->save();
|
|
|
- }
|
|
|
+ if($model->state != PurchaseOrder::STATE_TWO) return [false, '请确认采购订单状态,操作失败'];
|
|
|
+ $model->state = PurchaseOrder::STATE_Four;
|
|
|
+ $model->save();
|
|
|
|
|
|
return [true, $model->toArray()];
|
|
|
}
|
|
@@ -744,6 +741,20 @@ class CheckService extends Service
|
|
|
return [true, $model->toArray()];
|
|
|
}
|
|
|
|
|
|
+ public function reject_purchase_confirm($data){
|
|
|
+ $model = PurchaseOrder::where('order_number', $data['order_number'])
|
|
|
+ ->where('del_time',0)
|
|
|
+ ->first();
|
|
|
+ if(empty($model)) return [false, '采购单不存在或已被删除'];
|
|
|
+ //安装件
|
|
|
+ if($model->state != PurchaseOrder::STATE_TWO) return [false, '请确认采购单状态,操作失败'];
|
|
|
+
|
|
|
+ $model->state = PurchaseOrder::STATE_ZERO;
|
|
|
+ $model->save();
|
|
|
+
|
|
|
+ return [true, $model->toArray()];
|
|
|
+ }
|
|
|
+
|
|
|
public function reject_construction($data){
|
|
|
$model = Construction::where('order_number', $data['order_number'])
|
|
|
->where('del_time',0)
|
|
@@ -926,6 +937,7 @@ class CheckService extends Service
|
|
|
|
|
|
//单据状态改为待审批方法
|
|
|
$function = self::$opt_1case[$data['opt_case']] ?? '';
|
|
|
+ //单据不走审批流
|
|
|
$function2 = self::$finished[$data['opt_case']] ?? '';
|
|
|
try{
|
|
|
DB::beginTransaction();
|
|
@@ -934,16 +946,7 @@ class CheckService extends Service
|
|
|
list($bool,$msg) = $this->$function2($data);
|
|
|
if($bool) {
|
|
|
$order = $msg;
|
|
|
-
|
|
|
- if(! empty(self::$operation_order2[$data['opt_case']])){
|
|
|
- $type = self::$operation_order2[$data['opt_case']];
|
|
|
- (new OrderOperationService())->add([
|
|
|
- 'order_number' => $order['order_number'],
|
|
|
- 'msg' => OrderOperation::$type[$type],
|
|
|
- 'type' => $type
|
|
|
- ],$user);
|
|
|
- }
|
|
|
-
|
|
|
+ $this->createRecordAndInventoryMy($data,$user,$order);
|
|
|
DB::commit();
|
|
|
return [true, ''];
|
|
|
}else{
|
|
@@ -952,27 +955,29 @@ class CheckService extends Service
|
|
|
}
|
|
|
}
|
|
|
|
|
|
- //更新单据的状态 从未审核变成待审核
|
|
|
- list($bool,$msg) = $this->$function($data);
|
|
|
+ //从未审核变成待审核
|
|
|
+ if($function){
|
|
|
+ list($bool,$msg) = $this->$function($data);
|
|
|
|
|
|
- if(! $bool){
|
|
|
- DB::rollBack();
|
|
|
- return [false, $msg];
|
|
|
- }
|
|
|
+ if(! $bool){
|
|
|
+ DB::rollBack();
|
|
|
+ return [false, $msg];
|
|
|
+ }
|
|
|
|
|
|
- //创建审批流
|
|
|
- $args = [
|
|
|
- 'order_no' => $data['order_number'],
|
|
|
- 'menu_id' => $data['menu_id'] ?? 0,
|
|
|
- 'opt_case' => $data['opt_case'],
|
|
|
- 'order' => $msg,
|
|
|
- ];
|
|
|
+ //创建审批流
|
|
|
+ $args = [
|
|
|
+ 'order_no' => $data['order_number'],
|
|
|
+ 'menu_id' => $data['menu_id'] ?? 0,
|
|
|
+ 'opt_case' => $data['opt_case'],
|
|
|
+ 'order' => $msg,
|
|
|
+ ];
|
|
|
|
|
|
- $oa = new OaService($user);
|
|
|
- list($bool,$msg) = $oa->createOaOrder($args);
|
|
|
- if(! $bool) {
|
|
|
- DB::rollBack();
|
|
|
- if($msg) return [false,$msg];
|
|
|
+ $oa = new OaService($user);
|
|
|
+ list($bool,$msg) = $oa->createOaOrder($args);
|
|
|
+ if(! $bool) {
|
|
|
+ DB::rollBack();
|
|
|
+ if($msg) return [false,$msg];
|
|
|
+ }
|
|
|
}
|
|
|
|
|
|
DB::commit();
|
|
@@ -1282,4 +1287,46 @@ class CheckService extends Service
|
|
|
}
|
|
|
}
|
|
|
}
|
|
|
+
|
|
|
+ //不需要走审批流 直接调用
|
|
|
+ public function createRecordAndInventoryMy($data = [],$user = [],$order = []){
|
|
|
+ if($data['type'] == self::TYPE_THREE){
|
|
|
+ }else{
|
|
|
+ //具体方法
|
|
|
+ $record = self::$record[$data['opt_case']] ?? "";
|
|
|
+ try{
|
|
|
+ DB::beginTransaction();
|
|
|
+
|
|
|
+ if($record) {
|
|
|
+ //流水
|
|
|
+ list($bool,$msg) = $this->$record($data, $order);
|
|
|
+ if(! $bool) {
|
|
|
+ DB::rollBack();
|
|
|
+ return [false, $msg];
|
|
|
+ }
|
|
|
+ //库存
|
|
|
+ list($bool,$msg) = $this->changeInventory($data, $order);
|
|
|
+ if(! $bool) {
|
|
|
+ DB::rollBack();
|
|
|
+ return [false, $msg];
|
|
|
+ }
|
|
|
+ }
|
|
|
+
|
|
|
+ if(! empty(self::$operation_order[$data['opt_case']])){
|
|
|
+ $type = self::$operation_order[$data['opt_case']];
|
|
|
+ (new OrderOperationService())->add([
|
|
|
+ 'order_number' => $order['order_number'],
|
|
|
+ 'msg' => OrderOperation::$type[$type],
|
|
|
+ 'type' => $type
|
|
|
+ ],$user);
|
|
|
+ }
|
|
|
+
|
|
|
+ DB::commit();
|
|
|
+ return [true, ''];
|
|
|
+ }catch (\Throwable $exception){
|
|
|
+ DB::rollBack();
|
|
|
+ return [false, $exception->getMessage().$exception->getLine()];
|
|
|
+ }
|
|
|
+ }
|
|
|
+ }
|
|
|
}
|