model('material_package'); // 如果已经审核需要通知WMS并释放冻结 $main = $mpObj->db_dump(['id' => $id]); if (!$main) { return [false, '加工单不存在']; } if ($main['status'] == '2') { if($main['service_type'] == '2') { $itemsDetail = app::get('console')->model('material_package_items')->getList('*', ['mp_id' => $id]); } else { $itemsDetail = app::get('console')->model('material_package_items_detail')->getList('*', ['mp_id' => $id]); } $storeManageLib = kernel::single('ome_store_manage'); $storeManageLib->loadBranch(array('branch_id' => $main['branch_id'])); // 通知WMS撤单 if(!$isLocal) { list($rs, $rsData) = kernel::single('console_event_trigger_material_package')->cancel($main); if(!$rs) { return [false, 'WMS取消失败:'.$rsData['msg']]; } } // 释放冻结 $params = []; $params['main'] = $main; $params['items'] = $itemsDetail; $params = ['params' => $params]; $params['node_type'] = 'cancelMaterialPackage'; $processResult = $storeManageLib->processBranchStore($params, $err_msg); if (!$processResult) { return [false, $err_msg]; } } $rs = $mpObj->update(['status' => '3'], ['id' => $id, 'status' => ['1','2']]); if (is_bool($rs)) { return [false, '状态异常加工单取消失败']; } app::get('ome')->model('operation_log')->write_log('material_package@console', $id, "操作取消"); return [true, '取消成功']; } }